Учебное пособие Санкт-Петербург «бхв-петербург»



Pdf көрінісі
бет12/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   8   9   10   11   12   13   14   15   ...   256
sql osnovi yazika

первичного ключа
, а остальные будут являться альтернативными ключами.
Рассмотрим таблицы «Студенты» и «Успеваемость». Предположим, что в таблице
«Студенты» нет строки с номером зачетной книжки 55900, тогда включать строку
с таким номером зачетной книжки в таблицу «Успеваемость» не имеет смысла. Та-
ким образом, значения столбца «Номер зачетной книжки» в таблице «Успеваемость»
должны быть согласованы со значениями такого же столбца в таблице «Студенты».
Атрибут «Номер зачетной книжки» в таблице «Успеваемость» является примером то-
го, что называется внешним ключом. Таблица, содержащая внешний ключ, назы-
вается ссылающейся таблицей (referencing table). Таблица, содержащая соответству-
ющий потенциальный ключ, называется ссылочной (целевой) таблицей (referenced
table). В таких случаях говорят, что внешний ключ ссылается на потенциальный ключ
в ссылочной таблице. Внешний ключ может быть составным, т. е. может включать
более одного атрибута. Внешний ключ не обязан быть уникальным. Проблема обес-
печения того, чтобы база данных не содержала неверных значений внешних ключей,
известна как проблема ссылочной целостности. Ограничение, согласно которому
значения внешних ключей должны соответствовать значениям потенциальных клю-
чей, называется ограничением ссылочной целостности (ссылочным ограниче-
нием)
.
17


Глава 1. Введение в базы данных и SQL
Обеспечением выполнения ограничений ссылочной целостности занимается СУБД,
а от разработчика требуется лишь указать атрибуты, служащие в качестве внешних
ключей. При проектировании баз данных часто предусматривается, что при удале-
нии строки из ссылочной таблицы соответствующие строки из ссылающейся таблицы
должны быть также удалены, а при изменении значения столбца, на который ссыла-
ется внешний ключ, должны быть изменены значения внешнего ключа в ссылающей-
ся таблице. Этот подход называется каскадным удалением (обновлением).
Иногда применяются и другие подходы. Например, вместо удаления строк из ссыла-
ющейся таблицы в этих строках просто заменяют значения атрибутов, входящих
во внешний ключ, так называемыми NULL-значениями. Это специальные значе-
ния, означающие «ничто» или отсутствие значения, они не совпадают со значением
«нуль» или «пустая строка». NULL-значение применяется в базах данных и в качестве
значения по умолчанию, когда пользователь не ввел никакого конкретного значения.
Первичные ключи не могут содержать NULL-значений.
Транзакция — одно из важнейших понятий теории баз данных. Она означает набор
операций над базой данных, рассматриваемых как единая и неделимая единица ра-
боты, выполняемая полностью или не выполняемая вовсе, если произошел какой-
то сбой в процессе выполнения транзакции. Таким образом, транзакции являются
средством обеспечения согласованности данных. В нашей базе данных транзакцией
могут быть, например, две операции: удаление строки из таблицы «Студенты» и уда-
ление связанных по внешнему ключу строк из таблицы «Успеваемость».


Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет