- •Особливості інформаційних систем
- •Бази даних – основа інформаційних систем
- •Перспективи розвитку баз даних
- •Висновок
- •1 Системи керування файлами
- •2 Основні особливості систем, заснованих на інвертованих списках
- •3 Ієрархічні системи
- •Висновок
- •1 Основні поняття реляційних баз даних
- •2 Фундаментальні властивості відносин
- •3 Реляційна модель даних
- •Висновок
- •Проектування бази даних. Інфологічна і даталогічна моделі даних План
- •Інфологічна модель даних
- •Основні конструктивні елементи інфологічної моделі
- •1. Інфологічна модель даних
- •2. Основні конструктивні елементи інфологічної моделі
- •Висновок
- •2. Моделювання бд за допомогою мови інфологічного моделювання (мім)
- •3. Класифікація сутностей
- •Характеристика (атрибут 1, атрибут 2, ...) {список характеризуемих сутностей}.
- •Висновок
- •Проектування реляційних баз даних з використанням нормалізації План
- •Поняття про нормалізацію відносин
- •Одержання реляційної схеми з er-схеми
- •Поняття про нормалізацію відносин
- •Одержання реляційної схеми з er-схеми у висновку процесу проектування розглянемо етапи перетворення інфологічної моделі в реляційну схему бази даних.
- •Висновок
- •1. Структура найпростішої бази даних
- •2. Властивості полів бази даних
- •3. Типи даних
- •4. Безпека баз даних
- •5. Проектування баз даних. Режими роботи з базами даних
- •6. Проектування баз даних. Об'єкти бази даних
- •Література
Одержання реляційної схеми з er-схеми у висновку процесу проектування розглянемо етапи перетворення інфологічної моделі в реляційну схему бази даних.
Крок 1. Кожна проста сутність перетворюється в таблицю. Ім'я сутності стає ім'ям таблиці.
Крок 2. Кожен атрибут стає можливим стовпцем з тим же ім'ям; може вибиратися більш точний формат. Стовпці, що відповідають необов'язковим атрибутам, можуть містити невизначені значення; стовпці, що відповідають обов'язковим атрибутам, - не можуть.
Крок 3. Компоненти унікального ідентифікатора сутності перетворюються в первинний ключ таблиці. Якщо є кілька можливих унікальних ідентифікатора, вибирається найбільш використовуваний. Якщо до складу унікального ідентифікатора входять зв'язки, до числа стовпців первинного ключа додається копія унікального ідентифікатора сутності, що знаходиться на дальньому кінці зв'язку (цей процес може продовжуватися рекурсивно). Для іменування цих стовпців використовуються імена кінців зв'язків і/або імена сутностей.
Крок 4. Зв'язки багато-до-одного (і один-до-одного) стають зовнішніми ключами. Тобто, робиться копія унікального ідентифікатора з кінця зв'язку "один", і відповідні стовпці складають зовнішній ключ. Необов'язкові зв'язки відповідають стовпцям, що допускають невизначені значення; обов'язкові зв'язки - стовпцям, що не допускають невизначені значення.
Крок 5. Індекси створюються для первинного ключа (унікальний індекс), зовнішніх ключів і тих атрибутів, на яких передбачається в основному базувати запити.
Крок 6. Якщо в концептуальній схемі були присутні підтипи, то можливі два способи:
усі підтипи в одній таблиці (таблиця 5);
для кожного підтипу - окрема таблиця (таблиця 6);
При застосуванні способу (а) таблиця створюється для найбільш зовнішнього супертипу, а для підтипів можуть створюватися представлення. У таблицю додається принаймні один стовпець, що містить код ТИПУ; він стає частиною первинного ключа.
При використанні методу (б) для кожного підтипу першого рівня (для більш нижніх - представлень) супертип відтворюється за допомогою представлення UNION (із усіх таблиць підтипів вибираються загальні стовпці - стовпці супертипу).
Таблиця 5.
Усі в одній таблиці |
Таблиця - на підтип |
Переваги |
|
усе зберігається разом; легкий доступ до супертипу і підтипів; потрібно менше таблиць |
більш ясні правила підтипів; програми працюють тільки з потрібними таблицями |
Недоліки |
|
Занадто загальне рішення Потрібно додаткова логіка роботи з різними наборами стовпців і різних обмежень; потенційне вузьке місце (у зв'язку з блокуваннями); стовпці підтипів повинні бути необов'язковими; в деяких СУБД для збереження невизначених значень потрібно додаткова пам'ять |
занадто багато стовпців, що бентежать, у представленні UNION; потенційна втрата продуктивності при роботі через UNION; над супертипом неможливі модифікації |
Крок 7. Є два способи роботи при наявності зв'язків, що виключають:
загальний домен (а)
явні зовнішні ключі (б)
Якщо зовнішні ключі, що залишаються, усі в одному домені, тобто мають загальний формат (спосіб (а)), то створюються два стовпці: ідентифікатор зв'язку й ідентифікатор сутності. Стовпець ідентифікатора зв'язку використовується для розрізнення зв'язків, що покриваються дугою виключення. Стовпець ідентифікатора сутності використовується для збереження значень унікального ідентифікатора сутності на дальньому кінці відповідної зв'язку.
Якщо результуючі зовнішні ключі не відносяться до одного домену, то для кожного зв'язку, що покривається дугою виключення, створюються явні стовпці зовнішніх ключів; усі ці стовпці можуть містити невизначені значення.
Таблиця 6.
Загальний домен |
Явні зовнішні ключі |
Переваги |
|
Потрібно тільки два стовпці |
Умови з'єднання - явні |
Недоліки |
|
Обидва додаткових атрибута повинні використовуватися в з'єднаннях |
Занадто багато стовпців |
Альтернативні моделі сутностей:
Варіант 1 (поганий)
Варіант
2 (істотно краще, якщо підтипи дійсно
існують)
Варіант 3 (годиться при наявності осмисленого супертипу D).
