Проектирование базы данных
Проектирование БД зависит от типа используемой для хранения данных СУБД — объектной или реляционной. Для объектных БД никакого проектирования не требуется, поскольку классы-сущности непосредственно отображаются в БД. Для реляционных БД классы-сущности объектной модели должны быть отображены в таблицы реляционной БД.
Совокупность таблиц и связей между ними может быть представлена в виде диаграммы классов, которая по существу является ER-диаграммой. Набор правил, применяемых при отображении классов в таблицы БД, фактически совпадает с правилами преобразования сущностей и связей.
В технологии RUP, в частности, для такого отображения используется специальный инструмент - Data Modeler. Он выполняет преобразование классов-сущностей в классы-таблицы с последующей генерацией описания БД на SQL.
Совокупность таблиц и связей между ними может быть представлена в виде диаграммы классов, которая, по существу, является диаграммой «сущность – связь».
Набор правил, применяемых при отображении классов в таблицы БД:
1. Каждая простая сущность, не являющаяся подтипом и не имеющая подтипов, превращается в таблицу. Имя сущности становится именем таблицы.
2. Каждый атрибут становится возможным столбцом с тем же именем; может выбираться более точный формат.
3. Уникальный идентификатор сущности превращается в первичный ключ таблицы.
4. Если тип связи между сущностями - один-к-одному и класс принадлежности обеих сущностей является обязательным, то из двух связанных сущностей формируется одна таблица.
|
|
5. Если тип связи - один-ко-многим и класс принадлежности сущности с мощностью "n" является обязательным, то формируются две таблицы, при этом идентификатор каждой сущности должен служить первичным ключом соответствующей таблицы. Кроме того, идентификатор сущности с мощностью "1" добавляется в качестве атрибута в таблицу, выделенную для сущности с мощностью "n".
6. Если тип связи - многие-ко-многим, то формируются три таблицы: по одной для каждой сущности и одна для связи.
Дата добавления: 2016-01-05; просмотров: 103; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!