КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Лекція 8. Проектування баз даних
Проектування баз даних проводиться, якщо використовується реляційна БД, при цьому стійкі класи об'єктної моделі відображаються у таблиці реляційної БД. Основні поняття реляційної моделі: База даних - довготривале самодокументоване сховище даних. Самодокументування = схема даних, яка зберігається в БД. Система управління базами даних (СУБД) - ПЗ доступу до даних. Забезпечує: Ø захист даних; Ø ефективність; Ø режим для багатьох користувачів; Ø розділення даних між декількома застосуваннями; Ø розподіленність даних; Ø безпека. Структура реляційних даних - сукупність таблиць. У будь-якій таблиці фіксована кількість стовпців і довільна - рядків. Сукупність значень комірок одного рядка - запис. Оператор SQL - речення SQL для маніпуляції даними (вибирання, зміна, додавання, видалення). Обмеження - умови, які є частиною схеми БД. Якщо який-небудь запис, який додається, порушує якесь обмеження, то він не буде доданий. Види обмежень: Можливий ключ (потенційний ключ) - поєднання стовпців, які унікально ідентифікують кожен запис у таблиці, таке що, всі стовпці необхідні для унікальної ідентифікації і ні в одному немає порожніх значень. Основний (первинний) ключ - можливий ключ, якому потрібно віддавати перевагу при роботі з таблицею. Є у кожної таблиці. Зовнішній ключ - посилання з іншої таблиці на можливий ключ. Приклад:
Первинні ключі: persID у 1-ій таблиці, compID - в 2-ій. Зовнішній ключ - стовпець employer 1-ої таблиці. Набір правил, які застосовуються при відображенні об'єктної моделі у схему реляційної БД, такий: Відображення класів
При відображенні класів із зв'язками намагаються заощадити і не створювати додаткові таблиці для зберігання зв'язків за рахунок об'єднання декількох таблиць в одну або додавання додаткових стовпців у таблиці, породжені класами, якщо семантика зв'язку дозволяє. Розглянемо відображення бінарних асоціацій: Ø «1 до 1-го» - загальна таблиця для 2-х класів. Стовпці - сукупність атрибутів. Первинний ключ - будь-який ID. Ø «1 до 0..1» - зовнішній ключ додається до таблиці необов'язкового класу. Ø «0..1 до 0..1» - окрема таблиця для зв'язку (див. нижче). Ø «* до *» - для асоціації створюється окрема таблиця. Її стовпці - зовнішні ключі для таблиць класів, зв'язаних асоціацією. Основний ключ - комбінація цих стовпців. Ø «1 до 1..*» або «1 до 0..*» - до таблиці другого класу додається стовпець - зовнішній ключ для таблиці класу у полюса «один». Ø «0..1 до 1..*» або «0..1 до 0..*» - як «* до *», оскільки стовпець зовнішнього ключа не може містити порожніх значень. Приклад:
Відображення класів зв'язаних N-арною асоціацією: Потрібна N+1 таблиця. Наприклад, у разі тернарного (N=3) зв'язку формуються чотири таблиці, по одній для кожного класу і одна для зв'язку. Таблиця зв'язку матиме серед своїх атрибутів ключі кожної із 3х інших таблиць. Відображення класів-асоціацій: Атрибути класу-асоціації додаються або у створювану для зв'язку таблицю, або (якщо додаткова таблиця не потрібна) в ту таблицю, куди додається зовнішній ключ. Відображення одиночного спадкоємства: Ø або по 1 таблиці для суперкласу і кожного підкласу, загальні атрибути - стовпці у таблиці суперкласу + додатковий стовпець - тип, який вказує для кожного запису таблиці суперкласу на таблицю підкласу; записи відносяться до одного об'єкта мають однакові ID (значення первинного ключа) в обох таблицях (набори записів для підкласів отримуються у результаті виконання запитів, які об'єднують таблицю підтипу і супертипу); Ø або таблиці тільки для підкласів, загальні атрибути - у кожній таблиці (набір записів для суперкласу виходить об'єднанням); Ø або одна велика таблиця, стовпці - сукупність всіх атрибутів + додатковий стовпець - тип (є частиною первинного ключа). Який саме спосіб вибрати диктують міркування ефективності (швидкість в обмін на об'єм пам'яті). Відображення множинного спадкоємства: Ø класи, які не перекриваються (не ромб) - таблиця для суперкласів і по 1-ій таблиці для кожного підкласу; Ø є перекриття - по 1-ій таблиці на кожен суперклас, на кожен підклас + окрема таблиця для узагальнення.
Література до лекції 8.
Дата добавления: 2014-01-07; Просмотров: 407; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |