Существуют различные подходы к проектированию баз данных. В любом случае при проектировании разрабатывается база данных не сама по себе, "вещь в себе", а с учетом тех задач, для решения которых она будет использоваться. 

Одним из наиболее часто применяемых подходов является трехуровневое проектирование всей системы обработки данных и, соответственно, базы данных. Это концептуальный (содержательный), логический и физический уровни.
Нормализованные таблицы в базе данных позволяют уменьшить избыточность данных, в большинстве случаев увеличивают гибкость использования системы, предоставляя возможность выполнять произвольные, сколь угодно сложные запросы, что временами повышает ее производительность. Это в полном объеме относится к оперативным данным, т. е. к данным, регулярно используемым в ежедневном решении оперативных задач предметной области. Такие задачи называются задачами оперативной обработки транзакций (OLTP — Online Transaction Processing).
Нормальная форма Бойса — Кодда (BCNF) является как бы развитием третьей нормальной формы. Она запрещает в качестве столбца, входящего в состав первичного ключа, использовать столбец, который функционально зависит от неключевого столбца, т. е. значение такого столбца можно выбрать из другой таблицы базы данных. Трудно себе представить разработчиков, которые могут создавать таблицы такой изощренной (или просто неразумной) структуры.
Третья нормальная форма (3NF) требует соблюдения условий второй нормальной формы, и чтобы ни один неключевой столбец не зависел от другого неключевого столбца. Для примера рассмотрим таблицу, описывающую отделы организации (табл. 2.4) 
Вторая нормальная форма (2NF) требует, чтобы соблюдались условия первой нормальной формы и чтобы любой неключевой столбец зависел от всего первичного ключа таблицы, а не от его части. Это правило относится только к тому случаю, когда первичный ключ образован из нескольких столбцов.
Пример. Пусть таблица регионов REGION в процессе проектирования приняла следующий вид (табл. 2.3).
Первая нормальная форма (иногда в литературе используется сокращение 1НФ или 1NF — first normal form) требует, чтобы значение любого столбца было единственным, атомарным. Иными словами, в таблице не должно быть повторяющихся групп. В литературе корпорации Microsoft к первой нормальной форме предъявляется также и требование, чтобы каждая таблица имела первичный ключ.
Первая задача при проектировании базы данных — составление списка таблиц и разработка структуры каждой таблицы. В реляционных базах данных есть понятие нормализации таблиц. Существует набор стандартов проектирования данных, называемых нормальными формами. Нормальные формы определяют правила, которым должны соответствовать структуры таблиц. Общепризнанными являются шесть нормальных форм, хотя в литературе по базам данных можно найти и гораздо большее количество форм нормализации. На практике обычно используется третья нормальная форма.
Хорошим примером такого отношения является отношение между таблицей авторов и таблицей книг. Одна книга может быть написана несколькими авторами, один автор может написать несколько книг (рис. 2.3).

Отношение "один ко многим" между двумя таблицами реализуется связкой "внешний ключ/первичный ключ". Реже применяется связка "внешний ключ/уникальный ключ". Это отношение иногда в литературе называют отношением "многие к одному".
Такое отношение можно назвать универсальным — с его помощью можно представить практически любые отношения в базе данных, начиная от простой иерархии до реализации отношения "многие ко многим".
Если между двумя таблицами базы данных появляется отношение "один к одному", то лучше объединить эти таблицы в одну. Основной причиной использования этого отношения является экономия памяти и увеличение скорости выполнения запросов.
Такое отношение используется в том случае, если связь между двумя таблицами не является обязательной.
Не так часто в реальной жизни встречаются случаи, когда требуется использовать отношение "один к одному".

Опрос

Какие языки программирования вы хотите видеть на сайте

Другие опросы...