Основы языка TRANSACT SQL. Казакова И.А. - 42 стр.

UptoLike

Составители: 

41
к полю идентификатора предмета обучения (ID_Lesson) по отдель-
ности нельзя предъявить требование уникальности. Однако для то-
го, чтобы в таблице не могли появиться разные записи для одинако-
вых комбинаций значений полей ID_student и ID_Lesson онкрет-
ный студент на конкретном экзамене не может получить более од-
ной оценки), имеет смысл объявить уникальной комбинацию этих
полей. Для этого можно применить ограничение PRIMARY KEY,
объявив пару ID_student и ID_Lesson первичным ключом таблицы.
Пример 15. Создание таблицы Progress:
CREATE TABLE Progress
(
ID_Student INT NOT NULL CONSTRAINT to_student
REFERENCES Students(ID_Student),
ID_Lesson INT NOT NULL CONSTRAINT to_lesson
REFERENCES Lessons(ID_Lesson),
Semestr INT NOT NULL
CHECK(Semestr BETWEEN 1 AND 10),
Examen INT NOT NULL
CHECK(Examen BETWEEN 2 AND 5),
Zachet VARCHAR(10),
Kurs_rab TINYINT,
CONSTRAINT a_progress PRIMARY KEY(ID_Student,
ID_Lesson));
Составные ключи указываются через запятую после последне-
го поля:
primary key(ID_Student,ID_Lesson),
);
7.2.4. Ограничение внешних ключей
Внешний ключ набор атрибутов, содержащий ссылки на
первичный ключ другого (или того же самого) отношения. Внешний
ключ используется для поддержания ссылочной целостности, так
как предотвращает ввод в таблицу данных, для которых нет соот-
ветствующих значений в связанной таблице.
к полю идентификатора предмета обучения (ID_Lesson) по отдель-
ности нельзя предъявить требование уникальности. Однако для то-
го, чтобы в таблице не могли появиться разные записи для одинако-
вых комбинаций значений полей ID_student и ID_Lesson (конкрет-
ный студент на конкретном экзамене не может получить более од-
ной оценки), имеет смысл объявить уникальной комбинацию этих
полей. Для этого можно применить ограничение PRIMARY KEY,
объявив пару ID_student и ID_Lesson первичным ключом таблицы.
     Пример 15. Создание таблицы Progress:
     CREATE TABLE Progress
     (
          ID_Student INT NOT NULL CONSTRAINT to_student
               REFERENCES Students(ID_Student),
          ID_Lesson INT NOT NULL CONSTRAINT to_lesson
               REFERENCES Lessons(ID_Lesson),
          Semestr INT NOT NULL
               CHECK(Semestr BETWEEN 1 AND 10),
          Examen INT NOT NULL
               CHECK(Examen BETWEEN 2 AND 5),
          Zachet VARCHAR(10),
          Kurs_rab TINYINT,
          CONSTRAINT a_progress PRIMARY KEY(ID_Student,
ID_Lesson));
     Составные ключи указываются через запятую после последне-
го поля:
          primary key(ID_Student,ID_Lesson),
          );

            7.2.4. Ограничение внешних ключей
     Внешний ключ – набор атрибутов, содержащий ссылки на
первичный ключ другого (или того же самого) отношения. Внешний
ключ используется для поддержания ссылочной целостности, так
как предотвращает ввод в таблицу данных, для которых нет соот-
ветствующих значений в связанной таблице.



                               41