Концептуальное проектирование 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Концептуальное проектирование



 

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

Цель концептуального проектирования – обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Концептуальную модель данных строят на доступном широкому кругу пользователей и разработчиков языке. Наибольшую популярность из-за доступности, наглядности и компактности приобрел подход моделирования «сущность-связь». Основными элементами этой модели являются: сущности; атрибуты; связи.

Сущность представляет собой различимое множество объектов (экземпляров сущности) реального мира с одинаковым набором атрибутов. Сущность идентифицируется именем и списком свойств (атрибутов). База данных о сколько-нибудь значительной предметной области содержит несколько сущностей. Каждый экземпляр сущности обладает уникальным набором значений атрибутов. На ER-диаграммах сущность представляется прямоугольником с именем сущности внутри.

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

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

Атрибут – неотъемлемое свойство сущности или связи. Именно по значениям атрибутов можно идентифицировать экземпляр сущности. Значения атрибутов представляют основную часть сведений, хранящихся в БД. На ER-диаграммах атрибут представляется овалом (эллипсом), соединенным с соответствующей сущностью линией и с именем атрибута внутри. 

С понятием атрибута тесно связано понятие домена. Домен – множество значений, которые может принимать атрибут. Разработчика не должен удивлять тот факт, что домены могут быть бесконечными (хотя и перечислимыми) множествами Атрибуты делятся на: простые; составные; однозначные; многозначные; производные. Простой атрибут состоит из одного компонента с независимым существованием. Составной атрибут состоит из нескольких компонентов, каждый из которых характеризуется независимым существованием. Однозначный атрибут содержит одно значение для одного экземпляра сущности. Многозначный атрибут может содержать несколько значений для одного экземпляра сущности. Производный атрибут представляет значение, производное (вычисляемое) от значения связанного с ним атрибута или некоторого множества атрибутов, принадлежащих некоторой сущности.

Связь (ключ) - минимальный набор атрибутов, по значениям которых можно однозначно идентифицировать экземпляр сущности.   Степень связи - количество сущностей, которые охвачены данной связью. Если связь определена между двумя сущностями, то ее степень - 2, а называется такая связь бинарной. Связь между тремя сущностями называется тернар ной, четырьмя сущностями – кватернарной и т. д. В общем случае связь между п сущностями называется n - арной.

Типы связей:

Связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому экземпляру сущности А соответствует не более одного экземпляра сущности В.

Связь ОДИН-КО-МНОГИМ(1:М): каждому экземпляру сущности А соответствуют 0, 1 или несколько представителей сущности В.

Рекурсивная связь – связь, в которой одни и те же сущности участвуют несколько раз в разных ролях.

Показатель кардинальности указывает количественное соотношение экземпляров сущностей для каждой связи

Связь МНОГИЕ-КО-МНОГИМ (М:М): каждому экземпляру сущности А соответствуют 0, 1 или несколько представителей сущности В, каждому экземпляру сущности В соответствуют 0, 1 или несколько представителей сущности А.

Примеры основных типов связей приведены на рисунке 6.

 

 

Рисунок 6 – Примеры связей

ЛЕКЦИЯ № 7

 ПРОБЛЕМЫ ER-МОДЕЛИРОВАНИЯ

 

В процессе создания модели на языке ER-диаграмм, могут возникать нежелательные ситуации, которые в литературе называются ловушками соединения. Причины этих проблем кроются в неправильной интерпретации семантики предметной области, в том числе смысла некоторых связей между выделенными сущностями. Очень важно своевременно выявлять в модели данных ловушки соединения, иначе они могут привести к неадекватному описанию предметной области и необходимости перестройки всей концептуальной модели. Наиболее распространенными являются два вида ловушек соединения: ловушки разветвления; ловушки разрыва.

Ловушка разветвления имеет место в том случае, если модель отображает связь между сущностями, но путь между отдельными экземплярами этих сущностей однозначно не определяется. Ловушка разветвления возникает в случае, когда две или больше связей ОДИН-КО-МНОГИМ разветвляются из одной сущности.  Потенциальная ловушка разветвления показана на примере связи типа 1:М выходящих из одной и той же сущности ФАКУЛЬТЕТ. Проанализировав модель, можно сделать вывод, что на одном факультете осуществляется обучение по нескольким специальностям, и на факультете учится множество студентов. Проблема может возникнуть при попытке выяснить, по какой специальности обучается каждый из студентов факультета. Проанализировав модель, можно сделать вывод, что на одном факультете осуществляется обучение по нескольким специальностям, и на факультете учится множество студентов. Проблема может возникнуть при попытке выяснить, по какой специальности обучается каждый из студентов факультета.

Рисунок 7 – Пример ловушки разветвления

 

Ловушка разрыва появляется в том случае, если в модели предполагается наличие связи между сущностями, но не существует пути между отдельными экземплярами этих сущностей. Ловушка разрыва возникает при наличии связи, образующей часть пути между связанными сущностями. Потенциальная ловушка разрыва показана на примере связей между сущностями ОБЩЕЖИТИЕ, СТУДЕНТ и КОМНАТА.

Устранить эту проблему можно только путем перестройки ER-модели для представления правильного взаимоотношения между этими сущностями. В модель добавлена связь Размещение между сущностями ОБЩЕЖИТИЕ и КОМНАТА.

Рисунок 8 – Пример ловушки разрыва

 


ЛЕКЦИЯ №8

НОРМАЛИЗАЦИЯ БАЗЫ ДАННЫХ

 

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

Нормальная форма — требование, предъявляемое к структуре таблиц в теории реляционных баз данных для устранения из базы избыточных функциональных зависимостей между атрибутами (полями таблиц). Нормализация может применяться к таблице, первоначально отвечающей следующим требованиям: таблица содержит нуль или более записей, все записи таблицы имеют одно и то же множество полей, причём одноимённые поля относятся к одинаковым типам данных, таблица не может содержать двух полностью идентичных записей.

База данных считается нормализованной, если ее таблицы представлены как минимум в третьей нормальной форме. Часто многие таблицы нормализуются до четвертой нормальной формы, иногда, наоборот, производится денормализация. Использования таблиц в пятой нормальной форме в реальных базах данных встречается крайне редко. В идеале при нормализации надо добиться, чтобы любое значение хранилось в базе в одном экземпляре, причем значение это не должно быть получено расчетным путем из других данных, хранящихся в базе. Процесс нормализации представлен на рисунке 9.

Первая нормальная форма: запрещает повторяющиеся столбцы (содержащие одинаковую по смыслу информацию), запрещает множественные столбцы (содержащие значения типа списка), требует определить первичный ключ для таблицы, то есть тот столбец или комбинацию столбцов, которые однозначно определяют каждую строку.

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

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

Рисунок 9 – Процесс нормализации БД

Нормальная форма Бойса-Кодда: требует, чтобы в таблице был только один потенциальный первичный ключ. Чаще всего у таблиц, находящихся в третьей нормальной форме, так и бывает, но не всегда. Если обнаружился второй столбец (комбинация столбцов), позволяющий однозначно идентифицировать строку, то для приведения к нормальной форме Бойса-Кодда такие данные надо вынести в отдельную таблицу.

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

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

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



Поделиться:


Последнее изменение этой страницы: 2021-04-12; просмотров: 240; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.13.173 (0.015 с.)