Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Karpova_bazy_dannyh

.pdf
Скачиваний:
56
Добавлен:
08.05.2015
Размер:
38 Мб
Скачать
☆

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 0UTOR 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.

,

,

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]