Ідентифікація безлічі сутностей

Кожна з сутностей повинна бути повною, тобто містити всі атрибути, які залежать від первинного ключа, в той же час сама по собі вона не здатна в достатній мірі відобразити модель Для моделювання будь бізнес-функції або організаційної завдання потрібно безліч сутностей

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

■ безліч обєктів

■ відносини між обєктами

■ організація або групування обєктів

■ цілісність значень

■ складні обєкти

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

Безліч обєктів

Іноді виявляється, що один обєкт насправді є списком безлічі інших обєктів, як у наведених нижче прикладах

■ У базі даних туристичного агентства один тур може згадуватися кілька разів, але щоразу з різними датами

■ У базі даних сімей кожна людина може мати кілька дітей

■ Табель робочого часу співробітника може містити безліч штампів часу Цей табель розглядається як один обєкт, однак при найближчому розгляді він виявиться списком временньгх подій

■ Календар співробітника може містити безліч нагадувань

Відносини між обєктами

Найбільш поширеним призначенням існування безлічі сутностей є опис деякого типу відносин між двома різними обєктами Відповідні приклади наведені нижче

■ У базі даних турагентства клієнти беруть участь у турах, а проводять їх гіди Існують відносини між клієнтами і турами, а також між гідами і турами

Про Матеріал може створюватися з безлічі інших матеріалів

■ Дільничний лікар може обслуговувати кілька членів сімї це відношення між ним і цими членами

■ В системі перевірки якості програмного забезпечення в однієї функції може бути виявлено безліч помилок

Модель схеми повинна передбачати забезпечення найкращої виробленої замітку ності для найбільш ймовірного сценарію, а також обробку винятків

Для прикладу припустимо, що 96% клієнтів мають всього одна адреса, 4% мають ще одна адреса, а всього один клієнт має безліч філій, розкиданих по всьому світу Додавання в таблицю перших 96% клієнтів не потребуватиме додаткових обєднань Додавання додаткових адрес зажадає наявності додаткової таблиці, обєднаної відношенням один до багатьох. Доведеться використовувати прапор в таблиці клієнтів для індикації наявності численних офісів, щоб уникнути перевірки лівим зовнішнім обєднанням наявності додаткових офісів у всіх клієнтів (Обєднання ми детально розглянемо в розділі 9)

Цей аспект проектування може виникнути при розробці логічної схеми фізична схема також може вимагати його для своєї оптимізації

Організація і групування обєктів

Обєкти часом групуються в різні категорії Ці категорії можуть бути перераховані в окремій суті, як описано нижче

■ Клієнти можуть бути згруповані по країнах

■ Матеріали можуть групуватися за своїм станом (сировина, товари у виробництві, готова продукція)

■ У базі даних турагентства тури можуть групуватися по країнах

Цілісність значень

Атрибути кортежу іноді вимагають забезпечення цілісності домену, тобто входження в зумовлений діапазон значень Відповідні приклади наведені нижче

■ Тип кредитної картки, використовуваної для покупок

■ Регіон, якому належать адреси

■ Код підрозділу деякої організації може приймати певні значення

Складні обєкти

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

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*