Er диаграмма пример школа

Обновлено: 05.07.2024

Модель сущность-связь (Entity-Relationship, ER) применяется для моделирование предметной области (разработки словаря системы) и логической структуры базы данных.

В этой статье вас никто не будет пытаться убедить что предметную область надо моделировать, а базу данных — проектировать. Вы не научитесь проектировать БД, проектирование — большая и сложная тема для других статей. Не будет тут никаких открытий и откровений.

Цель статьи — помочь в ситуации, когда по каким-то причинам вам нужно построить ER-диаграмму, но вы не знаете как это правильно сделать.

ER-модель описывает сущности и отношения между ними с использованием графической нотации. Сущности содержат атрибуты (свойства). Например, если вы разрабатываете систему для спортивных клубов — то:

Проблемы с разработкой ER-модели возникают потому что:

  • Существует несколько нотаций, но нет единого стандарта (системы обозначений) для ER-модели:
    • В старых книгах чаще всего встречается нотация Чена, на мой взгляд это наименее удобный способ, кроме того, мне не удалось найти нормальных инструментов для построения диаграмм в этой нотации.
    • Можно натолкнуться на нотацию Бахмана, нотацию min-max и ряд других. Встречаются они достаточно редко, стандарта на них нет, говорить про них не будем.
    • Нотация IDEF1X, нотация диаграммы классов UML, нотация Мартина (вороньи лапки). Все эти три нотации очень часто встречаются и используются. Есть инструменты, в которых их удобно строить.

    1 Основные возможности. Нотация Чена

    В качестве единственного примера этой нотации рассмотрим ER-диаграмму базы кинотеатра из соседней статьи [Chen_model]. Кстати, в статье описан процесс проектирования структуры БД.


    В этой нотации сущность отображается прямоугольником, ее атрибуты — овалами, а отношения между сущностями — ромбами. Имена ключевых атрибутов подчеркиваются. На дугах можно проставить арности (кратности) связей, а также ограничения типа « film и screening . Это ошибка, ведь один фильм в кинотеатре показывается много раз и в разных залах. Еще одна ошибка — один кассир продает лишь один билет. Скорее всего вы не заметили эти ошибки так как даже диаграмма для сильно упрощенной системы оказалась перегружена и сработал закон Миллера. Попробуйте найти эти же недочеты на диаграмме в нотации Миллера.


    Ключевые поля на диаграмме помещаются в верхнюю секцию прямоугольника, видно что у Билета используется составной ключ. Кроме того, эта нотация позволяет описать типы полей (у Чена только названия).

    3 Нотация диаграммы классов UML

    Нотация Мартина во многом похожа на нотацию диаграммы классов UML, ознакомиться с которой можно в статье [UML_class]. Однако, ее применение для моделирования предметной области и структуры БД имеет ряд особенностей:

    • сущности и их свойства изображаются точно также как в нотации Мартина (прямоугольник с секциями). Нижняя (третья) секция символа класса часть остается пустой, так как она предназначена для записи функций класса, однако иногда в нее помещают описание индексов и триггеров БД со стереотипами > и .
    • используется очень маленькое подмножество системы обозначений, так как для предметной области не имеют особого смысла виртуальные функции, абстрактные классы, статические поля, агрегация, закрытое наследование, …;
    • обычно возникает потребность в отображении ограничений, для этого используются стереотипы (первичный ключ), > (внешний ключ) и


    Диаграмма классов активно используется при объектно-ориентированном проектировании и для ее построения существует множество инструментов. Это очень удобно если вы при изучении программирования уже успели познакомиться с нотацией диаграммой классов. В качестве ER-модели эта ноация исопльзуется, например, в инструментах серии Rational от IBM. Самое главное отличие этой нотации от предыдущих — на нее существует международный стандарт [UML_ISO_1, UML_ISO_2]. Дополнительно рекомендую прочитать статью [ER_Krivishein], так как мной были упущены некоторые аспекты — например, особенности использования агрегации и наследования на этих диаграммах (лично я считаю, что в 99% случаев они будут лишними).

    4 Нотация IDEF1X

    Существует масса других нотаций, которые от описанных выше отличаются системой обозначений и лишь в редких случаях вносят какие-либо новые возможности. Рассматривать их нет никакого смысла. Однако, нельзя не упомянуть про IDEF1X так как на него существует международный стандарт [IDEF1X_ISO]. Очень хороший материал по использованию этого стандарта приведен в [Anisimov_IDEF1X].

    Из неприятного, в стандарте IDEF1X исопльзуются символы и типы связей, не поддерживаемые многими инструментальными средствами. Инструмент ERwin Data Modeler целиком и полностью посвящен моделированию БД с исопльзованием IDEF1X. При этом ERwin работает только под Windows и имеет проприетарную лицензию.

    На мой взгляд, наиболее удобные инструментальные средства используют нотации Мартина или UML. Я рекомендую выбирать для работки модели одну из этих двух нотаций исходя из того, насколько вам важна стандартизация — на UML есть стандарт, а на нотацию Мартина нет.

    Предметная область — фитнес-индустрия. Цель заказчика — разработка платформы для удаленных тренировок. Основные шаги построения ER-диаграммы:

    1. Добавление сущностей
    2. Добавление связей и их настройка
    3. Добавление атрибутов

    В данном занятии ER-диаграмма составляется в Microsoft Visio на основе описания заказчика. Используется тип диаграммы Crow's Food database notation



    На ER-диаграмме сущность изображается в виде прямоугольника, внутри которого содержится имя сущности в форме существительного в единственном числе



    ENTITY RELATIONAL (ER) MODEL — это концептуальная модель модели данных высокого уровня. ER моделирование помогает систематически анализировать требования к данным для создания хорошо спроектированной базы данных. Модель сущности-отношения представляет сущности реального мира и отношения между ними. Лучше всего завершить моделирование ER перед внедрением вашей базы данных.

    ER моделирование помогает систематически анализировать требования к данным для создания хорошо спроектированной базы данных. Таким образом, считается наилучшей практикой завершить моделирование ER перед внедрением вашей базы данных.

    В этом уроке вы узнаете

    История моделей ER

    Диаграммы ER являются визуальным инструментом, который полезен для представления модели ER. Питер Чен в 1971 году предложил создать единое соглашение, которое можно использовать для реляционной базы данных и сети. Он стремился использовать модель ER в качестве концептуального подхода к моделированию.

    Что такое ER диаграммы?

    ДИАГРАММА ENTITY-RELATIONSHIP (ERD) отображает отношения набора сущностей, хранящиеся в базе данных. Другими словами, мы можем сказать, что ER-диаграммы помогут вам объяснить логическую структуру баз данных. На первый взгляд диаграмма ER выглядит очень похоже на блок-схему. Однако ER-диаграмма включает в себя множество специализированных символов, и ее значения делают эту модель уникальной. Цель ER Diagram — представить инфраструктуру структуры объекта.

    Пример ER-диаграммы

    Факты о ER Diagram Model:

    • ER модель позволяет рисовать Database Design
    • Это простой в использовании графический инструмент для моделирования данных
    • Широко используется в дизайне баз данных
    • Это GUI представление логической структуры базы данных
    • Это помогает вам идентифицировать сущности, которые существуют в системе, и отношения между этими сущностями.

    Зачем использовать ER диаграммы?

    Вот основные причины использования диаграммы ER

    • Помогает вам определить термины, связанные с моделированием отношений сущностей
    • Предоставьте предварительный просмотр того, как все ваши таблицы должны соединиться, какие поля будут на каждой таблице
    • Помогает описать сущности, атрибуты, отношения
    • ER-диаграммы переводятся в реляционные таблицы, что позволяет быстро создавать базы данных.
    • ER-диаграммы могут быть использованы разработчиками базы данных в качестве образца для реализации данных в конкретных программных приложениях.
    • Разработчик базы данных получает лучшее понимание информации, которая будет содержаться в базе данных с помощью диаграммы ERP
    • ERD позволяет общаться с логической структурой базы данных пользователям

    Компоненты ER-диаграммы

    Эта модель основана на трех основных понятиях:

    • юридические лица
    • Атрибуты
    • Отношения

    пример

    Например, в базе данных университета у нас могут быть объекты для студентов, курсов и лекторов. Студенческая сущность может иметь такие атрибуты, как Rollno, Name и DeptID. Они могут иметь отношения с курсами и лекторами.


    Что такое сущность?

    Реальная вещь, живая или неживая, легко узнаваемая и неузнаваемая. Все, что есть на предприятии, должно быть представлено в нашей базе данных. Это может быть физическая вещь или просто факт о предприятии или событие, которое происходит в реальном мире.

    Примеры сущностей:

    • Человек: работник, студент, пациент
    • Место: Магазин, Здание
    • Объект: машина, продукт и автомобиль
    • Событие: продажа, регистрация, продление
    • Концепция: Аккаунт, Курс

    Набор сущностей:

    Набор сущностей — это группа сущностей подобного типа. Он может содержать объекты с атрибутами, имеющими сходные значения. Сущности представлены своими свойствами, которые также называются атрибутами. Все атрибуты имеют свои отдельные значения. Например, учащийся может иметь имя, возраст, класс в качестве атрибутов.


    Пример сущностей:

    В университете может быть несколько кафедр. Все эти кафедры нанимают различных преподавателей и предлагают несколько программ.

    Некоторые курсы составляют каждую программу. Студенты регистрируются в определенной программе и записываются на различные курсы. Преподаватель из конкретного отдела проходит каждый курс, и каждый преподаватель преподает различные группы студентов.

    отношения

    Отношения — это не что иное, как объединение двух или более сущностей. Например, Том работает в химическом отделе.


    Сущности принимают участие в отношениях. Мы часто можем определить отношения с глаголами или глагольными фразами.

    Например:

    • Вы посещаете эту лекцию
    • Я читаю лекцию
    • Просто взглянув на сущности, мы можем классифицировать отношения по типам отношений:
    • Студент посещает лекцию
    • Лектор читает лекцию.

    Слабые Сущности

    Слабый объект — это тип объекта, который не имеет своего ключевого атрибута. Его можно однозначно идентифицировать, рассматривая первичный ключ другого объекта. Для этого слабые наборы сущностей должны иметь участие.


    Давайте узнаем больше о слабой сущности, сравнив ее с сильной сущностью

    Сильный набор сущностей Слабая сущность
    Сильный набор сущностей всегда имеет первичный ключ. У него недостаточно атрибутов для создания первичного ключа.
    Он представлен символом прямоугольника. Он представлен двойным прямоугольным символом.
    Он содержит первичный ключ, представленный символом подчеркивания. Он содержит частичный ключ, который представлен штриховым символом подчеркивания.
    Член набора сильных сущностей называется множеством доминирующих сущностей. Член набора слабых объектов, называемый набором подчиненных объектов.
    Первичный ключ является одним из его атрибутов, который помогает идентифицировать его члена. В наборе слабых объектов это сочетание первичного ключа и частичного ключа набора сильных объектов.
    На диаграмме ER взаимосвязь между двумя сильными сущностями установлена ​​с помощью символа ромба. Связь между одним сильным и слабым набором сущностей показана с помощью символа двойного ромба.
    Соединительная линия сильной сущности, заданной отношениями, одинарная. Линия, соединяющая слабую сущность, установленную для идентификации отношений, является двойной.

    Атрибуты

    Это однозначное свойство типа сущности или типа связи.

    Например, лекция может иметь атрибуты: время, дата, продолжительность, место и т. Д.

    Атрибут представлен эллипсом


    Типы атрибутов Описание
    Простой атрибут Простые атрибуты не могут быть разделены дальше. Например, контактный номер студента. Это также называется атомным значением.
    Композитный атрибут Можно разбить составной атрибут. Например, полное имя студента может быть дополнительно разделено на имя, фамилию и имя.
    Производный атрибут Этот тип атрибута не входит в физическую базу данных. Однако их значения получены из других атрибутов, присутствующих в базе данных. Например, возраст не должен храниться напрямую. Вместо этого он должен быть получен из DOB этого сотрудника.
    Многозначный атрибут Многозначные атрибуты могут иметь более одного значения. Например, студент может иметь более одного номера мобильного телефона, адреса электронной почты и т. Д.

    мощность

    Определяет числовые атрибуты отношений между двумя сущностями или наборами сущностей.

    В этом разделе вы подробно познакомитесь с ER-диаграммами и моделями, их истоками, сферами применения, примерами, компонентами и ограничениями. Здесь же вы узнаете, как создать собственную ER-диаграмму на нашей платформе.

    Читается за 12 мин.

    Хотите создать собственную диаграмму? Попробуйте Lucidchart. Это быстро, легко и совершенно бесплатно.

    Что такое ER-диаграмма?

    В ER-моделях и моделях данных обычно выделяют до трех уровней детализации:

    • Концептуальная модель данных — схема наивысшего уровня с минимальным количеством подробностей. Достоинство этого подхода заключается в возможности отобразить общую структуру модели и всю архитектуру системы. Менее масштабные системы могут обойтись и без этой модели. В этом случае можно сразу переходить к логической модели.
    • Логическая модель данных содержит более подробную информацию, нежели концептуальная модель. На этом уровне определяются более подробные операционные и транзакционные сущности. Логическая модель не зависит от технологии, в которой она будет применяться.
    • Физическая модель данных: на основе каждой логической модели данных можно составить одну или две физических модели. В последних должно присутствовать достаточно технических подробностей для составления и внедрения самой базы данных.

    Обращаем ваше внимание на тот факт, что похожие уровни масштаба и детализации встречаются и в других видах схем (например, в диаграммах DFD), однако данная классификация отличается от трехсхемного подхода в разработке ПО, где деление информации осуществляется по несколько иному принципу. Правда, иногда разработчики применяют ER-диаграммы с дополнительными иерархиями, если дизайн базы данных требует больше информационных уровней. К примеру, разработчик может добавить новые группы по принципу расширения вверх (суперклассы) и вниз (подклассы).

    • Только реляционные данные. Следует четко понимать, что цель ER-диаграмм — показать связи и отношения между элементами, поэтому они отображают только реляционную структуру.
    • Только для структурированных данных. Данные должны быть четко разбиты на поля, столбцы и строки, иначе пользы от ER-диаграммы будет мало. Это касается и частично структурированных данных, так как только некоторые из них будут пригодны для работы.
    • Сложность интеграции с существующей базой данных. Применение ER-моделей для интеграции с существующей базой данных — непростая задача по причине различия в архитектурах.
    • Проектирование баз данных. ER-диаграммы применяются для моделирования и проектирования реляционных баз данных, причем как в плане логических и бизнес-правил (логические модели данных), так и в плане внедрения конкретных технологий (физические модели данных). В сфере разработки программного обеспечения ER-диаграмма, как правило, служит первым шагом в определении требований проекта по созданию информационных систем. На дальнейших этапах работы ER-диаграммы также применяются для моделирования конкретных баз данных. Реляционная база данных сопровождается соответствующей реляционной таблицей и при необходимости может быть представлена в этом формате.
    • Отладка баз данных. ER-диаграммы применяются для анализа уже имеющихся баз данных с целью выявить и устранить ошибки в логике или развертывании. Диаграмма позволяет выявить, где именно закрались ошибки.
    • Информационные системы для бизнеса. ER-схемы используются для проектирования и анализа реляционных баз данных, применяемых в бизнес-процессах. Реляционные базы данных могут пригодиться в любом бизнес-процессе, где задействованы данные, разбитые на поля, включая сущности, действия и взаимосвязи. Базы данных помогают оптимизировать процессы, извлекать данные и повышать качество результатов.
    • Реорганизация бизнес-процессов (BPR). ER-диаграммы помогают анализировать базы данных, применяемые при реорганизации бизнес-процессов и моделировании новых баз данных.
    • Образование. Базы данных — широко распространенный в наши дни способ хранения реляционной информации, применяемой в целях образования и для последующего извлечения данных, поэтому ER-диаграммы играют не последнюю роль в планировании подобных структур данных.
    • Исследовательская деятельность. Поскольку исследовательская работа во многом опирается на четко структурированные данные, ER-диаграммы играют ключевую роль в построении оптимальных баз данных для анализа информации.

    Символы и способы нотации ERD

    Символы ERD-сущностей

    Символ независимой сущности

    Символ зависимой сущности

    Сущность, которая зависит от сущности другого типа. Не сопровождается первичным ключом и не имеет значения в схеме без своей родительской сущности.

    Символ ассоциативной сущности

    Символы ERD-связей

    Символ

    Отношение между сущностями.

    Символ слабой связи

    Символы ERD-атрибутов

    ERD-атрибуты характеризуют сущности, позволяя пользователям лучше разобраться в устройстве базы данных. Атрибуты содержат информацию о сущностях, выделенных в концептуальной ER-диаграмме.

    Символ

    Характеризует сущность, а также отношения между двумя или более элементами.

    Символ многозначного атрибута

    Атрибут, которому может быть присвоено несколько значений.

    Символ производного атрибута

    Атрибут, чье значение можно вычислить, опираясь на значения связанных с ним атрибутов.

    Символ

    Отношение между сущностями.

    Символы физических ER-диаграмм

    Ключи

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

    Первичные ключи

    Первичный ключ — это атрибут или сочетание атрибутов, идентифицирующих один конкретный экземпляр сущности.

    Внешние ключи

    Внешний ключ создается каждый раз, когда атрибут привязывается к сущности посредством единичной или множественной связи.

    Пример внешнего ключа

    ERD-таблицы

    Создание диаграмм быстро и легко с Lucidchart. Начните бесплатную пробную версию сегодня, чтобы начать создавать и сотрудничать.

    Нотация ER-диаграмм

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

    Под кардинальностью подразумевается максимальное число связей, которое может быть установлено между экземплярами разных сущностей. Ординальность, в свою очередь, указывает минимальное количество связей между экземплярами двух сущностей.

    Кардинальность и ординальность отображаются на соединительных линиях согласно выбранному формату нотации.

    Нотация ER-диаграмм

    Как создать простую ER-диаграмму

    Фигуры ER-диаграмм

    2. Определитесь со связями (они показывают, как сущности взаимодействуют между собой)

    Фигуры связей внутри ER-диаграммы

    3. Добавьте атрибуты (они иллюстрируют конкретные характеристики сущности, фокусируя внимание на важной информации в контексте модели)

    4. Внесите последние штрихи

    Как создать ER-диаграмму в Lucidchart

    Lucidchart — онлайн-платформа, где удобно создавать схемы баз данных. Регистрируйтесь и пользуйтесь нашими услугами бесплатно! Достаточно завести учетную запись — и вы сможете тут же приступить к схематизации своих баз данных.

    Активация библиотек ERD-фигур

    Перетаскивание фигур

    Соединение фигур

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

    Дополнительные советы по созданию ER-диаграмм

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

    Избегайте лишних сущностей и связей.

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

    Сопровождайте все сущности и связи необходимыми ярлыками.

    Вы можете конвертировать реляционные таблицы в ER-диаграммы и обратно, если вам удобнее работать таким образом.

    Убедитесь, что ER-диаграмма поддерживает все виды данных, которые подлежат хранению.

    Шаблоны и примеры ER-диаграмм

    Шаблон ER-диаграммы базы данных

    Схема ER-диаграммы базы данных позволяет продемонстрировать, как сущности в пределах базы данных связаны между собой и какие атрибуты характеризуют каждую из них. На примере ниже показаны сущности в составе школьной системы.

    Шаблон ER-диаграммы заказа на покупку

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

    Шаблон ER-диаграммы для библиотеки

    Данный шаблон иллюстрирует обмен данными, который происходит, когда читатель берет книгу из библиотеки. Взглянув на эту диаграмму, любой участник проекта сможет с легкостью понять движение потока задействованных данных и эффективно с ним работать.

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

    Хотите создать собственную диаграмму? Попробуйте Lucidchart. Это быстро, легко и совершенно бесплатно.

    Читайте также: