МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
А. В. Аксенов
РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ. ПРОЕКТИРОВАНИЕ, РАЗРАБОТКА SQL-ЗАПРОСОВ, УПРАВЛЕНИЕ ТРАНЗАКЦИЯМИ
Лабораторный практикум
2020
УДК
ББК
А
Рецензент:
Аксенов, А.В.
А Реляционные базы данных. Проектирование, разработка SQL-запросов, управление транзакциями: лаб. практикум / А. В. Аксенов. – СПб.: ГУАП, 2020. – с.
Содержит теоретические и практические сведения по проектированию структуры баз данных и работе с ними, а также сведения о порядке выполнения лабораторных работ
Предназначены для студентов дневной, очно-заочной и заочной форм обучения направления 09.03.01 «Информатика и вычислительная техника».
УДК
ББК
©Санкт-Петербургский государственный университет аэрокосмического приборостроения, 2020
Цель работы
Освоение методов инфологического моделирования при проектировании схемы данных для реляционной базы данных.
1.1.Теоретические сведения
1.1.1.Общие понятия и принципы инфологического моделирования
Инфологическое моделирование – способ разработки структуры базы данных, который опирается на семантику (смысл) данных. Входными данными является словесное описание предметной области, полученное от экспертов, выходными – формализованная модель, как правило, представленная в виде ER-диаграммы.
ER-диаграмма (Entity-Relationship diagram, диаграмма СущностьСвязь) описывает предметную область как набор сущностей, семантически связанных между собой.
Следует различать понятия «сущность» и «экземпляр сущности».
Сущность – набор однотипных объектов или фактов, о которых требуется хранить какую-либо информацию. Иными словами, сущность – все, что можно представить списком.
Сущности желательно именовать существительными единственного числа.
Примеры:
«Товар» – множество всех товаров; «Клиент» – множество всех клиентов; «Покупка» – множество всех фактов покупки тем или иным покупателем того или иного товара.
3
Экземпляр сущности – один объект (факт) набора, один элемент списка.
Сущность определяет набор атрибутов – свойств, значения которых требуется хранить про каждый экземпляр.
Важнейшая черта атрибутов сущности – атомарность. Атомарность данных (atomicity) – неделимость. Атомарные дан-
ные не представляют собой множества значений или списка значений. Атомарность данных – неоднозначная характеристика, и должна определяться с точки зрения семантики данных и предполагаемых методов работы с ними. Так, атрибут «Габариты» сущности «Товар» может быть классифицирован как атомарный, если при работе с моделью будет иметь смысл использовать габариты товара только в совокупности (например, выводить на экран в спецификации), и не придется рассматривать ширину, глубину и высоту товара по отдельности (например, искать товар с шириной не более 1,5 метров). В противном случае атрибут «Габариты» будет неатомарным и требовать пересмотра модели.
Рассмотрим способы борьбы с неатомарностью.
1)Атрибут может быть разбит на несколько атрибутов (в случае если атрибут представляет собой набор разных по смыслу значений, рис. 1.1).
2)Атрибут может быть преобразован в атомарный путем пересмотра того, что будет экземпляром сущности (в случае если атри-
Исходная сущность
Студент
N зачетки ФИО
N зач |
ФИО |
|
|
123 |
Иванов Иван Иванович |
|
|
Преобразованная сущность |
|
|
|||
|
|
|
|
|
|
Студент |
|
|
|
|
|
|
|
|
|
|
|
N зачетки |
|
|
|
|
|
Фамилия |
|
|
|
|
|
|
|
|
|
|
|
Имя |
|
N зач |
Фамилия |
Имя |
Отчество |
|
|
|
|
|
|
Отчество |
|
123 |
Иванов |
Иван |
Иванович |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 1.1. Удовлетворение критерия атомарности путем разбиения атрибута
4
Исходная сущность |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Сотрудник |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Фамилия |
|
|
Фамилия |
|
Телефоны |
||
|
|
|
|
|
|
|
|
Телефоны |
|
|
Иванов |
|
+7 (812) 1234567, +7 (812) 7654321 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Преобразованная сущность |
|
|
|
|
|||
|
|
|
|
|
|
|
|
Телефон сотрудника |
|
|
Фамилия |
Телефон |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Иванов |
+7 (812) 1234567 |
|
|
Фамилия |
|
|
|
||||
|
|
|
|
|
|
||
Телефон |
|
|
Иванов |
+7 (812) 7654321 |
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Рис. 1.2. Удовлетворение критерия атомарности путем пересмотра семантики сущности
бут представляет собой список однотипных по смыслу значений, о которых не требуется хранить дополнительных сведений, и значение атрибута индивидуально у каждого экземпляра, рис. 1.2).
Впримере на рис. 1.2 экземпляром сущности был человек,
аатрибутами – его фамилия и номера телефонов. После преобразования экземпляром сущности стал факт того, что человек имеет тот или иной номер телефона, а атрибутами факта – фамилия человека и номер телефона.
3) Атрибут может быть вынесен в отдельную сущность (в случае если атрибут представляет собой список одинаковых по смыслу значений, о которых требуется хранить дополнительные сведения, или значение атрибута может повторяться у нескольких экземпляров). В этом случае вновь сформированная сущность будет связана с исходной (рис. 1.3).
Связи между сущностями проводятся в том случае, если экземпляры сущностей связаны друг с другом семантически. Экземпляры связей также несут информацию и устанавливают ассоциации между конкретными экземплярами сущностей. Сущность может быть связана сама с собой, в случае если между собой ассоциированы ее отдельные экземпляры.
Связи различаются по кратности (мощности): «один-к-одному», «один-ко-многим», «многие-ко-многим».
Тип связи определяется по отдельности на обоих ее концах. Чтобы определить тип связи на одном из концов, необходимо зафиксировать одиночный экземпляр одной из связанных сущностей
5