Студопедия

КАТЕГОРИИ:


Архитектура-(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 Name SurName addr employer
  Вася Пупкін Лондон  

 

compID compName compAddr
  ОАО «Еліта - Центр» Київ

 

Первинні ключі: persID у 1-ій таблиці, compID - в 2-ій. Зовнішній ключ - стовпець employer 1-ої таблиці.

Набір правил, які застосовуються при відображенні об'єктної моделі у схему реляційної БД, такий:

Відображення класів

  1. Кожен клас переводиться в окрему таблицю, атрибути стають стовпцями таблиці. Операції на структуру таблиці не впливають.
  2. Унікальний ідентифікатор сутності перетворюється на первинний ключ таблиці. Якщо є декілька альтернативних унікальних ідентифікаторів, вибирається найбільш використовуваний. Якщо сутність не має власного ідентифікатора, то як первинний ключ додається стовпець ID - первинний ключ.

При відображенні класів із зв'язками намагаються заощадити і не створювати додаткові таблиці для зберігання зв'язків за рахунок об'єднання декількох таблиць в одну або додавання додаткових стовпців у таблиці, породжені класами, якщо семантика зв'язку дозволяє. Розглянемо відображення бінарних асоціацій:

Ø «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.

 

  1. Вендров А. М. Проектирование программного обеспечения экономических информационных систем. 2-е изд. – М.: Финансы и статистика, 2005. – Глава 4.
  2. Рамбо Дж., Блаха М. UML 2.0. Объектно-ориентированное моделирование и разработка. 2-е изд.: Пер. с англ. – СПб.: Питер, 2007. – Глава 19.
<== предыдущая лекция | следующая лекция ==>
Особливості сушіння зерна окремих культур | Облік місць збереження
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 386; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.