27. Проектирование БД. Нормализация данных в реляционных БД.
Проектирование реляционной БД заключается в разработке структуры данных, т.е. в определении состава таблиц и связей между ними. При этом структура должна быть эффективной и обеспечивать:
- быстрый доступ к данным;
- отсутствие дублирования данных;
- целостность данных.
Три подхода при проектировании структуры БД:
- Сбор информации об объектах решаемо задачи в рамках одной таблицы и последующее разбиение ее на несколько взаимосвязанных таблиц на основе нормализации отношений.
- Формулирование знаний о системе и требований к обработке данных, а затем получение готовой прикладной информационной системы.
- Структурирование информации в результате системного анализа на основе совокупности правил и рекомендаций.
Проектирование может быть классическим ручным способом или с использованием систем автоматизации разработки БД и информационных систем.
При разработке БД могут возникнуть проблемы связанные с избыточностью данных и с аномалиями.
Избыточность означает дублирование данных, содержащихся в БД.
При выполнении манипуляций с избыточными БД могут возникнуть аномалии удаления, обновления, ввода.
Аномалия удаления – возникает при дублировании некоторых параметров различных записей, что может привести к удалению одного из них.
Аномалия обновления - дублирование некоторых параметров различных записей, при обновлении может привести к пропуску обновления некоторых записей.
Аномалии ввода – заключается в том, что приводе в таблицу новой строки, для ее полей могут быть введены недопустимые значения.
Для исключения избыточности и аномалий, выполняется нормализация БД. Метод нормализации основан на достаточно сложной теории реализационных моделей данных.
Процесс проектирования БД с использованием метода нормальных форм заключается в последовательном переводе по определенным правилам отношений из первой нормальной формы в нормальные формы более высокого порядка.
Первая нормальная форма – для таблицы должны выполняться следующие условия:
- поля содержат неделимую информацию;
- в таблице отсутствуют повторяющие группы полей.
Вторая нормальная форма - для таблицы должны выполняться следующие условия:
- таблица должна удовлетворять требованиям первой нормальной формы;
- любое неключевое поле должно однозначно идентифицироваться ключевыми полями.
Третья нормальная форма - для таблицы должны выполняться следующие условия:
- таблица должна удовлетворять требованиям второй нормальной формы;
- ни одно из неключевых полей не должно однозначно идентифицироваться значением другого неключевого поля (полей).
Следование требованиям нормализованных форм не всегда является обязательным. Это может привести к росту количества таблиц, усложнению структуры БД и возрастанию времени доступа к данным.