Similar presentations:
Лекция_2_МТУСИ_финал_исправленная_v2
1.
1Лекция 2
Проектирование базы
данных
Способы проектирования и состав МТУСИ
для построения базы данных, характер и схема
базы данных
2.
2Модели предметной области
Процесс проектирования структуры БД предметной области представляет собой построение
моделей нескольких уровней:
• Концептуальная (инфологическая)
• Даталогическая
• Физическая
3.
3Концептуальная модель
Это представление предметной области в виде:
1
2
совокупности
элементарных объектов
(сущностей)
3
элементарных данных,
описывающих свойства
объектов (атрибутов)
4
связей между
сущностями
набора задач,
отображающих динамику
предметной области
4.
4Концептуальная (инфологическая) модель
Это формализованное описание предметной области (концептуальной модели)
без ориентации на используемые программные и технические средства
5.
5Представление объекта
Определение
Объект (сущность) — часть предметной области,
которую описываем набором свойств
(атрибутов),
Формальная запись
Объект(Св1, Св2, Св3, …)
или то, о чём будет накапливаться информация
в информационной системе.
Студент(Код, Фио, ДатаРожд, МестоРожд)
6.
6Результат концептуального моделирования
1. Построены диаграммы «сущность–связь»
Диаграммы «сущность–связь» (entity–relationship) или ER-диаграммы.
Процесс построения ER-диаграммы называется ER-моделированием; построение
инфологической модели также называют инфологическим моделированием.
7.
7Результат концептуального моделирования
2. Описаны потребности пользователя:
1
2
Определены типы запросов
3
Определены объёмночастотные характеристики
Определены ограничения
целостности
8.
8Пример 1 концептуальной модели
9.
9Пример 2 концептуальной модели
10.
10Даталогическое моделирование
1
2
Представляет собой
логическую структуру
данных концептуальной
модели
3
Строится с учётом
требований на
конкретную СУБД
Описание логической
структуры БД на языке
обработки данных
называется схемой
11.
11Физическая модель
Отображает реализацию даталогической модели в конкретной среде
хранения на внешних устройствах.
Описание физической модели называется схемой хранения.
12.
12Этапы проектирования
1
2
Анализируется
(изучается)
предметная
область
3
Выделяются
объекты, их
свойства и
определяются
связи между
объектами
4
Выполняется
концептуальное /
инфологическое
моделирование
5
Строится
даталогическая
(логическая)
модель
Выполняется
физическое
проектирование
(описание схем
хранения)
13.
13Объект и его свойства
Между объектом и свойствами существуют связи, которые определяют хранение
информации в таблицах:
Объект может обладать только одним значением какого-либо свойства, например, дата
рождения. Это единичное свойство.
14.
14Единичные свойства
Было
Студент(Код, Фио,
ДатаРожд, МестоРожд)
Стало
Все единичные свойства хранятся в одной
таблице
Студент(Код, Фио,
ДатаРожд, МестоРожд)
15.
15Множественное свойство
Объект может обладать несколькими значениями одного свойства, например
адресом или телефоном. Это множественное свойство.
16.
16Хранение множественных свойств
Было
Стало
Каждое множественное свойство хранится в отдельной
таблице
Студент(Код, Фио,
ДатаРожд, МестоРожд, Телефон)
Студент(Код, Фио,
ДатаРожд, МестоРожд)
ТелефонСтудента(Код, Телефон)
17.
17Статическое свойство
Некоторые свойства могут быть постоянными и их значение не меняется с
течением времени, например дата рождения. Это статическое свойство — S.
18.
18Хранение статических свойств
Было
Стало
Каждое статическое свойство хранится в таблице с единичными
свойствами
Студент(Код, Фио,
ДатаРожд, МестоРожд)
Студент(Код, Фио,
ДатаРожд, МестоРожд)
19.
19Динамическое свойство
Свойство, значение которого меняется с течением времени, например
количество товара или курс валюты. Это динамическое свойство — D.
20.
20Хранение динамических свойств
Было
Стало
Каждое динамическое свойство хранится в отдельной
таблице
Товар(кодтовара, название,
характеристикатовара, стоимость,
датаизменстоимости)
Товар(кодтовара, название,
характеристикатовара)
Данныетовара(кодтовара, стоимость,
датаизменстоимости)
21.
21Условное свойство
Свойство, значение которого присутствует не у всех объектов данного класса,
например работающий студент или проживание в общежитии. Это условное
свойство — Y.
22.
22Хранение условных свойств (вариант 1)
Было
Стало
Каждое условное свойство может храниться в отдельной
таблице
Студент(Код, Фио, ДатаРожд,
МестоРожд, Адресобщ)
Студент(Код, Фио, ДатаРожд,
МестоРожд)
Студент_общежитие(Код, Адресобщ)
Если признак присущ немногим экземплярам / записям
23.
23Хранение условных свойств (вариант 2)
Было
Стало
Каждое условное свойство может храниться в таблице
с другими свойствами
Студент(Код, Фио, ДатаРожд,
МестоРожд, Адресобщ)
Студент(Код, Фио, ДатаРожд,
МестоРожд, Адресобщ)
Если признак присущ многим экземплярам / записям
24.
24Что даёт классификация свойств
Знание вышеперечисленных свойств объектов в процессе проектирования позволяет:
1
2
Экономить память
Ускорять процесс поиска
данных
25.
25Понятие ключа
Бывают:
Ключ
Это поле, значение которого
однозначно определяет строку
(запись) в таблице.
Первичный ключ (PK)
Однозначно определяет запись в таблице. Такой ключ
является уникальным.
26.
26Типы ключей
Вторичный / внешний / иностранный ключ
Определяет запись в таблице (FK).
Может быть уникальным и неуникальным.
Составной ключ
Это два и более ключевых поля
(PK + FKₙ или FK + FKₙ).
Также может быть уникальным и неуникальным.
27.
27Главные и второстепенные таблицы
Таблицы с одним первичным ключом для разработчика БД являются главными
таблицами.
Таблицы с внешними ключами являются второстепенными.
Примечание: для пользователя — наоборот.
28.
28Пример
Спроектировать БД, которая хранит информацию о книгах, их авторах и издательствах, которые
печатают эти книги.
Постановка задачи:
• у книги могут быть несколько авторов;
• книга может быть издана в разных издательствах;
• каждая книга может быть напечатана одним и тем же издательством несколько раз.
29.
29Возможности проектируемой БД
БД должна предоставлять возможность:
• находить все книги заданного автора;
• находить авторов заданной книги;
• находить список издательств, которые печатают литературу;
• находить, в каком издательстве напечатана заданная книга и сколько экземпляров;
• определять, сколько книг выпущено заданным издательством;
• и т.д.
30.
30Пример
• Книга (Idкниги (PK), название книги, …)
• Автор (Idавтора (PK), Фио автора, …)
• Автор_книги (Idкниги (FK), Idавтора (FK))
• Издательство (Idиздательства (PK), Название изд, Адрес)
• Издание_книги (Кодиздания (PK), Idкниги (FK), Idиздательства (FK), переплёт,
колво_экземпляров)
31.
31Составной ключ
Если сочетание значений может повторяться
Если сочетание значений НЕ может повторяться
Издание_книги(Idкниги (FK), Idиздательства (FK),
переплёт, колво_экземпляров)
Тогда добавляем поле PK, чтобы каждая запись
стала уникальной:
Издание_книги(Кодиздания (PK), Idкниги (FK),
Idиздательства (FK), переплёт,
колво_экземпляров)
32.
32Степени связи между объектами: 1:1
Экземпляр одной сущности связан только с одним экземпляром другой сущности
Студент(Номер_зачетной_книжки, Фио, Дата_рождения)
Данные_о_студенте(Номер_зачетной_книжки, Адрес_регистрации, Адрес_фактический)
33.
33Степени связи между объектами: 1:N
Экземпляр одной сущности связан со многими экземплярами другой сущности
Студент(Номер_зачетной_книжки, Фио, Дата_рождения)
Телефоны_студентов(Номер_зачетной_книжки, Телефон, Кому_принадлежит)
34.
34Степени связи между объектами: N:M
Много экземпляров одной сущности связано со многими экземплярами другой сущности
Студент(Номер_зачетной_книжки, Фио, Дата_рождения)
Дисциплины(Idдисциплины, Название дисциплины)
Изучение_дисциплин(Номер_зачетной_книжки, Idдисциплины, Оценка)
35.
35Обязательные / необязательные связи
Логическая цепочка требований к связи между студентом и иностранным языком:
Шаг 1
Каждый студент может знать
хотя бы один иностранный язык
Шаг 2
Шаг 3
Каждый студент может знать
Каждый студент должен знать
более одного иностранного
языка
более одного иностранного
языка
database