Проектирование и оптимизация логической модели

Логическая модель строится на основе концептуальной в рамках определенной модели данных. Для реляционной модели данных каждая сущность преобразуется в отношение или набор отношений, между которыми устанавливаются связи. Отношение представляет собой таблицу, построенную по определенным строго заданным правилам. Таблица состоит из столбцов (полей) и строк (записей).

В настоящее время преобладает технология реляционных баз данных. Она обеспечивает относительно простые средства представления данных и манипулирования ими. Реляционная модель является удобной и наиболее привычной формой представления данных в виде таблицы. В отличие от иерархической и сетевой моделей, такой способ представления:

- наиболее понятен пользователю;

- позволяет легко изменять схему базы данных, т.е. присоединять новые элементы данных и записи без изменения соответствующих подсхем;

- обеспечивает необходимую гибкость при обработке непредвиденных запросов.

Одним из основных преимуществ реляционной модели является ее однородность. Все данные рассматриваются как хранимые в таблицах, в которых каждая строка имеет один и тот же формат. Каждая строка в таблице представляет некоторый объект реального мира или соотношение между объектами. Пользователь модели сам должен для себя решить вопрос, обладают ли соответствующие сущности реального мира однородностью. Этим самым решается проблема пригодности модели для предполагаемого изменения.

Так как в реляционной базе данных все данные хранятся в таблицах, названия сущностей станут заголовками таблиц, а атрибуты станут столбцами.

В данной базе данных используются связи «один ко многим». В реляционной базе данных связи между таблицами, т.е. обеспечение целостности данных в реляционной базе данных, осуществляются посредством первичных ключей.

Первичный ключ – это атрибут, который можно использовать для уникальной идентификации таблицы. Таким образом, у таблицы «Лабораторные работы» первичным ключом станет «id».

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

Для преобразования сущностей в совокупность отношений требуется выполнить следующие действия:

– создать по одной таблице для каждой сущности;

– для каждой сущности, которая выступает во взаимоотношениях с другими сущностями как «один - ко - многим» или «один - к - одному», указать один столбец в качестве первичного ключа;

– для каждой сущности, которая выступает как «многие - к - одному» во взаимоотношениях с хотя бы одной сущностью, указать в качестве внешних ключей первичные ключи каждой из родительских сущностей;

– задать первичный ключ для каждой сущности, выступающей во взаимоотношениях как «многие - к - одному» [13].

2.3.3 Нормализация данных

Нормализация данных — одно из самых важных понятий и концепций реляционной системы. Нормализованная система сводит к минимуму количество избыточных данных, при этом сохраняя их целостность. Нормализованной можно назвать базу данных, в которой все таблицы следуют правилам нормальных форм. Нормальная форма — набор правил, которые показывают, как надо организовать данные, что бы они были нормализованными. С момента основания реляционных систем появилось множество нормальных форм, но важно понимать, что следование каждой новой форме повышает нагрузку на систему (в чем вы скоро убедитесь). Поэтому, в более сложных системах всегда нужно уметь найти компромисс между степенью нормализации и производительности. В большинстве же случаев, вполне хватает следования первым трем нормальным формам, которые мы сейчас и рассмотрим.

Первая нормальная форма требует, чтобы все значения полей были атомарными и все записи уникальными:

– в каждой строке таблицы должны содержаться данные, соответст­вующие некоторому объекту или его части;

– в каждом столбце должны находиться данные, соответствующие од­ному из атрибутов отношений;

– в каждой ячейке таблицы должно находиться только единственное значение;

– у каждого столбца должно быть уникальное имя;

– все строки (записи) в таблице должны быть различными;

– порядок расположения столбцов и строк в таблице не имеет значе­ния.

Все построенные таблицы находится в первой нормальной форме, так как каждый столбец таблицы неделим, и в рамках одной таблицы нет столбцов с одинаковыми по смыслу значениями.

Модель находится во второй нормальной форме, если она:

– во-первых, находится в первой нормальной форме;

– во-вторых, не содержит не ключевых атрибутов, находящихся в частичной функциональной зависимости от первичного ключа.

Все таблицы имеют первичные ключи, которые однозначно определяют строки и не избыточны, и можно говорить о том, что таблицы находятся во второй нормальной форме.

Модель находится в третьей нормальной форме, если она находится во второй нормальной форме и не имеет транзитивных зависимостей – зависимостей между не ключевыми атрибутами. Транзитивная зависимость имеет место тогда, когда один атрибут однознач­но определяет второй, второй однозначно определяет третий.

Так как в отношениях нет транзитивных зависимостей, и отсутствует избыточность данных, то можно сказать, что они находятся в третьей нормальной форме [14].


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: