1_mt11-ИОРиИ Курс лекций_2015 (Презентации лекций), страница 5
Описание файла
Файл "1_mt11-ИОРиИ Курс лекций_2015" внутри архива находится в папке "Презентации лекций". Документ из архива "Презентации лекций", который расположен в категории "". Всё это находится в предмете "информационное обеспечение разработок" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "информационное обеспечение разработок" в общих файлах.
Онлайн просмотр документа "1_mt11-ИОРиИ Курс лекций_2015"
Текст 5 страницы из документа "1_mt11-ИОРиИ Курс лекций_2015"
В данном случае имеются два ключа-кандидата: КодСтудента-УчебныйКурс и КодСтудента-Преподаватель. Преподаватель является детерминантом атрибута УчебныйКурс (без преподавателя не может существовать учебный курс, следовательно учебный курс полностью функционально зависит от преподавателя).
Основной причиной возникновения аномалий является то, что детерминант «Преподаватель» в рассматриваемом отношении не является ключом.
УСТРАНЕНИЕ: декомпозиция отношения на два новых отношения СТУДЕНТ-РУКОВОДИТЕЛЬ (КодСтудента, Преподаватель) и РУКОВОДИТЕЛЬ-УЧЕБНЫЙКУРС (Преподаватель, УчебныйКурс)
5. Четвертая нормальная форма
Отношение R находится в четвертой нормальной форме (4НФ), если находится в форме НФБК и не имеет многозначных зависимостей.
Табл.4. СТУДЕНТ (КодСтудента, УчебныйКурс, Секция)
КодСтудента | УчебныйКурс | Секция |
100 | Физика | Плавание |
100 | Химия | Плавание |
111 | Физика | Плавание |
111 | Химия | Плавание |
111 | Физика | Борьба |
111 | Химия | Борьба |
Для табл.4 существуют такие недостатки, как избыточность данных, а также аномалии модификации, выражающиеся в том, что при необходимости вставить или удалить информацию по секции следует добавить (или удалить) несколько строк.
Основной причиной возникновения аномалий является наличие многозначных зависимостей: КодСтудента->->УчебныйКурс и КодСтудента->->Секция.
УСТРАНЕНИЕ: декомпозиция отношения на два новых:
СТУДЕНТ-УчебныйКурс(КодСтудента, УчебныйКурс) и СТУДЕНТ-Секция(КодСтудента, Секция).
6. Пятая нормальная форма
Пятая нормальная форма (5НФ) образуется при декомпозиции четвертой нормальной формы, имеющей аномалии, на три и более отношений.
Пятая нормальная форма – последняя нормальная форма, которую можно получить путем декомпозиции. Условия декомпозиции для 5НФ нетривиальны, не имеют обобщающей теоретической основы, да и на практике она используется крайне редко.
7. Доменно-ключевая нормальная форма (ДКНФ)
Доменно-ключевая нормальная форма (ДКНФ) была предложена в 1981 г. Фагиным (R.Fagin). Считается, что на 5НФ заканчиваются возможные процедуры нормализации данных. Кроме того, Фагиным было доказано, что если отношение находится в ДКНФ, то оно свободно от каких бы то ни было аномалий.
Определение: Отношение находится в ДКНФ, если каждое ограничение, накладываемое на него, является логическим следствием определения доменов и ключей.
Под ограничением понимается правило, которое регулирует значения атрибутов (правила редактирования и ограничения связей, внутренние ограничения отношений, функциональные и многозначные зависимости).
Домен (domain – область, сфера) – именованный набор значений, которые может принимать атрибут. Это чаще всего известный или фиксированный набор значений либо более общее определение формата значений.
Табл.5. СТУДЕНТ (КодСтудента, Курс, Общежитие, Плата)
Атрибут | Домен | Значение |
КодСтудента | ИдентификаторСтудента | Целое число, 3-и цифры |
Курс | ГодОбучения | 1,2,3,4,5,6 |
Общежитие | НомерЗдания | Целое число, 2-е цифры |
Плата | ПлатаЗаПроживание | Любая денежная сумма |
Расположенные в таблице 5 колонки «Домен» и «Значение» представляют, фактически, прообраз Метаданных, который в дальнейшем будет положен в основу структуры таблиц проектируемой базы данных.
Метаданные – это данные о данных, т.е. описание «скелета» или структуры базы данных, которая впоследствии будет заполняться конкретной информацией.
При определении ключей данного отношения можно видеть, что атрибут «Общежитие» может быть ключом самостоятельного отношения «Плата». Кроме того, при анализе доменной структуры отношения «Студент» (табл.5) можно выявить такой недостаток, как избыточность данных, возникающий вследствие имеющейся функциональной зависимости между атрибутами «Общежитие» и «Плата». Поэтому имеющееся отношение следует преобразовать в два новых отношения: СТУДЕНТ(КодСтудента,Курс,Общежитие) и Общежитие-Плата(Общежитие, Плата).
Концептуальные модели и схемы баз данных
Широкое распространение реляционных СУБД и их использование в самых разнообразных приложениях показывает, что реляционная модель данных достаточна для моделирования предметных областей. Однако проектирование реляционной базы данных в терминах отношений на основе кратко рассмотренного нами механизма нормализации часто представляет собой очень сложный и неудобный для проектировщика процесс.
При этом проявляется ограниченность реляционной модели данных в следующих аспектах:
-
Модель не предоставляет достаточных средств для представления смысла данных. Семантика реальной предметной области должна независимым от модели способом представляться в голове проектировщика. В частности, это относится к проблеме представления ограничений целостности.
-
Для многих приложений трудно моделировать предметную область на основе плоских таблиц. В ряде случаев на самой начальной стадии проектирования проектировщику трудно описать предметную область в виде одной (возможно, даже ненормализованной) таблицы.
-
Хотя весь процесс проектирования происходит на основе учета зависимостей, реляционная модель не предоставляет каких-либо средств для представления этих зависимостей. Несмотря на то, что процесс проектирования начинается с выделения некоторых существенных для приложения объектов предметной области ("сущностей") и выявления связей между этими сущностями, реляционная модель данных не предлагает какого-либо аппарата для разделения сущностей и связей.
Инфологическая модель ER: Entity-Relationship (Сущность-Связь)
Диаграммное представление образа базы данных
Инфологическая модель – представляет самое обобщенное описание проектируемой базы данных, не имеющее отношения к конкретной системной реализации.
Целью инфологического моделирования является описание схемными и языковыми средствами на основе собранных и обобщенных данных представленной картины предметной области для дальнейшей разработки базы данных. Базовыми элементами инфологических моделей являются сущности, атрибуты (свойства) и связи.
Далее мы кратко рассмотрим некоторые черты одной из наиболее популярных семантических моделей данных – модель "Сущность-Связь" (часто ее называют кратко ER-моделью).
На использовании разновидностей ER-модели основано большинство современных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных схем баз данных ER-модели получили широкое распространение в системах CASE, поддерживающих автоматизированное проектирование реляционных баз данных. Среди множества разновидностей ER-моделей одна из наиболее развитых применяется в системе CASE фирмы ORACLE.
Основные понятия модели «Сущность-Связь»
Сущность (Entity) – это реальный или представляемый объект, информация о котором должна сохраняться в базе данных и быть доступна. ТИП сущности – обобщенное понятие объекта, а ЭКЗЕМПЛЯР сущности – конкретный объект, например, ЭКЗЕМПЛЯР сущности «НВР-5Д» принадлежит к ТИПу «ВАКУУМНЫЕ НАСОСЫ».
В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности. При этом имя сущности – это имя типа, а не некоторый конкретный экземпляр.
Каждый экземпляр сущности должен быть отличим от любого другого экземпляра той же сущности (это требование в некотором роде аналогично требованию отсутствия записей-дубликатов в реляционных таблицах).
Рис.3. Графическое изображение сущности
Каждая сущность должна обладать уникальным идентификатором. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от всех других экземпляров данного типа сущности. Каждая сущность должна обладать некоторыми свойствами:
-
каждая сущность должна иметь уникальное имя, и к одному и тому же имени должна всегда применяться одна и та же интерпретация. Одна и та же интерпретация не может применяться к различным именам, если только они не являются псевдонимами;
-
сущность обладает одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через связь;
-
сущность обладает одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности;
-
каждая сущность может обладать любым количеством связей с другими сущностями модели.
Связь (Relationship) – это поименованная, графически изображаемая, ассоциация, устанавливаемая между двумя сущностями и значимая для рассматриваемой предметной области. Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь).
Связь ассоциирует каждый экземпляр одной сущности, называемой родительской сущностью, с произвольным (в том числе нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком, а каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя. Таким образом, экземпляр сущности-потомка может существовать только при существовании сущности родителя.
В любой связи выделяются два конца (в соответствии с существующей парой связываемых сущностей), на каждом из которых указывается имя конца связи, степень конца связи (сколько экземпляров данной сущности связывается), обязательность связи (т.е. любой ли экземпляр данной сущности должен участвовать в данной связи).
Связи может даваться имя, выражаемое грамматическим оборотом глагола и помещаемое возле линии связи. Имя каждой связи между двумя данными сущностями должно быть уникальным, но имена связей в модели не обязаны быть уникальными. Имя связи всегда формируется с точки зрения родителя, так что предложение может быть образовано соединением имени сущности-родителя, имени связи, выражения степени и имени сущности-потомка.
Например, связь продавца с контрактом может быть выражена следующим образом:
-
продавец может получить вознаграждение за 1 или более контрактов;
-
контракт должен быть инициирован ровно одним продавцом.
Степень и обязательность связи графически изображаются следующим образом (рис.4).
Рис.4
Таким образом, 2 предложения, описывающие связь продавца с контрактом, графически будут выражены следующим образом (рис.5).
Рис.5
Атрибут – поименованная характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности. Атрибут представляет тип характеристик или свойств, ассоциированных со множеством реальных или абстрактных объектов (людей, мест, событий, состояний, идей, пар предметов и т.д.). Экземпляр атрибута - это определенная характеристика отдельного элемента множества. Экземпляр атрибута определяется типом характеристики и ее значением, называемым значением атрибута. В ER-модели атрибуты ассоциируются с конкретными сущностями. Таким образом, экземпляр сущности должен обладать единственным определенным значением для ассоциированного атрибута. ТИП атрибута для сущности «ВАКУУМНЫЙ НАСОС» - «МОДЕЛЬ», а ЭКЗЕМПЛЯР атрибута «НВР-5Д».
Атрибут может быть либо обязательным, либо необязательным (рис.6). Обязательность означает, что атрибут не может принимать неопределенных значений (null values). Атрибут может быть либо описательным (т.е. обычным дескриптором сущности), либо входить в состав уникального идентификатора (первичного ключа). Уникальный идентификатор – это атрибут или совокупность атрибутов и/или связей, предназначенная для уникальной идентификации каждого экземпляра данного типа сущности. В случае полной идентификации каждый экземпляр данного типа сущности полностью идентифицируется своими собственными ключевыми атрибутами, в противном случае в его идентификации участвуют также атрибуты другой сущности-родителя (рис.7).