Атрибут – пойменована характеристика сутності. Його найменування повинне бути унікальним для конкретного типу сутності, але може бути однаковим для різного типу сутностей (наприклад, КОЛІР може бути визначений для багатьох сутностей: собака, автомобіль, дим і т.д.). Атрибути використовуються для визначення того, яка інформація повинна бути зібрана про сутність. Прикладами атрибутів для сутності автомобіль є тип, марка, номерний знак, колір і т.д. Тут також існує розходження між типом і екземпляром. Тип атрибута колір має багато екземплярів чи значень: Червоний, Синій, Банановий, Біла ніч і т.д., однак кожному екземпляру сутності привласнюється тільки одне значення атрибута.
Абсолютного розходження між типами сутностей і атрибутами немає. Атрибут є таким тільки в зв'язку з типом сутності. В іншому контексті атрибут може виступати як самостійна сутність. Наприклад, для автомобільного заводу колір – це тільки атрибут продукту виробництва, а для лакофарбової фабрики колір – тип сутності.
Ключ – мінімальний набір атрибутів, за значеннями яких можна однозначно знайти необхідний екземпляр сутності. Мінімальність означає, що виключення з набору будь-якого атрибута не дозволяє ідентифікувати сутність по що залишилися.
Зв'язок – асоціювання двох чи більш сутностей. Якби призначенням бази даних було тільки збереження окремих, не зв'язаних між собою даних, то її структура могла б бути дуже простій. Однак одне з основних вимог до організації бази даних – це забезпечення можливості відшукання одних сутностей за значеннями інших, для чого необхідно установити між ними визначені зв'язки. А тому що в реальних базах даних нерідко містяться сотні чи навіть тисячі сутностей, те теоретично між ними може бути встановлене більш мільйона зв'язків. Наявність такої безлічі зв'язків і визначає складність инфологичних моделей.
При побудові инфологичних моделей можна використовувати мову ER-діаграм (від англ. Entity-Relationship, тобто сутність-зв'язок). У них сутності зображуються позначеними прямокутниками, асоціації – позначеними ромбами чи шестикутниками, атрибути – позначеними овалами, а зв'язку між ними – ненаправленими ребрами, над якими може проставлятися ступінь зв'язку (1 чи буква, що заміняє слово "багато") і необхідне пояснення.
Між двома сутностям, наприклад, А і В можливі чотири види зв'язків.
Перший тип – зв'язок один-до-одного (1:1): у кожен момент часу кожному представнику (екземпляру) сутності А відповідає 1 чи 0 представників сутності В рис. 1.
Рис. 1. Зв'язок один-до-одного
Студент може не "заробити" стипендію, одержати звичайну чи одну з підвищених стипендій.
Другий тип – зв'язок один-до-баготьох (1:М): одному представнику сутності А відповідають 0, 1 чи кілько представників сутності В (рис. 2.).
Рис. 2. Зв'язок один-до-баготьох
Квартира може пустувати, у ній може жити один чи кілька мешканців.
Тому що між двома сутностями можливі зв'язки в обох напрямках, то існує ще два типи зв'язку багато-до-одного (М:1) і багато-до-баготьох (М:N).
Приклад 1. Якщо зв'язок між сутностями ЧОЛОВІКА і ЖІНКИ називається ШЛЮБ, то існує чотири можливих представлення таких зв'язків рис. 3.
Рис. 3.
Характер зв'язків між сутностями не обмежується перерахованими. Існують і більш складні зв'язки:
· безліч зв'язків між тими самими сутностями (рис. 4.)
Рис. 4.
(пацієнт, маючи одного лікуючого лікаря, може мати також трохи лікарів-консультантів; лікар може бути лікуючим лікарем декількох пацієнтів і може одночасно консультувати кілька інших пацієнтів);
· тренарні зв'язкі (рис. 5.)
Рис. 5.
(лікар може призначити трохи пацієнтів на кілька аналізів, аналіз може бути призначений декількома лікарями декільком пацієнтам і пацієнт може бути призначений на кілька аналізів декількома лікарями);
· зв'язку більш високих порядків, семантика (зміст) яким іноді дуже складна.
У приведених прикладах для підвищення ілюстративності розглянутих зв'язків не показані атрибути сутностей і асоціацій у всіх ER-діаграмах. Так, уведення лише декількох основних атрибутів в опис шлюбних зв'язків значно ускладнить ER-діаграму (мал. 6). У зв'язку з цим мова ER-діаграм використовується для побудові невеликих моделей і ілюстрації окремих фрагментів великих. Частіше ж застосовується менш наочний, але більш змістовна мова инфологичного моделювання (МИМ), у якому сутності й асоціації представляються пропозиціями виду:
СУТНІСТЬ (атрибут 1, атрибут 2 , ..., атрибут n)АСОЦІАЦІЯ [СУТНІСТЬ S1, СУТНІСТЬ S2, ...] (атрибут 1, атрибут 2, ..., атрибут n)де S – ступінь зв'язку, а атрибути, що входять у ключ, повинні бути відзначені за допомогою підкреслення.
Так, розглянутий вище приклад безлічі зв'язків між сутностями, може бути описаний на МИМ у такий спосіб:
Лікар (Номер_лікаря, Прізвище, Ім'я, По батькові, Спеціальність)Пацієнт (Реєстраційний_номер, Номер ліжка, Прізвище, Ім'я, По батькові, Адреса, Дата народження, Підлога)Лікуючий_лікар [Лікар 1, Пацієнт M] (Номер_лікаря, Реєстраційний_номер)Консультант [Лікар M,Пацієнт N] (Номер_лікаря, Реєстраційний_номер).Рис. 6. Приклади ER-діаграм
Для виявлення зв'язків між сутностями необхідно, як мінімум, визначити самі сутності. Але це не проста задача, тому що в різних предметних областях той самий об'єкт може бути сутністю, чи атрибутом асоціацією. Проілюструємо таке твердження на прикладах, зв'язаних з описом шлюбних зв'язків (див. приклад 1).
Приклад 2. Відділ записів актів цивільного стану (ЗАГС) має справа не з усіма людьми, а тільки з тими, хто звернувся з проханням про реєстрацію шлюбу, чи народження смерті. Тому в країнах, де допускаються лише традиційні шлюби, відділи ЗАГС можуть розміщати зведення про шлюби, які региструються в єдиній сутності:
Шлюб (Номер_свідчення, Прізвище_чоловіка, Ім'я_чоловіка, По батькові_чоловіка, Дата_народження_чоловіка, Прізвище_дружини, ... , Дата_реєстрації, Місце_реєстрації, ...),ER-діаграма якої приведена на Рис. 6,б.
Для кожної БД можуть існувати свої специфічні операції. Але найбільш загальні операції зв'язані з функціонуванням БД це: фільтрація, пошук даних, реалізація запитів.
Щоб фільтрувати список за допомогою розширеного фільтра, стовпці списку повинні мати заголовки. На листі також повинне бути не менш трьох порожніх рядків вище списку. Ці рядки будуть використані як діапазон умов добору.
1 Скопіюйте зі списку заголовки стовпців, які фільтруються .
2 Уставте скопійовані заголовки стовпців у першому порожньому рядку діапазону умов добору.
3 Введіть у рядки під заголовками умов необхідні критерії добору. Переконаєтеся, що між значеннями умов і списком знаходиться як мінімум один порожній рядок.
4 Вкажіть осередок у списку.
5 Виберіть пункт Фільтр у меню Дані, а потім — команду Розширений фільтр.
6 Щоб показати результат фільтрації, сховавши непотрібні рядки, установите перемикач Обробка в положення Фільтрувати список на місці.
Щоб скопіювати відфільтровані рядки в іншу область листа, установите перемикач Обробка в положення Скопіювати результати в інше місце, перейдіть у поле Помістити результат у діапазон, а потім укажіть верхній лівий осередок області вставки.
7 Введіть у поле Діапазон критеріїв посилання на діапазон умов добору, що включає заголовки стовпців.
Якщо на листі існує діапазон з ім'ям Критерії, то в поле Діапазон умов автоматично з'явиться посилання на цей діапазон.
В умови добору розширеного фільтра може входити кілька умов, що накладаються на один стовпець, кілька умов, що накладаються одночасно на кілька стовпців, а також умови, що накладаються на значення, що повертається формулою.
На осередки одного стовпця накладаються три чи більш умови добору
Щоб задати для окремого стовпця три чи більш умови добору, введіть умови в осередки, розташовані в суміжних рядках. Наприклад, для наступного діапазону умов будуть відібрані рядки, що містять або «Белов», «Батурін» чи «Сушкин» у стовпці «Продавець» (Рис. 7.).
Продавець |
Белов |
Батурін |
Сушкин |
Рис. 7.
Умова добору накладається на осередки двох чи більш стовпців