Диаграмма классов представляет систему, использующую объектную модель. Диаграмма реляционной базы данных представляет собой систему данных, использующую реляционную модель. Существуют значительные различия между способами представления этих двух моделей одной и той же системы. И модель данных не моделирует поведение. Он только моделирует данные.
Однако существует система моделирования, которая находится на полпути между диаграммой классов и диаграммой отношений. Его называют диаграммой E-R, где E-R - сокращение от Entity-Relationship. В модели E-R весь предмет анализируется на «сущности», которые могут быть людьми, местами или вещами, которые имеют идентичность. Это могут быть даже нематериальные вещи, например, банковский счет. Отношения включают две или более сущностей и их утверждения об отношениях, которые составляют большую часть данных в базе данных. Значения данных являются экземплярами атрибутов, а атрибуты описывают либо сущности, либо отношения между сущностями.
Большинство диаграмм E-R, которые вы увидите в SO, действительно являются реляционными диаграммами, маскирующимися под ER-диаграммы. В истинной схеме ER внешние ключи отсутствуют, отношения многие ко многим могут быть изображены в виде одной линии, и такие вещи, как шаблоны gen-spec, выглядят почти так же, как в диаграммах классов. Фактически, ER-диаграмма может рассматриваться как проекция объектного мира только на мир данных.
Если вы изучите моделирование ЭР как отдельную деятельность из реляционного моделирования, в результате чего появится другая модель, вам будет довольно легко преобразовать диаграммы классов в диаграммы ЭР.
Оттуда преобразование ER-диаграмм в реляционные диаграммы является почти механическим. Каждая сущность получает таблицу, отношения «многие ко многим» получают свою собственную таблицу. Наследование и ассоциация получают особый подход и так далее. Отношения, которые рассматривались как абстракции в мире ER-моделирования, материализуются как внешние ключи. Первичный ключ каждой таблицы становится очевидным с точки зрения ключевых атрибутов сущностей в модели ER.
И то, что было названо «атрибутами» в модели ER (возможно, «свойствами» в модели классов), становится «столбцами» в реляционной модели.
Есть несколько необычных инструментов, которые управляют объектными моделями, ER-моделями и реляционными моделями в одном инструменте и могут перемещаться между этими моделями для вас. Один из них, «Data Architect», был очень хорошим, но очень дорогим несколько лет назад.