Разница между диаграммой ER и диаграммой EER - PullRequest
23 голосов
/ 28 марта 2012

В чем разница между ERD (диаграмма взаимосвязей сущностей) и EERD (улучшенная диаграмма взаимосвязей сущностей)?

Ответы [ 3 ]

30 голосов
/ 31 июля 2013

Модель сущности-отношения

У вас есть отношения ( источник изображения )

example for an relationship

и атрибуты ( источник изображения )

example for an attribute

, которые также могут быть первичными ключами ( источник изображения )

example for an primary key

Усовершенствованная модель сущности-отношения

У вас так же, как с моделью ER плюс

специализация

enter image description here

разбиение (которые являются несколькими специализациями)

обобщение

1037 * агрегации *

ключи аннотируются по-разному:

enter image description here

4 голосов
/ 01 июля 2015

Основными функциями, добавленными в Enhanced ER Model, являются специализация / обобщение и объединения.Из этих Gen-spec чаще всего встречаются ответы на вопросы Stackoverflow.

Gen-spec является аналогом в моделировании ER класса-подкласса в моделировании объектов.Пример для иллюстрации: автомашина может представлять собой автомобиль или грузовик.Такая функция, как грузовое пространство, относится к грузовику, но не к автомобилю.Таким образом, есть функции, которые применяются к обобщенной сущности, но также есть функции, которые применяются только к одной из специализаций.

Очень часто люди приходят сюда с вопросом о дизайне таблицы для случая генерации.спекуляцияНо они не признают это как таковое, потому что они никогда не знакомились с ген-спецификацией в своем начальном образовании о базах данных.

Еще один способ сказать, что их учили, как моделировать и реализовывать отношения "имеет", а не как моделировать и реализовывать отношения "есть".

4 голосов
/ 01 июля 2015

Я бы добавил, что модель ER - это базовая модель, в которой есть все, что вам нужно для реляционной алгебры, как есть (включая иерархию ISA - невнимательность и другие вещи, которые я не помню). И является более абстрактным (поэтому каждый блок не обязательно должен быть таблицей базы данных, а наоборот, некоторые блоки могут быть больше 1 таблицы)

Модель EER ближе к тому, как выглядит реальная база данных. Таким образом, каждая коробка на самом деле является таблицей.

Я предполагаю, что принятый ответ также верен, но, по моему мнению (нигде не читал об этом, я просто думаю, что именно так), EER был создан, чтобы помочь людям создавать базы данных даже больше, чем базовая реляционная алгебра. Реляционная алгебра с ER дает вам все, что вам нужно для моделирования базы данных, но вам нужен какой-то компилятор, который будет преобразовывать иерархии и отношения ISA в реальные таблицы, а с EER вы получите то, что видите. Я использовал оба для разработки таблиц - ER более логичен, потому что он абстрагирует вас от таких вещей, как наследование, так как вы просто говорите своему инструменту ER, что я хочу, чтобы это наследовало от этого, и вам не нужно создавать 2 таблицы. Но EER лучше, потому что вы видите, что вы получаете.

Вывод: ER - основной принцип, EER - немного лучший инструмент для реальной работы с меньшим количеством абстракций.

(Мои теоретические знания по реляционной алгебре слишком ржавые, поэтому я надеюсь, что я все помню правильно, поправьте меня, если я ошибаюсь)

...