Similar presentations:
Построение инфологической модели (примеры)
1. ПОСТРОЕНИЕ ИНФОЛОГИЧЕСКОЙ МОДЕЛИ (ПРИМЕРЫ)
2.
Правила, которым должна удовлетворять модель «сущностьсвязь»:• Модель должна давать полное представление о предметной
области.
• Должны быть перечислены все необходимые для реализации
задачи сущности и их атрибуты соответственно.
• Имена сущностей должны быть уникальны.
• Имена атрибутов в пределах одной сущности должны быть
уникальны.
• Мы должны гарантировать однозначную трактовку модели.
• В
каждой
сущности
должна
быть
выделена
идентифицирующая совокупность атрибутов.
• Модель должна быть гибкой, т.е. при возникновении новых
задач
расширяться
без
существенных
изменений
существующей модели.
3.
Инфологическая модель «Школьный журнал».4.
• Сущность «Ученик» содержит все личныеданные учащегося.
• Сущность «Кабинет» содержит информацию о
техническом уровне, состоянии, количестве
мест.
• Сущность
«Преподаватель»
содержит
информацию об уровне подготовки, заслугах,
разряде и личных данных учителя.
• Сущность «Оценка» содержит информацию об
оценке,
полученной
учеником
по
определенному
предмету,
выставленную
преподавателем в конкретный день, в
кабинете.
5.
Сущность (entity) – это некоторый объект,выделяемый
(идентифицируемый)
пользователем в предметной области.
Например,
СТУДЕНТ Петров,
ПРЕПОДАВАТЕЛЬ Ломов,
УЧЕБНИК по БД,
АУДИТОРИЯ,
УЧЕБНЫЕ ЗАНЯТИЯ для группы и т.п.
6.
Необходимо различать такие понятия,как тип сущности (класс сущности)
и экземпляр сущности. Понятие тип
сущности относится к набору однородных
личностей, предметов, событий или идей,
выступающих как целое.
Экземпляр
сущности
относится
к
конкретной вещи в наборе. Например,
типом сущности может быть ГОРОД, а
экземпляром – Москва, Киев и т.д.
7.
Атрибут – это поименованная характеристикасущности (свойство типа сущности), значимая с точки
зрения пользователя.
Примерами атрибутов для сущности АВТОМОБИЛЬ
являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК, ЦВЕТ и т.д.
Например:
Тип атрибута ЦВЕТ имеет много экземпляров или
значений: Красный, Синий и т.д.
Например, для автомобильного завода цвет – это только
атрибут продукта производства, а для лакокрасочной
фабрики цвет – тип сущности.
8.
Ключ – минимальный набор атрибутов, позначениям которых можно однозначно найти
требуемый
экземпляр
сущности.
Минимальность означает, что исключение из
набора любого атрибута не позволяет
идентифицировать сущность по оставшимся.
Расписание поездов ключом является
атрибут
Номер_поезда
или
набор:
{Пункт_отправления,
Время_отправления и Пункт_назначения}.
9.
Ключом может быть не любойатрибут сущности.
Например, ДатаНайма или Должн
ость не могут использоваться для
идентификации преподавателей.
10.
СУЩНОСТЬ (атрибут_1, атрибут_2 , ...,атрибут_n), где атрибуты, входящие в ключ,
должны быть выделены с помощью
подчеркивания или жирным шрифтом.
Например, Сущности ВРАЧ и ПАЦИЕНТ можно
описать следующим образом:
• Врач (Номер_врача, Фамилия, Имя,
Отчество, Специальность)
• Пациент (Регистрационный_номер, Номер
койки, Фамилия,
Имя, Отчество, Адрес,
Дата рождения, Пол)
11.
Например, в странах, где допускаютсялишь традиционные браки, Сущность
БРАК можно представить так:
Брак
(Номер_свидетельства,
Фамилия_мужа,
Имя_мужа,
Отчество_мужа,Дата_рожд
ения_мужа, Фамилия_жены,
... ,
Дата_регистрации, Место_регистрации,
...)
12.
Пример, когда отдел ЗАГС расположен встране, допускающей многоженство.
Номер
свидетельства
Фамилия мужа
Фамилия жены
...
...
1001
Петухов
...
Курочкина
...
1002
Петухов
...
Пеструшкина
...
…
…
...
…
...
1007
Иванов
...
Свинюшкина
...
1009
Иванов
...
Хавронина
...
...
...
...
...
...
Если для регистрации браков использовать
сущность "Брак" из примера выше, то будут
дублироваться сведения о мужьях, имеющих
несколько жен.
13.
Дублирование можно исключить созданиемдополнительной сущности "Мужья".
• Мужья (Код_М, Фамилия, Имя, Отчество, Дата
рождения, Место рождения) и заменой сущности
"Брак"
характеристикой
со
ссылкой
на
соответствующее описание в сущности "Мужья".
• Брак (Номер свидетельства, Код_М, Фамилия
жены, ...,
Дата регистрации, ...){Мужья}.
14.
Код_МФамилия
…
111
Петухов
…
…
…
…
113
Иванов
…
...
...
...
Номер свидетельства
Код_М
Фамилия жены
…
1001
111
Курочкина
…
1002
111
Пеструшкина
…
…
…
…
…
1007
113
Свинюшкина
…
1009
113
Хаврония
…
...
...
...
...
15.
Пример, зачисления сотрудников в различныеотделы организации. Здесь возможны 2
варианта:
1. Если сотрудник может одновременно
зачисляться в несколько отделов или не
зачисляться ни в один отдел, можно создать
описание с ассоциацией Зачисление:
• Отделы (Номер отдела, Название отдела, ...)
• Служащие (Табельный номер, Фамилия, ...)
• Зачисление [Отделы M, Служащие N](Номер
отдела, Табельный номер, Дата зачисления).
16.
2. Если каждый из сотрудников должен бытьобязательно зачислен в один из отделов, можно
создать описание с обозначением Служащие:
• Отделы (Номер отдела, Название отдела, ...)
• Служащие (Табельный номер, Фамилия, ... , Номер
отдела, Дата зачисления)[Отделы]
В данном примере служащие имеют независимое
существование (если удаляется отдел, то из этого не
следует, что также должны быть удалены служащие
такого отдела). Поэтому они не могут быть
характеристиками
отделов
и
названы
обозначениями.
17.
Пример:Рассмотрим
множество
работников
некого
предприятия. Каждого из них можно описать с
помощью характеристик табельный номер, имя,
возраст. Поэтому, сущность СОТРУДНИК имеет
атрибуты ТАБЕЛЬНЫЙ_НОМЕР, ИМЯ, ВОЗРАСТ.
СОТРУДНИК (ТАБЕЛЬНЫЙ_НОМЕР, ИМЯ, ВОЗРАСТ).
Например отделы, на которые подразделяется
предприятие, и в которых работают сотрудники,
можно описать как
ОТДЕЛ(НОМЕР_ОТДЕЛА, НАИМЕНОВАНИЕ).
18.
Связь(relationship)
это
ассоциация,
установленная между несколькими сущностями.
Примеры:
• поскольку каждый сотрудник работает в
каком-либо отделе, между сущностями
СОТРУДНИК и ОТДЕЛ существует связь
"работает в" или ОТДЕЛ-РАБОТНИК;
• так как один из работников отдела является
его руководителем, то между сущностями
СОТРУДНИК
и
ОТДЕЛ
имеется
связь
"руководит" или ОТДЕЛ-РУКОВОДИТЕЛЬ;
19.
Пояснение: В методике проектированияданных есть своеобразное правило
хорошего тона, согласно которому
сущности обозначаются с помощью
имен существительных, а связи глагольными
формами.
Данное
правило,
однако,
не
является
обязательным).
20.
Не существует общих правилопределения, что считать сущностью, а
что связью. Поэтому предположим, что
"руководит" - это связь.
Однако, можно рассматривать сущность
"руководитель", которая имеет связи
"руководит" с сущностью "отдел" и
"является" с сущностью "сотрудник".
21.
Связь также может иметьатрибуты. Например, для связи
ОТДЕЛ-РАБОТНИК можно задать
атрибут СТАЖ_РАБОТЫ_В_ОТДЕЛЕ.
22.
Набор связей (relationship set) - этоотношение между n (причем n не
меньше 2) сущностями, каждая из
которых относится к некоторому
набору сущностей.
То число сущностей, которое может быть
ассоциировано через набор связей с
другой сущностью, называют степенью
связи.
23.
Могут существовать следующие степенибинарных связей:
- один к одному (обозначается 1 : 1 ). Это
означает, что в такой связи сущности с одной
ролью всегда соответствует не более одной
сущности с другой ролью. В примере это
связь "руководит", поскольку в каждом
отделе может быть только один начальник, а
сотрудник может руководить только в одном
отделе.
24.
- один ко многим ( 1 : n ). В данном случаесущности
с
одной
ролью
может
соответствовать любое число сущностей с
другой ролью. Такова связь ОТДЕЛСОТРУДНИК. В каждом отделе может
работать произвольное число сотрудников,
но сотрудник может работать только в одном
отделе.
25.
- много к одному (n : 1 ). Эта связьаналогична
отображению
1
:
n.
Предположим,
что
рассматриваемое
предприятие строит свою деятельность на
основании контрактов, заключаемых с
заказчиками. Этот факт отображается в
модели "сущность-связь" с помощью связи
КОНТРАКТ-ЗАКАЗЧИК,
объединяющей
сущности
КОНТРАКТ(НОМЕР,
СРОК_ИСПОЛНЕНИЯ,
СУММА)
и
ЗАКАЗЧИК(НАИМЕНОВАНИЕ, АДРЕС).
26.
Так как с одним заказчиком может бытьзаключено более одного контракта, то связь
КОНТРАКТ-ЗАКАЗЧИК
между
этими
сущностями будет иметь степень n : 1.
27.
- многие ко многим ( n : n ). В этомслучае каждая из ассоциированных
сущностей может быть представлена
любым
количеством
экземпляров.
Например,
на
предприятии
для
выполнения
каждого
контракта
создается рабочая группа, в которую
входят сотрудники разных отделов.
28.
Поскольку каждый сотрудник можетвходить в несколько (в том числе и ни в
одну) рабочих групп, а каждая группа
должна включать не менее одного
сотрудника, то связь между сущностями
СОТРУДНИК и РАБОЧАЯ_ГРУППА имеет
степень n : n.
database