Ноу Інти, лекція, перша стадія концептуального проектування бази даних (концептуальне

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

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

5.1. Опис інформаційного представлення предметної області. ER-діаграма

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

Найчастіше концептуальна модель представляється у вигляді діаграми сутностей - зв'язків (entity - relationship) або ER-діаграми. Процес побудови ER-діаграми називається ER-моделюванням.

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

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

Якщо в системі обробляється інформація про факультети, сутністю буде факультет, якщо про студентів, сутність - студент і т.п.

Ім'я сутності при ER-моделюванні, як правило, записується великими літерами. Кожна сутність має певний набір властивостей (розглядаємо тільки властивості, що представляють інтерес для користувачів в рамках проведеного дослідження), які запам'ятовуються в інформаційній системі. Так, наприклад, в якості властивостей сутності ФАКУЛЬТЕТ можна вказати номер факультету, назва факультету, як властивостей сутності СТУДЕНТ можна вказати прізвище, дату народження, місце народження, як властивостей сутності ІСПИТ - предмет, дату проведення іспиту, екзаменаторів.

Для інформаційного опису суті вводиться поняття атрибута.

Атрибут - пойменоване властивість (характеристика) сутності. Атрибут представляє собою інформаційне відображення властивості сутності і набуває конкретного значення з безлічі допустимих значень. Так, наприклад, для сутності ФАКУЛЬТЕТ атрибут "назва" у конкретного екземпляра сутності набуває конкретного значення "обчислювальної математики і кібернетики". Таким чином, атрибут представляє інформаційне опис кількісних або якісних властивостей сутності, описує стан суті, дозволяє ідентифікувати сутність. Інформація про сутність представляється сукупністю атрибутів. Таку сукупність атрибутів часто називають записом про об'єкт.

Сукупність сутностей, що характеризуються в інформаційній системі одним і тим же переліком властивостей, називається класом сутностей (набором об'єктів). Так, наприклад, сукупність всіх сутностей СТУДЕНТ становить клас сутностей СТУДЕНТ, сукупність всіх сутностей ФАКУЛЬТЕТ становить клас сутностей ФАКУЛЬТЕТ. Клас сутностей описується переліком властивостей сутностей, що становлять цей клас.

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

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

Приклад класу сутностей СТУДЕНТ і конкретного екземпляра сутності показаний на рис. 5.1


Мал. 5.1. Клас сутностей і екземпляр сутності

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

Клас зв'язків може зачіпати кілька класів сутностей. Число класів сутностей. що беруть участь в зв'язку, називається ступенем зв'язку n = 2, 3. Так, наприклад, клас сутностей СТУДЕНТ пов'язаний з класом сутностей ФАКУЛЬТЕТ зв'язком "вчиться на факультеті". Ступінь зв'язку з цим дорівнює двом. При n = 2 зв'язок називається бінарною. Зауважимо, що зв'язок потрібно розглядати як двосторонню: "студент вчиться на факультеті" і "на факультеті навчаються студенти". Розглянемо класифікацію бінарних зв'язків. Залежно від того, скільки примірників сутності одного класу пов'язані зі скількома примірниками суті іншого класу, розрізняють наступні типи зв'язків:

  • Зв'язок 1: 1. Одиночний екземпляр сутності одного класу пов'язаний з одиночним екземпляром сутності іншого класу. Прикладом є зв'язок між класами сутностей ФАКУЛЬТЕТ і НАВЧАЛЬНИЙ ПЛАН ПО СПЕЦІАЛЬНОСТІ ДЛЯ ФАКУЛЬТЕТУ (кожному факультету відповідає свій навчальний план за спеціальністю або напрямку).
  • Зв'язок 1: M. Єдиний екземпляр сутності одного класу пов'язаний з багатьма екземплярами сутності іншого класу. Прикладом є зв'язок між класами сутностей ФАКУЛЬТЕТ і СТУДЕНТ (на одному факультеті навчаються багато студентів).
  • Зв'язок M: N. Кілька примірників сутності одного класу пов'язані з декількома екземплярами сутності іншого класу. Прикладом є зв'язок між класами сутностей ФАКУЛЬТЕТ і СПЕЦІАЛЬНІСТЬ (на факультеті може бути кілька спеціальностей і одна і та ж спеціальність може бути на кількох факультетах).

Числа, що описують типи бінарних зв'язків (1: 1, 1: M, M: N), позначають максимальну кількість сутностей на кожній стороні зв'язку. Ці числа називаються максимальними кардинальними числами, а відповідна пара чисел називається максимальною кардинально.

В даному посібнику на ER-діаграмах зв'язку між сутностями будемо позначати стрілками, поруч зі стрілками вказуємо ім'я зв'язку. а також тип зв'язку. Приклад ER-діаграми. представляє суті СТУДЕНТ, ФАКУЛЬТЕТ, СПЕЦІАЛЬНІСТЬ і їх взаємозв'язку наводиться на рис. 5.2.

Нагадаємо, що кожен екземпляр сутності повинен унікально ідентифікуватися (мати унікальний ідентифікатор). Так як можуть бути кілька студентів з однаковим прізвищем, введемо додатковий атрибут "код студента". У сутностей ФАКУЛЬТЕТ і СПЕЦІАЛЬНІСТЬ атрибут "номер" є унікальним ідентифікатором.


Мал. 5.2. Приклад фрагмента ER-діаграми

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

Схожі статті