- •Лекція 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 - вичерпна підмова даних
- •Питання
Структурні правила (правила 1 і 6)
Фундаментальним структурним поняттям реляційної моделі є відношення. Кодд затверджує, що РСКБД повинна підтримувати роботу з декількома структурними елементами, включаючи відношення, домени, первинні і зовнішні ключі. Для кожного відношення (таблиці) бази даних повинний бути визначений первинний ключ.
Правило 1 - представлення інформації
Вся інформація в реляційній базі даних представляється в явному виді на логічному рівні і тільки одним способом — у виді значень у таблицях.
Відповідно до цього правила, вся інформація, навіть метадані в системному каталозі, повинна зберігатися у виді відношень і керуватися за допомогою тих же функцій, що використовуються для роботи з даними. Згадування в цьому правилі "логічного рівня" означає, що такі фізичні конструкції, як індекси, не повинні бути представлені в моделі і користувач не повинний явно посилатися на них в операціях витягу даних, навіть у тих випадках, коли вони існують.
Правило 6 - відновлення представлення
Усі представлення, що є теоретично обновлюваними, повинні бути обновлювані й у даній системі.
Це правило стосується винятково представлень. Умови відновлення представлень, прийняті в мові SQL, розглядаються далі. Дане правило говорить, що якщо представлення є теоретично обновлюваним, те СКБД повинна уміти виконувати подібні відновлення. Насправді жодна існуюча система не підтримує цю вимогу, оскільки усе ще не визначені умови ідентифікації всіх теоретично обновлюваних представлень.
Правила цілісності (правила 3 і 10)
Кодд запропонував два правила підтримки цілісності даних. Підтримка цілісності даних є важливим критерієм оцінки придатності системи для практичних потреб. Чим більше обмежень цілісності може підтримуватися самою СКБД, а не окремими її програмами, тим вище гарантії якісності даних.
Правило 3 - систематична обробка невизначених значень (null)
Невизначені значення (що задаються з допомогою визначника NULL), тобто значення, відмінні від порожнього рядка чи рядка порожніх символів, а також від нуля чи будь-якого іншого конкретного значення, підтримуються для систематичного представлення відсутньої чи неприйнятної інформації, причому незалежно від типу даних.
Правило 10 - незалежність обмежень цілісності
Специфічні для даної РСКБД обмеження цілісності повинні визначатися на підмові реляційних даних і зберігатися в системному каталозі, а не в прикладних програмах.
Кодд особливо підкреслює, що зведення про встановлені обмеження цілісності даних повинні зберігатися в системному каталозі, а не инкапсулюються в окремих прикладних програмах чи користувальницьких інтерфейсах. Збереження обмежень цілісності в системному каталозі надає важливу перевагу централізованому керуванню і приведення їх у дію.
Правила маніпулювання даними (правила 2, 4, 5 і 7)
Ідеальна РСКБД повинна підтримувати 18 функцій керування даними. Вони визначають повноту мови запитів (тут термін "запит" включає й операції вставки, відновлення і видалення). Правила маніпулювання даними визначають спосіб застосування 18 функцій керування даними. Строга відповідність цим правилам дозволяє ізолювати користувача і прикладні програми від фізичного і логічного механізмів реалізації засобів маніпулювання даними.
Правило 2 - гарантований доступ
Для всіх і кожного елемента даних (тобто його атомарного значення) реляційної бази даних повинний бути гарантований логічний доступ на основі комбінації імені таблиці, значення первинного ключа і значення імені стовпця.