Основні елементи моделі «сутність-зв'язок». Представлення сутностей через атрибути



Виходячи з мети інфологічного моделювання, інфологічну модель намагаються будувати за аналогією з природною мовою (остання не може бути використана у чистому вигляді через неоднозначність та складність комп'ютерної обробки текстів на ній). Опис предметної галузі у модної «сутність-зв'язок» ведеться мовою, близькою до природної, на основі використання всього трьох основних конструктивних елементів ER-моделі, якими є сутність, зв'язок і атрибут. При інфологічному проектуванні бази даних довільний фрагмент предметної області може представляють як множину сутностей, описану їх атрибутами, між якими існує деяка множина зв'язків.

Сутність (entity) - це об'єкт, який може бути ідентифікований певним способом, що відрізняє його від інших об'єктів; це реальний чи уявний об'єкт предметної області, інформація про який повинна зберігатися у базі даних і бути доступною. Приклади: конкретна людина, підприємство, подія і т.д.

Розрізняють такі поняття, як тип (клас) сутності й екземпляр сутності. Набір (тип) сутностей (entity set) – це множина сутностей одного типу (тобто сутностей, що мають однакові властивості). Поняття тип сутності відноситься до набору однорідних предметів, подій, осіб, що виступають як єдине ціле. Приклади: усі люди, підприємства, свята тощо [1]. Набори сутностей не обов'язково повинні бути такими, що не перетинаються. Наприклад, сутність, що належить до набору ЧОЛОВІК, також належить набору ЛЮДИ. Екземпляр сутності відноситься до конкретного об'єкту в наборі. Наприклад, аеропорт – це сутність; Бориспіль, Шереметьєво, Домодєдово, Скнилів – екземпляри цієї сутності. Представлення сутності у діаграмах моделей БД залежить від обраної нотації.

Іншими словами, кожна сутність є множиною подібних індивідуальних об'єктів, називаних екземплярами. Кожен екземпляр індивідуальний і повинен відрізнятися від всіх інших екземплярів. Атрибут виражає певну властивість об'єкта. Побудова моделі бази даних передбачає визначення сутностей і атрибутів, тобто необхідно визначити, яка інформація буде зберігатися в конкретній сутності чи атрибуті. Сутність можна визначити як об'єкт, подію чи концепцію, інформація про які повинна зберігатися. Сутності повинні мати найменування з чітким змістовним значенням, іменуватися іменником в однині, не носити "технічних" найменувань і бути досить важливими для того, щоб їх моделювати. Іменування сутності в однині полегшує надалі читання моделі. Фактично ім'я сутності дається по імені її екземпляра. Прикладом може бути сутність Замовник (але не Замовники!) з атрибутами Номер замовника, Прізвище замовника й Адреса замовника.

Представлення сутності у діаграмах моделей БД залежить від обраної нотації. У діаграмах ER-моделі сутність представляється у вигляді прямокутника (у нотації Баркера), що містить ім'я сутності. При застосуванні нотацій Чена та нотації типу “пташина лапа” застосовується як представлення сутностей у вигляді прямокутників (на етапі інфологічного, чи концептуального проектування), так і табличне представлення сутностей (на етапі логічного проектування у разі обрання реляційного типу бази даних). При цьому ім'я сутності - це ім'я типу, а не деякого конкретного екземпляра цього типу.

Атрибут - це пойменована характеристика сутності, що визначає її властивості і приймає значення з деякої множини значень (домену). Ім’я атрибуту є унікальним у межах даної сутності. Сутність фактично задається множиною атрибутів, що описують властивості всіх членів даного набору сутностей. Значення цих атрибутів для певного екземпляру сутності складають кортеж, що задає цей екземпляр сутності. Для ідентифікації конкретних екземплярів сутності використовуються атрибути, що виконують роль ідентифікаторів.

Приклад. Розглянемо множину працівників певного підприємства. Кожного з них можна описати за допомогою характеристик табельний номер ( number ), ім'я ( name ), вік ( age ). Відповідно, сутність СПІВРОБІТНИК має атрибути ТАБЕЛЬНИЙ_НОМЕР, ІМ'Я, ВІК. Використовуючи нотацію мови Pascal, цей факт можна представити як:

type employe = record

number: string[6];

name: string[50];

age: integer;

end;

Зв'язок (relationship) - це пойменована та відбивана графічно асоціація, установлена між кількома сутностями, яка являє собою абстракцію набору відносин, що систематично виникають між різними видами предметів у реальному світі.


Дата добавления: 2016-01-03; просмотров: 22; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!