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



         

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


  • Дата рождения - календарная дата. В библиотеку принимаются читатели не младше 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 char(12).
  • BIRTH_DAYdate CHECK(DateDiff(year, GetDate( ).BIRTH_DAY) >=17)
  • ):
  • Здесь DateDiff (часть даты, начальная дата, конечная дата) - функция MS SQL Server 7.0, которая определяет разность между начальной и конечной датами, заданную в единицах, определенных первым параметром - часть даты. Мы задали в качестве параметра Year, что значит, что мы разность определяем в годах.

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

    143

    "счетчик" (counter) и он всегда имеет начальное значение 1 и шаг, равный тоже 1, то есть при вводе каждого нового значения счетчик увеличивается на 1, значит, практически считает вновь введенные значения. В СУБД MS SQL Server 7.0 это свойство IDENTITY, которое может быть присвоено ряду целочисленных типов данных. В отличие от "счетчика" свойство IDENTITY позволяет считать с любым шагом, положительным или отрицательным, но обязательно целым. Если мы не задаем дополнительных параметров этому свойству, то оно начинает работать как счетчик в MS Access, начиная с единицы и добавляя при каждом вводе тоже единицу.

    Кроме того, таблица EXEMPLAR является подчиненной двум другим ранее определенным таблицам: BOOKS и READERS.


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