
- •Лекція 3. Реляційна модель бази даних
- •3. Вступ
- •3.1. Короткий огляд історії реляційної моделі
- •Домен - це набір припустимих значень для одного чи декількох атрибутів.
- •Кортеж - це рядок відношень.
- •Ступінь - ступінь відношення визначається кількістю атрибутів, що вона містить.
- •Кардинальність - це кількість кортежів, що містить відношення.
- •Реляційна база даних - Набір нормалізованих відношень.
- •Альтернативна термінологія
- •3.2.2. Математичні відношення
- •3.2.3. Відношення в базі даних
- •Реляційна схема - ім'я відношення, за яким випливає множина пар імен атрибутів і доменів.
- •3.2.4. Властивості відношень
- •3.2.5. Реляційні ключі
- •Суперключ (superkey) - Атрибут чи множина атрибутів, що єдиним образом ідентифікує кортеж даного відношення.
- •Потенційний ключ - суперключ, що не містить підмножини, що також є суперключем даного відношення.
- •Первинний ключ - Це потенційний ключ, що обраний для унікальної ідентифікації кортежів усередині відношення.
- •Зовнішній ключ - це атрибут чи множина атрибутів усередині відношення, що відповідає потенційному ключу будь якого (може того ж самого) відношення.
- •3.2.6. Представлення схем у реляційній базі даних
- •3.3. Реляційна цілісність
- •3.3.1. Визначник null Визначник null вказує, що значення атрибуту в даний момент невідомо чи неприйнятне для цього кортежу.
- •3.3.2. Цілісність сутностей
- •Цілісність сутностей - у базовому відношенні жоден атрибут, первинного ключа не може містити відсутніх значень, що позначаються визначником null.
- •3.3.3. Посилальна цілісність
- •3.3.4. Корпоративні обмеження цілісності Корпоративні обмеження цілісності - Додаткові правила підтримки цілісності даних, обумовлені користувачами чи адміністраторами бази даних.
- •3.4. Реляційні мови
- •3.4.1. Реляційна алгебра
- •Вибірка (чи обмеження)
- •Проекція
- •Декартовий добуток
- •Об'єднання
- •Різниця
- •Операції з'єднання
- •Тета-з'єднання (θ - join)
- •Природне з'єднання
- •Зовнішнє з'єднання
- •Напівз'єднання
- •Перетинання
- •Розподіл
- •3.4.2. Реляційне числення
- •Реляційне числення кортежів
- •Реляційне числення доменів
- •3.4.3. Інші мови
- •3.5. Представлення
- •3.5.1. Термінологія
- •Базове відношення - пойменоване відношення, що відповідає сутності в концептуальній схемі, кортежі якого фізично зберігаються в базі даних.
- •3.5.2. Призначення представлень
- •3.5.3. Відновлення представлень
- •3.6. Коли скбд можна вважати Реляційної
- •Фундаментальні правила (правила 0 і 12)
- •Правило 0 - фундаментальне правило
- •Правило 12 - правило заборони обхідних шляхів
- •Структурні правила (правила 1 і 6)
- •Правило 1 - представлення інформації
- •Правило 6 - відновлення представлення
- •Правила цілісності (правила 3 і 10)
- •Правило 3 - систематична обробка невизначених значень (null)
- •Правило 10 - незалежність обмежень цілісності
- •Правила маніпулювання даними (правила 2, 4, 5 і 7)
- •Правило 2 - гарантований доступ
- •Правило 4 - динамічний інтерактивний каталог, побудований за правилами реляційної моделі
- •Правило 5 - вичерпна підмова даних
- •Питання
Домен - це набір припустимих значень для одного чи декількох атрибутів.
Д
омени
являють собою надзвичайно могутній
компонент реляційної моделі. Кожен
атрибут реляційної бази даних визначається
на деякому домені. Домени можуть
відрізнятися для кожного з атрибутів,
але два і більш атрибути можуть визначатися
на тому самому домені. У табл. 3.1
представлені домени для деяких атрибутів
відношень Branch і Staff. Хоча у
відношенні Branch є сім атрибутів, тут
показані тільки шість, тому що два
атрибути, Tel_No і Fax_No, визначені на
тому самому домені. Зверніть увагу, що
в будь-який момент часу в доменах можуть
існувати значення, що не будуть реально
представлені значеннями відповідного
атрибута.
Поняття домену має велике значення, оскільки завдяки йому користувач може централізовано визначати зміст і джерело значень, що можуть одержувати атрибути. У результаті при виконанні реляційної операції системі доступно більше інформації, що дозволяє їй уникнути семантично некоректних операцій. Наприклад, безглуздо порівнювати назву вулиці з номером телефону, навіть якщо для обох цих атрибутів визначеннями доменів є символьні рядки. З іншого боку, щомісячна орендна плата об'єкта нерухомості і кількість місяців, протягом яких він здавався в оренду, належать різним доменам (перший атрибут має грошовий тип, а другий - цілочисленнй). Однак множення значень з цих доменів є припустимою операцією. Як випливає з цих двох прикладів, забезпечити повну реалізацію поняття домену зовсім непросто, а тому в багатьох РСКБД вони підтримуються не цілком, а лише частково.
Кортеж - це рядок відношень.
Елементами відношення є кортежі, або рядки таблиці. У відношенні Branch кожен рядок містить сім значень, по одному для кожного атрибуту. Кортежі можуть розташовуватися в будь-якому порядку, при цьому відношення буде залишатися тим же самим, а виходить, і мати той же зміст.
Опис структури відношення разом зі специфікацією доменів і будь-якими іншими обмеженнями можливих значень атрибутів іноді називають його заголовком (чи змістом (intension)). Звичайно воно є фіксованим, доти поки зміст відношення не змінюється за рахунок додавання в нього додаткових атрибутів. Кортежі називаються розширенням (extension), станом (state) чи тілом відношення, що постійно міняється.
Ступінь - ступінь відношення визначається кількістю атрибутів, що вона містить.
Відношення Branch, показане на мал. 3.1, має сім атрибутів і, отже, його ступінь дорівнює семи. Це значить, що кожен рядок таблиці є 7-арным кортежем, тобто кортежем, що містить сім значень. Відношення тільки з одним атрибутом має ступінь 1 і називається унарним (unary) відношенням (чи 1-арным кортежем). Відношення з двома атрибутами називається бінарним (binary), відношення з трьома атрибутами - тернарним (ternary), а для відношень з великою кількістю атрибутів використовується термін n-арний (п-агу). Визначення ступеня відношення є частиною заголовка відношення.
Кардинальність - це кількість кортежів, що містить відношення.
Кількість кортежів, що містяться у відношенні, називаються кардинальністю відношення. Ця характеристика міняється при кожнім додаванні чи видаленні кортежів. Кардинальність є властивістю тіла відношення і визначається поточним станом відношення в довільно узятий момент. І, нарешті, ми підійшли до визначення самої Реляційної бази даних.