Модел на диаграма на връзката между обекти (ER) с пример за СУБД
⚡ Умно обобщение
Модел на диаграма на обектно-връзковата връзка (ER) с пример за СУБД илюстрира структуриран метод за визуално представяне на данни и техните взаимовръзки в релационни бази данни. Предложен от Питър Чен, той предоставя основа за концептуално моделиране, за да се дефинират точно обекти, атрибути, взаимоотношения и техните кардиналности.

Какво е ER диаграма?
Диаграмата на обекти и връзки (ER) е мощен визуален инструмент за проектиране на релационни структури на бази данни. Предложена за първи път от Питър Чен през 1976 г., тя предоставя основа за концептуално моделиране, която дефинира обекти, атрибути, връзки и техните кардиналности с прецизност. Този урок обхваща всичко - от основни концепции до напреднали техники, помагайки ви да овладеете проектирането на схеми на бази данни.
ER диаграмите съдържат различни символи, които използват правоъгълници за представяне на обекти, овали за дефиниране на атрибути и ромбовидни форми за представяне на взаимоотношения.
На пръв поглед ER диаграмата изглежда много подобна на блок-схема. ER диаграмата обаче включва много специализирани символи и нейните значения правят този модел уникален. Целта на ER диаграмата е да представи инфраструктурата на рамката на обектите.

История на ER моделите
Питър Чен предлага ER диаграмата през 1976 г. в основополагащия си труд „Моделът обект-връзка: Към унифициран поглед върху данните“. Целта му е да създаде унифицирана конвенция, която може да се използва както за релационни бази данни, така и за мрежи. Чен си представя ER модела като концептуален подход за моделиране, който би преодолел разликата между реалните изисквания и техническата имплементация на бази данни.
Оттогава ER моделът се е развил с различни системи за нотация, включително нотация на Чен (оригиналната), нотация „Crow's Foot“ (популярна в съвременните инструменти) и UML-базирани подходи. Въпреки тези вариации, основните концепции остават последователни във всички реализации.
Защо да използваме ER диаграми?
ER диаграмите предоставят множество предимства за проектиране и разработване на бази данни:
- Визуална комуникация: Те предоставят ясно визуално представяне, което може да бъде разбрано както от технически, така и от нетехнически заинтересовани страни.
- План за развитие: Те показват точно как таблиците трябва да се свързват и какви полета ще съдържа всяка таблица.
- Готов за превод: ER диаграмите могат да бъдат директно преведени в релационни таблици, което ви позволява бързо да изграждате бази данни.
- Предотвратяване на грешки: Те помагат за идентифициране на недостатъци в дизайна и излишества преди внедряването, спестявайки време и ресурси.
- Документация: Те служат като трайна документация, която помага на новите членове на екипа да разберат архитектурата на системата.
- Системен анализ: Те помагат да се идентифицират всички обекти, които съществуват в системата, и връзките между тях.
Компоненти на ER диаграмата
Всяка ER диаграма е изградена от три основни компонента: Обекти, Атрибути и Връзки. Разбирането на всеки компонент и как те взаимодействат е от съществено значение за създаването на ефективни дизайни на бази данни.
Примери за ER диаграми
Например, в университетска база данни може да имаме обекти за студенти, курсове и преподаватели. Обектът „студент“ може да има атрибути като номер на ролна, име и идентификатор на катедра. Те могат да имат връзки с курсове и преподаватели.
образувания
Едно образувание представлява всеки обект от реалния свят – жив или нежив – който може да бъде ясно идентифициран и за който могат да се съхраняват данни. Това може да бъде физически предмет, факт за предприятието или събитие, което се случва в реалния свят. Обектите могат да включват хора, места, предмети, събития или понятия.
Примери за обекти по категория:
- Лице: Служител, Студент, Пациент, Клиент
- Място: Магазин, сграда, офис, склад
- обект: Машина, продукт, кола, книга
- Събитие: Продажба, регистрация, подновяване, транзакция
- концепция: Профил, Курс, Отдел, Проект
Набор от обекти
Множеството от обекти е група от подобни обекти, които споделят общи атрибути. Например, всички студенти в университет образуват множество от обекти „Студент“. Обектите се представят в ER диаграми с помощта на правоъгълници, като името на обекта е написано вътре.
Обектите са представени чрез своите свойства, които също се наричат атрибути. Всички атрибути имат свои отделни стойности. Например, обект „студент“ може да има име, възраст и клас като атрибути.
Силни обекти срещу слаби обекти
Обектите се класифицират като силни или слаби въз основа на способността им да съществуват самостоятелно. Разбирането на това разграничение е от решаващо значение за правилното проектиране на база данни.
Силният обект има свой собствен първичен ключ и може да съществува независимо. Например, обект „Студент“ може да бъде уникално идентифициран чрез Student_ID, без да зависи от друг обект.
Слабият обект няма собствен първичен ключ и зависи от силен обект (наречен обект-собственик) за своята идентификация. Той използва частичен ключ (дискриминатор), комбиниран с първичния ключ на собственика, за да постигне уникалност. Например, в банкова система обектът „Транзакция“ зависи от обекта „Сметка“ – самият номер на транзакцията не е уникален в цялата база данни, но в комбинация с номера на сметката той става уникален.
| Силен обект | Слаба същност |
|---|---|
| Има собствен първичен ключ | Няма първичен ключ; използва частичен ключ |
| Представено от един правоъгълник | Представено с двоен правоъгълник |
| Първичният ключ е подчертан с плътна линия | Частичният ключ е подчертан с пунктирана линия |
| Може да съществува независимо | Зависи от собственика на организацията за съществуване |
| Свързана с връзка с един диамант | Свързан с двоен диамант (идентифицираща връзка) |
| Пример: Студент, Служител, Продукт | Пример: Транзакция, Зависим, Артикул_на_поръчка |
Връзка
Връзката представлява асоциация между две или повече обекта. Връзките обикновено се идентифицират с помощта на глаголи или глаголни фрази, които описват как обектите взаимодействат помежду си. В ER диаграмите връзките се представят с помощта на ромбовидни форми. Пример: Том работи в катедрата по химия.
Субектите участват във взаимоотношенията. Често можем да идентифицираме връзки с глаголи или глаголни фрази.
Примери:
- Вие присъствате на тази лекция
- Аз изнасям лекцията
- Студент присъства на лекция
- Лектор изнася лекция
Атрибути
Атрибутът е свойство или характеристика, която описва обект или връзка. Атрибутите предоставят подробна информация, която прави всеки екземпляр на обект уникален и смислен. В ER диаграмите атрибутите се представят с помощта на овали (елипси), свързани с родителския им обект чрез линия.
Например, обект „Студент“ може да има атрибути като „Идентификатор на студент“, „Име“, „Дата на раждане“, „Имейл“ и „Телефонен номер“.
Видове атрибути
| Тип атрибут | Descriptйон | Пример |
|---|---|---|
| Просто (Atomич) | Не може да се раздели допълнително на по-малки компоненти | Телефонен номер, социалноосигурителен номер, имейл |
| Комбиниран | Може да се раздели на по-малки под-атрибути | Пълно име (собствено, презиме, фамилия), адрес (улица, град, пощенски код) |
| извлечен | Стойността се изчислява от други атрибути; не се съхранява директно | Възраст (получена от датата на раждане), Обща цена |
| Многозначни | Може да съдържа множество стойности за един обект | Телефон Numbers, Имейл адреси, Умения |
| Ключов атрибут | Уникално идентифицира всеки екземпляр на обект (първичен ключ) | Студентски_идентификатор, Служител_идентификатор, ISBN |
Ключов съвет: В ER диаграмите ключовите атрибути са показани с подчертани имена. Производните атрибути са показани с пунктирани овали, а многозначните атрибути са показани с двойни овали.
Кардиналност (типове взаимоотношения)
Кардиналността определя числовите ограничения на една връзка – по-специално, колко екземпляра на един обект могат да бъдат свързани с екземпляри на друг обект. Разбирането на кардиналността е от съществено значение за проектирането на ефективни структури на бази данни.
1. Индивидуално (1:1)
Един обект от множество А може да бъде асоцииран с най-много един обект от множество B и обратно.
Пример: На един студент е присвоен точно един студентски идентификатор и всеки студентски идентификатор принадлежи на точно един студент.
2. Едно към много (1:N)
Един обект от множество А може да бъде асоцииран с множество обекти от множество Б, но всеки обект в Б е асоцииран само с един обект в А.
Пример: Един клас се състои от няколко ученици.
3. Много към едно (N:1)
Множество обекти от множество А могат да бъдат асоциирани с един обект от множество Б.
Например, много ученици принадлежат към един и същи клас.
4. Много към много (M:N)
Множество обекти от множество А могат да бъдат асоциирани с множество обекти от множество Б и обратно.
Например Студентите като група са свързани с множество членове на преподавателския състав, а членовете на преподавателския състав могат да бъдат свързани с множество студенти.
Символи и нотации на ER диаграмата
ER диаграмите използват стандартизирани символи за представяне на различни компоненти. Въпреки че има няколко системи за нотация, двете най-широко използвани са нотацията на Чен и нотацията „Crow's Foot“.
Нотация на Чен
Нотацията на Чен, разработена от Питър Чен през 1976 г., използва геометрични фигури за представяне на различни елементи:
| символ | Име | Представлява |
|---|---|---|
| Правоъгълник | Единица | Силен обект (напр. Студент, Продукт) |
| Double Правоъгълник | Слаба същност | Обект, зависим от друг (напр. Транзакция) |
| Елипса/Овал | Атрибут | Свойство на обект (напр. име, идентификатор) |
| Double Елипса | Многозначен атрибут | Атрибут с множество стойности (напр. Телефон Numbers) |
| Пунктирана елипса | Производен атрибут | Изчислена стойност (напр. Възраст от датата на раждане) |
| диамант | Връзка | Асоциация между обекти (напр. Записвания) |
| Double диамант | Идентифициране на връзката | Връзка със слаб обект |
| Линия | връзка | Свързва компонентите заедно |
| Подчертан текст | Първичен ключ | Уникален идентификатор за обект |
Нотация „Пави крак“
Нотацията „Crow's Foot“ (наричана още IE Notation) се използва по-често в съвременните инструменти за проектиране на бази данни. Тя използва различни крайни точки на редовете, за да представи кардиналността и е особено ефективна за показване на страната „много“ на релациите.
| символ Descriptйон | Значение |
|---|---|
| Единична вертикална линия (|) | Задължително Едно (точно едно) |
| Кръг с линия (O|) | Незадължително Едно (нула или едно) |
| Пачи крак с линия (>|) | Задължително Много (едно или повече) |
| Пачи крак с кръг (>O) | Незадължително Много (нула или повече) |
Нотация на Чен срещу „Пави крак“: Кога да използваме всяка от двете
| Аспект | Нотация на Чен | Нотация „Пави крак“ |
|---|---|---|
| Най-добър за | Концептуално моделиране, академична употреба | Физическо/логическо моделиране, употреба в индустрията |
| Показване на атрибути | Показва всички атрибути визуално | Изброява атрибути вътре в полето за обект |
| кардиналност | Използва числа (1, N, M) | Използва визуални символи |
| Сложност | Може да се претрупа | По-компактен и по-чист |
| Поддръжка на инструменти | Ограничена поддръжка на съвременни инструменти | Широко поддържан в инструментите |
Как да създадете диаграма на връзката между обекти (ERD)
В този урок за ER диаграма (ERD) ще научим как да създадем ER диаграма. Следват стъпките за създаване на ER диаграма:
Нека ги проучим с примерна диаграма на връзката между обекти:
В университета студентът се записва в курсове. Студентът трябва да бъде назначен в поне един курс. Всеки курс се води от един професор. За да се поддържа качеството на обучението, един професор може да преподава само един курс.
Стъпка 1) Идентификация на обекта
Имаме три образувания:
- Студент
- Курс
- Професор
Стъпка 2) Идентифициране на връзката
Имаме следните две взаимовръзки:
- Ученикът е възложени курс
- Професорът доставя курс
Стъпка 3) Идентификация на кардиналността
От формулировката на проблема знаем, че:
- Може да бъде назначен ученик множествена курсове
- Професор може да доставя само един курс
Стъпка 4) Идентифицирайте атрибутите
Трябва да проучите файловете, формулярите, отчетите и данните, които организацията поддържа в момента, за да идентифицирате атрибути. Можете също така да проведете интервюта с различни заинтересовани страни, за да идентифицирате обекти. Първоначално е важно да идентифицирате атрибутите, без да ги свързвате с конкретен обект.
След като имате списък с атрибути, трябва да ги съпоставите с идентифицираните обекти. Уверете се, че даден атрибут е сдвоен с точно един обект. Ако смятате, че даден атрибут трябва да принадлежи на повече от един обект, използвайте модификатор, за да го направите уникален.
След като картографирането е направено, идентифицирайте първичните ключове. Ако уникален ключ не е лесно достъпен, създайте такъв.
| Единица | Първичен ключ | Атрибут |
|---|---|---|
| Студент | Student_ID | Име на ученик |
| Професор | Employee_ID | име на професор |
| Курс | Course_ID | Име на курса |
За обект на курс, атрибутите могат да бъдат Продължителност, Кредити, Задачи и др. За улеснение сме разгледали само един атрибут.
Стъпка 5) Създаване на ERD
По-модерно представяне на пример за диаграма на обект-връзка:
Най-добри практики за ефективни ER диаграми
Следвайте тези указания, за да създадете ясни, лесни за поддържане и ефективни ER диаграми:
- Премахване на излишествата: Премахнете дублиращи се обекти, атрибути или връзки.
- Използвайте ясни конвенции за именуване: Използвайте последователни, описателни имена. Избягвайте съкращения.
- Валидиране спрямо изискванията: Уверете се, че диаграмата поддържа всички нужди за съхранение на данни.
- Не го усложнявай: Създавайте множество диаграми на различни нива, вместо една претрупана диаграма.
- Използвайте цветовете пестеливо: Използвайте цветовете последователно, за да подчертаете категориите.
- Предположения за документа: Включете бележки, обясняващи допусканията относно бизнес правилата.
- Revмнение със заинтересованите страни: Накарайте бизнес потребителите и техническия екип да прегледат диаграмата.
- Контрол на версиите: Поддържайте версиите, докато дизайнът се развива.
ER диаграми срещу UML диаграми на класове
Въпреки че както ER диаграмите, така и UML диаграмите на класове се използват за моделиране на данни, те служат за различни цели и контексти. Разбирането кога да се използва всяка от тях е важно за ефективното проектиране на системата.
| Аспект | ER диаграма | Диаграма на UML класове |
|---|---|---|
| Основна цел | Дизайн на база данни | Софтуерен/обектен дизайн |
| Фокус | Данни и взаимоотношения | Обекти, методи и поведения |
| Методи/Operaции | Не се поддържа | Напълно поддържан |
| наследяване | Ограничено (само в EER) | Пълна подкрепа |
| Използване в индустрията | Администратори на бази данни, анализатори на данни | Софтуерни разработчици, архитекти |















