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

lek_04

.pdf
Скачиваний:
3
Добавлен:
03.09.2018
Размер:
474.15 Кб
Скачать

1

Лекція 4

Графічне представлення предметної області.

1.Основні графічні примітиви моделі Чена.

2.Приклади діаграм Чена.

3.Розробка концептуальної моделі предметної області поставок товарів на склад.

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

Найбільш відома модель графічного представлення концептуальної схеми бази даних була запропонована Пітером Ченом у 1976 році.

Вона називається «модель „Сутність-Зв’язок”» (Entity-Relationship model, ER-model). Особливістю цієї моделі є те, що частини предметної області, що відповідають об’єктам, властивостям та зв’язкам зображуються у вигляді діаграм.

1. Основні графічні примітиви моделі Чена

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

Назва примітива

 

Зображення в

 

Одне із сучасних

класичній моделі Чена

 

зображень

 

 

 

 

 

 

 

 

 

 

 

 

 

Сутність (entity)

 

Ім’я сутності

 

 

Ім’я сутності

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Одинична, проста

 

Ім’я властивості

 

 

 

Ім’я

 

 

 

 

властивості

властивість

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Складена властивість

 

Ім’я властивості

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Назва примітива

Зображення в

Одне із сучасних

класичній моделі Чена

 

зображень

 

 

Множинна властивість

 

 

 

 

 

 

 

 

(m, M), де m – мінімаль-

 

 

 

 

 

 

 

 

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

 

 

Ім’я

 

(m, M)

атрибута для одного

 

 

 

 

 

 

 

властивості

 

 

 

 

екземпляра, M –

 

 

 

 

 

 

 

 

 

 

 

 

 

максимальна кількість

 

 

 

 

 

 

 

 

значень атрибута для

 

 

 

 

 

 

 

 

одного екземпляра

 

 

 

 

 

 

 

 

Первинний ключ

 

 

 

 

 

 

 

 

А

 

 

А1

А

 

 

 

 

 

 

 

 

А1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А1

 

Складений первинний

А

 

 

ключ

 

А1

 

А

 

 

 

 

 

А2

А2

 

 

 

 

М1

М2

 

(0,М1)

(0,М2)

Необов’язковий зв’язок

 

Ім’я

 

 

 

 

 

Ім’я

 

 

 

зв’язку

 

 

 

 

 

зв’язку

Обов’язковий зв’язок

М1

М2

(1,М1)

(1,М2)

 

Ім’я

 

 

 

 

 

 

 

Ім’я

 

 

 

 

 

 

 

 

 

 

 

 

зв’язку

 

 

 

 

 

 

 

зв’язку

 

 

 

 

 

 

 

 

 

Узагальнений об’єкт

 

 

 

 

 

 

 

А

 

 

 

 

 

B

(А – супертип,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

 

 

 

 

 

 

 

 

 

 

В, С – підтипи)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

B C

3

Назва примітива

 

 

Зображення в

 

 

Одне із сучасних

 

 

класичній моделі Чена

 

 

 

зображень

 

 

 

 

 

 

 

 

 

 

 

 

 

Складений об’єкт А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(екземпляр типу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сутності А складається

 

 

 

 

Складається із

 

 

 

Є частиною

 

 

 

 

 

 

 

 

 

 

 

Частина

 

 

 

 

 

 

 

 

 

більше ніж 1, але менше

 

 

А

 

 

 

 

 

 

 

 

В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ніж Mb екземплярів

 

 

 

 

(1,Mb)

 

 

 

 

(1,Ma)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

типу сутності В)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Слабкі сутності.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тип сутностей В –

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

слабкий, оскільки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В1

 

властивостей В1 та В2

 

 

 

 

(1,Mb)

 

 

 

 

 

(1,Ma)

 

 

 

 

недостатньо для

 

 

А

 

 

 

 

АВ

 

 

 

 

 

 

В

 

 

 

визначення первинного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ключа, тому говорять,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

що сутність В залежить

 

 

 

А1

 

 

 

 

 

В2

 

 

 

 

від сутності А і

 

 

 

А2

 

 

 

 

 

А1+В2

 

 

 

 

 

 

 

 

 

 

 

використовує

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

первинний ключ А1 для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ідентифікації

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

екземплярів В.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Очевидно, що самих ER-діаграм недостатньо, так як на них відсутня така інформація, як:

-формат значень властивостей, діапазон значень властивостей, синоніми імен сутностей, які використовуються у зовнішніх представленнях;

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

-інформація про розмежування доступу до екземплярів сутності. Переваги ER-діаграм – наочність як для розробників, так і для

майбутніх користувачів.

2. Приклад діаграми Чена

Приклад 1.

У проекті може приймати участь кілька співробітників, кожен із співробітників повинен приймати участь як мінімум в одному і як максимум у п’яти проектах. Зв’язок „Приймає участь” між „СПІВРОБІТНИКОМ” та „ПРОЕКТОМ” має властивості „дата призначення” та „дата звільнення”.

4

1,5

Приймає участь

1,N

СПІВРОБІТНИК

ПРОЕКТ

 

Таб. номер

 

Код проекту

Дата призначення

Назва

Прізвище

Дата звільнення

Пріоритет

Посада

 

 

Зарплата

 

 

3.Розробка концептуальної моделі предметної області поставок товарів на склад

3.1. Постановка задачі

Нехай у деякому зовнішньому представленні виконується опис поставок товарів на склад.

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

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

Вихідні дані. Інформація про товар, інформація про поставку, інформація про розміщення і кількість різних товарів на складі, можливо деяка інша інформація.

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

3.2. Визначення сутностей, властивостей та зв’язків

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

5

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

3.2.1. Визначення сутностей

Вхідні дані передбачають, що центральною в даному зовнішньому представленні буде тип сутності ПОСТАВКА. У першому наближені тип сутності ПОСТАВКА характеризується такими властивостями

ПОСТАВКА

Ціна одиниці товару

 

 

Одиниці виміру

 

Дата поставки

Код поставки

Тип складу

 

Назва постачальника

 

Адреса постачальника

 

Назва товару

 

Кількість поставленого

 

товару

 

Недолік: при такій концептуальній схемі вся інформація зв’язана, тобто інформацію про окремого постачальника, який в даній поставці не приймає участь, отримати не можна. Більше того, при внесенні нової поставки від того самого постачальника всі дані про постачальника будуть знову повторюватися, а це – джерело помилок, а також надлишковість інформації. Тому виділимо тип сутності ПОСТАЧАЛЬНИК, і його властивостями будуть назва постачальника та його адреса. Оскільки ПОСТАЧАЛЬНИК може приймати участь у кількох ПОСТАВКАХ, то між цими двома типами сутностей виникає зв’язок 1:М.

1,N

Приймає

1,1

ПОСТАЧАЛЬНИК

ПОСТАВКА

 

участь

 

Код постачальника

 

Код поставки

Назва постачальника

 

Назва товару

Адреса постачальника

Кількість поставленого товару

 

 

Ціна одиниці товару

Одиниця виміру Дата поставки Тип складу

6

Однак і така зовнішня схема має недоліки: неможливо отримати інформацію про товар, якщо він відсутній у поставці. Тому виділимо тип сутності ТОВАР, властивостями якого будуть назва товару, одиниця виміру, ціна за одиницю виміру. Оскільки один екземпляр типу сутностей ТОВАР може приймати участь у кількох екземплярах ПОСТАВОК, але в кожному екземплярі ПОСТАВКИ присутній тільки один товар, то між двома типами сутностей виникає зв’язок 1:М.

1,N

ПОСТАЧАЛЬНИК

Код постачальника Назва постачальника Адреса постачальника

Код поставки Кількість поставленого товару Дата поставки Тип складу

Приймає

1,1

ПОСТАВКА

участь

 

 

1,1

 

Був

 

поставлений

1,М

ТОВАР

Код товару Назва товару Ціна одиниці товару Одиниця виміру

Зауваження:

При визначенні типів сутностей постачальник та ТОВАР ми неявно додали по одній властивості в кожний тип: „код поставки” та „код товару” і зробили їх первинними ключами. Як відомо, в діаграмах Чена кожен тип сутності повинен мати первинний ключ. Досить часто, щоб не робити первинним ключем довгу стрічку, вводять додатковий атрибут, основна задача якого – бути унікальним ідентифікатором екземпляра типу сутності.

7

3.2.2. Визначення зв’язків

Типів зв’язків „приймає участь” і „був поставлений” недостатньо для того, щоб видати інформацію такого типу:

„Які товари може поставляти окремий постачальник?” „Які постачальники можуть постачати даний товар?”.

Ключове слово „може” підказує, що зв’язки будуть необов’язковими, тобто типу 0:М. Змінимо зовнішню схему з врахуванням останніх вимог.

 

 

 

Код поставки

Код постачальника

Кількість поставленого товару

Назва постачальника

 

Дата поставки

Адреса постачальника

 

Тип складу

 

1,N

Приймає

1,1

ПОСТАЧАЛЬНИК

ПОСТАВКА

 

 

участь

 

0,N

0,N

 

1,1

 

 

 

 

 

Був

 

 

 

поставлений

 

Може

 

 

 

поставляти

 

0,М

 

 

 

1,М

 

 

0,М

ТОВАР

 

Може бути

 

 

 

 

 

поставлений

 

 

 

 

 

Код товару

 

 

 

Назва товару

 

 

 

Ціна одиниці товару

 

 

 

Одиниця виміру

8

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

Код постачальника

Назва постачальника Адреса постачальника

 

 

Код поставки

 

ПОСТАЧАЛЬНИК

Кількість пост. товару

 

Дата поставки

 

 

0,N

1,N

Тип складу

 

 

ПОСТАВКА

Можливі

Реальні

поставки

поставки

0,М

1,М

ТОВАР

Код товару Назва товару Ціна одиниці товару Одиниця виміру

Відразу визначаються два типи сутностей ПОСТАЧАЛЬНИК і ТОВАР, їх первинні ключі та атрибути.

Типи зв’язків можуть бути такими:

ПОСТАЧАЛЬНИК „поставляє кілька” ТОВАРІВ (взагалі, а не в конкретний момент); ТОВАР „поставляється кількома” ПОСТАЧАЛЬНИКАМИ (можливо, різними). У такій інтерпретації з’являється зв’язок M:N „реальні поставки” для фіксації вже проведених поставок (клас належності: обов’язковий з двох сторін).

ПОСТАЧАЛЬНИК „може поставити кілька” ТОВАРІВ і ТОВАР „може бути поставлений кількома” ПОСТАЧАЛЬНИКАМИ. Для фіксації таких можливих залежностей з’являється зв’язок M:N ”можливі поставки, клас належності яких – необов’язковий з обох сторін.

9

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

Визначимо обмеження на значення атрибутів виділених типів сутностей.

Тип сутності ПОСТАВКА:

Всі атрибути є обов’язковими, одиничними і статичними.

Код поставки – натуральне число від 1 до 9999, означає порядковий номер приходної накладної.

Кількість поставленого товару – натуральне число від 1 до 999999. Дата поставки – дата у вигляді рррр.мм.дд.

Код складу – натуральне число від 1 до 9.

Тип сутності ПОСТАЧАЛЬНИК:

Всі атрибути є обов’язковими, одиничними і статичними.

Код постачальника – натуральне число від 1 до 999, означає порядковий номер постачальника в списку.

Назва постачальника – текст, 50 символів. Адреса постачальника – текст, 50 символів.

Тип сутності ТОВАР:

Всі атрибути є обов’язковими, одиничними і статичними.

Код товару – натуральне число від 1 до 999, означає порядковий номер товару в списку.

Назва товару – текст, 30 символів.

Ціна одиниці товару – дійсне число, формат 99999,99. Одиниця виміру – текст, 10 символів.

3.2.4.Визначення основних операцій над даними

Вданій предметній області типовими операціями можуть бути такі: Операція 1. Оформлення нової поставки.

Операція 2. Внесення даних про нового постачальника. Операція 3. Внесення даних про новий товар.

Операція 4. Внесення даних про всі можливі товари, які

поставляються даним постачальником.

Для кожної операції створюється таблиця. Наприклад, для операції 1 таблиця може мати вигляд:

 

Тип

 

 

 

Тип доступу

Назва

(1-інтерак-

Частота

 

Скільки

Сутність

(R-читання

операції

тивний,

виконання

екземплярів

 

W-запис)

 

2-пакетний)

 

 

 

 

 

 

 

 

 

 

 

ПОСТАВКА

1

W

Операція 1

1

50/день

ТОВАР

1

R

 

 

 

ПОСТАЧАЛЬНИК

1

R

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