При построении ИЛМ атрибуты, выделенные для описания предметной области, группируются в таблицы
Самым простейшим способом формирования базы данных можно было бы назвать описание всех атрибутов в одной, правда, достаточно большой таблице (табл. 3.1.2). Такая таблица называется универсальным отношением.
Таблица 3.1.2. Универсальное отношение
А1 | А2 | A3 | A4 | … | … | An |
Например, мы хотим поместить в базу данных сведения о литературе, рекомендуемой по дисциплинам, и преподавателях, ведущих занятия по дисциплинам.
Реквизитный состав такой базы данных даже в самом упрощенном виде будет следующим:
ÿ атрибуты, описывающие данные о преподавателе,
ÿ фамилия, имя, отчество;
ÿ атрибуты, описывающие данные о дисциплине,
ÿ название дисциплины;
ÿ атрибуты, описывающие данные об учебниках,
ÿ автор, название, год издания.
Если расположить все перечисленные атрибуты в одной таблице, то при заполнении ее информацией возникнет дублирование данных. В ней будут повторяться данные о дисциплине, потому что много преподавателей может вести одну и ту же дисциплину. Много раз будут повторяться и названия книг, преподаватели одной дисциплины могут рекомендовать одни и те же книги.
|
|
Говорят, что в этом случае возникают аномалии добавления, удаления и модификации, которые приводят к увеличению объема хранимых данных, увеличению времени обработки данных и нарушению целостности базы данных.
Чтобы добавить всего одну новую книгу, нужно вставить столько строк, сколько преподавателей читают соответствующую дисциплину и рекомендуют эту книгу.
Однако следует учесть, что все записи в реляционной таблице считаются независимыми, поэтому, хотя в разных строках описана одна и та же книга, по свойству реляционной таблицы эти книги будут считаться независимыми. Это аномалия добавления.
При удалении из базы данных сведений, например, о книге также потребуется найти все записи, в которых эта книга упоминается. Это аномалия удаления.
При исправлении данных также придется отслеживать правильность одних и тех же данных в разных строках таблицы.
Поэтому на практике никогда не строят такое универсальное отношение, а сразу формируют разные атрибуты по разным таблицам в соответствии с некоторой логикой их использования. Например, упомянутые выше сведения можно распределить по трем таблицам:
ÿ в одной — сведения о преподавателях;
ÿ в другой — сведения об учебных дисциплинах;
ÿ в третьей — сведения о книгах.
Одни и те же данные могут группироваться в таблицы (отношения) различными способами, то есть возможна организация различных наборов отношений взаимосвязанных информационных объектов. Группировка атрибутов в отношениях должна быть рациональной, то есть минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления. Определенный набор отношений обладает лучшими свойствами при включении, модификации, удалении данных, чем все остальные возможные наборы отношений, если он отвечает требованиям нормализации отношений.
|
|
Нормализация отношений — формальный аппарат ограничений на формирование отношений (таблиц), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение (ввод, корректировку) базы данных
Наибольшее практическое применение имеют первая, вторая и третья нормальные формы отношений, выделенные Е. Коддом
Нормализация отношений — это процесс приведения модели к виду, позволяющему получить в дальнейшем структуру базы данных, в которой устранена избыточность хранения и сведены к минимуму аномалии при добавлении, удалении, изменении данных
В процессе нормализации отношения (таблицы) проверяются на соответствие их требованиям сначала первой, затем второй и, наконец, третей нормальным формам. Кроме того, в модели устраняются связи «многие-ко-многим».
Таким образом, основная цель информационно-логического проектирования — сокращение избыточности хранимых данных, что приводит к экономии объема используемой памяти, уменьшению затрат на многократные операции обновления избыточных копий, устранению возможных противоречий из-за хранения в разных местах сведений об одном и том же объекте.