Проектирование баз данных
Проектровнаие реляцтонной БД заключается главным образом в разработке структуры данных, т.е. в определении состава таблиц и связей между ними. При этом структуры должна быть эффективнгой и обеспечивать:
- быстрый доступ к данным
- отсутствие дублирования(повторения) данных
- целостность данных
Проектирование структуры данных также называют логическим проектированием, или проектированием на логическом уровне.
При проектирваниии структур данных можно выдеоить три основных подхода:
- сбор информации об объектах решаемой задачи в рамках одной таблицы (одного отношения) и последующее разбиение ее на несколько взаимосвязанных таблиц на основе нормализации отношений
- формулирование знаний о системе (определение типов исходных данных и их взаимосвязей) и требований к обработке данных, а затем получение с помощью CASE схемы БД или готовой прикладной информационной системы.
- структурирование информации в результате системеного анализа на основе совокупности правил и рекомендаций.
Проектирование может выполняться классическим способом, когда разработчик собирает и выделяет объекты системы и их характеристики, после чего вручную приводит их к требуемой структуре данных. Кроме того, для проектирования можно использовать так называемые CASE-системы, которые автоматизируют процесс разработки не только БД, но и информационной системы в целом.
Нормализация БД
Нормализация БД – это процесс уменьшения избыточности информации в БД. Метод норамлизации основан на достаточно сложной теории реляционных моделей данных. Рассмотрим основные особенности и технику нормализации, на вдаваясь в теоретическое обоснование этих вопросов.
Избыточность данных и аномалии
При разработке структуры БД могут возникнуть проблемы связанные:
- с избыточностью данных
- с аномалиями
Под избыточностью данных понимают дублирование данных, содержащихся в БД. При этом различают простое (неизбыточное) дублирование и избыточное дублирование данных.
Избыточность данных при выполнении операций с ними может приводить к различным аномалиям – нарушению целостности БД. Выделяют аномалии:
- удаления
- обновления
- ввода
Неизбыточное дублирование является естественным и допустимым, его примером является список телефонов (местных) сотрудников организации, показанный в таблице
Сотрудник |
Телефон |
Иванов П.Л. |
123 |
Петров А.Ф. |
123 |
Сидоров О.Е. |
456 |
Кузнецова В.А. |
789 |
Васин И.Г. |
123 |
Три сотрудника имеют одинаковый номер телефона 123, что возможно, например, в случае, когда они находятся в одной комнате. Таким образом номер телефона в таблице дублируется, однако для каждого сотрудника этот номер является уникаьным. В случае удаления одного из дублированных значений номера телефона (удаление соответствующей строки таблицы) будет потеряна информация о сотруднике – Иванове П.Л., Петрове А.Ф. или Васине И.Г., - что является аномалией удаления.
При смене номера в комнате его необходимо изменить для всех сотрудников, которые в ней находятся. Если для какого-либо сотрудника этого не сделать, например, для Петрова А.Ф., то возникает несоответствие данных, связанное с аномалией обновления.
Аномалия ввода заключается в том, что при вводе в таблицу новой строкидля ее полей могут быть введены недопустимые значения.
Приведение к нормальным формам
Первая нормальная форма
Вторая нормальная форма
Третья нормальная форма
Средства CASE
Язык SQL