36022

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

Доклад

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

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

Русский

2013-09-20

33.5 KB

6 чел.

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


 

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

30773. Монтаж конструкций со склада и с транспортных средств 16.96 KB
  Монтаж конструкций со склада и с транспортных средств. Метод монтажа в зависимости от организации подачи элементов на монтаж: А со склада Б с колёс Основным условием доставки конструкций транспортными средствами является комплектная и ритмичная их подача в заданной технологической последовательности строго по часовому расписанному по минутам графику непосредственно к месту установки. Монтаж конструкций с транспортных средств по сравнению с предварительной разгрузкой является наиболее экономичным так как сокращаются затраты на...
30774. Классификация методов монтажа в зависимости от последовательности установки элементов 14.82 KB
  Классификация методов монтажа в зависимости от последовательности установки элементов. При раздельном методе одноименные конструкции монтируют или демонтируют самостоятельными потоками совмещенными во времени. Данный метод монтажа и демонтажа рекомендуется при реконструкции пролетов значительной протяженности небольшой внутренней стесненности обеспечивающей развертывание потока при свободном проходе монтажного крана и главное независимости СМР по реконструкции от основной деятельности предприятия. Комплексный метод связан с...
30775. Классификация методов монтажа по степени ограничения свободы перемещения в пространстве 14.68 KB
  По степени ограничения свободы перемещения элементов: А свободный Б ограничено свободный В принудительный оснастка позволяет перемещаться только в 1 необходимом направлении Свободный монтаж при котором монтируемый элемент без какихлибо ограничений устанавливают в проектное положение при его свободном перемещении. Ограниченносвободный монтаж характеризуется тем что монтируемая конструкция устанавливается в направляющие упоры фиксаторы и другие приспособления частично ограничивающие свободу перемещения конструкции но приводящие к...
30776. Выбор самоходного стрелового крана 19.06 KB
  hо превышение монтажного горизонта над уровнем стоянки крана hз запас по высоте для обеспечения безопасности монтажа hэл высота монтируемого элемента hстр высота строповки м вылет стрелы А=сlе где расстояние от оси вращения крана до оси крепления стрелы; горизонтальная проекция стрелы длина стрелы L находится по теореме пифагора мы знаем два катета. Зная необходимые характеристики которыми должен обладать кран поднять необходимую тяжесть с некоторой длинной стрелы. Определяем фактические грузоподьёмность длину...
30777. Подбор башенного крана 16.38 KB
  Подбор башенного крана требуемая грузоподъёмность крана Qтр = Qэл Qстр Qосн т Qэл масса монтируемого элемента Qстр масса строповочного приспособления Qосн масса монтажной оснастки т. Высота подъёма крюка Hкр = hо hз hэл hстр м hо превышение монтажного горизонта над уровнем стоянки крана hз запас по высоте для обеспечения безопасности монтажа hэл высота монтируемого элемента hстр высота строповки м Расчёт вылета стрелы крана производят по формуле б = а 2 b c м где а ширина подкраннового пути b ...
30778. Технико-экономическое сравнение вариантов 13.75 KB
  Исходя из того требуется ли нам выполнить проект быстро или дешево выбирают метод монтажа по раннее подсчитанным показателям : механоёмкости трудоёмкости продолжительности монтажа себестоимости выполнения работ и приведённым затратам. Механоёмкость затраты машинного времени на выполнение единицы монтажа также по ЕНиР. Продолжительность монтажа считается по количеству машиночасов всех монтажных кранов с учётом частичного совмещения во времени их работы на объекте. Себестоимость монтажа сумма прямых затрат и накладных расходов.
30779. Монтаж одноэтажных промышленных зданий. Методы монтажа. Продольная и поперечная схема 16.88 KB
  В этом случае кран двигаясь вдоль пролета монтирует все колонны а затем перемещаясь поперек пролета ведет секционный монтаж. Перед монтажом колонн проверяют их размеры и наносят риски облегчающие установку колонны в стакан фундамента или на оголовки подколенников. Тяжелые колонны обычно монтируют с транспортных средств или предварительно раскладывают колонны основанием обращенным к фундаментам. Тяжелые колонны поднимают и переводят в вертикальное положение способом поворота или скольжения.
30780. Основные технологические процессы при монтаже ж\б колонн в стаканы фундаментов 14.26 KB
  Тяжелые колонны обычно монтируют с транспортных средств или предварительно раскладывают колонны основанием обращенным к фундаментам. Колонны легкого типа как правило предварительно доставляют в зону монтажа и раскладывают вершинами обращенными к фундаменту. Тяжелые колонны поднимают и переводят в вертикальное положение способом поворота или скольжения. Особо тяжелые и нетранспортабельные железобетонные колонны бетонируют в инвентарных формах на позициях обеспечивающих удобное движение монтажного крана и установку с каждой позиции одной...
30781. Монтаж многоэтажных каркасных зданий, последовательность монтажа элементов 15.51 KB
  Монтаж многоэтажных каркасных зданий последовательность монтажа элементов. Монтаж совокупность технологических процессов связанных с доставкой конструктивных элементов установкой и закреплением. Методы монтажа техническое решение определяющее способ возведения конструкции и последующей сборки: По степени укрупнения: А поэлементный подъём и установка в проектное положение отдельных готовых конструктивных элементов Б крупноблочный конструкции предварительно собираются в блок укрупнит.сборка В монтаж сооружения целиком В...