Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Посібник Мова SQL кредитно-модульний.doc
Скачиваний:
35
Добавлен:
01.05.2015
Размер:
1.25 Mб
Скачать

Користувальницькі типи даних

В основі користувальницьких типів даних лежать системні типи даних SQL Server 2000. Користувальницькі типи даних застосовуються, коли в наборі стовпців з декількох таблиць повинні зберігатися однотипні дані, причому вони повинні гарантовано мати однаковий тип, розмір і по тому самому правилу допускати або не допускати порожні значення. Наприклад, на основі типу char можна створити користувальницький тип даних за назвою postal_code.

Для створення користувальницького типу даних необхідно надати наступну інформацію:

  • ім'я;

  • системний тип даних, що лежить в основі нового типу даних;

  • можливість уведення порожніх значень (чи допускає новий тип даних порожні значення);

Якщо користувальницький тип даних створений у базі даних Model, він з'явиться у всіх нових користувальницьких базах даних. Однак якщо новий тип даних створений у користувальницькій базі даних, він буде існувати тільки в ній. Користувальницькі типи даних можуть створюватися за допомогою системної збереженої процедури sp_addtype.

Цілісність даних

У таблицях SQL Server може бути визначений ряд властивостей різного типу, що забезпечують цілісність даних. До них відносяться типи даних (розглянуто вище), визначення NOTNULLіDEFAULT, властивостіIDENTITY, обмеженняCONSTRAINT, правилаRULE, тригериTRIGERі індекси (INDEX).

Типи цілісності даних

SQL Server підтримує чотири типи цілісності даних: цілісність сутностей, доменну цілісність, посилальну цілісність і цілісність, обумовлену користувачем. Чотири зазначених у цьому курсі типу вважаються головними типами цілісності даних.

Цілісність сутностей

Цілісність сутностей визначає рядок таблиці як унікальний екземпляр деякої сутності. Цілісність сутностей забезпечує цілісність стовпця з ідентифікатором або первинним ключем таблиці (за допомогою індексів, обмежень UNIQUE, PRIMARY KEY або властивостей IDENTITY).

Доменна цілісність

Доменна цілісність гарантує наявність у деякому стовпці тільки припустимих значень. Можна забезпечувати доменну цілісність, обмежуючи тип (за допомогою типів даних), формат (за допомогою обмежень CHECK і правил) або діапазон припустимих значень (за допомогою обмежень FOREIGN KEY і CHECK, визначень DEFAULT, визначень NOT NULL і правил).

Посилальна цілісність

Посилальна цілісність забезпечує схоронність зв'язків між таблицями при додаванні або видаленні записів. В SQL Server посилальна цілісність заснована на зв'язках між зовнішніми й первинними ключами або між зовнішніми й унікальними ключами (через обмеження FOREIGN KEY і CHECK). Посилальна цілісність гарантує погодженість значень ключа у зв'язаних таблицях. Подібна погодженість вимагає відсутності посилань на неіснуючі значення й погоджену зміну посилань на ключ у всій базі даних при зміні самого ключа.

При забезпеченні посилальної цілісності SQL Server запобігає наступним діям користувачів:

  • додавання записів у зв'язану таблицю, якщо немає необхідного запису в головній таблиці;

  • зміна значень у головній таблиці, у результаті якого у зв'язаній таблиці залишаться ォзависліサ запису;

  • видалення записів з головної таблиці при наявності зв'язаних записів у зовнішній таблиці.