Автоматизація робочого місця менеджера з оренди офісних приміщень. Інфологічна модель даних "сутність-зв'язок". Інфологічна модель даних "Сутність-зв'язок"

Інфологічна модель даних "Сутність-зв'язок"

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

Сутність - будь-який помітний об'єкт (об'єкт, який ми можемо відрізнити від іншого), інформацію про який необхідно зберігати в базі даних. Сутностями можуть бути люди, місця, літаки, рейси, смак, колір тощо. Необхідно розрізняти такі поняття, як тип сутності та екземпляр сутності. Поняття «тип сутності» відноситься до набору однорідних особистостей, предметів, подій або ідей, що виступають як ціле. Примірник сутності відноситься до конкретної речі в наборі. Наприклад, типом сутності може бути МІСТО, а екземпляром – Москва.

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

Абсолютна різниця між типами сутностей та атрибутами відсутня. Атрибут є лише у зв'язку з типом сутності. В іншому контексті атрибут може бути самостійною сутністю. Наприклад, для автомобільного заводу колір – це лише атрибут продукту виробництва, а для лакофарбової фабрики колір – тип сутності.

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

Зв'язок - асоціювання двох чи більше сутностей. Якби призначення бази даних було лише зберігання окремих, не пов'язаних між собою даних, то її структура могла б бути дуже простою. Однак одна з основних вимог до організації бази даних - це забезпечення можливості віднайдення одних сутностей за значеннями інших, для чого необхідно встановити між ними певні зв'язки. Оскільки в реальних базах даних нерідко містяться сотні і навіть тисячі сутностей, то теоретично з-поміж них може бути більше мільйона зв'язків. Наявність такої множини зв'язків і визначає складність інфологічних моделей.

Реляційна структура даних

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

Будучи математиком за освітою Е.Кодд запропонував використовувати для обробки даних апарат теорії множин (об'єднання, перетин, різницю, декартове твір). Він показав, що будь-яке подання даних зводиться до сукупності двовимірних таблиць особливого виду, відомого в математиці як відношення.

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

Доменом називається безліч атомарних значень одного й того самого типу. Сенс доменів полягає в наступному. Якщо значення двох атрибутів беруться з одного і того ж домену, то, ймовірно, мають сенс порівняння, що використовують ці два атрибути (наприклад, для організації транзитного рейсу можна надати запит "Видати рейси, в яких час вильоту з Москви до Сочі більше часу прибуття з Архангельська до Москви"). Якщо значення двох атрибутів беруться з різних доменів, то їх порівняння, ймовірно, не має сенсу: чи варто порівнювати номер рейсу з вартістю квитка?

Заголовок складається з такої фіксованої множини атрибутів A1, A2, ..., An, що існує взаємно однозначна відповідність між цими атрибутами Ai і визначальними доменами Di (i=1,2,...,n).

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

Ступінь відношення – це число його атрибутів. Ставлення ступеня один називають унарним, ступеня два – бінарним, ступеня три – тернарним, …, а ступеня n – n-арним.

Кардинальне чи потужність відносини - це його кортежів. Кардинальна кількість відносини змінюється у часі на відміну його ступеня.

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

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

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

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

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

Відношення-Таблиця (інодіФайл),Кортеж - Рядок (іноді Запис), Атрибут - Стовпець, Поле. При цьому приймається, що "запис" означає "примірник запису", а "поле" означає "ім'я та тип поля".

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

Проектування даних проекту

У дипломному проекті АРМ менеджера з оренди офісних приміщень при проектуванні даних, для їх реалізації та обробки програмному середовищібуло створено одинадцять основних таблиць.

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

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

Сутність- будь-який помітний об'єкт (об'єкт, який ми можемо відрізнити від іншого), інформацію про який необхідно зберігати в базі даних. Сутностями можуть бути люди, місця, літаки, рейси, смак, колір тощо. Необхідно розрізняти такі поняття, як тип сутностіі екземпляр сутності. Поняття «тип сутності» відноситься до набору однорідних особистостей, предметів, подій або ідей, що виступають як ціле. Примірник сутності відноситься до конкретної речі в наборі. Наприклад, типом сутності може бути МІСТО, а екземпляром – Москва, Київ тощо.

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

Червоний, Синій, Банановий, Біла ніч тощо, проте кожному екземпляру сутності надається лише одне значення атрибуту.

Абсолютна різниця між типами сутностей та атрибутами відсутня. Атрибут є лише у зв'язку з типом сутності. В іншому контексті атрибут може бути самостійною сутністю. Наприклад, для автомобільного заводу колір – це лише атрибут продукту виробництва, а для лакофарбової фабрики колір – тип сутності.

Ключ- Мінімальний набір атрибутів, за значеннями яких можна однозначно знайти необхідний екземпляр сутності. Мінімальність означає, що виняток із набору будь-якого атрибуту не дозволяє ідентифікувати сутність по решті. Для сутності Розклад (п. 1.2) ключем є атрибут Номер_рейсу або набір: Пункт_відправлення, Час_вильоту та Пункт_призначення (за умови, що з пункту в пункт вилітає в кожний момент часу один літак).

Зв'язок- асоціювання двох чи більше сутностей. Якби призначення бази даних було лише зберігання окремих, не пов'язаних між собою даних, то її структура могла б бути дуже простою. Однак одна з основних вимог до організації бази даних - це забезпечення можливості віднайдення одних сутностей за значеннями інших, для чого необхідно встановити між ними певні зв'язки. Оскільки в реальних базах даних нерідко містяться сотні і навіть тисячі сутностей, то теоретично з-поміж них може бути більше мільйона зв'язків. Наявність такої множини зв'язків і визначає складність інфологічних моделей.

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

гарну роботуна сайт">

Студенти, аспіранти, молоді вчені, які використовують базу знань у своєму навчанні та роботі, будуть вам дуже вдячні.

Розміщено на http://www.allbest.ru/

ІнфологічнаМодельданих"Сутність-зв'язок"

2.1 Основні поняття

Модель «сутність-зв'язок» (entity-relationship model) запропонована американським дослідником у галузі баз даних Пітером Ченом у 1976 році. З того часу вона розширювалася і модифікувалася як самим Ченом, і багатьма іншими дослідниками. У різних варіантахвона увійшла до складу багатьох автоматизованих засобівпідтримки проектування інформаційних систем В даний час немає єдиного стандартуцієї моделі, але є набір загальних конструкцій, які у основі більшості її варіантів. Ці загальні конструкції ми й вивчимо тут.

існує багато різних системпобудови моделей ER.

Ми, зрозуміло, не маємо наміру вивчити їх усі. В цьому немає необхідності. Засвоївши основні концепції ER-моделі та принципи побудови діаграм в одній системі позначень, неважко розібратися у будь-якій іншій.

Які б системи не використовувалися, ER-діаграма наочно та точно відображає уявлення автора про даних . Тому вона є гарним джереломінформації для проектувальника логічної моделіданих. Їх дуже зручно використовувати під час обговорення вимог до даних із кінцевими користувачами.

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

2.2 Елементи ER – моделі

модель інфологічний сутність дані

Базовими елементами інфологічних моделей є сутності, зв'язок між ними та його властивості (атрибути).

2.2.1 Сутність

Сутність (entity) - це певний об'єкт, що виділяється ( ідентифікований) користувачем у предметній області.

Щось, за чим користувач хотів би спостерігати та зберігати результати спостережень (дані). Наприклад,

СТУДЕНТ Петров,

Викладач Ломов,

ПІДРУЧНИК з БД,

АУДИТОРІЯ,

НАВЧАЛЬНІ ЗАНЯТТЯ для групи тощо.

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

На жаль, формальноговизначенняцьогопоняттянеіснує. за Крайній мірі, на сьогоднішній день.

Сутності одного й того ж типу утворюють клас сутності або тип сутності .

Необхідно розрізняти такі поняття, як тип сутності (клас сутності ) та екземпляр сутності . Поняття «тип сутності» відноситься до набору однорідних особистостей, предметів, подій або ідей, що виступають як ціле.

Примірник сутності відноситься до конкретної речі в наборі. Наприклад, типом сутності може бути МІСТО, а екземпляром – Москва, Київ тощо.

СТУДЕНТ - це тип чи клас сутності, що має однакові набори характеристикзначення яких представляють інтерес для користувача (яких). Користувач зацікавлений у відомостях про примірникахкласу. Наприклад, про студентів, які зараз навчаються на кафедрі ПМ.

Таким чином, тип сутності - це абстракція, поняттящо виділяється користувачем. У свідомості користувача поняття зіставляється символ- ім'я сутності (договоримося надалі записувати імена сутностей великими літерами). Цей символ має цілком конкретний зміст, проте, недосвідчена людина який завжди може передати його з допомогою інших символів. Більш того, різні людиможуть наділяти той самий символ різними сенсами.

Наприклад, уявлення про СТУДЕНТ, що є у зам. декана, викладача та прибиральниці, різняться.

Для заст. декана це особа, зарахована наказом ректора певну групу. Один із обов'язків зам. декана - контролювати успішність цієї особи всіх етапах процесу навчання. Цим визначається набір відомостей про цю особу, якими хотів би мати зам. декани.

Для викладача СТУДЕНТ - це особа, яка має право відвідувати його заняття та зобов'язана у певні терміни звітувати про результати вивчення тих дисциплін, які веде викладач.

Для прибиральниці СТУДЕНТ - це безліч людей, що тягає бруд з вулиці, всюди плює, що забиває сміттям всі приміщення, безглуздо ганяє в коридорах і заважає махати шваброю.

У літературі часто використовують термін « сутністьяк у сенсі « тип сутності», так і в сенсі « екземпляр сутності». Ми будемо чинити так само, коли це не викликатиме непорозумінь.

2.2.2 Атрибут

Атрибут - це названа характеристика сутності (властивість типу сутності), значуща з погляду користувача.

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

Атрибут також має різницю між типом і екземпляром, при цьому кожному екземпляру сутності присвоюється лише одне значення атрибута.

Наприклад:

Тип атрибуту КОЛІР має багато екземплярів або значень:

Червоний, Синій і т.д.

Будь-який атрибут є атрибутом лише у зв'язку з типом сутності. В іншому контексті атрибут може бути самостійною сутністю. Наприклад, для автомобільного заводу колір – це лише атрибут продукту виробництва, а для лакофарбової фабрики колір – тип сутності.

Приклади: НомерСтудквитка, Прізвище Викладача, Назва Підручника, Замовник і т.п.

Атрибут може бути простимяк перші три. Їх значення належать простим типамданих.

Він може бути складним, наприклад (Ім'я Замовника, АдресаЗамовника, Телефон Замовника)

Зауважимо, що рішення про те, чи є атрибут простим чи складовим, залежить від ступеня деталізації відомостей, прийнятною для користувача. Наприклад, Номер Аудиторії можна вважати простим атрибутом, якщо користувача цілком влаштовують рядкові значення виду ` 227рк", `418фет", `411гл".

Атрибут може бути похідним. Наприклад, до складу атрибутів сутності ГРУПА може входити атрибут ЧисельністьГрупи . Його значення для кожного екземпляра ГРУПи може бути обчислено підрахунком числа екземплярів сутності СТУДЕНТ, пов'язаних із цим екземпляром.

Зауваження. Значення похідних атрибутів зберігаються у БД у виняткових випадках. Однак на етапі проектування всі такі атрибути, що становлять інтерес для користувача, повинні бути виявлені та описані.

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

Для сутності Розкладпоїздівключем є атрибут Номер_поїздаабо набір: (Пункт відправки,Час відправленняіПункт призначення).

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

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

Сутність може мати кілька унікальних та неунікальних ключів.

Атрибут не можна призначитиунікальним ключем сутності. Він чи єтаким, або неє.

2.2.4 Зв'язок

Зв'язок - це характеристика відносин між двома чи більше сутностями.

Якби призначення бази даних було лише зберігання окремих, не пов'язаних між собою даних, то її структура могла б бути дуже простою.

Однак одна з основних вимог до організації бази даних - це забезпечення можливості віднайдення одних сутностей за значеннями інших, для чого необхідно встановити між ними певні зв'язки. Оскільки в реальних базах даних нерідко містяться сотні і навіть тисячі сутностей, то теоретично з-поміж них може бути більше мільйона зв'язків. Наявність такої множини зв'язків і визначає складність інфологічних моделей.

Як і для сутностей та атрибутів, у ER-моделі розрізняються типи (класи) і екземпляри зв'язків.

Описсутностейіїхзв'язків-цеієкрапкизорупроектувальникаБД)основначастинамоделівимогкористувачадоданих.

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

2.3 Класифікація сутностей та зв'язків. Системи позначення ER-моделей

Ідея Чена, завдяки якій його ім'я стало широко відомим у колах проектувальників баз даних, полягає в тому, що сутності і зв'язку слід представляти графічно. Тоді модель вимог користувача буде компактною та наочною. Існує великебезлічсистемпозначеньдляуявленняER-моделей. Стандарту немає. Ми дотримуватимемося найпоширеніших позначень.

Розміщено на Allbest.ru

Подібні документи

    Побудова інфологічної моделі тестової програмипо електронного підручникадля перевірки знань учнів. Інфологічне моделювання та семантичне представлення предмета у базі даних. Модель "сутність-зв'язок" та зв'язок між виявленими сутностями.

    курсова робота , доданий 27.02.2009

    Сутність та характеристика типів моделей даних: ієрархічна, мережева та реляційна. Базові поняттяреляційна модель даних. Атрибути, схема відношення бази даних. Умови цілісності даних. Зв'язки між таблицями. Загальні уявленняпро модель даних.

    курсова робота , доданий 29.01.2011

    Системний аналізі коротка характеристикапредметної галузі. Функції до роботи з буферизованою таблицею. Опис предметної галузі та інфологічне моделювання. Модель "сутність-зв'язок". Проектування баз даних з урахуванням принципів нормалізації.

    курсова робота , доданий 27.02.2009

    Створення моделі "сутність-зв'язок" та нормалізація даних засобами програми Microsoft Access. Ідентифікація об'єктів предметної галузі та відносин між ними, розробка структури фізичної моделі, запитів та звітів бази даних про студентів ВНЗ.

    контрольна робота , доданий 08.06.2011

    Процес проектування бази даних з урахуванням принципів нормалізації. Застосування інфологічної моделі другого етапу проектування. Семантика предметної області моделі бази даних. Оформлення, видача та обмін паспорта. Модель "сутність-зв'язок".

    курсова робота , доданий 27.02.2009

    Процес проектування із застосуванням принципів нормалізації. Визначення сутності "Група" моделі ER. Моделювання зв'язку між сутностями "Студент" та "Група" та предметної області " Навчальний процес". Застосування інфологічної моделі у проекті.

    курсова робота , доданий 27.02.2009

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

    курсова робота , доданий 27.02.2009

    Основні типові системиуправління базами даних. Способи опису взаємодій між об'єктами та атрибутами. Структурна та керуюча частини ієрархічної моделібази даних. Подання зв'язків, операції над даними в ієрархічній моделі.

    реферат, доданий 22.02.2011

    Сучасні системиуправління базами даних (СУБД). Аналіз ієрархічної моделі даних. Реляційна модель даних. Постреляционная модель даних як розширена реляційна модель, яка знімає обмеження неподільності даних, які у записах таблиць.

    наукова робота , доданий 08.06.2010

    Освоєння сервісної системиуправління базами даних Microsoft SQL. Розробка бази даних "Служба АТС" у середовищі Microsoft SQL Server Management Studio та створення запитів на мові SQL. Апробація інфологічної моделі "сутність – зв'язок" бази даних.

Інфологічна модель баз даних "Сутність-зв'язок" Основні поняття

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

Сутність – будь-який помітний об'єкт (об'єкт, який ми можемо відрізнити від іншого), інформацію про який потрібно зберігати у базі даних. Сутностями можуть бути люди, місця, літаки, рейси, смак, колір тощо. Необхідно розрізняти такі поняття, як тип сутності та екземпляр сутності. Поняття «тип сутності» відноситься до набору однорідних особистостей, предметів, подій або ідей, що виступають як ціле. Примірник сутності відноситься до конкретної речі в наборі. Наприклад, типом сутності може бути МІСТО, а екземпляром – Москва, Київ тощо.

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

Червоний, Синій, Банановий, Біла ніч і т.д.

Однак кожному екземпляру сутності надається лише одне значення атрибута.

Абсолютна різниця між типами сутностей та атрибутами відсутня. Атрибут є лише у зв'язку з типом сутності. В іншому контексті атрибут може бути самостійною сутністю. Наприклад, для автомобільного заводу колір – це лише атрибут продукту виробництва, а лакофарбової фабрики колір – тип сутності.

Ключ – мінімальний набір атрибутів, за значеннями яких можна однозначно знайти потрібний екземпляр сутності. Мінімальність означає, що виняток із набору будь-якого атрибуту не дозволяє ідентифікувати сутність по решті. Для сутності Розклад (п. 1.2) ключем є атрибут Номер_рейсу або набір: Пункт_відправлення, Час_вильоту та Пункт_призначення (за умови, що з пункту в пункт вилітає в кожний момент часу один літак).

Зв'язок – асоціювання двох чи більше сутностей. Якби призначення бази даних було лише зберігання окремих, не пов'язаних між собою даних, то її структура могла б бути дуже простою. Однак одна з основних вимог до організації бази даних - це забезпечення можливості віднайти одних сутностей за значеннями інших, для чого необхідно встановити між ними певні зв'язки. Оскільки в реальних базах даних нерідко містяться сотні і навіть тисячі сутностей, то теоретично з-поміж них може бути більше мільйона зв'язків. Наявність такої множини зв'язків і визначає складність інфологічних моделей.

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

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

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

Перший тип– зв'язок ОДИН-К-ОДНОМУ (1:1): у кожний момент часу кожному представнику (екземпляру) сутності А відповідає 1 або 0 представників сутності:

Студент може не заробити стипендію, отримати звичайну або одну з підвищених стипендій.

Другий тип– зв'язок ОДИН-КО-БАГАТО (1:М): одному представнику сутності А відповідають 0, 1 або кілька представників сутності В.

Квартира може порожні, в ній може жити один або кілька мешканців.

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

приклад 2.1.Якщо зв'язок між сутностями ЧОЛОВІКИ і ЖІНКИ називається ШЛЮБ, то існує чотири можливі уявлення такого зв'язку:

Характер зв'язків між сутностями не обмежується переліченими. Існують і складніші зв'язки:

Безліч зв'язків між одними і тими самими сутностями

(пацієнт, маючи одного лікаря, може мати також кілька лікарів-консультантів; лікар може бути лікарем декількох пацієнтів і може одночасно консультувати кілька інших пацієнтів);

Тренарні зв'язки

(лікар може призначити кілька пацієнтів на кілька аналізів, аналіз може бути призначений кількома лікарями кільком пацієнтам і пацієнт може бути призначений на кілька аналізів декількома лікарями);

Зв'язки вищих порядків, семантика (сенс) яких іноді дуже складна.

У наведених прикладах підвищення ілюстративності аналізованих зв'язків не показані атрибути сутностей і асоціацій в усіх ER-діаграмах. Так, введення лише кількох основних атрибутів в опис шлюбних зв'язків значно ускладнить ER-діаграму (рис. 2.1 а). У зв'язку з цим мова ER-діаграм використовується для побудови невеликих моделей та ілюстрації окремих фрагментів великих. Найчастіше застосовується менш наочний, але змістовнішу мову інфологічного моделювання (ЯІМ), у якому сутності та асоціації видаються пропозиціями виду:

СУТНІСТЬ (атрибут 1, атрибут 2, ..., атрибут n) АСОЦІАЦІЯ [СУТНІСТЬ S1, СУТНІСТЬ S2, ...] (атрибут 1, атрибут 2, ..., атрибут n)

де S – ступінь зв'язку, а атрибути, що входять до ключа, повинні бути позначені за допомогою підкреслення.

Так, розглянутий вище приклад безлічі зв'язків між сутностями, може бути описаний на ЯІМ наступним чином:

Лікар (Номер_лікаря, Прізвище, Ім'я, По-батькові, Спеціальність)Пацієнт (Реєстраційний_номер, Номер ліжка, Прізвище, Ім'я, По-батькові, Адреса, Дата народження, Стать)Лікарський_лікар [Лікар 1, Пацієнт M] (Номер_лікаря, Реєстраційний Пацієнт N] (Номер_лікаря, Реєстраційний_номер).

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

Адміністратор бази даних (АБД) спочатку створює узагальнений неформальний опис створюваної бази даних. Це опис, виконаний з використанням природної мови, математичних формул, таблиць, графіків та інших засобів, зрозумілих усім людям, які працюють над проектуванням бази даних, називають інфологічною моделлю даних(Рис. 1).

Мал. 2.1. Рівні моделей даних

Така людино-орієнтована модель є повністю незалежною від фізичних параметрів середовища зберігання даних.

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

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

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

Мета інфологічного моделювання - забезпечення найбільш природних для людини способів збору та подання тієї інформації, яку передбачається зберігати у створеній базі даних. Тому інфологічну модель даних намагаються будувати за аналогією з природною мовою (остання не може бути використана в чистому вигляді через складність комп'ютерної обробки текстів та неоднозначність будь-якої природної мови). Основними конструктивними елементами інфологічних моделей є сутності, зв'язки між сутностями та властивості сутностей – атрибути.

Сутність- будь-який помітний об'єкт (об'єкт, який ми можемо відрізнити від іншого об'єкта), інформацію про який потрібно зберігати у базі даних. Сутностями можуть бути люди, місця, літаки, рейси, смак, колір тощо. Необхідно розрізняти такі поняття, як тип сутності та екземпляр сутності. Поняття «тип сутності» відноситься до набору однорідних особистостей, предметів, подій або ідей, що виступають як ціле. Примірник сутності відноситься до конкретної речі в наборі. Наприклад, типом сутності може бути МІСТО, а екземпляром сутності – міста Москва, Київ тощо.

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

Червоний, Синій, Банановий, Біла ніч і т.д.

проте кожному екземпляру сутності надається лише одне значення атрибута.

Абсолютна різниця між типами сутностей та атрибутами відсутня. Атрибут є лише у зв'язку з типом сутності. В іншому контексті атрибут може бути самостійною сутністю. Наприклад, для автомобільного заводу колір – це лише атрибут продукту виробництва, а для лакофарбової фабрики колір – тип сутності.

Ключ- Мінімальний набір атрибутів, за значеннями яких можна однозначно знайти необхідний екземпляр сутності. Мінімальність означає, що виняток із набору будь-якого атрибуту не дозволяє ідентифікувати сутність по решті. Для сутності Розкладключем є атрибут Номер рейсуабо набір: Пункт_відправлення, Час_вильотуі Пункт призначення(за умови, що з пункту до пункту вилітає в кожний момент часу один літак).

Зв'язок- виділення основної та пов'язаної сутності. Якби призначення бази даних було лише зберігання окремих, не пов'язаних між собою даних, то її структура могла б бути дуже простою. Однак одна з основних вимог до організації бази даних - це забезпечення можливості віднайдення одних сутностей за значеннями інших, для чого необхідно встановити між ними певні зв'язки. Оскільки в реальних базах даних нерідко містяться сотні і навіть тисячі сутностей, то теоретично з-поміж них може бути більше мільйона зв'язків. Наявність такої множини зв'язків і визначає складність інфологічних моделей.

2.1. Характеристика зв'язків

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

Перший тип - зв'язок ОДИН-К-ОДНОМУ (1:1): у кожний момент часу кожному представнику (екземпляру) сутності Студент відповідає 1 або 0 представників сутності Стипендія:

Студент може не отримувати стипендії або отримувати тільки одну стипендію.

Другий тип - зв'язок ОДИН-КО-БАГАТО (1:М): одному представнику сутності А відповідають 0, 1 або кілька представників сутності В.

У квартирі може ніхто не жити чи жити один чи кілька мешканців.

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

Третій тип - багато хто до багатьох.

Якщо зв'язок між сутностями Квартира та Власник називається Володіння, то існує чотири можливі уявлення такого зв'язку:

Власник обов'язково має хоча б одну квартиру, квартира може бути державною або мати від одного до кількох власників.

2.2. Про первинні та зовнішні ключі

Нагадаємо, що ключ або можливий ключ – це мінімальний набір атрибутів, за значеннями яких можна однозначно знайти необхідний екземпляр сутності. Мінімальність означає, що виключення з ключового набору будь-якого атрибуту не дозволяє ідентифікувати сутність за атрибутами, що залишилися. Кожна сутність має хоча б один можливий ключ. Один із них приймається за первинний ключ. При виборі первинного ключа слід віддавати перевагу нескладним ключам або ключам, що складаються з мінімальної кількості атрибутів. Недоцільно також використовувати ключі з довгими текстовими значеннями(переважно використовувати цілі атрибути). Так, для ідентифікації студента можна використовувати або унікальний номерзалікової книжки, або набір із прізвища, імені, по батькові, номера групи і може бути додаткових атрибутів, оскільки не виключена поява у групі двох студентів (а частіше студенток) з однаковими прізвищами, іменами та по батькові. Погано також використовувати як ключ не номер страви, а його назву, наприклад, «Закуска з плавлених сирків «Дружба» з шинкою та солоним огірком» або «Заєць у сметані з картопляними крокетами та салатом з червоної капусти».

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

У СУБД Access оптимальним способомзавдання первинного ключа є введення в таблицю поля типу Лічильник. Поле Лічильникмістить унікальний номер для кожного рядка таблиці та автоматично генерується під час створення запису.

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

Тепер про зовнішні ключі:

Якщо сутність З пов'язує сутності А і В, вона повинна включати зовнішні ключі, що відповідають первинним ключам сутностей А і В.

В таблиці Виданняполя Виданняі КодВидавництває зовнішнім ключем, відповідним внутрішнім ключам КодиВиданняі КодВидавництватаблиць Виданняі Видавництвавідповідно.

Якщо сутність позначає сутність А, то вона повинна включати зовнішній ключ, відповідний первинного ключасутності А.

Поле Ind1таблиці Підлеглає зовнішнім ключем, що відповідає внутрішньому ключу Indтаблиці Основна. Зауважимо, що таблиця Підлеглатакож має свій внутрішній ключ Ind.

2.3. Класифікація сутностей

Є чотири види сутностей:

  • Основна
  • Характеристика
  • Довідник
  • Асоціація

Основна сутність (стрижень) – це незалежна сутність.

У розглянутих раніше прикладах стрижні - це «Студент», «Квартира», «Житель», «Власник», можуть мати властивості, тобто. мати не тільки набір ключових атрибутів, необхідних для вказівки зв'язків, а й будь-яку кількість інших атрибутів, що характеризують зв'язок тощо.

Характеристична сутність(Характеристика) - це зв'язок виду «багато-до-одної» або «одна-до-одної» між двома сутностями. Єдина мета характеристики в рамках предметної області, що розглядається, полягає в описі або уточненні деякої іншої сутності. Необхідність у них виникає у зв'язку з тим, що сутності реального світу іноді мають багатозначні властивості. Книга може мати кілька характеристик перевидання (виправлене, доповнене, перероблене...), будинок характеризується певною характеристикою певного набору (кам'яний, панельний, монолітний…).

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

Довідник застосовується для безпомилкового чи багаторазового використання атрибутів.

Це можуть бути імена організацій, прізвища клієнтів, кольори...

Розглянемо приклад, пов'язані з зарахуванням співробітників у різні відділи організації.

За відсутності жорстких правил (співробітник може одночасно зараховуватися до декількох відділів або не зараховуватися до жодного відділу) необхідно створити опис з асоціацією Зарахування:

Службовці ( Табельний номер, Прізвище, ...)

Зарахування (Номер відділу, Табельний номер, Дата зарахування) [Відділи M, Службовці N]

У квадратні дужки вміщено позначення ключових полів асоціації.

Однак, за умови, що кожен із співробітників повинен бути обов'язково зарахований до одного з відділів, можна створити опис з позначенням Службовці:

Відділи (Номер відділу, Назва відділу, ...)

Службовці (Табельний номер, Прізвище, ..., Номер відділу, Дата зарахування)[Відділи]

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

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

Розглянемо вид сутності: Асоціація.

Асоціація зазвичай має власні поля та кілька посилань на інші сутності.

У СУБД Access тип сутності Асоціація має вигляд:

2.4. Обмеження цілісності

Цілісність (від англ. integrity - недоторканість, недоторканність, безпека, цілісність) - розуміється як правильність даних у будь-який момент часу. Але ця мета може бути досягнута лише в певних межах: СУБД не може контролювати правильність кожного окремого значення, що вводиться до бази даних (хоча кожне значення можна перевірити на правдоподібність). Наприклад, не можна виявити, що значення 5 (що представляє номер дня тижня) насправді має дорівнювати 3. З іншого боку, значення 9, як день тижня, явно буде помилковим і СУБД повинна його відкинути. Однак для цього їй слід повідомити, що номери днів тижня мають належати до набору (1, 2, 3, 4, 5, 6, 7).

Підтримка цілісності бази даних може розглядатися як захист даних від неправильних змін або руйнування (не плутати з незаконними змінами та руйнуваннями, які є проблемою безпеки БД). Сучасні СУБД мають низку коштів для забезпечення підтримки цілісності (як і засобів забезпечення підтримки безпеки).

2.4.1. Засоби підтримки цілісності даних СУБД Access

Розглянемо три типи таблиць:

  • Основна
  • Підлегла
  • Довідник

Таблиці мають структуру:

У всіх таблицях поле Ind- Лічильник (див. 1.3).

Підпорядкована таблиця містить інформацію, яка пояснює записи основної таблиці. Таблиця довідник містить імена організації в полі NameInd1.

Сформуємо зв'язки таблиць.

Зв'язок між Основнийі Підлеглійтаблицями оформимо так:

Це означає, що ми не зможемо сформувати запис у підпорядкованій таблиці з Ind1<>Ind основної таблиці. Більше того, при видаленні запису з основної таблиці буде видалено і запис пов'язаної з нею підпорядкованої таблиці.

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

Зв'язок між основною таблицею та довідником має вигляд:

Це означає, що ми не зможемо вставити в основну таблицю номер, який відповідає найменуванню організації, що не існує у таблиці довідника. Каскадне видалення пов'язаного запису з основної таблиці заборонено.