Опис сутностей і типів зв'язків
Визначимо основні типи сутностей виходячи з опису предметної області.
Об'єкт нерухомості для продажу (PROPERTY_FOR_SALE)
Визначимо типи зв'язків, які існують між основними сутностями.
Між сутностями Відділення і Співробітник існує зв'язок 1: М, обов'язкова тільки з одного боку. Зв'язок обов'язкова тільки з одного боку, тому що кожне з відділень компанії має кілька штатних співробітників, але не всі співробітники компанії працюють у відділеннях. У зворотному напрямку, кожен із співробітників відділень працює тільки в одному з них. Ключовий атрибут сутності відділення е: Номер відділення (Branch_no). Ключовий атрибут сутності Співробітник. Номер співробітника (Staff_no).
З опису предметної області відомо, що кожен об'єкт нерухомості, виставлений на продаж, закріплюється за конкретним відділенням компанії. У кожному відділенні компанії є співробітник, який відповідає за роботу з виставленими на продаж об'єктами нерухомості. Для відображення цієї ситуації необхідно провести зв'язок між сутностями Об'єкт нерухомості для продажу і Відділення (ключовим атрибутом сутності Об'єкт нерухомості для продажу є Номер об'єкта нерухомості (Property_no)). Для того щоб дізнатися, який об'єкт нерухомості обслуговується яким співробітником і, з іншого боку, який співробітник відповідає за даний об'єкт, вводиться додаткова зв'язок між сутностями Об'єкт нерухомості для продажу і Співробітник. Між сутностями Відділення і Об'єкт нерухомості для продажу встановлений зв'язок 1: М, обов'язкова з 2-х сторін. Між сутностями Співробітник і Об'єкт нерухомості для продажу - зв'язок 1: М, необов'язкова з 2-х сторін, так як з усіх співробітників компанії тільки торгові агенти займаються продажем нерухомості і відповідають за роботу з ними. У зворотному напрямку, об'єкт може бути не пов'язаний ні з одним із співробітників. Наприклад, коли об'єкт вперше реєструється в компанії.
Тепер необхідно відобразити зв'язок між сутностями Власник і Об'єкт нерухомості для продажу. Якщо розглянути цей зв'язок з одного боку, то можна помітити, що один власник може володіти декількома об'єктами нерухомості. З іншого боку, кожен об'єкт належить тільки одному власнику. Отже, зв'язок між сутностями - 1: М. Оскільки кожен власник володіє, принаймні, одним об'єктом нерухомості, а кожен об'єкт повинен мати одного власника, зв'язок є обов'язковою по обидва боки.
Якщо клієнт згоден купити деякий об'єкт, то він укладає з компанією договір на покупку. Співробітник компанії повинен оформити цю угоду. Кожен об'єкт може бути проданий єдиному клієнту, і кожен клієнт може купити один або більше об'єктів в один і той же час. Утворюється необов'язкова з двох сторін зв'язок 1: М між сутностями Покупець і Об'єкт нерухомості для продажу. Але так як, всякий раз, при покупці клієнт укладає договір з компанією, ми визначимо дві зв'язку. Зв'язок 1: М між сутностями Покупець і Договір на покупку. а також зв'язок 1: М між сутностями Об'єкт нерухомості для продажу і Договір на покупку. Зв'язки обов'язкові з боку сутності Договір на покупку. Ключовим атрибутом для сутності Покупець є Код покупця (Buyer_no), а для сутності Договір на покупку - атрибут Номер договору (Sale_no). Крім цього сутність Договір на покупку (CONTRACT_ON_SALE) має атрибути: назва нотаріальної контори, дата укладення договору, вартість послуг. Инфологическая модель даних приведена на малюнку 7.
Перехід до реляційної моделі
Перетворення ER-моделі в реляційну схемуосуществляется відповідно до наступних правил:
1. кожна проста сутність перетворюється в відношення. Імена відносин можуть відрізнятися від імен сутностей, так як можуть бути обмежені вимогами конкретної СУБД;
2. кожен атрибут стає можливим стовпцем з тим же ім'ям, для кожного атрибута задається припустимий тип даних і обов'язковість або необов'язковість цього атрибута;
3. компоненти унікального ідентифікатора суті перетворюються в первинний ключ відносини;
4. в кожне відношення, відповідне підпорядкованої сутності, додається набір атрибутів основний суті, є первинним ключем основний суті. Відносно, відповідному підпорядкованої сутності цей набір атрибутів стає зовнішнім ключем.
5. Для зв'язку М: М використовується спеціальний механізм перетворень, який дозволяє відобразити множинні зв'язку, неспецифічні для реляційної моделі. Це робиться шляхом введення додаткової сполучного відносини, яке пов'язане з кожним вихідним зв'язком 1: М, атрибутами цього сполучного відносини є первинні ключі пов'язують відносин. При цьому кожен з атрибутів нового відносини є зовнішнім ключем. а разом вони утворюють первинний ключ нової сполучною сутності.
У реляційної моделі зв'язку явно не відображаються, проте між відносинами підтримуються ієрархічні зв'язку (в кожному зв'язку одне відношення виступає як основне, а інше як підлегле). Це означає, що один кортеж основного відносини може бути пов'язаний з декількома кортежами підлеглого відносини. Для підтримки цих зв'язків обидва відносини повинні містити набори атрибутів, за якими вони пов'язані. В основному відношенні це первинний ключ відносини. У підлегломувідношенні для моделювання зв'язку повинен бути присутнім набір атрибутів, відповідний первинному ключу основного відносини. Даний набір атрибутів в підпорядкованому відношенні прийнято називати зовнішнім ключем. Згідно з правилом 4 переходу до реляційної моделі (в кожне відношення, відповідне підпорядкованої сутності, додається набір атрибутів основний суті, є її первинним ключем), введемо в додаткове відношення Договір на покупку ключі відносин Покупець і Об'єкт нерухомості для продажу.