
- •Лекція 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 - вичерпна підмова даних
- •Питання
Природне з'єднання
-
R S
Природним з'єднанням називається з'єднання по еквівалентності двох відношень R і S, виконане по всіх загальних атрибутах х, з результатів якого виключається по одному екземплярі кожного загального атрибута.
Ступенем природного з'єднання називається сума ступенів операндів-відношень R і S мінус кількість атрибутів х.
Приклад 3.7 Операція природного з'єднання
Створіть список всіх орендарів, що оглядали об'єкти нерухомості з указівкою їхніх імен і зроблених ними коментарями.
У прикладі 3.6 для складання цього списку використовувалося з'єднання по еквівалентності, але в ньому було присутнє два атрибути Rno. Для видалення одного з цих атрибутів можна скористатися операцією природного з'єднання.
( П Rno, Fname, Lname (Renter)) (П Rno, Pno, Comment (Viewing))
Р
езультат
цих операцій показаний у табл. 3.15
Зовнішнє з'єднання
Найчастіше при з'єднанні двох відношень кортеж з одного відношення не знаходить відповідного кортежу в іншім відношенні. Інакше кажучи, у стовпцях з'єднання виявляються незбіжні значення. Може знадобитися щоб рядок з одного відношення був представлений у результаті з'єднання, навіть якщо в іншім відношенні немає співпадаючого значення. Ця мета може бути досягнута за допомогою зовнішнього з'єднання.
-
R S
Лівим зовнішнім з'єднанням називається з'єднання, при якому кортежі відношення R, що не мають співпадаючих значень у загальних стовпцях відношення S, також включаються в результуюче відношення.
Для позначення відсутніх значень у другому відношенні використовується визначник NULL. Зовнішнє з'єднання стає усе більш розповсюдженим у реляційних СКБД, до того ж у даний час воно є оператором, включеним у новий стандарт SQL. Перевагою зовнішнього з'єднання є те, що при такім з'єднанні зберігається вихідна інформація, тобто зовнішнє з'єднання зберігає кортежі, що були б утрачені при використанні інших типів з'єднання.
Приклад 3.8 Ліве зовнішнє з'єднання
Створіть звіт про хід проведення оглядів об'єктів нерухомості.
У даному випадку необхідно створити відношення, що складається як з переліку оглянутих клієнтами об'єктів нерухомості (з наведенням їх коментарів з цього приводу), так і переліку об'єктів нерухомості, що ще не оглядалися. Це можна зробити за допомогою наступного зовнішнього з'єднання.
( П Rno, Street, City (Property_For_Rent)) (Viewing)
Результати
цієї операції показані в табл. 3.16.
Строго говорячи, у прикладі 3.8 показане ліве (природне) зовнішнє з'єднання, оскільки в результуючому відношенні містяться всі кортежі лівого відношення. Існує також праве зовнішнє з'єднання, називане так тому, що в результуючому відношенні містяться всі кортежі правого відношення. Крім того, існує і повне зовнішнє з'єднання, у результуюче відношення якого містяться усі кортежі з обох відношень і в який для позначення незбіжних значень кортежів використовуються визначники NULL.