Теория баз данных


         

Операторы DDL в языке SQL с заданием ограничений целостности - часть 4


PAGES smalllnt CHECK(PAGES > = 5 AND PAGES <= 1000)

);

Почему мы не задали обязательность значения для количества страниц в книге? Потому что это является следствием проверочного ограничения, заданного на количество страниц, количество страниц всегда должно лежать в пределах от 5 до 1000, значит, оно не может быть незаданным и система это контролирует автоматически.

Теперь зададим описание таблицы «Читатели», которой соответствует отношение READERS:

  • Номер читательского билета — это целое число в пределах 32 000 и он уникально определяет читателя.

  • Имя, фамилия читателя — это последовательность символов, не более 30.

  • Адрес — это последовательность символов, не более 50.

  • Номера телефонов рабочего и домашнего — последовательность символов, не более 12.

  • Дата рождения — календарная дата. В библиотеку принимаются читатели не младше 17 лет.

    CREATE TABLE READERS

    (

    READER_ID Smallint(4) PRIMARY KEY.

    FIRST_NAME char(30) NOT NULL.

    LAST_NAME char(30) NOT NULL.

    ADRES char(50).

    HOME_PHON char(12).

    WORK_PHON chart 12),

    BIRTH_DAYdate

    CHECK(DateDiff(year. GetDate() ,BIRTH_DAY) >=17)

    );

    Здесь DateDiff (часть даты, начальная дата, конечная дата) — функция MS SQL Server 7.0, которая определяет разность между начальной и конечной датами, заданную в единицах, определенных первым параметром — часть даты. Мы задали в качестве параметра Year, что значит, что мы разность определяем в годах.

    Теперь зададим операцию создания таблицы EXEMPLAR (экземпляры книги). В этой таблице первичным ключом является атрибут, задающий инвентарный номер экземпляра книги. В такой постановке мы полагаем, что при поступлении книг в библиотеку им просто присваиваются соответствующие порядковые номера. Для того чтобы не утруждать библиотекаря все время помнить, какой номер был последним, мы можем воспользоваться тем, что некоторые СУБД допускают специальный инкрементный тип данных, то есть такой, значения которого автоматически увеличиваются или уменьшаются на заданную величину при каждом новом вводе данных.


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