Проектирование реляционных баз данных на основе принципов нормализации, с использованием семантических моделей
Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности. Задача проектирования реляционной базы данных формулируется следующим образом: как в некоторой базе данных для заданного набора данных выбрать подходящую структуру? При проектировании базы данных решаются две основные проблемы. 1. Каким образом отобразить объекты предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике предметной области и было, по возможности, лучшим (эффективным, удобным и т. д.)? Часто эту проблему называют проблемой логического проектирования баз данных. 2. Как обеспечить эффективность выполнения запросов к базе данных, т. е. каким образом, имея в виду особенности конкретной СУБД, расположить данные во внешней памяти, создания каких дополнительных структур (например, индексов) потребовать и т. д.? Эту проблему обычно называют проблемой физического проектирования баз данных. В случае реляционных баз данных трудно предложить какие-либо общие рекомендации по части физического проектирования, так как многое зависит от выбранной СУБД. Поэтому чаще всего ограничиваются вопросами логического проектирования реляционных баз данных, которые существенны при использовании любой реляционной СУБД. Нормализация баз данных Нормализация – это формальный метод анализа отношений на основе их первичного ключа и существующих функциональных зависимостей. Процесс нормализации – это разбиение таблицы на две или более с целью ликвидации дублирования данных и потенциальной их противоречивости. Цель нормализации – получение такого проекта БД, в котором каждый факт хранится в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных из-за их избыточности.