Отношения, как основа реляционной модели данных
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Концепция реляционной модели данных была предложена Е.Ф. Коддом в 1970 г. в связи с необходимостью обеспечить независимость представления и описания данных от прикладных программ.

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

На рис.4.1 представлена схема, иллюстрирующая термины реляционной модели данных.

 
 

 


Схема отношения: СОТРУДНИКИ(Фамилия, Должность, Возраст). Число атрибутов (столбцов) - степень отношения, число кортежей (строк) - мощность отношения, порядок следования строк не существенен.

Реляционная БД - набор взаимосвязанных отношений.

Различают два класса отношений в зависимости от содержания:

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

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

Примеры объектных отношений СТУДЕНТ и ПРЕДМЕТ представлены в табл.4.4.

Таблица 4.4
Примеры объектных отношений
СТУДЕНТ   ПРЕДМЕТ
Номер зачетной книжки Студент Курс   Название Курс
Иванов   Математика
Петров   История
        Физика

 

Примеры связных отношений ИЗУЧАЕТ и РЕЗУЛЬТАТЫ ЭКЗАМЕНОВ представлены в табл.4.5.

Таблица 4.5
Примеры связных отношений
ИЗУЧАЕТ
Номер зачетной книжки Предмет  
Математика  
История  
Физика  
     
РЕЗУЛЬТАТ ЭКЗАМЕНА
Номер зачетной книжки Предмет Оценка
Математика
История
Физика

Операции над отношениями

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

1. Объединение (для совместимых отношений). Результатом объединения двух отношений R1 и R2 является отношение T, включающее все строки, которые есть либо в отношении R1, либо в отношении R2. Обозначение - T=R1ÈR2.

2. Пересечение (для совместимых отношений). Результатом пересечения двух отношений R1 и R2 является отношение T, включающее все строки, которые есть и в отношении R1 и в отношении R2. Обозначение - T=R1ÇR2.

3. Разность (для совместимых отношений). Результатом разности двух отношений R1 и R2 является отношение T, включающее все строки отношения R1, которых нет в отношении R2. Обозначение - T=R1\R2

Пример. В табл.4.6 представлены два отношения R1 и R2 и результаты выполнения операций T1=R1ÈR2, T2=R1ÇR2 и T3=R1\R2

 

 

Таблица 4.6
Операции объединения, пересечения и разности отношений  
R1   R2
A B   A B
x   x
w   x
e   y
x   s

 

 
T1=R1ÈR2   T2=R1ÇR2   T3=R1\R2
A B   A B   A B
x   x   w
w   x   e
e            
x            
y            
s            

 

 

4. Декартово произведение (отношения могут иметь разные схемы). Результатом декартова произведения отношений R1 и R2 является отношение T, которое составляют все строки, полученные в результате конкатенации строк отношений R1 и R2. Конкатенацией строки (a1,a2,...,an) отношения R1 и строки (b1,b2,...,bm) отношения R2 является строка (a1,a2,...,an,b1,b2,...,bm). Степень результирующего отношения T равна сумме степеней отношений R1 и R2, а мощность отношения T равна произведению мощностей отношений R1 и R2. Обозначение - T=R1ÄR2.

Пример. В табл.4.7 представлены отношения СТУДЕНТЫ и ЭКЗАМЕНЫ, а также результат декартова произведения этих отношений - отношение ВЕДОМОСТИ.

 

Таблица 4.7
Операция декартова произведения отношений  
СТУДЕНТЫ   ЭКЗАМЕНЫ
Фамилия   Предмет Дата
Иванов   Математика 10.01.97
Петров   Физика 15.01.97
Сидоров      

 

 
ВЕДОМОСТИ=СТУДЕНТЫÄЭКЗАМЕНЫ
Фамилия Предмет Дата
Иванов Математика 10.01.97
Иванов Физика 15.01.97
Петров Математика 10.01.97
Петров Физика 15.01.97
Сидоров Математика 10.01.97
Сидоров Физика 15.01.97

 

 

 

5. Образ. В отношении T(A,B) образом значения a атрибута А является множество значений атрибута В, и каждый элемент b этого множества образует вместе с а некоторую строку (или часть строки) отношения Т. Эта операция обозначается следующим образом:

im B(a) = {b1, b2,...,bk}.

Пример. Пусть имеем исходное отношение СПИСОК_ПРОГРАММИСТОВ (табл.4.8). Необходимо выделить программистов, владеющих языком «Си». Такая задача решается путем нахождения образа im Фамилия («Си») = {«Иванов», «Петров»}

6. Проекция. Это операция, которая переносит в результирующее отношение T столбцы (атрибуты) исходного отношения R, указанные в условии операции. Кортежи-дубликаты (одинаковые строки) в результате должны отсутствовать. Обозначение - T=R[список атрибутов].

Для примера выполним проекцию по атрибутам «Фамилия» и «Работает над проектом» для отношения СПИСОК_ПРОГРАММИСТОВ. В результате получим отношение ИСПОЛНИТЕЛИ_ПРОЕКТОВ, представленное в табл.4.8.

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

8. Соединение. Выполняется над двумя исходными отношениями R1 и R2. Каждая строка первого отношения сопоставляется по очереди со всеми строками второго, и, если для этой пары соблюдается условие соединения (УС), то они сцепляются и образуют очередную строку в результирующем отношении. Обозначение операции - T=R1[УС]R2. Условие соединения имеет вид:

Имя_атрибута1<знак сравнения>Имя_атрибута2,

причем атрибут1 находится в одном исходном отношении, а атрибут2 - в другом.

 

Таблица 4.8
Отношение «СПИСОК ПРОГРАММИСТОВ» и результат выполнения проекции
СПИСОК_ПРОГРАММИСТОВ
Фамилия Язык Работает_над_проектом
Иванов Си p1
Иванов Паскаль p1
Петров Си p2
Петров Фортран p2
Петров Паскаль p2
Сидоров Паскаль p2
Сидоров Фортран p2

 

 
ИСПОЛНИТЕЛИ_ПРОЕКТОВ= СПИСОК_ПРОГРАММИСТОВ[Фамилия, Работает_над_проектом]
Фамилия Работает_над_проектом
Иванов p1
Петров p2
Сидоров p2

 

 

 

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

· знак сравнения в условии соединения - равенство,

· параметры Имя_атрибута1 и Имя_атрибута2 должны совпадать,

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

Операция натурального соединения обладает свойствами коммутативности и ассоциативности. Свойство коммутативности означает, что операции R[УС]S и S[УС]R порождают одно и то же отношение. Свойство ассоциативности означает, что операции (R[УС]S)[УС]T и R[УС](S[УС]T) дают одинаковый результат.

Пример. Пусть даны два исходных отношения - СПИСОК и ОКЛАДЫ, результат натурального соединения данных отношений по атрибутам «Занимаемая должность» и «Должность» дает отношение СПИСОК1, см. табл.4.9.

Кроме натурального существуют еще два вида соединений:

1.Тетасоединение - это соединение, при котором степень результирующего отношения равна сумме степеней исходных (т.е. оба атрибута соединения входят в список атрибутов результирующего отношения), а условие соединения может быть любым. Если в условии соединения используется равенство, тогда тетасоединение называется эквисоединением.

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

 

Таблица 4.9
Операция натурального соединения отношений
 
СПИСОК   ОКЛАДЫ
Фамилия Таб_номер Занимаемая_должность   Должность Оклад
Иванов Инженер   Директор
Петров Директор   Бухгалтер
Сидоров Бухгалтер   Инженер
Федоров Инженер      

 

 
СПИСОК1=СПИСОК [Занимаемая_должность=Должность] ОКЛАДЫ
Фамилия Таб_номер Занимаемая должность Оклад
Иванов Инженер
Петров Директор
Сидоров Бухгалтер
Федоров Инженер

 

 

 

Нормализация отношений

Центральная задача проектирования базы данных ЭИС - определение количества отношений (или иных СЕИ) и их атрибутного состава.

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

· множество отношений должно обеспечивать минимальную избыточность представления информации;

· корректировка отношений не должна приводить к двусмысленности или потере информации;

· перестройка набора отношений при добавлении в базу данных новых атрибутов должна быть минимальной.

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

Функциональные зависимости

Пусть в отношении R имеются два атрибута А и В. Атрибут В функционально зависит от атрибута А, если в любой момент времени каждому значению А соответствует единственное значение В. Функциональная зависимость обозначается А®В.

Другими словами А®В, если imB(a) содержит один элемент для любого значения a атрибута A.

Рассмотрим отношение ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ (табл.4.10).

 

Таблица 4.10
Пример отношения
ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ
ТабНом+Предмет КолЧасов Фамилия Должность Оклад Кафедра Телефон
ТЭИС Иванов доцент ИС 1-15
БД Иванов доцент ИС 1-15
ЭВМ Петров доцент ИС 1-15
ЭВМ Сидоров профессор ЭВМ 2-43
МатАн Федоров ст.преп. ВМ 2-75
ТеорВер Федоров ст.преп. ВМ 2-75

 

В данном отношении нельзя выбрать в качестве ключа один атрибут, поэтому будем использовать составной ключ ТабНом+Предмет.

В отношении можно выделить ряд функциональных зависимостей:

Должность ® Оклад

ТабНом ® Фамилия

Предмет ® КолЧасов

Кафедра ® Телефон и т.д.

Пусть в отношении R имеются атрибуты A1, A2, …, Ak, образующие ряд A=A1, A2, …, Ak, и отличный от этих атрибутов атрибут B. Атрибут B полностью функционально зависит от ряда атрибутов A, если B функционально зависит от A и не зависит ни от какого подряда ряда A.

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

Если для атрибутов А, В, С выполняются условия А®В и В®С, но обратная зависимость отсутствует, то говорят, что С зависит от А транзитивно.

Нормальные формы

Всего определены шесть нормальных форм.

· первая нормальная форма (1НФ);

· вторая нормальная форма (2НФ);

· третья нормальная форма (3НФ);

· нормальная форма Бойса-Кода (усиленная 3НФ);

· четвертая нормальная форма (4НФ);

· пятая нормальная форма (5НФ).

Задачи получения 4НФ и 5НФ на практике возникают редко. Далее будут рассматриваться 1НФ, 2НФ и 3НФ.

Нормальные формы ограничивают определенный тип функциональной зависимости и устраняют аномалии при выполнении операций над отношениями.

Отношение, у которого все атрибуты простые, называется приведенным к 1НФ.

Рассмотрим ранее встречавшееся отношение ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ (см.табл.4.10). Данное отношение находится в 1НФ. В этом отношении существуют следующие частичные функциональные зависимости:

1. Атрибуты Фамилия, Должность, Оклад, Кафедра, Телефон зависят от части составного ключа ТабНом;

2. Атрибут КолЧасов зависит от части составного ключа Предмет.

Такие частичные зависимости приводят к следующим аномалиям:

1. Избыточность. Дублируются данные о преподавателе (преподаватель может вести несколько предметов) и о количестве часов предмета (один предмет могут вести разные преподаватели).

2. Аномалии обновления. Например, изменение оклада преподавателя или количества часов предмета влечет за собой необходимость поиска и изменения соответствующих значений во всех кортежах.

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

4. Аномалии удаления. Если преподаватель увольняется, то он должен быть удален из отношения. При этом если некоторый предмет вел только удаляемый преподаватель, то удаляется и данный предмет. Аналогично, если предмет отменен и его вел преподаватель, не ведший других предметов, то при удалении предмета удаляется и данный преподаватель.

Таким образом, первая нормальная форма требует дальнейших преобразований.

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

Чтобы устранить частичную зависимость и привести рассмотренное отношение ко 2НФ, необходимо разложить его на два отношения следующим образом:

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

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

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

1. НАГРУЗКА_ПРЕДМЕТ=ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ[ТабНом,
Предмет,КолЧасов]

2. ПРЕПОДАВАТЕЛЬ=ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ[ТабНом,
Фамилия,Должность, Оклад,Кафедра,Телефон]

После выполнения данных проекций отношение ПРЕПОДАВАТЕЛЬ находится в 2НФ (табл.4.11).

В отношении НАГРУЗКА_ПРЕДМЕТ (см. табл.4.11) осталась частичная зависимость атрибута КолЧасов от части составного ключа Предмет. Устранение такой зависимости осуществляется на втором шаге приведения отношения ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ ко 2НФ. На данном шаге необходимо выполнить следующие проекции:

1. НАГРУЗКА=НАГРУЗКА_ПРЕДМЕТ[ТабНом,Предмет]

2. ПРЕДМЕТ=НАГРУЗКА_ПРЕДМЕТ[Предмет,КолЧасов]

В итоге получим БД, состоящую из трех отношений: ПРЕДМЕТ, НАГРУЗКА и ПРЕПОДАВАТЕЛЬ, находящуюся в 2НФ (табл.4.12).


 

Таблица 4.11
Результат первого шага приведения к 2НФ отношения ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ
 
НАГРУЗКА_ПРЕДМЕТ
ТабНом Предмет КолЧасов
ТЭИС
БД
ЭВМ
ЭВМ
МатАн
ТеорВер

 

 
ПРЕПОДАВАТЕЛЬ
ТабНом Фамилия Должность Оклад Кафедра Телефон
Иванов Доцент ИС 1-15
Петров Доцент ИС 1-15
Сидоров профессор ЭВМ 2-43
Федоров ст.преп. ВМ 2-75

 

 

Таблица 4.12
Результат приведения к 2НФ отношения ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ
 
ПРЕДМЕТ     НАГРУЗКА
Предмет КолЧасов ТабНом Предмет
ТЭИС     ТЭИС
БД     БД
ЭВМ     ЭВМ
МатАн     ЭВМ
ТеорВер     МатАн
        ТеорВер

 

 
ПРЕПОДАВАТЕЛЬ
ТабНом Фамилия Должность Оклад Кафедра Телефон
Иванов Доцент ИС 1-15
Петров Доцент ИС 1-15
Сидоров профессор ЭВМ 2-43
Федоров ст.преп. ВМ 2-75

 

 


Изображение отношений в виде таблиц, как это делалось до сих пор, не удобно при проектировании больших БД. Это связано с тем, что такое изображение достаточно громоздко и при его использовании не показываются связи между отношениями. Для изображения моделей данных существует много международно-признанных систем обозначений (нотаций). Рассмотрим кратко основные элементы нотации IDEF1X и далее будем изображать модели данных как с помощью таблиц, так и в данной нотации. Более подробно стандарт IDEF1X будет рассмотрен в курсе «Проектирование информационных систем».

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

В IDEF1X различают зависимые и независимые сущности. Тип сущности определяется ее связями с другими сущностями. Различают идентифицирующие и неидентифицирующие связи.

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

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

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

Пример неидентифицирующей связи между независимыми сущностями показан на рис.4.3.

 

 
 

 

 


 

 


Неидентифицирующие связи разделяются на необязательные и обязательные.

В случае необязательной неидентифицирующей связи атрибут дочерней сущности, являющийся внешним ключом, может иметь пустое значение. Например, на рис.4.3 неидентифицирующая связь между сущностями «Отдел» и «Сотрудник» не является обязательной. Это означает, что значение внешнего ключа «Номер отдела» в некотором экземпляре сущности «Сотрудник» может быть пустым. То есть может существовать некоторый сотрудник, который не относится ни к какому отделу.

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

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

Если для создания IDEF1X диаграмм используется программное средство AllFusion Erwin Data Modeler, то при установлении связи дочерняя сущность дополняется атрибутами родительской сущности. Такая операция называется миграцией атрибутов. Миграция атрибутов выполняется по следующим правилам:

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

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

С учетом операции миграции атрибутов можно сформулировать правила приведения ко 2НФ в среде AllFusion Erwin Data Modeler:

1. Создать новую сущность A, включив в нее часть составного ключа исходной сущности и атрибуты, зависящие от этой части.

2. Создать новую сущность B путем удаления из исходной сущности всех атрибутов, вошедших в сущность A.

3. Установить идентифицирующую связь между сущностью A и B. При этом сущность A является родительской, а сущность B - дочерней.

Вернемся к примеру приведения отношения ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ (табл.4.10) ко 2НФ. Как было отмечено выше, в данном отношении существуют две частичные функциональные зависимости (атрибуты Фамилия, Должность, Оклад, Кафедра, Телефон зависят от части составного ключа ТабНом, и атрибут КолЧасов зависит от части составного ключа Предмет). Поэтому процесс приведения данного отношения ко 2НФ состоял из двух шагов.

На первом шаге устранялась зависимость атрибутов Фамилия, Должность, Оклад, Кафедра, Телефон от части составного ключа ТабНом. Выполнение этого же процесса в среде AllFusion Erwin Data Modeler проиллюстрировано на рис. 4.4.

На втором шаге устранялась зависимость атрибута КолЧасов от части составного ключа Предмет.Выполнение этого же процесса в среде средства AllFusion Erwin Data Modeler проиллюстрировано на рис. 4.5.

В результате получилась модель БД в 2НФ, представленная IDEF1X диаграммой на рис.4.6.

 
 

 

 


Продолжим дальнейший анализ отношений, полученных в результате приведения отношения ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ ко 2НФ. В отношении ПРЕПОДАВАТЕЛЬ есть транзитивные зависимости:

ТабНом ® Кафедра ® Телефон

ТабНом ® Должность ® Оклад

Их наличие порождает неудобства и аномалии следующего характера (на примере «Телефон»):

1. Дублирование информации о телефоне для всех преподавателей.

2. Проблема контроля избыточности при изменении номера телефона.

3. Нельзя включить данные о новой кафедре, если на ней еще отсутствуют преподаватели; и наоборот, при увольнении всех преподавателей данные о кафедре нельзя сохранить.

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

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

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

Таким образом, в отношении, находящимся в 3НФ, не должно быть взаимосвязи между неключевыми атрибутами.

БД находится в 3НФ, если все ее отношения имеют 3НФ.

Для рассматриваемого примера можно получить три отношения в 3НФ: ПРЕПОДАВАТЕЛЬ, ДОЛЖНОСТЬ и КАФЕДРА, представленные в табл.4.13.

С учетом операции миграции атрибутов в AllFusion Erwin Data Modeler правила приведения отношения во 2НФ к отношению в 3НФ будут следующие:

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

2. Создать новую сущность B путем удаления из исходной сущности всех атрибутов, вошедших в сущность A.

3. Установить неидентифицирующую связь от сущности A к сущности B.

Таблица 4.13
Примеры отношений в третьей нормальной форме
ПРЕПОДАВАТЕЛЬ   ДОЛЖНОСТЬ   КАФЕДРА
ТабНом Фамилия Должность Кафедра   Должность Оклад   Кафедра Телефон
Иванов доцент ИС   доцент   ИС 1-15
Петров доцент ИС   профессор   ЭВМ 2-43
Сидоров профессор ЭВМ   ст.преп.   ВМ 2-75
Федоров ст.преп. ВМ            

 

 

В нашем примере в отношении ПРЕПОДАВАТЕЛЬ, которое находится во 2НФ, есть две зависимости между неключевыми атрибутами: атрибут Телефон зависит от атрибута Кафедра и атрибут Оклад зависит от атрибута Должность. Поэтому процесс приведения данного отношения к 3НФ будет состоять из двух шагов.

На первом шаге устраняется зависимость атрибута Телефон от атрибута Кафедра. Выполнение этого процесса в среде средства AllFusion Erwin Data Modeler проиллюстрировано на рис. 4.7.

На втором шаге устраняется зависимость атрибута Оклад от атрибута Должность.Выполнение этого процесса в среде средства AllFusion Erwin Data Modeler проиллюстрировано на рис. 4.8.

Полностью модель БД в 3НФ для хранения отношения ПРЕПОДПВАТЕЛЬ_ПРЕДМЕТ, представленная IDEF1X диаграммой на рис.4.9.

 


 

       
   
 
 

 

 


Вопросы для повторения

1. Понятие модели данных.

2. Понятие атрибута.

3. Понятие СЕИ.

4. Понятие документа.

5. Понятие показателя. Структура показателя.

6. Свойства документа.

7. Операции над СЕИ.

8. Понятие отношения.

9. Понятие реляционной БД.

10. Понятие степени и мощности отношения.

11. Понятие объектного отношения

12. Понятие ключа, составного ключа, частичного ключа.

13. Понятие связного отношения.

14. Понятие внешнего ключа.

15. Понятие ссылочной целостности.

16. Операции над отношениями.

17. Понятие нормализации отношений.

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

19. Понятие 1НФ.

20. Понятие 2НФ.

21. Способы приведения отношений к 2НФ.

22. Понятие 3НФ.

23. Способы приведения отношений к 3НФ.

Резюме по теме

Даны некоторые понятия, использующиеся при моделировании данных, и рассмотрены основы реляционной модели. Рассмотрены операции над отношениями, вопросы нормализации отношений.

Модели знаний

Цели и задачи изучения темы

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

Классификация знаний

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

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

2. Конструктивные знания - наборы структур, подсистем системы и взаимодействий между их элементами, например, в технике.

3. Процедурные знания - методы, процедуры и алгоритмы их реализации, например, в прикладных науках.

4. Фактографические знания - количественные и качественные характеристики объектов и явлений, например, в экспериментальных науках.

5. Метазнания - знания о порядке и правилах применения знаний.

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

Человек пользуется естественным формализмом - языком, письменностью.

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

Одним из важных методов формализации знаний является их классификация. Например, классификационная система К. Линнея в ботанике, таблица элементов Д. Менделеева в химии, систематика экономических систем и др.

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











Дата: 2016-09-30, просмотров: 218.