Рассмотрим моделирование информационного представления учёта рождаемости. Анализ предметной области позволил выделить следующие сущности и их атрибуты (таблицы и их поля).
Справочники: населённые пункты (код, наименование),
национальности (код, наименование).
Таблица новорожденных: код населённого пункта, код национальности; вес, рост новорожденного, дата рождения, фамилия, имя, отчество.
1 -2. Уточним наименования сущностей и атрибутов:
o населённые_пункты (код населенного пункта, наименование),
o национальности (код национальности, наименование)
o НОВОРОЖДЕННЫЕ (код населённого пункта, код национальности, вес, рост, дата рождения, фамилия, имя, отчество).
3. Определим уникальный идентификатор каждой сущности – первичный ключ:
o населённые_пункты - код населенного пункта,
o национальности - код национальности,
o НОВОРОЖДЕННЫЕ – в списке атрибутов подходящего нет, поэтому введем новое поле – номер.
Имеем элементы концептуальной модели (ER-диаграммы) – сущности:
населённые_пункты | национальности | ||||||
РК | код населенного пункта наименование | PK | код национальности наименование | ||||
НОВОРОЖДЕННЫЕ | |||||||
PK | номер код населённого пункта код национальности вес рост дата рождения фамилия имя отчество |
4. Определим связи и дадим им имена:
|
|
o населённые_пункты – НОВОРОЖДЕННЫЕ: каждый новорожденный проживает в одном из населенных пунктов, в одном населенном пункте могут проживать много новорожденных; связь «один-ко-многим»;
o национальности - НОВОРОЖДЕННЫЕ: каждый новорожденный имеет одну национальность, каждую национальность могут иметь многие новорожденные, связь «один-ко-многим».
- Связей «многие-ко-мнгим» нет.
- в связи населённые_пункты – НОВОРОЖДЕННЫЕ главная таблица - населённые_пункты, подчиненная – НОВОРОЖДЕННЫЕ, они связаны по полю «код населенного пункта». в связи национальности – НОВОРОЖДЕННЫЕ главная таблица - национальности, подчиненная – НОВОРОЖДЕННЫЕ, они связаны по полю «код национальности».
- Строим ER-диаграмму
населённые_пункты | национальности | ||||||
РК | код населенного пункта наименование | PK | код национальности наименование | ||||
НОВОРОЖДЕННЫЕ | |||||||
PK FK FK | номер код населённого пункта код национальности вес рост дата рождения фамилия имя отчество |
- Составим примеры запросов пользователей и проверим, можно ли получить на них ответы:
o где родился Иванов Михаил,
o сколько человек по национальности китаец родилось в населенном пункте Одинцово,
|
|
o дети каких национальностей родились 01.01.2000.