Управл_данными / 04-Проектирование_БД
.pdfER-модель ->
Сущность
|
Сущность соответствует некоторому классу |
|
Студент |
|||
|
однотипных объектов |
|
|
Номер_Зачетки |
|
|
|
|
|
|
|||
|
На следующих этапах проектирования |
|
|
|
|
|
|
|
Номер_Группы |
|
|
||
|
сущности (чаще всего) превращаются в |
|
|
|
|
|
|
|
|
Фамилия |
|
|
|
|
таблицы базы данных |
|
|
Имя |
|
|
|
Предполагается, что существует множество |
|
|
Отчество |
|
|
|
экземпляров данной сущности – объектов |
|
|
Дата_Рождения |
|
|
|
Каждая сущность имеет свой набор |
|
|
|
|
|
|
|
|
|
|
||
|
|
Пример: |
||||
|
атрибутов — характеристик, |
|
|
|||
|
|
|
|
|
|
|
|
определяющих свойства данного |
Сущность: Cтудент |
||||
|
представителя класса. |
Атрибуты: |
||||
|
Набор атрибутов, однозначно |
|
|
Номер_Зачетки, |
||
|
|
|
Группа, Фамилия, … |
|||
|
идентифицирующий конкретный экземпляр |
Ключ - Номер_Зачетки |
||||
|
сущности, называют ключевым |
|
|
Сущность “Студент” |
||
|
Ключ позволяет отличить один экземпляр данной |
|
||||
|
сущности от другого |
|
|
обозначает всё |
||
|
|
|
множество студентов |
|||
|
В нотации Erwin ключевые объекты |
|
|
|||
|
|
|
данного ВУЗА |
|||
|
помещаются в верхнюю секцию |
|
|
|
|
|
|
прямоугольника - сущности |
|
|
|
|
|
11
|
|
|
Группа |
|
Студент |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
ER-модель -> |
|
Номер_Группы |
|
|
|
|
Номер_Зачетки |
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
Номер_Группы |
|
|
|
|
|
|||||
|
Кафедра |
|
|
|
|
|
|
|
|
|
||||||||||||
Связь |
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Отчество |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Фамилия |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Имя |
|
|
|
|
|
|
|
|
|
|
Принадлежность |
|
|
Дата_Рождения |
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|||||||||||||||||
|
Между сущностями могут быть |
|
|
|
|
|
|
|
|
|
|
|
|
Супруг |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
установлены связи, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
показывающие, каким образом |
|
|
|
|
|
|
|
|
|
|
|
|
|
Рекурсивная связь: |
|||||||
|
сущности соотносятся или |
|
|
|
|
|
|
|
|
|
|
|
|
|
Супруг - Номер_Зачетки |
|||||||
|
взаимодействуют между собой |
|
|
|
|
|
|
Экземпляры сущности «Группа» |
||||||||||||||
|
Чаще всего связями соединяются две |
|
|
|
|
|
|
|||||||||||||||
|
разные сущности |
|
|
|
|
|
|
|
Номер_Группы |
Кафедра |
||||||||||||
|
При этом определяются взаимосвязи между |
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
экземплярами одной сущности и экземплярами |
|
|
|
|
|
|
|
|
A1 |
|
|
|
ГИН |
|
|
|
|
|
|
||
|
другой сущности |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Связь может существовать и между |
|
|
|
|
|
|
|
|
A2 |
|
|
|
ГИН |
|
|
|
|
|
|
||
|
сущностью и ей же самой |
|
|
|
|
|
|
|
|
A3 |
|
|
|
РФ |
|
|
|
|
|
|
||
|
(рекурсивная связь) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Она определяет взаимосвязь между разными |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
экземплярами одной и той же сущности |
|
|
|
|
|
|
Экземпляры сущности «Студент» |
||||||||||||||
|
На концах связи могут быть значки, |
|
|
|
|
|
|
|||||||||||||||
|
показывающие множественность, и др. |
|
|
|
|
|
|
|
Номер__ |
Фамилия |
Номер_ |
Супруг |
||||||||||
|
характеристики |
|
|
|
|
|
|
|
Зачетки |
|
|
|
Группы |
|
|
|
|
|
|
|||
|
Связи можно присвоить имя, которое |
|
|
|
|
|
101 |
|
|
|
Иванов |
A3 |
104 |
|
|
|
|
|
||||
|
проясняет её смысл и может |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
отображаться на схеме. |
|
|
|
102 |
|
|
|
Петров |
A2 |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
103 |
|
|
|
Сидоров |
A1 |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
104 |
|
|
|
Иванова |
A1 |
101 |
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
12
Типы связей
Типы связей между двумя сущностями:
1.«один к одному»
2.«один ко многим»
3.«многие к одному»
4.«многие ко многим»
При этом 2-й и 3-й типы – одно и то же
В нотации Erwin на том конце линии связи, где много – рисуется закрашенный кружок
Определяющую роль для типа связи играют
ключи
Группа |
1 ко многим |
Студент |
|
Студент |
много к 1 |
Группа |
|
Преподаватель |
многие ко |
Предмет |
|
многим |
|||
|
|
13
Инфологическое моделирование.
14
Создание инфологической модели ->
Этап 1 – Определение сущностей
Поэтапный процесс
Сначала рекомендуется определить все сущности и связи между ними (Уровень сущностей)
Включаются только те сущности, которые необходимы
При этом атрибуты для каждой сущности можно не определять
На этом этапе допускаются связи типа
«многие-ко-многим»
Кафедра Факультет
Группа
Студент
Преподаватель Куратор
Ведет |
Предмет |
Оценки по |
|
предметам |
|
|
|
В приведенном примере две связи типа «многие-ко- многим»:
•Преподаватель-Предмет
(Один преподаватель может вести несколько предметов, с другой стороны один предмет могут по очереди вести несколько преподавателей)
•Студент-предмет
(Есть предметы на несколько семестров)
15
Создание инфологической модели ->
Этап 2 – Определение атрибутов
|
В первую очередь |
|
определяются ключевые |
|
атрибуты |
|
Неключевые атрибуты не |
|
влияют на схему, поэтому |
|
их можно добавлять позже |
|
(даже на самом последнем этапе) |
Для сущности «Кафедра» создаем ключевой атрибут id_K
– это либо номер кафедры, либо – сокращенное название
Добавляем два неключевых атрибута: Имя_К, Зав_Каф.
Тип атрибутов на концептуальном уровне определяются обобщенно – число/строка/дата
Кафедра |
Факультет |
Кафедра |
Факультет |
id_K
Имя_К Зав_Каф
16
Определяющие и неопределяющие связи
Определяющей
(identifying; изображается
сплошной линией)
называется такая связь, при которой внешний ключ (FK) является частью первичного ключа дочерней сущности
Неопределяющей (Non-
identifying; изображается пунктиром) называется
такая связь, при которой внешний ключ (FK) не является частью первичного ключа дочерней сущности
Кафедра
id_K id_Ф (FK)
Имя_К Зав_Каф
Кафедра
id_K
id_Ф (FK) Имя_К Зав_Каф
Факультет
id_Ф
Факультет
id_Ф
17
Какой вид связи выбирать?
Оба вида Определяющий и Неопределяющий можно считать почти равноценными. Выбор зависит от конкретного случая.
В первом случае для поиска нужного экземпляра дочерней таблицы, нужно знать, к какой строке родительской таблицы он относится - Во втором этого не требуется.
18
Пример 1 Определяющая связь
|
|
|
|
|
|
|
|
Кафедра |
|
|
|
|
|||
Факультет |
|||||||
id_K |
|||||||
|
|
|
|
||||
|
id_Ф |
|
|||||
|
|
||||||
id_Ф (FK) |
|
|
|||||
|
|
|
|
||||
|
|
|
|
|
|
||
Имя_К |
|
|
|
|
|||
Зав_Каф |
|
|
|
|
|||
|
|
|
|
Не сквозная нумерация кафедр в поле id_K
Составной ключ в таблице «Кафедра»
Для каждого факультета номера кафедр начинается с единицы
Для того, чтобы найти нужную кафедру по ключу, нужно указать номер факультета и номер кафедры
Факультет
id_Ф |
|
Название |
1 |
|
ФГиГ |
2 |
|
ГМФ |
3 |
|
ГТФ |
Кафедра |
|
|
id_K |
id_Ф |
Имя_К |
1 |
1 |
ГИН |
2 |
1 |
РФ |
3 |
1 |
НФ |
1 |
2 |
ОПИ |
2 |
2 |
ГМ |
1 |
3 |
ГД |
19
Пример 2 Неопределяющая связь
Сквозная нумерация кафедр в поле id_K
Простой ключ в таблице «Кафедра»
Для того, чтобы найти нужную кафедру по ключу, достаточно указать только номер кафедры
Кафедра
id_K
id_Ф (FK) Имя_К Зав_Каф
Факультет
id_Ф
Факультет
id_Ф |
|
Название |
1 |
|
ФГиГ |
2 |
|
ГМФ |
3 |
|
ГТФ |
Кафедра |
|
|
id_K |
id_Ф |
Имя_К |
1 |
1 |
ГИН |
2 |
1 |
РФ |
3 |
1 |
НФ |
4 |
2 |
ОПИ |
5 |
2 |
ГМ |
6 |
3 |
ГД |
20