null

ERD: особенности

О чем эта статья?

Почти в каждом приложении, сервисе, веб приложении требуется реляционная база данных. Зачастую ее построение начинается после определения предметной области, ведь это логическое продолжение. Без предметной области мы не будем знать что хранить в базе данных, а имея полноценную предметную область, мы можем уже начинать представлять какие будут отношения, какие будут аттрибуты и какие будут связи между отношениями. Однако, этот процесс можно облегчить благодаря ER диаграммам (сокращенно ERD). Построив верно данную диаграмму, перенос ее в реальную базу не составит труда. Но что означает построить диаграмму верно? Давайте разберемся.

Основная часть

 

Entity-Relationship diagrams (ERD) - модель данных, позволяющая описывать концептуальные схемы предметной области. ER-модель используется при высокоуровневом проектировании баз данных. С её помощью можно выделить ключевые сущности и обозначить связи, которые могут устанавливаться между этими сущностями. Согласно архитектуре ANSI-SPARC соотвествует концептуальному (промежуточному) уровню системы, что позволяет переиспользовать данные диаграммы для любой реляционной СУБД. В ERD не указываются типы данных у аттрибутов, не раскрываются таблицы связи для связей типа many-to-many, однако, могут указываться ключи (PK, FK), а также указываться особые типы связи. 

Что же это за особые типы связей?

One - стандартная связь, означающая, что экземплярам одной сущности соответствует 1 экземпляр другой сущности.

Many - стандартная связь, показывающая неопределенность, ведь экземплярам одной сущности соответствует 0, 1 или множество экземпляров другой сущности.

One (and only one) - самый интересный вид связи, ведь он уникален. Данный тип связи означает, что связь уникальна и другой экземпляр никогда не может быть связан с этим экземпляром. Давайте приведем пример: существует модель Student и модель UniversityId. Таким образом связь между этими моделями будет обоюдосторонее one (and only one), ведь Id одного студента не может быть назначен другому.

Zero or one - связь, показывающая, что экземплярам одной сущности соответствует 0 или 1 экземпляр другой сущности, что означает, что экземпляр со стороны zero or one может и не существовать.

One or many - связь, показывающая, что экземплярам одной сущности соответствует 1 или множество экземпляров другой сущности, что означает, что хотя бы один экземпляр со стороны one or many всегда существует.

Zero or many - связь, показывающая, что экземплярам одной сущности соответствует 0, 1 или множество экземпляров другой сущности, что означает, что экземпляр со стороны zero or many может и не существовать.

Заключение

Таким образом мы разобрали типы связей в ERD, разобрались зачем нужны ERD, однако помимо связей, существуют еще нормальные формы, из которых важно соблюдать первые 3 и НФБК. Про нормальные формы информацию можно найти в интернете.