Первый этап проектирования базы данных состоит в разработке концептуальных моделей данных для каждого пользователя, то есть локальной модели. Каждая локальная концептуальная модель данных включает в себя:
- сущности;
- типы связей;
- атрибуты;
- домены атрибутов;
- потенциальные ключи;
- первичные и внешние ключи;
Концептуальная модель данных дополняется словарем данных, создаваемым в процессе разработки этой модели.
1. Определение основных сущностей. Проектирование начинается с определения основных объектов, которые могут интересовать пользователя. Эти объекты являются сущностями, входящими в модель. Для этого выделяются все существительные или сочетания существительного и прилагательного, например, фамилия эксперта, ученая степень, код организации, адрес организаций. Затем среди этих спецификаций выбираются самые крупные объекты (люди, города) или представляющие интерес объекты, и исключаются все существительные, которые определяют другие объекты. Например, свойства: Фамилия эксперта и Ученая степень, – могут быть объединены в сводном объекте Эксперт, а свойства: Код организации и Адрес организаций, – можно объединить в сущность под названием Организация.
2. Определение основных типов связей, существующих между объектами. После выделения сущностей следующим этапом разработки будет установление всех существующих между ними связей. Как отмечалось, одним из методов определения сущностей является выборка всех существительных, присутствующих в спецификациях на проект. Аналогичный подход можно использовать и при определении существующих связей, однако в этом случае выбираются все выражения, в которых содержатся глаголы, например: Центр имеет экспертов, Эксперты работают в организациях.
|
В большинстве случаев связи являются парными, то есть существуют только между двумя сущностями. Однако следует проверять наличие в проекте и комплексных связей, объединяющих более двух сущностей, а также рекурсивных связей, в которых одни и те же сущности участвуют несколько раз и в разных ролях, существующих между сущностями одного и того же типа.
Установив связи необходимо определить кардинальность связи. Каждая связь может иметь кардинальность либо “один к одному” (1:1), либо “один ко многим” (1:М), либо “многие к одному” (N:1), либо “многие ко многим” (N:M).
После определения отдельных типов связей им присваиваются осмысленные имена, которые должны быть понятны пользователям. Например, в связи «Эксперт работает в организации»тип связи имеет имя «Работает в». Кардинальность данной связи “многие к одному”, т.к. многие эксперты могут работать в одной организации.
3. Определение атрибутов. Определяются свойства, касающиеся характеристики описываемого объекта, осуществляется их связывание с сущностями и типами связей. На этом этапе необходимо выявить все данные, которые описывают сущности и связи, выделенные в создаваемой модели базы данных. Самый простой метод выделения атрибутов – задать себе вопрос: “Какую информацию требуется хранить о выбранной сущности и установленной связи”. Важно отметить, что атрибут может быть как простым, так и составным. Например, атрибут Адрес может быть простым и представлять все элементы адреса как единое значение: “пр. Ф. Скорины, д.12, кв. 157”. В другом варианте этот же атрибут может быть как составной, т.е. состоящий из простых атрибутов, содержащих различные элементы адреса. В этом случае то же самое значение может быть разбито на такие атрибуты, как: Улица (пр. Ф. Скорины), Дом (д.12), Квартира (кв. 157).
|
Каждому выявленному атрибуту следует присвоить имя, понятное пользователям.
4. Определение домена каждого атрибута. Домен атрибута – это набор значений, которые могут быть присвоены одному или нескольким атрибутам. Домены должны содержать следующие данные: набор допустимых значений для атрибута; сведения о размере и формате каждого из полей атрибутов. Например, значение атрибута, включающий допустимые значения номеров телефонов и факсов, может состоять из строк длиной в 13 символов и быть таким 8-029-655-236.
5. Определение потенциальных ключей для каждой сущности. На этом этапе для каждой сущности устанавливаются потенциальные ключи, после чего осуществляется выбор первичного ключа. Потенциальным ключом называется атрибут, или минимальный набор атрибутов заданной сущности, который позволяет уникальным образом определить каждый ее экземпляр. Для некоторых сущностей возможно наличие нескольких потенциальных ключей. В этом случае среди них нужно выбрать один ключ, который будет называться первичным ключом. Все остальные потенциальные ключи будут называться альтернативными ключами.
6. Создание диаграммы “сущность-связь”. С целью получения наглядного представления основных сущностей и связей, строится диаграмма. Сущность обозначается прямоугольником, а ее имя указывается внутри прямоугольника. Тип связи обозначается линией или ромбом, имя связи указывается внутри ромба или на линии.
Например, связь «Эксперт работает в организации» может быть представлена диаграммой “сущность-связь”.
ЭКСПЕРТ М↔Работает в↔1 ОРГАНИЗАЦИЯ
8. Обсуждение локальных концептуальных моделей данных с конечными пользователями и внесение в них уточнений. Прежде чем завершить первый этап разработки, необходимо обсудить созданные концептуальные модели данных и, в случае обнаружения каких-либо несоответствий, внести в модель необходимые изменения. Этот процесс должен продолжаться до тех пор, пока пользователь не убедится, что созданная модель верно отражает его личное представление.