- •Оано впо «волжский университет им. В.Н. Татищева»
- •Содержание
- •Используемые сокращения
- •1 Основные понятия системы баз данных
- •2 История развития систем управления базами данных
- •3 Модели данных
- •3.1 Иерархическая модель
- •3.2 Сетевая модель
- •3.3 Реляционная модель
- •3.3.1 Терминология и базовые понятия реляционных бд
- •3.3.2 Целостность и сохранность баз данных
- •4 Архитектура субд
- •4.1 Типовая организация современной субд
- •4.2 Основные функции субд.
- •5 Язык sql
- •5.1 Оператор select
- •5.1.1 Особенности использования предложения select
- •5.1.2 Особенности использования предложения where
- •5.1.3 Сортировка результатов запроса
- •5.1.4 Группировка записей
- •5.1.5 Ограничение на группировку записей
- •5.2 Объединение однотипных запросов
- •5.3 Структурированные, или вложенные, запросы
- •5.4 Запросы на удаление
- •5.5 Запросы на обновление данных
- •5.6 Запросы на добавление данных
- •6.2 Теоретико-множественные отношения
- •6.3 Соединения
- •6.4 Деление
- •7 Проектирование реляционной базы данных
- •7.1 Существующие подходы к проектированию баз данных
- •7.2 Этапы проектирования баз данных
- •7.2.1 Формирование и анализ требований к системе
- •7.2.1.1 Функциональное моделирование
- •7.2.1.2 Состав функциональной модели
- •7.2.1.3 Типы связей между функциями
- •7.2.1.4 Декомпозиция отношений
- •7.2.2 Проектирование с использованием метода «сущность-связь»
- •7.2.3 Переход от er–модели к реляционной
- •7.3 Проектирование реляционных баз данных с использованием нормализации
- •7.3.1 Функциональные зависимости
- •7.3.2 Пример нормализации отношений
- •Накладная № 123
- •8 Физическая организация базы данных
- •8.1 Структура данных в файлах с различной организацией
- •8.1.1 Основные понятия
- •8.1.2 Неупорядоченные и упорядоченные файлы
- •8.1.3 Хешированные файлы
- •8.2 Индексированные файлы
- •9 Защита баз данных
- •9.1 Потенциальные опасности
- •9.2 Основные типы угроз
- •9.3 Контрмеры – компьютерные средства контроля
- •Вопросы для самоконтроля
- •Используемая литература
7.2.3 Переход от er–модели к реляционной
В настоящее время два последних этапа проектирования существенно сокращаются за счет использования автоматизированных средств проектирования. Переход к инфологической модели БД, а затем к физической схеме БД позволяет осуществить различные программные средства: IDEF0, ERWin, UML.
Правила преобразования моделей:
Каждая простая сущность превращается в таблицу. Простая сущность - сущность, не являющаяся подтипом и не имеющая подтипов. Имя сущности становится именем таблицы.
Каждый атрибут становится возможным столбцом с тем же именем; может выбираться более точный формат. Столбцы, соответствующие необязательным атрибутам, могут содержать неопределенные значения; столбцы, соответствующие обязательным атрибутам, - не могут.
Компоненты уникального идентификатора сущности превращаются в первичный ключ таблицы. Если имеется несколько возможных уникальных идентификаторов, выбирается наиболее используемый. Если в состав уникального идентификатора входят связи, к числу столбцов первичного ключа добавляется копия уникального идентификатора сущности, находящейся на дальнем конце связи (этот процесс может продолжаться рекурсивно). Для именования этих столбцов используются имена концов связей и/или имена сущностей.
Связи многие-к-одному (и один-к-одному) становятся внешними ключами, то есть делается копия уникального идентификатора с конца связи "один", и соответствующие столбцы составляют внешний ключ. Необязательные связи соответствуют столбцам, допускающим неопределенные значения; обязательные связи - столбцам, не допускающим неопределенные значения.
Индексы создаются для первичного ключа (уникальный индекс), внешних ключей и тех атрибутов, на которых предполагается в основном базировать запросы.
Если в концептуальной схеме присутствовали подтипы, то возможны два способа преобразования модели в физическую таблицу: все подтипы в одной таблице (а) или для каждого подтипа - отдельная таблица (б). При применении способа (а) таблица создается для наиболее внешнего супертипа, а для подтипов могут создаваться представления. В таблицу добавляется по крайней мере один столбец, содержащий код типа; он становится частью первичного ключа. При использовании метода (б) для каждого подтипа первого уровня (для более нижних - представления) супертип воссоздается с помощью представления UNION (из всех таблиц подтипов выбираются общие столбцы - столбцы супертипа).
Имеется два способа работы при наличии исключающих связей: общий домен (а) и явные внешние ключи (б). Если остающиеся внешние ключи все в одном домене, т.е. имеют общий формат (а), то создаются два столбца: идентификатор связи и идентификатор сущности. Столбец идентификатора связи используется для различения связей, покрываемых дугой исключения. Столбец идентификатора сущности используется для хранения значений уникального идентификатора сущности на дальнем конце соответствующей связи. Если результирующие внешние ключи не относятся к одному домену, то для каждой связи, покрываемой дугой исключения, создаются явные столбцы внешних ключей; все эти столбцы могут содержать неопределенные значения.