ЗНАЕТЕ ЛИ ВЫ?

Первая, вторая и третья нормальные формы.



Первая НФ. Переменная- отношение находится в 1НФ тогда и только тогда, когда в любом допустимом значении этой переменной-отношения каждый её кортеж содержит только одно значение для каждого из атрибутов.

Это определение говорит о том, что все переменные- отношения находятся в 1НФ. Однако, переменная -отношение в 1НФ обладает структурой., которая нежелательна по ряду причин.

Предположим, что вся информация, касающаяся поставщиков и поставок, содержится не в двух, а в переменной-отношении FST. При этом введем еще одну функциональную зависимость CITY à STATUS, то есть статус поставщика определяется городом (местонахождением). Например, все поставщики в Лондоне имеют статус 20.

Атрибут SNAME – для простоты опустим.

Первичный ключ переменной-отношения FST- {S#,P#}.

FST

S# CITY STATUS P# QTY
S1 London P1
S1 London P2
S1 London P3
S1 London P4
S1 London P5
S1 London P6
S2 Paris P1
S2 Paris P2
S3 Paris P2
S4 London P2
S4 London P4
S4 London P5

Таблица 1.

Для переменной-отношения FST можно определить следующие функциональные зависимости:

1.{S#,P#} à QTY.

2.{S#,P#} àCITY.

{S#à CITY (более сильная зависимость).

3.{S#,P#} àSTATUS.

{S#} àSTATUS (более сильная зависимость).

4.CITY à STATUS .

Зависимости 2 и 4 образуют транзитивную зависимость.

Диаграмма переменной-отношения FST будет иметь вид, представленный на рис. 1.

QTY
S#
P#
CITY
STATUS

 

 


Рис. 1. Функциональные зависимости в переменной- отношении FST.

 

CITY не приведен, зависит от S# , а не от всего ключа.

Как видно из диаграммы не все условия 3НФ соблюдаются:

1. Не все неключевые атрибуты взаимно-независимы (CITY и STATUS)

2. Не все неключевые атрибуты неприводимо (фнкционально-полно) зависимы от первичного ключа

STATUS и CITY каждый в отдельности зависит от части ключа S# а не от всего ключа {S#, P#}

Эта структура нежелательна.

Операция INSERT.

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

Операция DELETE.

2. Удаление. Если из FST удалить кортеж, который является единственным для некоторого поставщика, то вместе с информацией о поставке детали будет удалена информация о городе, в котором находится поставщик. Это происходит из-за того, что в этом отношении собрано много информации).

Операция UPDATE

3. Обновление. Если поставщик с номером S1 переместился в другой город, то нужно отыскать все кортежи, в которых связаны между собой значения S1 и London, чтобы внести изменения.

Для решения этих проблем заменим переменную отношений FST двумя переменными отношениями (проекциями) SECOND и SP.

 

SECOND SP


S# STATUS CITY
S1 London
S2 Paris
S3 Paris
S4 London
S5 Rome

 

S# P# QTY
S1 P1
S1 P2
S1 P3
S1 P4
S1 P5
S1 P6
S2 P1
S2 P2
S3 P2
S4 P2
S4 P4
S4 P5


 

S#
CITY
STATUS
S#
P#
QTY

 

 


Функциональные зависимости в переменных- отношениях SECOND и SP.

 

Новая структура позволяет:

1. Поместить информацию о поставщике с номером S5, находящемся в Риме, даже в том случае, если он в данный момент не поставляет детали.

2. При удалении кортежа с номером S3 из SP не утрачивается информация, что этот поставщик находится в Париже.

3. Номер поставщика указывается один раз.

Определение 2НФ дано для отношения.

Вторая НФ (в определении предполагается наличие одного потенциального ключа). Отношение находится во 2НФ тогда и только тогда, когда оно находится в 1НФ и каждый неключевой атрибут неприводимо (функционально полно) зависит от её первичного ключа.

Первый этап в нормализации – исключение зависимостей, которые не являются неприводимыми (исключение неполных зависимостей).

Обе переменные -отношения находятся во 2НФ. Структура переменной –отношения SP находится в 3НФ, ее рассматривать не будем.

 

Зависимость STATUSàCITY, хотя является неприводимой , но и одновременно является транзитивной (через CITY). Эти транзитивные зависимости также характеризуются аномалиями.

1. Включение. Мы не можем утверждать, что с конкретным городом связано конкретное значение статуса, пока нет поставщика в этом городе.

2. Удаление. Если исключим из “SECOND” S5, то вместе с поставщиком исключится информация о городе и его статусе.

3. Обновление. Из-за наличия избыточной информации обновление происходит столько раз, сколько, например, город London встречается в отношении.

Если обновить не все кортежи, то получается искажение информации.

Заменим исходную переменную отношения SECOND двумя проекциями SC и CS.


 

 

SC

CS


S# CITY
S1 London
S2 Paris
S3 Paris
S4 London
S5 Rome

Табл. 4

CITY STATUS
London
Paris
Rome
Moscow

Табл. 5



 

CITY
S#
à

 

STATUS
CITY
à

 

Рис.3 Функциональные зависимости в отношениях SC и CS

 

Таким образом результатом дальнейшей нормализации стало исключение транзитивных зависимостей.

 

Определение 3НФ дано для отношения.

Третья НФ(в определение предполагается наличие только одного потенциального ключа, который так же является первичным ключом отношения).

Отношения находится в 3НФ тогда и только тогда, когда он находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от ее первичного ключа.

Переменные-отношения SC и CS находятся в 3НФ. Как говорилось выше, этот процесс обратим.

 

Лекция10. Семантическое моделирование .Модель сущность-связь. ER –диаграмма.

 

Широкое распространение реляционных СУБД и их использование в самых разнообразных приложениях показывает, что реляционная модель данных достаточна для моделирования предметных областей. Однако проектирование реляционной базы данных в терминах отношений на основе кратко рассмотренного нами механизма нормализации часто представляет собой очень сложный и неудобный для проектировщика процесс.

При этом проявляется ограниченность реляционной модели данных в следующих аспектах:

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

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

· Хотя весь процесс проектирования происходит на основе учета зависимостей, реляционная модель не предоставляет каких-либо средств для представления этих зависимостей.

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

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

Семантические модели должны отвечать следующим требованиям:

- обеспечить интегрированное представление предметной области;

- понятийный аппарат модели должен быть понятен как специалисту предметной области, так и администратору базы данных;

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

Наиболее распространенной семантической моделью является модельсущность-связь (entity -relationship) или ER - модель.

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

Основные понятия модели Сущность-Связь.

Далее мы кратко рассмотрим некоторые черты одной из наиболее популярных семантических моделей данных - модель "Сущность-Связи" (часто ее называют кратко ER-моделью).

На использовании разновидностей ER-модели основано большинство современных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных схем баз данных ER-модели получили широкое распространение в системах CASE, поддерживающих автоматизированное проектирование реляционных баз данных. Основными понятиями ER-модели являются сущность, свойство, связь.

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

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

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

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

 

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

Будем использовать для отображения объектов и их свойств следующие условные обозначения (рис.1).

объектттт
свойство

 


Рис. 1 Изображение объектов и их свойств.

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

Свойства объекта могут быть единичные и множественные. Единичные свойства (год рождения, образование, ученая степень, ученое звание) изображаются одинарной стрелкой. Множественные свойства, например иностранный язык, изображаются двойной стрелкой.

 

«СОТРУДНИК»

ФИО
Табельный №
иностранный язык
ученое звание
образование
год рождения
ученая степень
идентификатор

 

 


Рис.2

 

 

Изображение связи «ОБЪЕКТ-СВОЙСТВО».

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

Кроме связи между объектом и его свойствами в ИЛМ фиксируются связи между объектами (сущностями).

Пример: Даны два объекта: «СТУДЕНТ» и «ПРЕПОДАВАТЕЛЬ», которые представляют собой предметную область – вуз.

Между объектом «СТУДЕНТ» и объектом «ПРЕПОДАВАТЕЛЬ» имеется связь – руководство дипломными проектами.

Связь между экземплярами объекта «СТУДЕНТ» и экземплярами объекта «ПРЕПОДАВАТЕЛЬ» отображается в виде диаграммы ER-экземпляров. представленной на рис. 3.

«ПРЕПОДАВАТЕЛЬЛЬ»
«СТУДЕНТТТ»
z1
z2
s1
s2
s3
s4
s5
z5
z4
z3

 

 

Рис. 3 Диаграмма ER – экземпляров.

На основе этой диаграммы построим диаграмму ER – типов, отражающую связь между объектами.

Из этой диаграммы видно, что каждый студент имеет только одного руководителя, но один и тот же преподаватель может руководить множеством студентов-дипломников, Такая связь называется «один – ко – многим» (1:М), один со стороны «ПРЕПОДАВАТЕЛЬ» и многие со стороны «СТУДЕНТЫ» (рис. 4).

 

ПРЕПОДАВАТЕЛЬ
СТУДЕНТ


Рис.4 Диаграмма ER – типов.

При связи 1 : М одному экземпляру объекта «ПРЕПОДАВАТЕЛЬ» соответствует 0;1 или более экземпляров объекта «СТУДЕНТ», но каждому экземпляру объекта «СТУДЕНТ» соответствует не более одного экземпляра объекта «ПРЕПОДАВАТЕЛЬ».

Если в качестве предметной области рассмотреть клинику, то между объектами «ПАЦИЕНТ» и «КОЙКА» существую связь 1 : 1 (один – к – одному). Одному экземпляру объекта «ПАЦИЕНТ» и «КОЙКА» соответствует не более одного экземпляра объекта «KOЙKA» и наоборот (рис. 5).

«ПАЦИЕНТ»
«КОЙКА»
z1
s1
s2
s3
z3
z2

 

 


Рис. 5 Диаграмма ER – экземпляров.

Диаграмма ER-типов, отражающая связь между объектами «ПАЦИЕНТ» и «КОЙКА», представлена на рис. 6.

ПАЦИЕНТ
КОЙКА

 


Рис. 6 Диаграмма ER – экземпляров.

 

Между двумя сущностями может быть задано сколь угодно связей с разными смысловыми значениями. Между сущностями «СТУДЕНТ» и «ПРЕПОДАВАТЕЛЬ» можно установить вторую связь, назвав ее условно «Лекции». Ясно, что эта связь типа «многие – ко – многим».

Связь «многие – ко – многим» (М : М) – одному экземпляру объекта «ПРЕПОДАВАТЕЛЬ» соответствует 0:1 или более экземпляров объекта «СТУДЕНТ» и наоборот.

Диаграммы ER – экземпляров и ER – типов изображены на рис. 2.7 и рис.8.

 

 

ПРЕПОДАВАТЕЛЬ
СТУДЕНТ
z1
z2
s1
s2
s3
s4
s5
z5
z4
z3

 


Рис.7 Диаграмма ER – экземпляров.

 

ПРЕПОДАВАТЕЛЬ
СТУДЕНТ


Рис.8 Диаграмма FR – типов.

 

Перечисленные выше типы связи (1 : 1), (1 : М), (М : М) называются степенью связи.

 

Как и в реляционных схемах баз данных, в ER-схемах вводится понятие нормальных форм, причем их смысл очень близко соответствует смыслу реляционных нормальных форм. Заметим, что формулировки нормальных форм ER-схем делают более понятным смысл нормализации реляционных схем. Мы приведем только очень краткие и неформальные определения трех первых нормальных форм.

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

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

В третьей нормальной форме устраняются атрибуты, зависящие от атрибутов, не входящих в уникальный идентификатор. Эти атрибуты являются основой отдельной сущности.

Связи "many-to-many". Иногда бывает необходимо связывать сущности таким образом, что с обоих концов связи могут присутствовать несколько экземпляров сущности (например, все члены кооператива сообща владеют имуществом кооператива). Для этого вводится разновидность связи "многие-со-многими".

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

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

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

Лекция 11. Этапы проектирования баз данных.

 

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

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

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

1. Системный анализ и словесное описание информационных объектов предметной области.

2. Формирование инфологической модели предметной области – частично формализованное описание объектов в терминах некоторой семантической модели, например, в терминах ER- модели.

3. Выбор СУБД.

4. Даталогическое или логическое представление базы данных, т.е. описание базы данных в терминах принятой даталогической модели данных

5. Физическое проектирование базы данных. К числу работ, выполняемых на данном этапе относятся: выбор типа носителя, способа организации данных,, выбор эффективного размещения базы данных на внешних носителях и другие работы.

 





Последнее изменение этой страницы: 2017-01-25; Нарушение авторского права страницы

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