Базы данных - модели, разработка, реализация


         

Обычно имя ограничения состоит из


Обычно имя ограничения состоит из краткого названия типа ограничения, далее через символ подчеркивания идет имя атрибута или таблицы, в зависимости от того, к какому уровню относится ограничение, и, наконец, порядковый номер ограничения данного типа, если к одному объекту задается несколько ограничений одного типа.

Сокращенные обозначения ограничений состоят из одной или двух букв и могут быть следующими:

  • PK - для первичного ключа;


  • FK - для внешнего ключа;


  • CK - для проверочного ограничения;


  • U - для ограничения уникальности;


  • DF - для ограничения типа значение по умолчанию.


  • Приведем пример оператора создания таблицы BOOKS с именованными ограничениями:

  • CREATE TABLE BOOKS


  • (


  • ISBN varchar(14) NOT NULL,


  • TITLE varchar(120) NOT NULL,


  • AUTOR varchar (30) NULL.


  • COAUTOR varchar(30) NULL.


  • YEAR_PUBL smallint NOT NULL.


  • PUBLICH varchar(20) NULL.


  • PAGES smallint NOT NULL.


  • CONSTRAINT PK_BOOKS PRIMARY KEY (ISBN).


  • CONSTRAINT DF_ YEAR_PUBL DEFAULT (Year(GetDate( )).


  • CONSTRAINT CK_ YEAR_PUBL CHECK (YEAR_PUBL >= 1960 AND


  • YEAR_PUBL


  • CONSTRANT CK_PAGES CHECK (PAGES > = 5 AND PAGES


  • CONSTRAINT CK_BOOKS CHECK (NOT (AUTOR IS NULL AND COAUTOR IS NOT NULL))


  • ):


  • CREATE TABLE READERS


  • (


  • READER_ID Smallint PRIMARY KEY.


  • FIRST_NAME char(30) NOT NULL.


  • LAST_NAME char(30) NOT NULL.


  • ADRES char(50).


  • 146

  • HOME_PHON char(12).


  • WORK_PHON char(12),


  • BIRTH_DAY date СНЕCK DateDiff(year. GetDate().BIRTH_DAY) >=17 ).


  • CONSTRAINT CK_READERS CHECK (HOME_PHON IS NOT NULL OR WORK_PHON IS NOT NULL)


  • );


  • CREATE TABLE CATALOG


  • (


  • ID_CATALOG Smallint PRIMARY KEY,


  • KNOWELEDGE_AREA varchar(150)


  • );


  • CREATE TABLE EXEMPLAR


  • (


  • ID_EXEMPLAR int NOT NULL,


  • ISBN varchar(14) NOT NULL FOREIGN KEY references BOOKS(ISBN).


  • READER_ID Smallint(4) NULL FOREIGN KEY references READERS (READERJD).


  • DATA_IN date.


  • DATA_OUT date,


  • EXIST Logical,


  • PRIMARY KEY (ID_EXEMPLAR, ISBN)


  • );


  • CREATE TABLE RELATION_1


  • (


  • ISBN varchar(14) NOT NULL FOREIGN KEY references BOOKS(ISBN).


  • ID_CATALOG smallint NOT NULL FOREIGN KEY references CATALOG(ID_CATALOG).



  • Содержание  Назад  Вперед