
- •Лекція 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 - вичерпна підмова даних
- •Питання
Реляційна база даних - Набір нормалізованих відношень.
Реляційна база даних складається з відношень, структура яких визначається за допомогою особливих методів, які звуться нормалізацією (normalization).
Альтернативна термінологія
Т
ермінологія,
використовувана в реляційній моделі,
часом може привести до плутанини,
оскільки крім запропонованих двох
наборів термінів існує ще один - третій.
Відношення в ньому називається файлом
(file), кортежі — записами (records), а
атрибути — полями (fields). Ця термінологія
заснована на тім факті, що фізично
реляційна СКБД може зберігати кожне
відношення в окремому файлі. У табл. 3.2
показані відповідності, що існують між
трьома згаданими вище групами термінів.
3.2.2. Математичні відношення
Для розуміння математичного змісту терміна відношення розглянемо кілька математичних понять. Припустимо, у нас є дві множини D1 і D2, де D1 = {2,4} і D2 = {1, 3, 4}. Декартовим добутком цих двох множин (позначається як D1 x D2) називається набір із усіх можливих пар, у яких першим йде елемент множини D1, а другим - елемент множини D2. Альтернативний спосіб виразу цього добутку полягає в пошуку всіх комбінацій елементів, у яких першим йде елемент множини D1, а другим - елемент множини D2. У даному прикладі одержимо наступний результат:
D1 x D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}
Будь-яка підмножина цього декартового добутку є відношенням. Наприклад, у ньому можна виділити відношення R, показане нижче:
R = {(2,1), (4,1)}
Для визначення тих можливих пар, що будуть входити у відношення, можна задати деякі умови їхньої вибірки. Наприклад, якщо звернути увагу на те, що відношення R містить усі можливі пари, у яких другий елемент дорівнює 1, то визначення відношення R можна сформулювати в такий спосіб:
На основі тих же множин можна сформувати інше відношення, S, у якому перший елемент завжди повинний бути в два рази більше другого. Тоді визначення відношення S можна сформулювати так:
У даному прикладі тільки одна можлива пара даного декартового добутку відповідає цій умові:
S = {(2,1)}
Поняття відношення можна легко поширити і на три множини. Нехай мається три множини: - D1, D2 і D3. Декартовий добуток D1 х D2 х D3 цих трьох множин є набором, що складається з усіх можливих трійок елементів, у яких першим йде елемент множини D1, другим - елемент множини D2, а третім - елемент множини D3. Будь-яка підмножина цього декартового добутку є відношенням. Розглянемо наступний приклад трьох множин і обчислимо їхній декартовий добуток:
D1 = {(1,3)} D2 = {(2,4)} D3 = {(5,6)}
D1 x D2 x D3 = {(1,2,5), (1,2,6), (1,4,5), (1,4,6), (3,2,5), (3,2,6), (3,4,5), (3,4,6)}
Б
удь-яка
підмножина з приведених вище трійок
елементів є відношенням. Збільшуючи
кількість множин, можна дати узагальнене
визначення відношення на n доменах.
Нехай мається n множин D1,
D2 , D3 … Dn.
Декартовий добуток для цих n множин
можна визначити в такий спосіб:
З
вичайно
цей вираз записують у такому символічному
виді:
Будь-яка множина n-арних кортежів цього декартового добутку є відношенням n множин. Зверніть увагу на те, що для визначення цих відношень необхідно вказати множини чи домени, з яких вибираються значення.