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

Тема 1: Введение в базы данных

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


www.hse.ru
• познакомить студентов с основными
технологиями работы с базами данных,
• развить у студентов практические навыки
проектирования данных в реляционной модели
на примере среды Oracle,
• научить студентов строить запросы на языке
SQL для получения необходимой информации
из базы данных, модификации данных и их
анализа, а также конструирования
дополнительных структур, ускоряющих работу с
данными.

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


 Домашнее задание (проект, выполняемый
индивидуально или в группе из двух человек) (0,2);

 Контрольная работа (0,3);

 Выполнение заданий на семинарах (0,2);

 Экзамен (0,3).

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


База данных (БД) – это совокупность
взаимосвязанных структурированных данных,
относящихся к определенной предметной области и
организованных так, чтобы обеспечить независимость
данных от программ обработки.
Базы данных появились, когда возникла
необходимость хранить и обрабатывать большие
объёмы информации. Такая информация должна быть
хорошо структурирована, в ней должны быть
выделены составные части, между которыми
прослеживаются связи. Структура базы данных
должна обеспечивать удобный поиск и обработку
данных.
Высшая школа экономики, Москва, 2020
Система управления базами данных (СУБД) –
это совокупность программ и языковых средств,
предназначенных для управления данными в базе
данных, ведения базы данных и обеспечения
взаимодействия её с прикладными программами.
Основные функции СУБД:
• постоянное хранение данных;
• поддержка безопасности данных и их защита от
несанкционированного доступа;
• обеспечение согласованности данных;
• поддержка высокоуровневых языков запросов.
Популярные СУБД: Oracle, MS SQL Server, IBM DB2,
PostgreSQL, MySQL.

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


• Определение предметной области, информацию о которой
будет храниться в БД, и спецификация предъявляемых к
ней требований (объекты реального мира, их связи,
отношения друг с другом);
• Определение размеров, которых может достигнуть база
данных;
• Определение количества пользователей, которые будут к
ней обращаться и запросы, которые они смогут
выполнять;
• Подбор СУБД;
• Разработка структуры базы данных, правил обеспечения
её целостности (с учётом особенностей выбранной СУБД);
• Реализация базы данных (создаются объекты базы
данных, которые заполняются данными);
• Тестирование, разработка документации, сопровождение.
Высшая школа экономики, Москва, 2020
• Процесс моделирования БД начинается с изучения
понятий и описаний. Мы должны понять какие
данные будем хранить и на какие вопросы
пользователей к этим данным мы должны находить
ответы в базах данных.
• При моделировании нужно описать объекты и
понятия выбранной предметной области и
проследить связи между ними.
• Также нужно описать ограничения целостности, то
есть, требования к допустимым значениям данных
и связи между ними.

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


Например, нам нужно создать информационную систему
«Экзаменационная сессия».
Какую информацию мы будем в ней хранить?
• информацию о студентах (id, фамилия, имя, отчество),
• информацию о преподавателях и предметах,
• информацию о том, как студенты распределены по
группам,
Какие ограничения накладываются на данные?
• студент должен состоять только в одной группе,
• когда мы назначаем экзамен он должен быть по
конкретному предмету,
• экзамен должен принимать определённый
преподаватель,
• результат экзамена – оценка в допустимом диапазоне.
Высшая школа экономики, Москва, 2020
Процесс моделирования данных нужно начать с
анализа предметной области и с выявления
требований к ней отдельных пользователей.
Для нашего примера БД «Экзаменационная
сессия» у разных пользователей будут разные задачи,
связанные с этой БД. Студентам нужно узнать когда и
в какую аудиторию нужно прийти на экзамен.
Преподаватель должен иметь возможность проставить
оценку за экзамен. Администратор должен составлять
расписание экзаменационной сессии, назначать
предметы и преподавателя для проведения экзамена.

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


1) Семантическое (концептуальное, инфологическое)
моделирование,

2) Даталогическое моделирование,

3) Физическое моделирование.

Трёхуровневая архитектура позволяет обеспечить


независимость хранимых данных от использующих их
программ.

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


Семантическая модель (концептуальная модель,
инфологическая модель) – модель предметной области,
предназначенная для представления семантики
предметной области на самом высоком уровне
абстракции.
Это модель очень высокого уровня. То есть мы
должны абстрагироваться при составлении
семантической модели от конкретной СУБД, в рамках
которой будет реализована БД и от особенностей
физического хранения данных.
Для семантического моделирования наиболее
известная модель – модель «сущность-связь». Entity-
Relationship model. Обычно представляется в
графической форме – диаграмма «сущность-связь».
Высшая школа экономики, Москва, 2020
После разработки инфологической модели можно
приступать к датологическому моделированию. На
этом уровне мы описываем структуры хранения в
контексте выбранной СУБД.

Создаётся схема базы данных на основе


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

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


Физическое моделирование – создание схемы базы
данных для конкретной СУБД. Специфика конкретной
СУБД может включать в себя ограничения на
именование объектов базы данных, ограничения на
поддерживаемые типы данных и т. п. Кроме того,
специфика конкретной СУБД при физическом
проектировании включает выбор решений, связанных с
физической средой хранения данных (выбор методов
управления дисковой памятью, разделение БД по
файлам и устройствам, методов доступа к данным),
создание индексов и т. д.

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


Модель «сущность-связь» (Entity-Relationship
model), или ER-модель, является наиболее известным
представителем класса семантических
(концептуальных, инфологических) моделей
предметной области. ER-модель обычно
представляется в графической форме, с
использованием нотации, называемой ER-диаграмма.

Основные преимущества ER-моделей:


• наглядность;
• модели позволяют проектировать базы данных с
большим количеством объектов и атрибутов;
• ER-модели реализованы во многих системах
автоматизированного проектирования баз данных.
Высшая школа экономики, Москва, 2020
Диаграмма «сущность-связь» - это инструмент
концептуального уровня. Она позволяет наглядно
изобразить зависимости и ограничения целостности.

Назначение диаграммы «сущность-связь»:


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

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


- Сущность - это любой объект или
понятие, информацию о которых
мы собираемся хранить
(прямоугольник),

- Атрибуты – свойства сущностей


(овалы),

- Связи – отношения, в которые


вступают сущности (ромбы).

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


В БД должна храниться информация о студентах,
сданных ими экзаменах по определённым предметам. Все
студенты распределены по учебным группам. Для группы
назначается экзамен по определённому предмету,
экзаменатор, указывается дата экзамена и аудитория. За
каждый сданный экзамен студенту ставится оценка.

Сущности: студенты, преподаватели, предметы

Атрибуты для студентов: номер зачётки, имя,


фамилия, отчество, дата рождения, номер телефона, номер
группы.

Ограничения: номер зачётки – целое положительное


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

Чтобы отличить экземпляры сущности друг от друга


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

Если это база данных университета, то сущностями


будут Студенты, Дисциплины, Программы, Факультеты,
Преподаватели, Менеджеры и пр.

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


Атрибуты – отдельные характеристики сущности. Каждый
атрибут имеет уникальное имя и характеризуется типом
данных. Например, у сущности «Студент» атрибутами будут
номер паспорта, ФИО, дата рождения, образовательная
программа, номер группы.

Сущность может иметь любое количество атрибутов.


Сущность и её атрибуты на диаграмме соединяются
ненаправленными дугами.

Номер ФИО Дата


паспорта рождения

Ключевой Студент
атрибут
Высшая школа экономики, Москва, 2020
При моделировании может возникнуть вопрос:
рассматривать ли какой-то элемент как атрибут или как
сущность. Например, адрес может быть атрибутом
сущности человек, если это адрес прописки. А может быть
отдельной сущностью, если мы хотим хранить
информацию о том, где человек живёт, работает, учится,
бывает и пр.

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


Ключ – это один или несколько атрибутов объекта, по которым
объект можно однозначно идентифицировать. Может быть простым
или составным.

Нужно выбрать ключ так, чтобы у каждого объекта был свой


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

Для студента ключом может быть номер зачётки, номер


паспорта или сложная комбинация полей ФИО+дата рождения.
Для пассажира поезда — номер поезда, дата, номер вагона и
место. Для гражданина России — номер российского паспорта.

Если среди атрибутов сущности можно выделить несколько


возможных ключей, то обычно выбирается наиболее важный,
который чаще всего будет использоваться при поиске. Этот ключ
называется первичным.
Высшая школа экономики, Москва, 2020
Связь – ассоциирование двух и более сущностей. Благодаря
связям можно найти в базе данных одни сущности по значениям
других. Идентификатором связи являются идентификаторы
сущностей, которые в эту связь вступают.
Связь обычно возникает если хочется атрибутом какой-то
сущности объявить другую сущность или записать в одну
сущность идентификатор другой сущности.
В диаграммах «сущность — связь» имя связи обычно
заключается в ромб, в котором мы даем имя для каждой связи и
соединяем также связываемые сущности линией.

Образовательная
Студент учится
программа

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


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

Характеристики связей:
- размерность,
- мощность,
- модальность.

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


Размерность связи определяет количество видов объектов,
которые в ней участвуют: бинарная, тернарная, n-арная,
рекурсивная (в связи вступают объекты одного вида).
Многомерные связи сложно реализовывать в СУБД. Лучше
переходить от многомерных связей к бинарным. С помощью
рекурсивных связей можно выстроить иерархические структуры.
оценка

студент экзамен преподаватель


руково
дит

предмет сотрудник

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


оценка

студент прини
сдаёт экзамен преподаватель
мает

назн
ачен

предмет

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


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

Номер Номер Автор ISBN


экземпляра полки

Экземпляр представ Название


Книга
книги ляет

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


Три вида мощности в зависимости от количества
участвующих в них сущностей?

• «один-к-одному» 1:1;

• «один-ко-многим» 1:N;

• «многие-ко-многим» M:N.

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


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

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

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


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

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

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


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

Участву
Сотрудник Проект
ет
M N

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


• «Может» (факультативная): экземпляр одной сущности может
быть связан с одним или несколькими экземплярами другой
сущности, а может быть и не связан ни с одним экземпляром.
Например, сотрудник может участвовать в проекте или
нескольких, а может и не участвовать.

• «Должен» (обязательная): экземпляр одной сущности обязан


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

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


Модальность «должен» обозначается на диаграмме двойной
линией, модальность «может» обозначается одинарной линией.
Например, каждый билет должен принадлежать пассажиру,
поэтому связь со стороны билета будет модальной. Но пассажир
может иметь билет, а может и не иметь, а может иметь несколько
билетов. Поэтому со стороны пассажира связь будет
немодальной.

Билет Имеет Пассажир


N 1

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


Студент Изучает Иностранный язык

Студент Изучает Иностранный язык

Студент Изучает Иностранный язык

Студент Изучает Иностранный язык

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


1) определить сущности,
2) определить атрибуты сущностей,
3) определить первичные ключи,
4) определить связи между сущностями и их
свойства,
5) нарисовать диаграмму,
6) проверить диаграмму.

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


Высшая школа экономики, Москва, 2020
В модели «сущность-связь» могут быть
представлены
a. Объекты
b. Характеристики объектов
c. Связи между объектами
d. Операции, производимые с объектами
e. Жизненный цикл данных

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


Слабой сущностью называют
a. Абстрактный (виртуальный) объект
b. Объект, который не может быть
идентифицирован без связи с другим
объектом
c. Объект, связанный немодальной связью с
другими объектами

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


Связи бывают
a. Один к одному
b. Некоторые к некоторым
c. Слабые к сильным
d. Многие ко многим

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


Связь «отец-сын» является примером связи
a. Один к одному
b. Один ко многим
c. Многие ко многим

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


Связь «покупатели-товары» является
примером связи
a. Один к одному
b. Один ко многим
c. Многие ко многим

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


В базе данных «Электронное расписание» что из
перечисленного является сущностью, связью,
атрибутом?
a. Аудитория
b. Закреплена
c. Преподаватель
d. Число мест в аудитории
e. ФИО преподавателя
f. Ноутбуки
g. Расположен
h. Марка ноутбука
i. Дисциплина
Высшая школа экономики, Москва, 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

Вам также может понравиться