
- •Определение типов связей
- •Определение атрибутов и связывание их с типами сущностей и связей
- •Определение доменов атрибутов
- •Определение атрибутов, являющихся потенциальными и первичными ключами
- •Обоснование необходимости использования понятий расширенного моделирования (необязательный этап)
- •Проверка модели на отсутствие избыточности
- •Проверка соответствия локальной концептуальной модели конкретным пользовательским транзакциям
- •Обсуждение локальных концептуальных моделей данных с конечными пользователями
- •Создание и проверка локальной логической модели данных для отдельных пользовательских представлений
- •Исключение особенностей, несовместимых с реляционной моделью (необязательный этап)
- •3. Удаление сложных связей
- •4. Удаление многозначных атрибутов
- •Определение набора отношений исходя из структуры локальной логической модели данных
- •5. Рекурсивные связи "один к одному" (1:1)
- •6. Связи типа суперкласс/подкласс
- •7. Двухсторонние связи "многие ко многим" (*:*)
- •Проверка отношений с помощью правил нормализации
- •Проверка соответствия отношений требованиям пользовательских транзакций
- •Определение требований поддержки целостности данных
- •Обсуждение разработанных локальных логических моделей данных с конечными пользователями
- •Создание и проверка глобальной логической модели данных
- •Слияние локальных логических моделей данных в единую глобальную модель данных
- •1. Анализ имен и содержимого сущностей/отношений и их потенциальных ключей
- •2. Анализ имен и содержимого связей/внешних ключей
- •3. Слияние сущностей/отношений, соответствующих локальным моделям данных
- •Разработка способов получения производных данных
- •Реализация ограничений предметной области
- •Проектирование физического представления базы данных
- •Анализ транзакций
- •Выбор файловой структуры
- •Определение индексов
Выбор файловой структуры
Одной из главных задач физического проектирования базы данных является обеспечение эффективного хранения данных. Задача состоит в использовании эффективной структуры хранения данных на внешнем устройстве, которая обеспечивает быструю загрузку базы данных, а затем ее преобразование в структуру, более подходящую для повседневной эксплуатации. Если целевая СУБД не позволяет выбрать определенную файловую организацию, этот этап может быть пропущен.
Последовательные (неупорядоченные) файлы
Последовательный файл является наиболее удобной структурой для хранения данных в следующих случаях.
Данные загружаются в таблицу крупными блоками.
Весь файл таблицы занимает всего несколько страниц.
При каждом обращении к таблице выборке подлежат все ее строки (в любом порядке).
Таблица имеет дополнительные структуры поиска, например индекс по ключу.
Файлы последовательной организации неэффективны, если доступ выполняется только к некоторым строкам таблицы.
Хешированные файлы
Применение хешированного файла в качестве структуры организации памяти для таблицы целесообразно в тех случаях, когда выбор строк осуществляется по точному значению поля, использованного для хеширования, особенно если доступ к строкам происходит случайный образом.
Хешированные файлы не рекомендуется использовать в следующих случаях.
Выборка строк из таблицы осуществляется путем сопоставления с шаблоном ключа хешированного поля.
Выборка строк из таблицы осуществляется по заданному диапазону значений поля, которое входит в значение поля хеширования.
Выборка строк из таблицы осуществляется по значению поля, отличного от поля хеширования.
Доступ к строкам необходимо выполнять только по части поля хеширования.
Часто происходит обновление поля хеширования.
Индексно-последовательные файлы
По сравнению с хешированием метод ISAM представляет собой более гибкую структуру хранения данных. Он поддерживает выборку данных по точному совпадению значения ключа, по шаблону подстановки, по диапазону значений и по части основного ключа. Однако структура индекса файла ISAM остается неизменной после ее формирования при создании самого файла. Поэтому производительность доступа к данным файла ISAM снижается по мере обновления его данных.
Сбалансированные деревья
Индекс сбалансированных деревьев является динамическим, увеличивающимся по мере роста файла таблицы. Благодаря этому, в отличие от файлов ISAM, эффективность доступа в сбалансированных деревьях не снижается по мере обновления данных таблицы. Файлы структуры В+-Тгее постоянно сохраняют упорядоченность доступа по ключу, даже при обновлении их данных.
Кластеризованные таблицы
Необходимость использования кластеризованных таблиц обусловлена тем, как происходит доступ к таблицам, объединенным в кластер. Такая информация может быть получена на основе предварительного анализа транзакций. Но следует учитывать, что необоснованное решение по объединению таблиц в кластер может привести к снижению производительности. Кластеры представляют собой группы из одной или нескольких таблиц, которые физически хранятся вместе, поскольку имеют общие столбцы и часто используются одновременно. При совместном физическом хранении взаимосвязанных строк сокращается время доступа к диску.