Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы_31-40.docx
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
32 Кб
Скачать
☆
  1. Механизм использования внешних ключей.

Внешние ключи представляют собой столбцы или наборы столбцов, предназначенные для связывания каждой из строк дочерней таблицы, содержащей этот внешний ключ, со строкой родительской таблицы, содержащей соответствующее значение потенциального ключа. Стандарт SQL предусматривает механизм определения внешних ключей с помощью предложения FOREIGN KEY, а фраза REFERENCES определяет имя родительской таблицы, т.е. таблицы, где находится соответствующий потенциальный ключ. При использовании этого предложения система отклонит выполнение любых операторов INSERT или UPDATE, с помощью которых будет предпринята попытка создать в дочерней таблице значение внешнего ключа, не соответствующее одному из уже существующих значений потенциального ключа родительской таблицы. Когда действия системы выполняются при поступлении операторов UPDATE и DELETE, содержащих попытку обновить или удалить значение потенциального ключа в родительской таблице, которому соответствует одна или более строк дочерней таблицы, то они зависят от правил поддержки ссылочной целостности, указанных во фразах ON UPDATE и ON DELETEпредложения FOREIGN KEY. Если пользователь предпринимает попытку удалить из родительской таблицы строку, на которую ссылается одна или более строк дочерней таблицы, язык SQL предоставляет следующие возможности:

  • CASCADE - выполняется удаление строки из родительской таблицы, сопровождающееся автоматическим удалением всех ссылающихся на нее строк дочерней таблицы;

  • SET NULL - выполняется удаление строки из родительской таблицы, а во внешние ключи всех ссылающихся на нее строк дочерней таблицы записывается значение NULL ;

  • SET DEFAULT - выполняется удаление строки из родительской таблицы, а во внешние ключи всех ссылающихся на нее строк дочерней таблицы заносится значение, принимаемое по умолчанию;

  • NO ACTION - операция удаления строки из родительской таблицы отменяется. Именно это значение используется по умолчанию в тех случаях, когда в описании внешнего ключа фраза ON DELETE опущена.

  1. Что такое master-отношение и detail-отношение?

MySQL Query Browser делает легким просмотр данных, которые представлены как master-detail (отношение один ко многим). Это может быть полезно для просмотра данных заказчик/заказ, группа/член группы и так далее.Чтобы отобразить master-detail представление, первое что нужно сделать — это сделать запрос в основной таблице и разместить его в новой области результатов. Например, используя базу данных для примеров world вы можете сделать запрос SELECT Code, Name, Continent FROM Country.

  1. Вопросы «ненарушения» связей между отношениями

Правильно спроектированная и поддерживаемая база данных не допускает возможности нарушения ссылочной целостности.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]