
- •Лекція 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 - вичерпна підмова даних
- •Питання
Первинний ключ - Це потенційний ключ, що обраний для унікальної ідентифікації кортежів усередині відношення.
Оскільки відношення не містить кортежів дублікатів, завжди можна унікальним образом ідентифікувати кожен його рядок. Це значить, що відношення завжди має первинний ключ. У гіршому випадку вся множина атрибутів може використовуватися як первинний ключ, але звичайно, щоб розрізнити кортежі, досить використовувати трохи меншу підмножину атрибутів. Потенційні ключі, що не обрані як первинний ключ, називаються альтернативними ключами. Якщо у відношенні Branch вибрати як первинний ключ атрибут no, то альтернативними ключами цього відношення будуть атрибути Tel_No і Fax_No. У відношенні Viewing є тільки один потенційний ключ, що складається з атрибутів Rno і Рпо, тому дане сполучення атрибутів автоматично утворить його первинний ключ.
Зовнішній ключ - це атрибут чи множина атрибутів усередині відношення, що відповідає потенційному ключу будь якого (може того ж самого) відношення.
Якщо деякий атрибут присутній у декількох відношеннях, то його наявність звичайно відбиває визначений зв'язок між кортежами цих відношень. Наприклад, атрибут no навмисно включений у відношення Branch і Staff для встановлення зв'язку між зведеннями про відділення компанії і зведеннями про співробітників, що працюють у кожному з відділень. У відношенні Branch атрибут no є первинним ключем, а у відношенні Staff він уведений для встановлення відповідності між зведеннями про співробітників і зведеннями про ті відділення компанії, у яких вони працюють. У відношенні Staff атрибут no є зовнішнім ключем. У такому випадку говорять, що атрибут no у відношенні Staff посилається на первинний ключ, тобто на атрибут no, у базовому відношенні Branch. (Базове відношення іноді називають цільовим відношенням). Як буде показано в наступних розділах, ці загальні атрибути відіграють важливу роль у маніпулюванні даними.
3.2.6. Представлення схем у реляційній базі даних
Реляційна база даних може складатися з довільної кількості відношень. Реляційні схеми для тієї частини навчального проекту DreamHome, у якій міститься й обробляється інформація про оренду власності, виглядають так:
Branch (Bno, Street, Area, City, Pcode, Tel_No, Fax_No)
Staff (Sno, FName, LName, Address, Tel No, Position, Sex, DOB, Salary, NIN, Bno)
Property_ (Pno, Street, Area, City, Pcode, Type, Rooms, Rent, Ono, Sno, Bno)
for_Rent
Renter (Rno, FName, LName, Address, Tel No, Pref Type, Max Rent, Bno)
Owner (Ono, FName, LName, Address, Tel No)
Viewing (Rno, Pno, Date, Comment)
З
агальноприйняте
позначення реляційної схеми включає
ім'я відношення, за яким (у дужках)
розташовуються імена атрибутів. При
цьому первинний ключ (звичайно)
підкреслюється.
К
онцептуальною
моделлю, чи концептуальною
схемою, називається множина
усіх реляційних схем бази даних. У табл.
3.3 - 3.8 показаний деякий можливий стан
бази даних навчального проекту DreamHome.
3.3. Реляційна цілісність
У попередньому розділі була розглянута структурна частина реляційної моделі даних. Як згадувалося в розділі 2.3, модель даних має дві інші частини:
керуючу частину, що визначає типи припустимих операцій з даними;
набір обмежень цілісності, що гарантують коректність даних.
У цьому розділі розглядаються реляційні обмеження цілісності, а в наступному - реляційні операції керування даними.
Оскільки кожен атрибут зв'язаний з деяким доменом, для множини припустимих значень кожного атрибута відношення визначаються так звані обмеження домену. Крім цього, задаються два важливі правила цілісності, що, по суті, є обмеженнями для всіх припустимих станів бази даних. Цих два основні правила реляційної моделі називаються цілісністю сутностей і посилальною цілісністю. Однак, перш ніж приступити до вивчення цих правил, варто розглянути поняття NULL.