36022

Первичный ключ. Внешний ключ. Ссылочная целостность. Базовые ссылочные действия, определенные в стандарте языка SQL

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-09-20

33.5 KB

4 чел.

Первичный ключ. Внешний ключ. Ссылочная целостность. Базовые ссылочные действия, определенные в стандарте языка SQL.

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

С точки зрения теории все потенциальные ключи отношения эквивалентны, то есть обладают одинаковыми свойствами уникальности и минимальности. Однако в качестве первичного обычно выбирается тот из потенциальных ключей, который наиболее удобен для тех или иных практических целей.. Поэтому в качестве первичного ключа, как правило, выбирают тот, который имеет наименьший размер (физического хранения) и/или включает наименьшее количество атрибутов.

Если не придерживаться формальностей, то внешний ключ можно определить как множество атрибутов одной переменной-отношения R2, значения которых должны совпадать со значениями некоторого потенциального ключа некоторой другой переменной-отношения R1.

Можно дать следующее более точное определение:

Пусть R2— некоторая переменная-отношение. Тогда внешний ключ (скажем, FK) в переменной-отношении R2 представляет собой множество атрибутов этой переменной-отношения, такое, что:

а) существует переменная-отношение R1 (причем переменные-отношения R1 и R2 необязательно различны) с потенциальным ключом СК;

б) каждое значение внешнего ключа FK в текущем значении переменнойотношения R2 обязательно совпадает со значением ключа СК некоторого кортежа в текущем значении переменной-отношения R1.

Данное определение нуждается в дополнительных пояснениях.

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

2. Некоторый внешний ключ будет составным или простым в зависимости от того, является ли простым или составным соответствующий потенциальный ключ.

3. Каждый входящий в некоторый внешний ключ атрибут должен иметь то же имя и тип, что и эквивалентный ему компонент соответствующего потенциаль¬ного ключа.

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

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

Переменная-отношение, которая содержит внешний ключ, называется ссылающейся переменной отношения, а переменная-отношение, которая содержит соответствующий потенциальный ключ, — ссылочной переменной-отношением.

Ссылочная целостность. 

FOREIGN KEY { <СПИСОК элементов> } REFERENCES <ямя переменной-отношения>

База данных не должна содержать значений внешних ключей, не имеющих соответствия.

Внешние ключи представляют собой столбцы или наборы столбцов, предназначенные для связывания каждой из строк дочерней таблицы, содержащей этот внешний ключ, со строкой родительской таблицы, содержащей соответствующее значение потенциального ключа. Стандарт 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 опущена.

Те же самые правила применяются в языке SQL и тогда, когда значение потенциального ключа родительской таблицы обновляется.

Определитель MATCH позволяет уточнить способ обработки значения NULL во внешнем ключе.

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

В операторе CREATE TABLE используется необязательная фраза DEFAULT, которая предназначена для задания принимаемого по умолчанию значения, когда в операторе INSERT значение в данном столбце будет отсутствовать.

Фраза CONSTRAINT позволяет задать имя ограничению, что позволит впоследствии отменить то или иное ограничение с помощью оператора ALTER TABLE.


 

А также другие работы, которые могут Вас заинтересовать

80779. Экологическая сертификация хозяйственной и иной деятельности 32.51 KB
  Подтверждение соответствия осуществляется на основе принципов: доступности информации о порядке осуществления подтверждения соответствия заинтересованным лицам; недопустимости применения обязательного подтверждения соответствия к объектам в отношении которых не установлены требования технических регламентов; установления перечня форм и схем обязательного подтверждения соответствия в отношении определенных видов продукции в соответствующем техническом регламенте; уменьшения сроков осуществления обязательного подтверждения соответствия...
80780. Экологический аудит: понятие, значение, содержание 35.63 KB
  Рассматриваемый вид аудита способствует повышению конкурентоспособности и рентабельности продукции аудируемого предприятия с позиции роста экономической эффективности его хозяйственной и в том числе природоохранной деятельности дает возможность правильно сформировать учетную политику организации способствует эффективному решению вопросов льготного налогообложения при внедрении ресурсосберегающих технологий предотвращению возможных производственных аварий. Федеральный закон Об аудиторской деятельности не содержит дефиниции экологическое...
80781. Понятие, виды и принципы экологической экспертизы 29.8 KB
  Экологическая экспертиза проводится в целях предупреждения возможных неблагоприятных воздействий соответствующей деятельности на окружающую природную среду и связанных с ними социальных экономических и иных последствий реализации объекта экологической экспертизы. Принципы экологической экспертизы Согласно Федеральному закону Об экологической экспертизе такая экспертиза основывается на принципах: презумпции потенциальной экологической опасности любой намечаемой хозяйственной и иной деятельности; обязательности проведения государственной...
80782. Правовое регулирование государственной экологической экспертизы 30.41 KB
  Цели проведения экологической экспертизы: 1 проверка соответствия хозяйственной и иной деятельности экологической безопасности общества; 2 предупреждение возможных неблагоприятных воздействий хозяйственной деятельности на окружающую природную среду и связанных с ними социальных экономических и иных последствий реализации объекта экологической экспертизы; 3 определение допустимости реализации объекта экологической экспертизы. Законодательство РФ об экологической экспертизе: 1 Конституция РФ; 2 Федеральный закон от 23 ноября 1995 г. № 1...
80783. Общественная экологическая экспертиза 30.78 KB
  Вторым нормативным актом в этой области явился Федеральный закон Об экологической экспертизе 1995 г. Общественная экологическая экспертиза организуется и проводится по инициативе граждан и общественных организаций объединений а также по инициативе органов местного самоуправления общественными организациями объединениями основным направлением деятельности которых в соответствии с их уставами является охрана окружающей природной среды в том числе организация и проведение экологической экспертизы и которые зарегистрированы в порядке...
80784. Понятие и роль экономического регулирования в области охраны окружающей среды 30.11 KB
  Прежде всего он направлен на экономическое обеспечение рационального природопользования и охраны окружающей среды. Правовые требования касающиеся экономических мер природопользования и охраны окружающей среды содержатся в ряде законов и подзаконных актов относящихся к экологическому и к иным отраслям российского законодательства. Основные требования в данной области предусмотрены Федеральным законом Об охране окружающей среды .
80785. Плата за негативное воздействие на окружающую среду 31.12 KB
  Некоторые общие требования относительно платы за негативное воздействие на окружающую среду определяются в Федеральном законе Об охране окружающей среды ст. Определение размеров и взимание платы за загрязнение окружающей среды регламентируется на федеральном уровне достаточно подробно документом утвержденным постановлением Правительства Порядок определения платы и ее предельных размеров за загрязнение окружающей природной среды размещение отходов другие виды вредного воздействия. Исходными при определении платы за негативное воздействие на...
80786. Экологическое страхование 30.07 KB
  Для экологического страхования главным образом имеют значения положения ПС содержащиеся в статьях 927929931966 которые прямо закрепляют некоторые аспекты относящиеся к страхованию ответственности а именно: Обязательное страхование гражданской ответственности за причинение экологического вреда осуществляется в силу прямого указания закона Данный вид страхования может осуществляться хозяйствующими субъектами как за свой счет так и за счет заинтересованных лиц. Однако обязательное страхование ответственности за счет бюджета не...
80787. Понятие и виды юридической ответственности за нарушение правовых экологических требований 30.62 KB
  Под юридической ответственностью за экологические правонарушения понимается отношение между государством в лице специально уполномоченных органов в области охраны окружающей среды правоохранительных органов иными уполномоченными субъектами и совершившим экологическое правонарушение лицом физическим должностным или юридическим по применению к нарушителю соответствующего взыскания. Сущность юридической ответственности заключается в неблагоприятных последствиях наступающих для нарушителя. Посредством применения юридической ответственности...