Вы находитесь на странице: 1из 29

Тема 2:Реляционная модель данных

Высшая школа экономики, Москва, 2020


www.hse.ru


Исторически первой появилась иерархическая


модель, поскольку многим предметным областям
свойственная иерархическая организация.

Высшая школа экономики, Москва, 2020


Высшая школа экономики, Москва, 2020
В иерархической модели есть один верхний
центральный узел, от которого начинается доступ ко всем
другим элементам. И для того, чтобы получить доступ к
элементам нижнего уровня, мы всегда начинаем сверху
вниз, спускаясь на каждом уровне, начиная от корня
нашего дерева.
Из этой модели видно, что не очень удобно
прослеживаются связи между разными объектами. Как,
например, в иерархической модели проследить связь
между преподавателем и студентом?
Поэтому на смену иерархической модели пришла
сетевая, которая уже позволяла организовать
горизонтальные связи для объектов нижних уровней.

Высшая школа экономики, Москва, 2020


Высшая школа экономики, Москва, 2020
В сетевой модели между разными объектами
существует несколько видов связей. Связь не только
сверху вниз, согласно иерархической модели, но
есть и горизонтальные связи.
Иерархическая и сетевая модели существовали
какое‐то время, в них данных были организованы
обычно в виде направленных списков. Разбираться
в структуре, которая описывала данные в таких
моделях, было сложно. Им на смену пришла
реляционная модель, которая и закрепилась
теорией баз данных на долгое время.

Высшая школа экономики, Москва, 2020


Для представления любого вида информации
используются таблицы. Столбцы играют роль
атрибутов, сущности представляются в таблицах,
строки являются экземплярами данных для
каждой сущности, а шапка таблицы — это имена
атрибутов.
Интенсивное развитие реляционная теория,
основанная на реляционной модели, получила в
70‐е годы. Специально для этой модели был
разработан специальный язык, который
называется SQL, или Sequel.

Высшая школа экономики, Москва, 2020


Высшая школа экономики, Москва, 2020
Высшая школа экономики, Москва, 2020
• Символьный,
• Битовый
• Точные числа,
• Округлённое число,
• Денежный,
• Дата/время,
• Интервал.

Высшая школа экономики, Москва, 2020


• Сущности – отношения (таблицы),
• Имя сущности – имя отношения,
• Атрибут – столбец таблицы,
• Ключевой атрибут – ключ отношения (не может иметь
незаданное значение).

Преобразование сущности в таблицу:

Номер ФИО Номер


зачётки студента группы

Студент

Высшая школа экономики, Москва, 2020


Возможный ключ – минимальный набор атрибутов, от которого
функционально зависят все остальные или по которому можно
определить все остальные.

Первичный ключ – один из возможных ключей. Обычно


первичным ключом выбирается наиболее важный ключ, который
чаще всего мы будем использовать при поиске.

Ключевые атрибуты – атрибуты, входящие в состав


возможного ключа.

Высшая школа экономики, Москва, 2020


Связи реализуются в отношениях.

Схема отношения для отображения связи составляется из


ключевых атрибутов, участвующих в связи, и атрибутов
самой связи (если есть).

Высшая школа экономики, Москва, 2020


id
Название Адрес ФИО
сотрудника

руково
Университет Ректор
дит
1 1

Название Адрес id сотрудника ФИО

Надо выбрать ключ у вновь образованной таблицы. Этим ключом


может быть либо ключ первой сущности, либо второй, любой, как
будет удобнее для поиска.
Высшая школа экономики, Москва, 2020
Табельный ФИО id отдела Название
номер

работа
Сотрудник Отдел
ет
N 1

Отдел Сотрудник
Id отдела Название Табельный ФИО id отдела
1 Бухгалтерия номер
2 Отдел кадров 76294 Иванов Пётр 1
Васильевич
65653 Сергеева Анна 2
Ивановна

Высшая школа экономики, Москва, 2020


Чтобы реализовать связь, что сотрудник работает в
отделе, мы к отношению, которое реализует сущность
«сотрудник», добавляем ключевой объект от второго
отношения, это будет id отдела. Таким образом, у нас
получается два отношения, одно остаётся неизменным —
отношение «отделы», а второе — «сотрудник» — будет
иметь три столбца, это табельный номер
сотрудника, который остаётся ключом, ФИО и id отдела.

Высшая школа экономики, Москва, 2020


Номер Номер Автор ISBN
экземпляра полки
Название
Экземпляр представ
Книга
книги ляет

Книга Экземпляр книги

ISBN Название Автор ISBN Номер Номер полки


экземпляра

Высшая школа экономики, Москва, 2020


id id
ФИО
студента Оценка предмета Название
Номер
группы

Студент Экзамен Предмет


M N
Предмет Студент
id_предмета Название id_студента ФИО Номер
1 Базы данных группы

2 Математика 1213 Иванов Василий Петрович 121


4343 Сергеева Анна Ивановна 134
Экзамен
id_студента Id_предмета Оценка
1213 1 8
4343 2 9
Связи вида «многие-ко-многим» представляются только при помощи
отдельной таблицы.
Высшая школа экономики, Москва, 2020
• Какое минимальное количество таблиц нужно для
реализации связи вида один к одному для двух
сущностей?

• Какое минимальное количество таблиц нужно для


реализации связи вида один ко многим для двух
сущностей?

• Какое минимальное количество таблиц нужно для


реализации связи вида многие ко многим для двух
сущностей?

Высшая школа экономики, Москва, 2020


Высшая школа экономики, Москва, 2020
В такой таблице искать информацию о каком-то конкретном студенте не
очень удобно, определять количество студентов в группе тоже неудобно,
строки будут разной длины. Значение атрибута «номер группы» не
атомарно.

Атомарные атрибуты хранят единственное значение и не являются ни


списком, ни множеством значений. Это такие данные, разделение которых
на составляющие приводит к потере их смысла с точки зрения решаемой
задачи. Например, если атрибут «Цена» содержит значение 15, то
попытка разделить его на 1 и 5 приведет к полной бессмыслице.
Высшая школа экономики, Москва, 2020
Если какая-то фирма поставляет несколько деталей, то мы
несколько раз храним адрес фирмы, телефон, которые,
вообще-то говоря, можно было бы сохранить всего один раз
(избыточность).

Высшая школа экономики, Москва, 2020


Определённый предмет для одной и той же группы вёл один и
тот же преподаватель. А мы в этой таблице несколько раз
храним его фамилию.

Высшая школа экономики, Москва, 2020


1) Трудности с извлечением некоторых данных. Когда мы храним список всех
студентов в одной строке, нам неудобно извлекать эту информацию.
2) Избыточность. Мы несколько раз храним адрес фирмы, несколько раз
храним её телефон. Таким образом, количество хранимых данных
увеличивается.
3) Аномалии изменения. Если адрес фирмы или телефон изменился, то нам
придётся изменять не в одной строке, а во всех строчках, которые
соответствуют товарам, поставляемым этой фирмой.
4) Аномалии удаления. Если мы удалили товар, поставляемый какой-то
компанией, то случайно можем удалить и всю информацию об этой
фирме, если она не поставляет нам в данный момент больше никаких
товаров.
5) Аномалия добавления. Если мы хотим внести в нашу базу данных
информацию о какой-то фирме, которая ещё пока не поставила нам ещё
ни одного товара, нам придётся ввести фиктивную строчку, в которой будут
только название фирмы, адрес и телефон, с пустым названием товара, и
когда мы потом добавим какой-то реальный товар, который эта компания
нам поставит, нам надо не забыть про эту искусственно добавленную
строчку.
Высшая школа экономики, Москва, 2020
Высшая школа экономики, Москва, 2020
Высшая школа экономики, Москва, 2020
Высшая школа экономики, Москва, 2020
• https://www.coursera.org/learn/data-bases-
intr/home/welcome

• https://www.youtube.com/watch?v=-7sCE6ob70U

• https://www.youtube.com/channel/UC5ZAemhQUQuNqW3c
9Jkw8ug/videos

Высшая школа экономики, Москва, 2020