- •Южно-сахалинский институт экономики, права и информатики
- •Рекомендуемая литература 55 аннотация
- •Предисловие
- •Раздел 1. Нормализация отношений. Практическая работа №1. Функциональные зависимости.
- •Нормальные формы .
- •Раздел 2. Концептуальное проектирование. Описание предметной области, используемой в качестве учебного примера. Анализ требований пользователя.
- •1.Требования к данным
- •2. Требования к транзакциям.
- •Практическая работа №1. Построение концептуальной модели.
- •1.Определение типов сущностей
- •2. Документирование выделенных типов сущностей.
- •3.Определение типов связей.
- •4. Определение мощности и уровня участия типов связей.
- •5. Документирование типов связей.
- •6. Построение предварительной er-диаграммы.
- •6. Варианты для самостоятельной работы.
- •Практическая работа №2. Определение атрибутов, доменов и ключей в методологии концептуального проектирования.
- •1. Определение атрибутов и связывание их с типами сущностей и связей.
- •2. Документирование выделенных атрибутов
- •3. Определение и документирование Доменов атрибутов .
- •4. Определение атрибутов, являющихся потенциальными и первичными ключами.
- •4. Варианты для самостоятельной работы.
- •Обсуждение локальной концептуальной модели данных с пользователями.
- •Практическая работа №3. Преобразование локальной концептуальной модели данных в логическую модель .
- •Определение набора отношений исходя из структуры локальной логической модели данных.
- •Практическая работа №4. Построение окончательной диаграммы .
- •1. Проверка модели с помощью правил нормализации.
- •2. Определение бизнес-правил.
- •3. Проверка модели в отношении транзакций пользователей.
- •4. Ссылочная целостность
- •5. Варианты для самостоятельной работы.
- •Практическая работа №4. Разработка физического проекта бд.
- •Алгоритм преобразования er-модели в реляционную модель данных.
- •Рекомендуемая литература
2. Документирование выделенных типов сущностей.
Документирование сведений о каждой из выделенных сущностей заключается в подготовке подробного определения каждой сущности, включая существующие для нее псевдонимы и описание особенностей использования. Составим таблицу1:
Таблица1
|
Имя сущности |
Описание |
Особенности использования |
|
Филиал |
Место работы |
Компания имеет несколько филиалов |
|
Работник |
Общий термин, описывающий весь персонал |
Каждый из сотрудников работает в одном из филиалов компании |
|
Инспектор |
Руководит работой персонала, отвечающего за сдачу объектов в аренду |
Каждый филиал имеет несколько инспекторов. Каждый инспектор руководит группой работников (5-10чел.) |
|
Секретарь |
Выполняет функции секретаря, необходимые остальному персоналу |
Каждый филиал имеет несколько секретарей. Каждый секретарь обслуживает группу основных работников . |
3.Определение типов связей.
В предметной области объекты взаимодействуют друг с другом посредством связей (relationships).
Определим типы связей, существующих между отдельными сущностями. Как правило, связи выражаются глаголами или глагольными сочетаниями. Для выявления всех возможных типов связей вновь обратимся к спецификациям. Для нашего учебного примера можно выделить следующие связи(таблица2):
Таблица2
|
Тип сущности |
Тип связи |
Тип сущности |
|
Филиал |
Имеет |
Работник |
|
Работник |
ОтвечаетЗа НаходитсяПодРуководством ПользуетсяУслугами Проводит Оформляет Выполняет |
Объект_для_аренды Инспектор Секретарь Собеседование Договор_аренды Инспекция |
|
Инспектор |
Руководит |
Работник |
|
Объект_для_аренды |
ЗакрепляетсяЗа Обслуживается Принадлежит |
Филиал Работник Владелец |
|
Владелец |
Владеет |
Объект_для_аренды |
|
Объявление |
Описывает Помещается |
Объект_для_аренды Газета |
|
Собеседование |
С |
Клиент |
|
Клиент |
Осматривает Арендует Заключает |
Объект_для_аренды Объект_для_аренды Договор_аренды |
|
Договор_аренды |
СвязанС |
Объект_для_аренды |
|
Инспекция |
ПроводитсяДля |
Объект_для_аренды |
4. Определение мощности и уровня участия типов связей.
Мощность типа связи - количество экземпляров одного объекта, связанных с одним экземпляром другого объекта.
Мощность любой связи может иметь значение “один-к-одному”(1:1), “один-ко-многим”(1:М), “многие-ко-многим”(М:N). Для каждой связи требуется указать ее мощность и, если возможно, верхний или нижний предел группы «М».
Участие каждого из членов связи может быть полное (тотальное), либо как частичное. Большую часть информации, необходимой для установления мощности и участия можно найти в спецификациях. Однако, если указанных там сведений недостаточно, для прояснения ситуации следует обратиться к пользователям.
Связь Филиал Имеет Работник. В спецификациях эта связь определяется следующей фразой: «Каждый филиал имеет персонал …» Другими словами, в каждом филиале работает несколько работников, следовательно, мощность данной связи 1:М.
Поскольку любой из филиалов компании имеет персонал, степень участия сущности Филиал в связи Имеет является полной.
Рассмотрим эту связь в обратном направлении Работник РаботаетВ Филиал. Текст спецификации не содержит явного описания связи РаботаетВ, поэтому уточним вопросом:
- Каждый из работников предприятия работает только в одном отделении компании?
- Да.
Полученный ответ указывает, что каждый работник компании может работать только в одном из ее филиалов, следовательно, связь РаботаетВ имеет мощность 1:1. Поскольку все работники компании работают в каком-либо филиале, степень участия сущности Работник в связи РаботаетВ будет полной.
При отображении связи на ER-диаграмме следует использовать вариант с более высокой мощностью. В нашем случае это связь
Филиал Имеет Работник

Связь Объект_для_аренды Обслуживается Работник. В спецификациях эта связь определяется следующей фразой: «За каждый сдаваемый в аренду объект отвечает определенный работник».Из этого следует, что связь имеет мощность 1:1.
Рассмотрим со стороны Работник ОтвечаетЗа Объект_для_аренды. В спецификации не содержится явного описания связи ОтвечаетЗа. Поэтому зададим несколько вопросов пользователям:
- Все ли работников предприятия отвечают за какой-либо из объектов?
- Нет. Не все заняты непосредственно работой с объектами.
- Сколько объектов может быть поручено работнику?
- Не более десяти объектов.
- Объект поручается некоторому работнику на все время существования?
- Нет. Возможны ситуации, когда объект не связан ни с одним из работников- например, если недоступен для аренды.
Полученная информация позволяет пояснить, какие связи существуют между сущностями Работник и Объект_для_аренды.
Мощность связи равна 1:М, кроме этого не более 10. Для того, чтобы не усложнять диаграмму поместим эти сведения в словарь данных
Из ответов на первый и третий вопросы стало ясно, что обе сущности участвуют в связи частично. Внесем в диаграмму именно последнее имя связи:

Связь Объявление Описывает Объект_для_аренды. В спецификации эта связь определяется фразой: «… размещение объявлений с описанием сдаваемого объекта в соответствующих газетных изданиях».
Поскольку каждое газетное объявление касается только одного объекта, мощность 1:1. Обратная связь Объект_для_аренды Описывается Объявление имеет мощность 1:М, т.к.по одному объекту может быть несколько объявлений. Согласно правилам присвоения имен связей, выбираем более мощную связь. Участие сущности Объявление является полным. Однако сущность Объект_для_аренды участвует в этой связи частично, т.к. в спецификации указано, что публикация объявлений допускается только при затруднении сдачи объекта в аренду.

Связь Клиент Осматривает Объект_для_аренды. В спецификации эта связь определяется фразой: «… знакомить клиентов со сдаваемыми в аренду объектами». При дополнительном обсуждении с клиентами выяснилось, что один клиент может осмотреть несколько объектов (1:М), каждый объект может быть осмотрен несколькими клиентами (1:М). Т. О. мощность связи М:N.
Для определения степени участия зададим пользователям вопросы:
-Каждый из клиентов осматривает объект?
-Нет. Некоторые просто предъявляют требование и не проводят осмотра.
-Каждый из объектов обязательно осматривается клиентами?
-Нет. Сведения о некоторых объектах просто регистрируются в компании и осмотр их клиентами не производится.
Изображаем данную информацию на диаграмме:

