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

UptoLike

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

104
12.4. Операции соединения таблиц
посредством ссылочной целостности
Информация в таблицах Student и Progress уже связана по-
средством поля ID_Student. В таблице Student поле ID_Student яв-
ляется первичным ключом, а в таблице Progress ссылающимся на
него внешним ключом. Состояние связанных таким образом таблиц
называется состоянием ссылочной целостности. В данном случае
ссылочная целостность этих таблиц подразумевает, что каждому
значению поля ID_Student в таблице Progress обязательно соответ-
ствует такое же значение поля ID_Student в таблице Student. Дру-
гими словами, в таблице Progress не может быть записей, имеющих
идентификаторы студентов, которых нет в таблице Student. Стан-
дартное применение операции соединения состоит в извлечении
данных в терминах этой связи.
Пример 88. Получить список фамилий студентов с получен-
ными ими оценками и идентификаторами предметов:
SELECT FIO AS 'ФИО', Examen AS 'Оценка за экзамен',
ID_Lesson AS 'Код предмета'
FROM Students, Progress
WHERE Students.ID_Student = Progress.ID_Student ORDER
BY FIO;
Результат выполнения запроса приведен на рис. 46.
Рис. 46. Соединение таблиц посредством ссылочной целостности
          12.4. Операции соединения таблиц
         посредством ссылочной целостности
      Информация в таблицах Student и Progress уже связана по-
средством поля ID_Student. В таблице Student поле ID_Student яв-
ляется первичным ключом, а в таблице Progress – ссылающимся на
него внешним ключом. Состояние связанных таким образом таблиц
называется состоянием ссылочной целостности. В данном случае
ссылочная целостность этих таблиц подразумевает, что каждому
значению поля ID_Student в таблице Progress обязательно соответ-
ствует такое же значение поля ID_Student в таблице Student. Дру-
гими словами, в таблице Progress не может быть записей, имеющих
идентификаторы студентов, которых нет в таблице Student. Стан-
дартное применение операции соединения состоит в извлечении
данных в терминах этой связи.
     Пример 88. Получить список фамилий студентов с получен-
ными ими оценками и идентификаторами предметов:
     SELECT FIO AS 'ФИО', Examen AS 'Оценка за экзамен',
ID_Lesson AS 'Код предмета'
     FROM Students, Progress
     WHERE Students.ID_Student = Progress.ID_Student ORDER
BY FIO;
     Результат выполнения запроса приведен на рис. 46.




   Рис. 46. Соединение таблиц посредством ссылочной целостности




                               104