* Entity Relationship (ER) модел

Публикувано на 22 януари 2009 от Филип Петров. Записано в DB.


При проектирането на база данни първо се започва от анализ на предметната област. Нужно е първо да си изясним абстрактно семантиката на разглежданите обекти. В последствие се преминава и до изготвяне на конкретният им модел и връзката им с конкретни типове данни.

ER модела е един от известните семантични модели за бази данни. Характерно за него е използването на графично представяне на базата данни, чрез „ER диаграма“. Една ER диаграма обикновено съдържа следните компоненти:

1. Обект – това е наименованието на реален обект от предметната област, например ученик, учител, учебник, и т.н.

2. Клас обекти – множество от обекти, които имат сходни и общи свойства. Това са например всички ученици, всички учители, всички учебници, и т.н. В ER диаграма те се изобразяват като правоъгълници:

Класове обекти

3. Атрибути – това са свойствата на всеки обект в даден клас. Например всеки учител има ЕГН, име, пол, адрес, и т.н. Уникалното свойство за всеки обект, което еднозначно го идентифицира спрямо другите обекти в даден клас, се нарича „ключ“. Например за ученик от даден клас това може да бъде неговия номер, за студент от университет това може да е неговия факултетен номер, и т.н. За всеки клас обекти е задължително да съществува поне един ключ, за да може да бъдат обектите „различими“ един от друг. Възможно е да има повече от един отличителен атрибут за даден клас обекти. В ER диаграмата атрибутите се изобразяват като елипси:

Атрибути

4. Връзки – използват се за свързване на различни обекти от един или различни класове. Например се осъществява връзка когато един учител започне да преподава на даден клас ученици, когато някой служител на фирма бъде назначен в даден отдел, и т.н. Връзките също се характеризират със свойства и също характеризират обектите. В ER диаграмата се изобразяват чрез ромб. Има три основни типа връзки:

4.1. Връзка 1:1 се получава когато един обект от даден клас е свързан с точно един обект от друг клас.

Връзка 1:1

4.2. Връзка 1:M (едно към много) се получава когато един обект от даден клас може да има повече от една връзка с обекти от друг клас, но обект от другия клас може да има само една връзка с обект от дадения.

Връзка 1:M

4.3. Връзка M:M (много към много) се получава когато обект от даден клас има повече от една връзка с обекти от друг клас и обект от другия клас има повече от една връзка с обекти от дадения.

Връзка M:M

5. Характеризиращ обект – това са обекти от предметната област, чието съществуване е невъзможно самостоятелно. Например учебните часове са характеризиращи обекти за учебната програма на даден предмет. В ER диаграмата обикновено се обозначават с двойна линия на правоъгълника.

Характеристичен обект

6. Подклас обекти – това са обекти, които притежават всички свойства на даден базов клас обекти, но имат допълнителни свои атрибути. Връзката между базов клас с негов подклас се изобразява с триъгълник.

Подклас

Обикновено при проектирането на ER диаграма първо се определят класовете обекти, след което техните връзки и накрая техните свойства.

Задача: Направете ER диаграма на база данни за университети, която съдържа:

- Име на университета и град в който се намира;
- Номер и име на факултетите в даден университет;
- Списък с преподавателите в даден факултет;
- Декан на факултета;
- Водени учебни предмети;
- Списък със студенти, записали даден учебен предмет;
- Списък на задочниците и фирмата, в която работят.

Решение:



5 коментара за “Entity Relationship (ER) модел”

 
  1. Иво написа:

    В горната ER диаграма от връзката между преподавател и предмет излиза че един преподавател може да води много учебни предмети. Не е ли по-логично един учебен предмет да бъде воден от много преподаватели, а един преподавател да води само един учебен предмет както е на практика. Оттам Преподавател:Предмет М:1

     
  2. Филип Петров написа:

    Ами въобще не си прав. Ще дам пример с доц. Гоцева – тя води Пик-2, Пик-3, БД и още куп други курсове, т.е. 1 преподавател води „М“ного предмети. В обратната страна – ами предмета „Бази Данни“ се води само от доц. Гоцева. Не може да има двама титуляри на един предмет.

     
  3. Иво написа:

    Да, разбирам. Бях си представил C,C++,Java,DB…=Компютри и оттам многото преподаватели по компютри, без да има титуляр между тях, и си представих че Д. Гоцева не преподава по Химия. Спирам да философствам :) Със здраве!

     
  4. Петя Маркова написа:

    Според мен това е хем така хем иначе:) няма да давам досадни примери от ТУ , но действително си има доста титуляри на различни предмети.Така че просто ER диаграмата може да е и с 1:М и М:М.Толкова! Асистент Петров, може ли съвет на кои теми да обърнем най-голямо внимание за контролното по БД?

     
  5. Филип Петров написа:

    Не бих могъл да кажа, че има някоя тема, която да е маловажна. Можете да пропуснете темите, които са свързани с потребители, права и привилегии. Наблегнете на SELECT заявките много и научете CREATE TABLE перфектно.

     

Trackback URI | RSS за коментарите

Пусни коментар