База данных
База данных. БД объективная форма представления совокупности данных, систематизированных так, чтобы эти данные были найдены и обработаны с помощью ЭВМ. Обращение к базам данных осуществляется с помощью системы управления базами данных. Базы данных применяются во всех сферах человеческой деятельности.
Содержание |
Классификация баз данных
Разделяют плоские базы данных, в которых вся информация располагается в единственной таблице, каждая запись в которой содержит идентификатор конкретного объекта и реляционные базы данных, состоящие из нескольких таблиц, связь между которыми устанавливается с помощью совпадающих значений одноимённых полей. в настоящее время существует несколько различных моделей представления данных, которые, пока не получили такого широкого распространения среди разработчиков и пользователей, как реляционная модель. То есть, при разработке систем управления базами данных, реляционная модель де-факто является стандартом. В целом по форме представления информации базы данных разделяют на следующие категории:
Отношения между таблицами
Отношения между таблицами устанавливают связь между данными, находящимися в разных таблицах реляционной базы данных.
- Один-к-одному
Если между двумя таблицами существует отношение один-к-одному, то это означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице.
- Один-ко-многим
Когда объект, описываемый в одной из таблиц, имеет отношение к нескольким записям другой таблицы, возникает отношение «один-ко-многим». Этот тип отношения между таблицами наиболее часто встречается при проектировании структуры баз данных.
- Много-ко-многим
При отношении между двумя таблицами много-ко-многим каждая запись в одной таблице связана с несколькими записями в другой таблице. Для удобства работы с таблицами, имеющими такие отношения, обычно в базу данных добавляют ещё одну таблицу, которая находится в отношении один-ко-многим и много-к-одному к соответствующим таблицам.
Нормализация баз данных
Всю информацию, содержащуюся в базе, можно разместить в одной таблице, но такая структура данных является неэффективной, поскольку в этой таблице будет достаточно много повторяющихся данных. Такая организация данных приведет к следующим проблемам:
- наличие повторяющихся данных приведет к неоправданному увеличению размера файла базы данных. Кроме нерационального использования дискового пространства, это также вызовет заметное замедление работы приложения;
- ввод пользователем большого количества повторяющейся информации неизбежно приведет к возникновению ошибок;
- изменение одного из часто используемых параметров потребует значительных усилий по корректировке каждой записи, содержащей эти данные.
Процесс уменьшения избыточности информации в базе данных посредством разделения ее на несколько связанных друг с другом таблиц и называется нормализацией данных. Существует шесть уровней нормализации базы данных, которые получили название нормальных форм.
- Первая нормальная форма
- запрещает повторяющиеся столбцы (содержащие одинаковую по смыслу информацию);
- запрещает множественные столбцы (содержащие значения типа списка);
- требует определить первичный ключ для таблицы, то есть тот столбец или комбинацию столбцов, которые однозначно определяют каждую строку.
- Вторая нормальная форма
Вторая нормальная форма требует, чтобы неключевые столбцы таблиц зависили от первичного ключа в целом, но не от его части. Если таблица находится в первой нормальной форме и первичный ключ у нее состоит из одного столбца, то она находится и во второй нормальной форме.
- Третья нормальная форма
Чтобы таблица находилась в третьей нормальной форме, необходимо, чтобы неключевые столбцы в ней зависели только от первичного ключа. Самая распространённая ситуация в данном контексте — это расчётные столбцы, значения которых можно получить путём каких-либо манипуляций с другими столбцами таблицы. Для приведения таблицы в третью нормальную форму такие столбцы из таблиц необходимо удалять.
- Нормальная форма Бойса-Кодда
Нормальная форма Бойса-Кодда требует, чтобы в таблице был только один потенциальный первичный ключ. Чаще всего у таблиц, находящихся в третьей нормальной форме, так и бывает, но не всегда. Если обнаружился второй столбец (комбинация столбцов), позволяющий однозначно идентифицировать строку, то для приведения к нормальной форме Бойса-Кодда такие данные надо вынести в отдельную таблицу.
- Четвёртая нормальная форма
Для приведения таблицы, находящейся в нормальной форме Бойса-Кодда, к четвёртой нормальной форме необходимо устранить имеющиеся в ней многозначные зависимости. То есть обеспечить, чтобы вставка или удаление любой строки таблицы не требовала бы модификации других строк этой же таблицы.
- Пятая нормальная форма
Формальное определение пятой нормальной формы таково: это форма, в которой устранены зависимости соединения. В большинстве случаев практической пользы от нормализации таблиц до пятой нормальной формы не наблюдается.Нормализация базы данных позволяет устранить избыточность, дублирование данных. Как следствие, значительно сокращается вероятность появления противоречивых данных, облегчается администрирование базы и обновление информации в ней, сокращается объём дискового пространства. Зачастую, чтобы извлечь информацию из нормализованной базы данных, приходится конструировать очень сложные запросы, которые увеличивают нагрузку на системные ресурсы из-за большого количества соединений таблиц. Поэтому, чтобы увеличить скорость выборки данных и упростить программирование запросов, нередко приходится идти на выборочную денормализацию базы.
Ключи и индексы
В реляционных базах данных таблицы связываются друг с другом посредством совпадающих значений ключевых полей. Ключевым полем может быть практически любое поле в таблице. Ключ может быть первичным или внешним. Первичный ключ однозначно определяет запись в таблице, в то время как внешний ключ используется для связи с первичным ключом другой таблицы. Одними из основных требований, предъявляемым к системам управления базами данных, являются возможность представления данных в определённом, отличном от физического, порядке и возможность быстрого поиска определенной записи. Эффективным средством решения этих задач является использование индексов. Индекс представляет собой таблицу, которая содержит ключевые значения для каждой записи в таблице данных, записанные в порядке, требуемом для пользователя. Ключевые значения определяются на основе одного или нескольких полей таблицы. Кроме того, индекс содержит уникальные ссылки на соответствующие записи в таблице.
Интересные факты
Любопытно, что название одной из известнейших в мире террористических группировок «Al-Quaeda» в переводе с арабского языка означает «База данных». Происхождение этого названия вызвано строгим учётом сведений о членах организации.
См. также
Ссылки