Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Створення фармацевтичних баз даних.doc
Скачиваний:
58
Добавлен:
22.12.2018
Размер:
168.96 Кб
Скачать

Характеристика зв’язків і мова моделювання

При побудові можна скористатися мовою ER- діаграм (від англ. Entity-Relationship, тобто сутність-зв’язок). У них сутності зображуються позначеними прямокутниками, асоціації – позначеними ромбами або шестикутниками, атрибути – позначеними овалами, а зв’язки між ними – ненаправленими ребрами, над якими може проставлятися ступінь зв’язку (1 або буква, що заміняє слово “багато”) і необхідне пояснення.

Між двома сутностям, наприклад, А і В можливі чотири типи зв’язків.

Перший тип – зв’язок ОДИН-ДО-ОДНОГО (1:1): кожному представникові сутності А постійно відповідає 1 або 0 представників сутності В. На рис.6 представлені ER- діаграми інфологічної моделі зв’язку ОДИН-ДО-ОДНОГО в загальному випадку (рис.6.а) та на конкретному прикладі рис.6.в: кожен з препарат має свою єдину молекулярну формулу.

Рис. 7. ЕR-діаграма зв’язку ОДИН-ДО-ОДНОГО

Другий тип – зв’язок ОДИН-ДО-БАГАТЬОХ (1:Б): одному представникові сутності А відповідають 0, 1 або декілька представників сутності В. Даний тип зв’язку подано на рис.7. Зрозуміло, що сутності Назва_препарату і Виробник пов’язані зв’язком ОДИН-ДО-БАГАТЬОХ, оскільки один і той самий препарат може виготовлятися різними виробниками.

Рис. 8. ЕR-діаграма зв’язку ОДИН-ДО-БАГАТЬОХ

Оскільки між двома сутностями можливі зв’язки в обох напрямках, то існує ще два типи зв’язку БАГАТО-ДО-ОДНОГО (Б:1) і БАГАТО-ДО-БАГАТЬОХ (Б:Б).

Розглянемо інфологічну модель, зображену на рис.8. Пацієнт, маючи дільничного лікаря, може отримати консультації інших лікарів; лікар може бути дільничим лікарем багатьох пацієнтів і може одночасно консультувати інших пацієнтів.

Рис. 9. Множина зв’язків між сутностями Лікар та Пацієнт

У наведених прикладах для підвищення ілюстративності розглянутих зв’язків не показані атрибути сутностей у всіх ER-діаграмах. Це пов’язано з тим, що введення лише декількох основних атрибутів в інфологічну модель значно ускладнить ER-діаграму. У зв’язку з цим мова ER-діаграм використається для побудови невеликих моделей або ж ілюстрації окремих фрагментів.

Реляційний підхід Математична модель реляційної бази даних

Наприкінці 60-х років з’явилися роботи, в яких обговорювалися можливості застосування різних табличних даталогічних моделей даних, тобто можливості використання звичних і природних способів подання даних. Найвизначнішою з них була стаття співробітника підприємству IBM д-ра Э. Кодда (Codd E.F., A Relational Model of Data for Large Shared Data Banks. CACM 13:6, June 1970), де вперше був застосований термін “реляційна модель даних”.

Будучи математиком за освітою Э. Кодд запропонував використовувати для обробки даних апарат теорії множин (об’єднання, перетин, різниця, декартовий добуток). Він показав, що будь-яке подання даних зводиться до сукупності двовимірних таблиць особливого виду, відомого в математиці як відношення – relation (англ.) [3, 7, 9].

Найменша одиниця даних реляційної моделі – це окреме атомарне (те, що не можна розкласти) для даної моделі значення даних. Так, в одній предметній області прізвище, ім’я і по батькові можуть розглядатися як єдине значення, а в іншій – як три різних значення.

Доменом називається безліч атомарних значень одного типу. Так, на рис. 1 домен форм випуску – всі можливі форми випуску лікарських засобів: ампули, таблетки, капсули, спрей, тощо, а домен ціни – безліч дійсних позитивних чисел.

Суть доменів полягає в наступному. Якщо значення двох атрибутів беруться з одного домену, то, ймовірно, має сенс порівняння, в якому використовуються ці два атрибути (наприклад, можна дати запит “Знайти антибактеріальні препарати ціною до 50 грн.”). Якщо ж значення двох атрибутів беруться з різних доменів, то їхнє порівняння, ймовірно, позбавлено змісту: чи варто порівнювати код препарату з його ціною?

Відношення на доменах D1, D2, ..., Dn (не обов’язково, щоб усі вони були різні) складається з заголовка і тіла. На рис. 10 наведено приклад відношення для таблиці «Лікарські засоби» (рис. 1).

Заголовок (на рис. 1 він називався інтерпретацією) складається з фіксованої кількості атрибутів A1, A2, ..., An.

Рис. 10 Відношення з математичної точки зору (Аі – атрибути, Vi –значення атрибутів)

Тіло відношення складається з безлічі кортежів. Кожен кортеж є множиною пар атрибут-значення (Ai:Vi), (i=1,2,...,n). Для будь-якої заданої пари атрибут-значення (Ai:Vi) Vi є значенням з єдиного домену Di, пов’язаного з атрибутом Ai.

Степінь відношення – це число його атрибутів. Відношення першого степеня називають унарним, другого степеня – бінарним, третього степеня – тернарним, ..., а степеня n – n-арным. Степінь відношення «Лікарські засоби» (рис.10) – 6.

Потужність відношення – це число його кортежів. Потужність відношення «Лікарські засоби» дорівнює 10.

Оскільки відношення – це множина, а множина за визначенням не містить однакових елементів, то жодні два кортежі відношення не можуть бути дублікатами один одного. Нехай R – відношення з атрибутами A1, A2, ..., An. Кажуть, що множина атрибутів K=(Ai, Aj, ..., Ak) відношення R є його можливим ключем тоді і тільки тоді, коли виконуються дві умови:

1. Унікальність: жодні два різних кортежі R не мають одного й того ж значення для Ai, Aj, ..., Ak.

2. Мінімальність: жоден з атрибутів Ai, Aj, ..., Ak не може бути виключений з K без порушення унікальності.

Кожне відношення володіє хоча б одним можливим ключем, оскільки щонайменше комбінація всіх його атрибутів задовольняє умові унікальності. Один з можливих ключів (обраний довільним чином) приймається за його первинний ключ. Інші можливі ключі, якщо вони є, називаються альтернативними ключами.

Вищезгадані і деякі інші математичні поняття стали теоретичною базою для створення реляційних СУБД, розробки відповідних мовних засобів і програмних систем, що забезпечують їхню високу продуктивність, і створення основ теорії проектування баз даних. Однак для користувачів-початківців реляційних СУБД можна використовувати неформальні еквіваленти цих понять:

Відношення – Таблиця (іноді Файл) Кортеж – Рядок (іноді Запис), Атрибут – Стовпчик, Поле.

При цьому приймається, що «запис» означає «екземпляр запису», а «поле» означає «ім’я і тип поля».