258.37K
AI
Category: databasedatabase

Лекция_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
Каждый студент может знать
Каждый студент должен знать
более одного иностранного
языка
более одного иностранного
языка
English     Русский Rules