Karpova_bazy_dannyh
.pdf
131



,
, 






. 


PROFESSOR
TAB_NUM |
varchar (5) |
PREP_NAME |
varchar (40) |
DEPARTMENT smallint
Student |
TAB_NUM=TAB_NUM |
||
N_Z_BOOK varchar (10) |
|
|
|
TAB_NUM varchar (5) |
|
|
|
NAME |
varchar (30) |
|
|
|
|
||
NAME_F |
varchar (30) |
|
|
NAME_L |
varchar (30) |
|
|
GROOP |
varchar (6) |
|
|

. 7.9. 























STUDENT
PROFESSOR
7. 










































. 























, 













, 









- 






, 




















- 




. 



, 














































.
8.





























-






.
(M/E, mutually exclusive) |
. |
|
, |
, |
- |




























. 
-


, 

















, 







































.
9.





















, 













(
. 
. 7.10.
7.11).
134 |
|
|
|
|
|
|
7. |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BOOKS |
|
|
|
|
|
READERS |
|
||||
|
|
|
|
|
|
|
ISBN=ISBN |
|
|
|
|
|
|
|
|
ISBN |
varchar (14) |
|
|
|
NUM_READER |
int |
|
|
|||||
|
TITLE |
varchar (255) |
|
|
|
|
NAME |
varchar (14) |
|
|||||
|
AUTOR |
varchar (30) |
|
|
|
|
BIRTH_DAY |
datetime |
|
|||||
|
PUBLICHER |
varchar (30) |
|
|
|
|
SEX |
char (1) |
|
|||||
|
WHERE_PUBLICH varchar (30) |
|
|
|
|
HOME_PHON |
char (9) |
|
||||||
|
YEAR_IZD |
smallint |
|
|
|
|
WORK_PHON |
char (9) |
|
|||||
|
PAGES |
smallint |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ISBN = ISBN |
|
|
|
|
|
|
|
|
|
|||
|
|
EXEMPLAR |
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INV_NUMER |
int |
|
|
|
|
|
|
|
|
RELATION_67 |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
ISBN |
varchar (14) |
|
|
|
|
||||
|
|
|
|
|
|
|
NUM_READER |
int |
|
NUM_READER=NUM_READER |
||||
|
|
ISBN |
varchar (14) |
|
|
|
|
|||||||
|
|
|
|
|
PRESENT |
bit |
|
|||||||
|
|
KW_KOD |
smallint |
|
|
|
DATE_IN |
datetime |
|
|
|
|
|
|
|
|
|
|
|
|
|
DATE_OUT |
datetime |
|
|
|
|
|
|
|
|
KW_KOD=KW_KOD |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
CATALOG |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
KW_KOD |
smallint |
|
|
|
|
|
|
|
|
|
|
|
|
|
NAME_KW |
varchar (256) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

. 7.13. 







«



»

6. 





























-


.































. 

































, 



-










, 












.


8
. |
, |



































-

.































-

.








, 








, 














-













. 
















, 












, 























-



.
, |
|
|
- |
|
|
. |
, |
|
|
|
, |
, |
|
|
. |
« |
» |
, |
, |
|
, |
|
- |
|
. |
|
|
|
|
, |
- |
. |
|
|
- |
|
, |
|
- |
|
. |
|
|


















, 

















, 









, 







. 










136 |
8 |
















, 











































, 

-



















. 









-









.








-










3 


.
-

, 

















, 










,










«









». 






«
-









» 
















, 


-






















(












, 























, 



















).






Null 


. 











, 













, 















. 



















-































-



.



,








. 








-










:
<




> IS NULL
<




> IS NOT NULL









(





) 














-






, 



IS NULL 







TRUE (

), 



IS NOT NULL
FALSE (
), 











IS NULL








FALSE, 



IS NOT NULL 







TRUE. Null
|
|
|
|
. |
- |
, |
|
|
|
, |
|
|
|
|
|
. |
|
|
8.1. |
|
|
|
- |
|
|
|
|
|
|
|
|
|
Not A |
A B |
A B |
|
|
|
|
|
|
TRUE |
|
TRUE |
FA |
TRUE |
TRUE |
|
|
|
|
|
|
TRUE |
|
FALSE |
FALSE |
FALSE |
TRUE |
|
|
|
|
|
|
137
|
|
Not A |
|
A B |
|
|
|
|
|
TRUE |
Null |
FALSE |
Null |
TRUE |
|
|
|
|
|
FALSE |
TRUE |
TRUE |
FALSE |
TRUE |
|
|
|
|
|
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
|
|
|
|
|
FALSE |
Null |
TRUE |
FALSE |
Null |
Null |
TRUE |
Null |
Null |
TRUE |
|
|
|
|
|
Null |
FALSE |
Null |
FALSE |
Null |
|
|
|
|
|
Null |
Null |
Null |
Null |
Null |
SQL2



, 






















, 










-












UNKNOWN. 














-



.
<








> IS {TRUE | FALSE | UNKNOWN}
-

, 















, 









, 

SQL. He |
|
- |
, |
|
. |
, |
, |
- |
|
|
- |






SQL.
-


, 
















(Declarative Referential Integrity, DRI), 











































:
































- 







, 






;
































-








, 






, 













- 

















Null 


.



.



















, 













-






, 
























.





,

















. 




























, 
















, 
































-











. 




















-







, 

























-


















. 







, 





138 |
8 |
|
|
|
. |
|
- |
|
, |
, |
- |
|
. |
|
. |
|
. |
, |
|
|
|
|
- |






, 















. 































. 






-


, 




























-




. 




















:
1 . |
|
17 |
. |
2 . |
, |
I960 |
. |
3 . |
5 |
. |
|
4 . |
|
|
|


, 














.
|
|
- |
|
, |
. |
|
: |
- |
. |
, |
- |
, |
|
- |
, |
« |
» |
(Business Rules) 




















. 








:















, 








, 





- 
















(Null), 















.

















, 










































, 



-





















. 


,












-











. 


, 
MS Access 97 













:
YEAR(NOW())


NOW() 



















, YEAR (data) -
































.































,
-















, 
















- 


1960 







. 













-

. 
MS Access 97 




















-

:
Between 1960 NOW YEAR(IN))
139


MS SQL Server 7.0 



















«

-


». 



















, 

































,
- 

:
YEAR_PUBL >= I960 AND YEAR_PUBL <= YEAR (GETDATE())


GETDATE 



MS SQL Server 7.0, 










- 


, YAR_PUBL 





, 












.











, 











, 






-







. 









, 













|
|
, |
|
|
|
|
. |
|
|
|
, |
|
|
- |
, |
|
|
|
- |
|
- |
. |
|
- |
|
, |
|
|
. |
|
|
, |
|
- |
|
. |
, |
, MS SQL Server 7.0 |
|
|
|
, |
|
, |
|
|
|
. |
|
|
, |
|
, |
- |
|
|
. |
|
- |
|
? |
|
|
- |
, |
, |
|
? |
, |
|
, |
, |
, |
- |
|
, |
|
|
- |
|
. |
, |
, |
|
|
|
|
|
- |
, 







1980 
. 























, 








































. 

















, 





, 


















, 






-













.
, 










, 




















-




























, 





-














, 


















-

, 






.


























, 











, 














, 





, 

-












-
, 












, 









, 












.





, 












. 




-




,











. 
140 |
|
8 |
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
. |
|
- |
|
|
, |
|
, |
|
- |
|
, |
|
|
. |
|
- |
|
|
, |
|
|
, |
|
|
|
. |
, |
, |
, |
- |
|
|
|
|
. |
|
- |
|
|
|
|
. |
|
|
|
|
(NOT NULL) |
|
|
|
(NOT |
|
NULL.) |
MS Access97 |
|
MS SQL Server97 |
|
- |
|
|
|
|
. |
|
|
|

_
N IS NOT HULL OR WORK_PHON IS MOT NULL












, 



















,













, 


























, 





















. 































-


.






























,














. 












, 













. 




















-














. 














.




DDL 


SQL


































-




. 




SQL 



















-


:
< |
> = CREATE TABLE < |
> |
|
(< |
> [{ < |
|
} ]) |
< |
> = < |
|
>| |
< |
> |
|
|
< |
>= < |
> < |
> |
[< |
>] [< |
|
>] |
< |
> =DEFAULT { <literal> | USER | NULL} |
||
< |
|
> =NOT NULL |
|
{< |
|
>]| |
|
< |
>| |
|
|
CHECK (< |
|
>) |
|
< |
> |
= UNIQUE |
|





Java applet
. 7.10. 




. 7.11. 































«

-
-

».

: ISBN (



)
KOD (







). 






(FOREING KEY),


. 

. 7.12 













,











. 7.6 








«



». 
-






, 























-





, 








«





». 






- 





















(





) 


























. 
















5-

















.
. 7.12. 
















