Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

DataBase_lecture2

.pdf
Скачиваний:
35
Добавлен:
12.02.2016
Размер:
972.19 Кб
Скачать

Тема 5. Концептуальна модель бази даних. Метод “сутність –

зв’язок”

A. Теоретичні відомості

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

Поняття предметної області

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

Приклад 5.1. Розглянемо висловлювання: студент Іванов А.А, народився у 1982 році. Воно виражає такі властивості об'єкта "Іванов А.А.": у явному виді - рік народження; у неявному - приналежність до студентів. Перша властивість встановлює зв'язок між об'єктами "Іванов А.А." і "Рік народження", а друга – між об'єктами "Іванов А.А." і "Безліч

студентів". Формалізація цього висловлювання представляється як результат присвоювання значень змінним, які входять у предикати:

НАРОДИВСЯ (Іванов А.А., 1982)

Є СТУДЕНТОМ (Іванов А.А.)

На рис. 5.1 наведений один із підходів до класифікації ситуацій у рамках ПО.

Рисунок 5.1. Класифікація ситуацій ПО

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

Предметна область - це цілеспрямована первинна трансформація картини зовнішнього світу у деяку картину, певна частина якої фіксується в ІС як алгоритмічна модель фрагменту дійсності.

Інформаційна модель ПО БД

Інформаційна модель даних призначена для подання семантики ПО у термінах суб'єктивних засобів опису - сутностей, атрибутів, ідентифікаторів сутностей, супертипів, підтипів і т.д. Інформаційна модель ПО БД містить такі основні конструкції:

діаграми "сутність-зв'язок" (Entity – Relationship Diagrams);

визначення сутностей;

унікальні ідентифікатори сутностей;

визначення атрибутів сутностей;

відношення між сутностями;

супертипи й підтипи.

Елементи інформаційної моделі даних ПО є вхідними даними для вирішення завдання проектування БД - створення логічної моделі даних. Предметом інформаційної моделі є абстрагування об'єктів або явищ реального світу у рамках ПО, у результаті якого виявляються сутності (entity) ПО. Як правило, вони позначаються іменником природної мови. Сутність описується за допомогою даних, іменованих властивостями або атрибутами (attributes) сутності. Як правило, атрибути є визначеннями у висловленні про сутності й позначаються іменниками природної мови. Сутності вступають у зв'язки один з одним через свої атрибути. Кожна група атрибутів, що описують один реальний прояв сутності, являє собою екземпляр (instance) сутності. Іншими словами, екземпляри сутності - це реалізації сутності, що відрізняються одне від одного й допускають однозначну ідентифікацію. Одним з основних комп'ютерних засобів розпізнавання сутностей у базі даних є присвоєння сутностям ідентифікаторів (Entity identifier). Часто ідентифікатор сутності називають ключем. Завдання вибору ідентифікатора сутності є суб'єктивним завданням. Оскільки сутність визначається набором своїх атрибутів, то для кожної сутності доцільно виділити таку підмножину атрибутів, що однозначно ідентифікує дану сутність. Завдання розробника БД - забезпечити при збереженні екземплярів сутності у БД наявність у кожного її нового екземпляра унікального ідентифікатора. Унікальний ідентифікатор сутності - це атрибут сутності, що дозволяє відрізняти одну сутність від іншої. Якщо сутність має кілька унікальних ідентифікаторів, так званих можливих ключів, то розробник повинен обрати первинний ключ сутності. Розрізняють однозначні й багатозначні атрибути. Однозначними є атрибути, які в межах конкретного екземпляра сутності мають тільки одне значення. У протилежному разі вони вважаються багатозначними. Кожен атрибут сутності має домен (domain). Домен - це вираз, який визначає значення, дозволені для даного атрибута. Іншими словами, домен - це область значень атрибута. Розробник БД повинен проконтролювати, щоб в інформаційній моделі ПО для кожного атрибута сутностей був визначений домен. Сутності не існують окремо одна від одної. Між ними є реальні відношення (Relationship), і вони повинні бути відбиті в інформаційній моделі ПО. При виділенні відношень акцент робиться на фіксацію зв'язків і їх характеристик. Відношення (зв'язок) являє собою з'єднання (взаємовідношення) між двома або більше сутностями. Кожен зв'язок реалізується через значення атрибутів сутностей. Звичайно зв'язок позначається дієсловом. Кожен зв'язок також повинен мати свій унікальний ідентифікатор зв'язку.

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

(1) Зв'язок типу 1:1 - "один-до-одного" визначає відповідність між одиничним примірником сутності одного класу та одиничним примірником сутності іншого класу.

Рис. 5.1. Схема визначення зв'язків типу 1:1

(2) Зв'язок типу 1:N - "один-до-багатьох" визначає відповідність між одиничним примірником сутності одного класу та деякою множиною примірників сутності іншого класу.

Рис. 5.2. Схема визначення зв'язків типу 1:N

(3) Зв'язок типу N:1 - "багато-до-одного" є оберненим до зв'язку типу "один- до-багатьох" і визначає відповідність між певною множиною примірників сутності одного класу та одиничним примірником сутності іншого класу.

Рис. 5.3. Схема визначення зв'язків типу N: 1

(4) Зв'язок типу N:M - "багато-до-багатьох" визначає відповідність між множинами сутностей двох класів.

Рис. 5.4. Схема визначення зв'язків типу N: M

Слід зазначити, що зв'язки типу 1:N і N:1 завжди розглядаються як направлені, а зв'язки типу 1:1 і N:M можуть бути як направленими так і ненаправленими.

Результати побудови концептуальної моделі містять описи сутностей, атрибутів, зв’язків. Як правило, їх зображають у вигляді діаграми "сутність– зв'язок" (ER-діаграми). Існує декілька способів побудови таких діаграм (нотацій), найбільш відомими з яких є нотації Чена, IDEF1X, та Crow's Foot.

Рис. 5.5. Елементи діаграми" сутність-зв'язок" у нотації Чена

Зокрема, в класичній нотації Чена, сутності зображають прямокутниками, атрибути – овалами або кругами, зв’язки – ромбами (див.рис.5.5). Всередині фігур вказують їхні імена, лінії - пов’язують атрибути з сутностями, в описі зв’язку задають його ідентифікатор та тип.

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

Рисунок 5.6. Подання сутності Person (персонал) на ER-діаграмі з атрибутами й унікальним ідентифікатором сутності

У прямокутнику перераховуються атрибути сутності, при цьому атрибути, що становлять унікальний ідентифікатор сутності, підкреслюються. Домени призначаються аналітиками й фіксуються в спеціальному документі - словнику даних (Data Dictionary). На стадіях озроблення логічної й фізичної моделей реляційної БД домени уточнюються у сутностях на ER-діаграмі. Розробник БД повинен ретельно вивчити домени кожного атрибута з погляду на можливість їх реалізації у СКБД.

Рис.5.7. Візуалізація визначення доменів атрибутів на ER-діаграмі при створенні фізичної моделі реляційної БД

Відношення (зв'язок) сутностей на ER-діаграмі зображується лінією, що з'єднує ці сутності. Ступінь зв'язку зображується за допомогою символа "пташина лапка", що вказує на те, що у зв'язку бере участь багато (N) екземплярів сутності, і одинарною горизонтальною рискою, що вказує на те, що у зв'язку бере участь один екземпляр сутності. Відношення читається вздовж лінії або ліворуч праворуч, або праворуч–ліворуч. На рис. 5.8 наведене таке відношення: кожна спеціальність із створення повинна бути зареєстрована за певною фізичною особою (персоною), фізична особа може мати одну або більше спеціальностей щодо створення.

Рис.5.8. Подання відношення між двома сутностями на ER-діаграмі

Функціональна модель ПО БД

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

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

Моделі процесів:

бізнес-модель процесів (ієрархія функцій системи);

модель потоку даних.

Моделі станів:

модель життєвого циклу сутності;

набір специфікацій функцій системи (вимоги);

опис функцій системи через сутності й атрибути;

бізнесу-правила, які реалізують функції.

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

B. Приклади

Приклад 5.2. Прикладом класу сутностей є множина студентів університету,

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

Рис. 5.6. Приклад атрибутів визначення атрибутів сутностей Приклад 5.3. Визначення предметної області бази даних "Бібліотека".

Сутності: Книга, Читач, Абонемент, Бібліотекар Атрибути сутностей:

Книга ( Інвентарний номер, Автор, Назва, Рік видання, Видавництво);Читач ( № абонемента, Прізвище-Ім'я-По батькові, Адреса, Телефон, Місце праці)

Абонемент (Дата, № абонемента, Інвентарний номер книги, Термін повернення, Номер – бібліотекаря )

Бібліотекар (Номер , Прізвище-Ім'я-По батькові, Підрозділ, Посада) Зв'язки:

"Читач-Абонемент"; "Абонемент-Книга"; "Бібліотекар-Абонемент"

В якості примірників сутностей цих класів виступають – примірник книги, окремий читач, читацький формуляр, працівник бібліотеки, як особа.

Приклад 5.4. Зв'язки різних порядків:

унарний зв'язок (поєднує між собою примірники сутностей одного класу) - декілька працівників одного __________підрозділу об'єднуються в групу для виконання певного проекту;

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

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

Приклад 5.5. Спрямованим може бути зв'язок між елементами таких класів як Студент і Предмет , в якому сутностям надаються різні ролі ("студент вивчає предмет"). Зв'язок між такими сутностями як Предмет і викладач може розглядатися як неспрямований – твердження "викладач веде заняття з предмету" або "заняття з предмету ведуться викладачем" є аналогічними.

Приклад 5.6. Зв'язок:

типу 1:1 – одному студентові відповідає один номер залікової книжки;

типу 1:N – один студент вивчає множину предметів;

типу N:1 – в одній академічній групі навчається множина студентів;

типу N:M – множина викладачів кафедри проводять заняття у множині груп, при цьому кожен викладач навчає декілька груп, а в кожній групі заняття проводять декілька викладачів.

Тема 6. Даталогічна концептуальна модель бази даних. Логічні

одиниці даних.

A. Теоретичні відомості

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

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

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

Множинні поле в якості значення може мати одномірний масив.

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

Періодична група – групове поле, що має більш ніж одне складене значення.

Синонімічними до терміну "поле" є терміни атрибут (attribute) і стовпчик (column).

Запис (record) - послідовність значень полів, що зображає набір властивостей одного примірника сутності. Синонімами терміну "запис" є – кортеж (tuple) і рядок (row).

Логічний файл (logical file) – множина однотипних записів, що описують властивості деякого класу сутностей. Всі записи файлу мають однакову розмірність і утворені значеннями одного набору полів. Поряд з терміном "логічний файл" у певних застосуваннях вживаються терміни таблиця (table) і відношення (relation).

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

Система баз даних (database system) – множина різнопланових баз даних, що реалізовані за єдиною технологією, керуються і адмініструються спільними засобами.

B. Приклади

Приклад 6.1. Елементарне поле може застосовуватися для зображення значень таких атрибутів як Прізвище, Дата народження, Група, що мають елементарні значення для кожного примірника відповідної сутності.

Приклад 6.2. Множинне поле може зображати значення атрибутів, яких є більш ніж одне – Імена дітей працівника, Номери телефонів, Оцінки за сесію.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]