Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

12. клас · Модул 3 · Урок 6

Модел обект-взаимодействие (ER модел)

Свойства, обекти, идентификатори, взаимодействия и кардиналност. Как се чете и рисува ER диаграма — с примера „онлайн магазин“.

Защо още един модел

В релационните БД лежащият отдолу модел е релационният — таблици и операции над тях (релационна алгебра: селекция, проекция, произведение…). Но преди да се създаде физическият модел, базата се проектира с по-абстрактния модел обект-взаимодействие (Entity-Relationship, съкратено ER).

ER моделът е семантичен модел от високо ниво — много по-близък до естествения език от релационния. Той описва кое какво е в базата и обяснява вида на връзките. Данните отново са в таблици; освен тях една БД съдържа и заявки, отчети, форми, процедури, макроси, но данните се съхраняват единствено и само в таблиците, наречени ядро на базата.

Принципи при проектиране

  • Всяка БД моделира реално съществуващ процес и реални обекти — физически (хора, машини, коли) или абстрактни (учебни предмети, договори, сметки, абонаменти).
  • Всяка БД има конкретна цел — един и същ обект се моделира различно според целта. Автомобил в ИС на застрахователна компания: обем на двигателя, мощност, възраст, изминати километри, цвят… За подземен паркинг: само превозно средство и регистрационен номер.
  • Моделът винаги е непълен образ на реалния обект — работата на проектанта е да прецени кои характеристики се отнасят към задачата и кои не (познатото ни ниво на абстракция).

Резултатът от ER моделирането е схема (blueprint), въз основа на която се проектира структурата на базата и функционалността на ИС.

Основни понятия

Свойство

Стойност, представляваща елементарна данна — може да се използва отделно. Свойството има тип, точно както променливите в програмирането.

Обект (Entity)

Нещо конкретно или абстрактно от реалния свят, което представлява интерес за моделираните процеси. Описва се като множество от свойства; всяко проявление с конкретни стойности наричаме екземпляр.

Идентификатор

Специално свойство, което отличава екземплярите един от друг — два екземпляра не може да имат един и същ идентификатор. Може да е просто (ISBN на книга, ЕГН) или сложно (комбинация от имена, дата на раждане и адрес).

Взаимодействие (връзка)

Връзка или отношение върху обектите, които свързва — „клиент има адрес“, „женен за / омъжена за“. Взаимодействието може да има собствени свойства (дата на сключване на брака), но НЕ може да има собствен идентификатор.

Кардиналност

Кардиналност — колко екземпляра на всеки обект могат да участват във взаимодействието:

ЛявоДясноОписаниеПример
11Едно към едноЧовек и неговото ЕГН
1NЕдно към многоЧовек и получените висши образования
MNМного към многоЧовек и прочетена от него книга
  • 1:1 — от двете страни стои не повече от един обект: един човек има точно едно ЕГН и едно ЕГН принадлежи на не повече от един човек.
  • 1:N — от едната страна един обект, от другата — няколко: човек може да няма висше образование, да има едно или няколко.
  • M:N — и от двете страни може да стоят повече от един: човек чете много книги; една книга се чете от много хора (или от никого).

Домейн

Домейн

Съвкупността от всички възможни стойности, които дадено свойство може да притежава.

ER диаграми и означения

Съществените елементи на ER диаграмата:

  • Обект — правоъгълник с името му.
  • Връзка — линия между два обекта с ромб по средата, в който е името на връзката. Кардиналността се изписва над линиите: 1, M, N.
  • Свойство — елипса, свързана с линия към обекта.
  • Идентификатор — елипса с подчертано име.

Пример: онлайн магазин. Клиентите купуват стоки; стоките имат цена и производител. Един клиент купува много стоки, една стока се купува от много клиенти (M:N). Един производител произвежда много стоки, но една стока има точно един производител (1:N).

Клиент
M
купува
N
Стока
N
произвежда
1
Производител
Фиг. 1. ER диаграма на онлайн магазин (свойствата са пропуснати за простота: Клиент има e-mail адрес; Стока — цена; Производител — име и държава)

Какво трябва да запомниш

  • ER = семантичен модел от високо ниво за ПРОЕКТИРАНЕ на базата.
  • Обект = множество от свойства; идентификаторът отличава екземплярите.
  • Взаимодействието може да има свойства, но НЕ и собствен идентификатор.
  • Кардиналност: 1:1, 1:N, M:N.
  • Домейн = всички възможни стойности на свойство — избира се с мисъл за бъдещето.
  • Диаграма: правоъгълник = обект, ромб = връзка, елипса = свойство, подчертано = идентификатор.