Karpova_bazy_dannyh
.pdf
152 |
|
8 |
|
|
ALTER < |
|
> {SET DEFAULT < |
|
> |
DROP DEFAULT} | |
|
|
|
|
DROP < |
> {CASCADE | RESTRICT} | |
|
||
ADD {< |
|
>| |
|
|
< |
|
> | |
|
|
< |
|
> | < |
_ |
>} | |
DROP CONSTRAINT |
{CASCADE | |
|
||
RESTRICT} |
|
|
|
|
} |
|
|
|
|







ALTER TABLE 























, 


, 
















. 





-











, 
















. 




-



.



. 























ALTER TABLE 













, 















. 



EDUCATION ( |
), |
|
, |
- |
(« |
», « |
», « |
|
», |
«

»).
ALTER TABLE READERS
ADD EDUCATION varchar (30) DEFAULT NULL CHECK (EDUCATION IS NULL OR EDUCATION="



" OR
EDUCATION= "


" OR EDUCATION='







" OR EDUCATION = "

")




READERS 









EDUCATION, 



































. 








-



.




EXEMPLAR. 





, 






, 




, 

























. 


, 













2 

. EXEMPLARE.
ALTER TABLE EXEMPLAR
ADD CONSTRAINT CK_ EXEMPLARE CHECK ((DATA_IN IS NULL AND DATA_0UT IS NULL) OR
{DATA_OUT >= DATA_IN +14))
|
, |
- |
, |
. |
|
|
, |
- |
|
, |
- |
153








, 






















, 













, 













-

.






.
-


, 


















, 






































-

, 













. 













-
































-

, 










. 





, 





























, 



. 8.1.






-
,














-






-
,






-

. 8.1. 




















154 |
8 |








ALTER TABLE 






S
-








-

.





























, 






-






. 

























-
CASE 





, 












-
























, 






-



















,





, 



























, 










, 
















. 


|
|
- |
, |
, |
- |
. |
, |
- |
« |
» Power Designer 6.1. |
|
|
, |
|











(CREATE INDEX) 












-






















, 








.






























MS SQL Server 6.X,






, 



Transact SQL. 





USE <





> 


















, 



go 





















.
/*________________________________________________*/
/* Database name LIBRARY |
*/ |
|
/* DBMS name |
Microsoft SQL Server .X |
*/ |
/* Created on |
06 10 00 18 56 |
*/ |
/*________________________________________________*/
/*___________________________________*/ /*Data base name LIBRARY /*_________________________________________________*/
Use LIBRARY /*_________________________________________________*/ /* Table BOOKS /*________________________________________________*/ create table BOOKS
( |
|
|
ISBN |
varchar (14) |
not null |
TITLE |
varchar (255) |
not null |
AUTOR |
varchar (3O) |
null |
COAUTOR |
varchar (30) |
null |
PUBLICHER varchar (30) null
155
WHERE_PUBLICH |
varchar (30) |
null |
YEAR_IZD smallint |
not null |
|
Constraint CKC_YEAR_IZD_B0OICS check (
YEAR_PUBL >= 1969 AND YEAR_PUBL <= YEAR (Get Date ())) PAGES smallint not null
Constraint CKC_PAGES_BOOKS check ( PAGES between 5 and 1000)
Constraint PK_BOOKS primary key (ISBN) Constraint CKI_BOOKS check (
(AUTOR IS NOT NULL OR (AUTOR IS NULL AND
0
UTOR IS NULL)))
)
go /*________________________________________*/
/* Table READERS */
/*________________________________________*/
create table READERS |
|
||
( |
|
|
|
NUM_READER |
int not null |
||
NAME |
varchar (30) |
not null |
|
BIRTH_DAY datetime |
not null |
||
constraint CKC_BIRTH_DAY READERS check (
(DateD1ff(year |
Get Date () BIRTH_DAY>=17 )) |
|
SEX char (1) |
not null |
|
constraint (CKC_SEX_READERS check ( |
||
SEX In ( M |
)) |
|
0M _PHONchar(9) null |
|
|
WORK_PHON |
char (9) |
null |
constraint PK_EADERS primary key (NUM READER) constraint CKC_READERS check (
(HOME_PHON IS NOT HULL OR WORK_PHON IS NOT NULL) )
)
90 /*___________________________________*/
/* Table CATALOG */
/* __________________________________*/
create table CATALOG |
|
( |
|
KW_KOD smallint |
not null |
156 

8 



























NAME_KW |
varchar (255) |
null |
|
constraint |
|
_CATALOG primary key (KW_KOD) |
|
) |
|
|
|
go |
|
|
|
/* _______________________________________*/ |
|||
/* Table |
EXEMPLAR |
*/ |
|
/*_______________________________________*/ |
|||
create table EXEMPLAR |
|
|
( |
|
|
INV_NUMER |
intnot |
null |
ISBN varchar (14) not null |
||
NUM_READER int null |
|
|
PRESENT |
Ditnot mil |
|
DATE_IN |
datetime |
null |
DATE_0UT |
datetime |
null |
constraint PK_EXEMPLAR primary key (INV_NUMER)
)
90 /* ____________________________________________*/
/* Index RELATI0N_43_FK */ /*____________________________________________*/
create Index RELATI0N_43_FK on EXEMPLAR (ISBN) go /*____________________________________________*/ /* Index RELATI0N_44_FK */
create Index RELATION_44_FK on EXEMPLAR (NUM_READER) go
/*_____________________________________________*/
/* Table RELATI0N_67 */ /* _____________________________________________*/
create table RELATION_67
( |
|
ISBN varchar (14) |
not null |
KW_KOD smallint |
not null |
constraint PK_RELATI0N_67 primary key (ISBN KW_KOD)
)
go
157
/*_____________________________________________*/
/* Index [01] NEONY_E_IAEANOE_CIAKE_FK */
create index [01] NEONY_E_IAEANOE_CIAKE_FK on RELATION (ISBN) go
/*____________________________________________* / /* Index I_AANOAAEAIA_A_EIEAAO_FK */ /*____________________________________________*/
create index IjWNOAAEAIAjVJIEAAOJK on RELATION KW_K0D) go
alter table EXEMPLAR
add constraint FK_EXEMPLAR_RELATION_BOOKS foreign key (ISBN) references BOOKS (ISBN)
go
alter table EXEMPLAR
add constraint FK_EXEMPLAR_RELATION_READERS foreign key NUM_READER> references READERS (NUM_REABER)
go
alter table RELATI0N_67
add constraint FK_RELATION_[01] NEONY_BQOKS foreign key (ISBN) references BOOKS (ISBN)
go
alter table RELATI0N_67
add constraint rt_RELATIONJ_AAN0AAE_CATALOG foreign key (KW_COD) references CATALOG (KW_KOD)
go



SQL 
















. 











:
<






> = DROP TABLE <




> [CASCADE | RESTRICT]
CASCADE |
, |
|
|
, |
. |
, |
- |
, |
|
. |
- |
|
|
, |
|








, 













-

. 
































, 







-
















. 



, 











-







, 
















. 






DROP TABLE
158 |
8. |



. 



, 
















-


, 










,








, 



.



, 





, 










, 











-
BOOKS, 



READERS, 



CATALOG. 





















EXEMPLAR
RELATION_67. 























, 




















-











, 






















-











. 






















-
:
DROP TABLE EXEMPLAR
DROP TABL
RELATlON_67
DROP TABLE CATALOG
DROP TABLE READERS
DROP TABLE BOOKS
|
|
|
|
- |
. |
(View) |
SQL- |
, |
- |







, 
















. 











.




























, 



-




























, 


, 
-



































-










.
|
, |
|
, |
|
, |
, |
- |
, |
, |
|
- |

, 








. 












































. 












-




, 





























-

. 



























, 





















, 















-






















, 












,









, 










, 























, 















. 





-






, 







.


























:
<









> » CREATE VIEW <







> [ (<




0
>)] AS <SQL 

>
|
|
|
159 |
|
|
. |
, |
|
|
|
, |
, |
- |
|
SQL- |
. |
|
|
|
|
, |
|
- |
|
|
|
. |
- |
|







.




































-



. 
, 


, 













, 


















, 






















-




, 
























, 




.



, 







«



» (EMPLOYEE) 


: «






»(T_NUM), «
»(NAME), «



» (POSITION), «

»(SALARY),
«


»(PREMIUM), «

» (DEPARTMENT).






, 


















,




:
CREATE VIEW SAL_DEPT
AS
SELECT *
FROM EMPLOYEE
WHERE DEPARTMENT= "




"


































-






















. 





















, 




















-




.



, 













, 














-








, 





















. 

:
CREATE VIEW TABEL
AS
SELECT T_NUM NAME POSITION DEPARTMENT
FROM EMPLOYEE
160 |
8. |
















, 











. 



-



























. 




-





,
,



, 






.










, 
























































,
-




, 


























.
-


































-





,



























.
CREATE VIEW RATE
DEPARTMENT COUNT (*) SUM (SALARY) SUM (PREMIUM) MAX (SALARY) MIN
(SALARY) AVERAGE (SALARY) MAX (PREMIUM) |
MIN (PREMIUM) |
AVERAGE |
(PREMIUM) |
|
|
AS |
|
|
SELECT DEPARTMENT COUNT (*) SUM (SALARY) |
SUM (PREMIUM) |
MAX (SALARY) |
MIN (SALARY) AVERAGE (SALARY) MAX (PREMIUH) MIN (PREMIUM) AVERAGE (PREMIUM)
FROM EMPLOYEE GROUP BY DEPARTMENT


























. 





-































,

















. 
















«



» 










, 










-



-











, 




























. 























-



,







, 











































.
CREATE VIEW DEBTORS
ISBN TITLE NUM_READER N
ADRES HOME_PHON WORK_PHON DATA_OUT AS
SELECT ISBN TITLE NUM_READER NAME ADRES H0ME_PHON WORK_PHON DATA_OUT FROM BOOKS EXEMPLAR READERS
WHERE BOOKS ISBN = EXEMPLAR ISBN AND
EXEMPLAR NUM_READER = READERS NUM_READER AND EXEMPLAR PRESENT = FALSE AND
EXEMPLAR DATA_OUT < Get Date ()
159






SQL1 








, 





























-

, 

































-





.








, 







, 
































-



















. 



















. 





, 









, 







. 

-













, 


































.








, 






















, 




-






:



















DISTINKT, 




















.






FR0H 















, 








-

,



(






















), 









.










, 




















.


















, 



















.






WHERE 













, 









-





.
GR0UP B
HAVING.



,






, 



