Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Create table person






(….

Name varchar(200)

NOT NULL

DEFAULT ‘Incognito’,

)

3) Ограничения уникальности (UNIQUE)

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

4) Проверочное ограничения (CHECK)

CHECK (< логическое условия>) – при определении данного ограничения указывается данное условия, которое проверяется при каждой попытки модификаций данных. В случае, если оно вернет значения false модификация не производится и возбуждается исключения. Ограничения CHECK не может обращаться к данным других таблиц, поэтому как правило оно используется для валидаций данных по простому статическому критерию. При необходимости проверки сложного критерия нужно использовать триггер.

Пример

CREATE TABLE PERSON

(…

CREDIT Rating INT

CHECK (CREDIT Rating > = 1 AND Credit Rating > = 5)

…)

Ограничения ссылочной целостности

1) Ограничения первичного ключа – выполняет 2 функции:

a. Однозначная индификация строки в таблице

b. Организация связей с другими таблицами

Если поле автоматически определенно как первичный ключ автоматически накладывается ограничения UNIQUE и NOT NULL. Могут использоваться естественные так и суррогатные первичные ключи. Естественный ключ представляет собой поле или комбинацию полей данных по которым мы может индифицировать объект в реальной жизни. Суррогатный первичный ключ генерируется БД и не имеет смысла для пользователя.

Преимуществом естественного ключа является более аккуратный подход к проектированию БД.

Недостатки

· Зависимость от внешних источников данных

· Если для индификация объекта используется несколько полей, необходимо использовать составной первичный ключ

· Не возможно гарантировать не низменность первичного ключа

· Возможны юридические ограничение связанные с конфидицыональностью информации

 

28.10.2015

Лекция 13

Преимущества суррогатного первичного ключа

2) А

В качестве суррогатного первичного ключа чаще всего используется в столбце IDENTITY или UNIQUEIDENTIFIER.

IDENTITY (seed, increment)– представляет собой целочисленный индикатор уникальность в пределах таблицы. Длянего задаются начальные значения seed и превращения в инкремент.

NEWID()

NEW SEQUENTIAL ID()

Применяется в качестве первичного ключа в качестве глобального уникального индикатора, обеспечивает уникальность индикаторов, сгенерированными разными системами. Это облегчает индификацию объектов при обмене данными с разными источниками. Новое значение GUID, может быть получена с помощью вот этих функции NEW ID и SEQUENTIAL ID.

NEW ID - выдает случайные GUID, ставка которых может требовать перестановку индексов

SEQUENTIAL ID - выдает значение GUID больше чем все сгенированные ранее текущей сессий Windows. Ставка таких значений не требует перестроение индексов, однако может привести к нарушению конфиденцыональности.

Пример использования GUID

CREATE TABLE MyTable(

ID UNIQUEIDETIFIER DEFAULT NEW ID()

PRIMARY KEY,

…………

)

Ограничения внешнего ключа (FOREGIEN KEY)

Ограничения ссылочной целостности при помощи которого мы указываем, что 2 таблицы связанны с друг другом. Данное ограничения задаётся при помощи ключевого слова REFERENCES. Обычно связывается первичным ключ родительской таблицей, с внешнем ключом дочернего. Это означает, что каждая запись дочерней таблицы, должна иметь соответствующую запись в родительской. При этом для каждой родительской записи может существовать несколько дочерних, но возможно дочерних записей не существует. 1 – t0 – 0…n

Для автоматической поддержки ссылочной целостности при определение внешнего ключа. Задаются опции каскадного операции ON DELETE и ON UPDATE. Определяющиеся действия которые производятся в дочерней таблице, при удаление родительской записи или модификации его первичного ключа. Могут быть заданы слетающиеся действия:

· NO ACTION – никакие действия не производятся во внешней таблице, однако если возникает при этом нарушение ссылочной целостности вызвавшаяся его таблица откатывается и выдается сообщение об ошибке. Таким образом нельза удалить родительскую, если на нее ссылается дочерняя

· CASCADE - в этом случае операция произведенная в дочерней таблице (при удаление записей из родительской таблице автоматически удаляются связанные с ней дочерние записи.

· Set NULL

· SET DEFAULT

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

 

Create TABLE Vendor

(

Vendor_ID INT IDENTITY(1, 1)

 

)

29.10.2015






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.