- •1. Введение в предмет «Базы данных»
- •1.1. Основные определения и категории бд
- •1.2. Требования к бд и методы их реализации
- •1.3. Принципы функционирования субд
- •1.4. Языковые средства для работы с бд
- •2. Логическое описание и проектирование бд
- •2.1. Элементы данных и связи
- •2.2. Древовидные модели данных
- •2.3. Сетевые модели данных
- •2.4. Реляционная модель данных
- •2.5. Функциональные зависимости
- •2.6. Вторая и третья нормальные формы
- •2.7. Этапы построения схемы бд
- •3. Физическая организация бд
- •3.1. Основы физической организации бд
1.3. Принципы функционирования субд
СУБД – это программа, реализующая следующие функции: 1) обмен управляющими воздействиями с прикладным программным обеспечением и операционной системой в процессе передачи данных из прикладной программы в БД и обратно; 2) преобразование данных в процессе передачи в соответствии с описанием внешних схем; 3) обеспечение защиты данных от несанкционированного доступа; 4) обеспечение многопользовательского доступа к данным. Перечислен минимальный набор функций, которым должна обладать СУБД.
Последовательность действий, осуществляемых в процессе чтения записей из БД:
1. Прикладная программа обращается в СУБД (механизм прерывания), передавая ей запрос соответствующего типа, имя внешней схемы и, возможно, пароль доступа.
2. СУБД находит описание внешней схемы, переносит его в буфер и при необходимости проверяет пароль доступа.
3. СУБД просматривает схему БД и выделяет отношения и связи, необходимые для реализации запроса. Осуществляется формальная оптимизация запроса.
4. СУБД просматривает физическое описание и определяет методы доступа для поиска данных. Одновременно выполняется физическая оптимизация запроса (минимизация количества операций ввода-вывода).
5. СУБД передает последовательность команд на чтение блоков операционной системе и передает ей управление.
6. Операционная система считывает блоки данных и записывает их в системные буфера. Затем передает управление СУБД.
7. СУБД преобразует данные в системных буферах в соответствии с описанием внешних схем, служебная информация обрабатывается в соответствии с физическим описанием.
Примечание. Пункты 4–7 выполняются циклически. Чем лучше СУБД оптимизирует запрос, тем меньше будет циклов.
8. После завершения формирования данных по запросу в системных буферах, СУБД передает их в рабочую область прикладной программы и передает ей управление.
При выполнении операции записи последовательность действий аналогичная, только поток данных направляется в обратную сторону.
1.4. Языковые средства для работы с бд
Для написания прикладной программы в качестве базисных языков могут быть использованы традиционные языки программирования. Однако средств этих языков недостаточно для реализации принципа независимости данных: описание данных и запросы к БД реализуются операторами традиционного языка. Следовательно, изменения в схеме БД приводят к необходимости переписывания таких программ.
Для решения этой проблемы традиционные языки программирования расширяются языком описания данных (ЯОД) и языком манипулирования данных (ЯМД). ЯОД предназначен для формирования внешних схем, схемы БД и физического описания данных: формируется структура записей, типы и имена атрибутов, устанавливаются взаимосвязи между данными. ЯОД физического уровня предназначен для формирования способов адресации и выбора методов доступа. ЯМД предназначен для формирования запроса к БД: поиск, дополнение, модификация и удаление. Расширением ЯМД являются системные утилиты для реорганизации данных.
2. Логическое описание и проектирование бд
2.1. Элементы данных и связи
Определение. Элементом данных называется поименованное неизменяемое атомарное данное, не допускающие декомпозиции, с определенным типом и наименованием. Причем наименование должно однозначно определять семантику элемента данных без какого-либо контекста.
Определение. Связи на схеме БД устанавливаются между отношениями, и отражают количественное соотнесение между связываемыми записями (кортежами) в прикладной области. Связи не должны иметь какой-либо семантики. Связи в БД классифицируются по количеству сопоставляемых друг другу записей.
На начальном этапе проектирования связи могут устанавливаться между элементами данных.
Типы связей:
1) 1:1 – "один к одному". Одному значению первого объекта соответствует не более одного значения второго объекта (номер студента номер читательского билета);
2) М:1 – "многие к одному". Множеству значений первого объекта соответствует не более одного значения второго объекта (табельный номер сотрудника должность сотрудника);
3) 1:М – "один ко многим". Одному значению первого объекта соответствует множество значений второго объекта, где М{0,1,2...} (должность сотрудника табельный номер сотрудника);
4) М:М – "многие ко многим". Множеству значений первого объекта соответствует множество значений второго объекта (должность сотрудника разряд ЕТС сотрудника).
Правило склейки записей. Если между элементами данных A и B установлена связь типа 1:1 или М:1, то элемент данных B присоединяется к элементу данных A, образуя логическую запись (тип записи). Элемент данных A в этом типе записи будет ключевым.
Определение (предварительное). Минимальная совокупность атрибутов в отношении, значения которых однозначно определяют объект (кортеж) в отношении, называется первичным ключом этого отношения.