- •Основные понятия. Информационные системы
- •Различают два основных класса ис:
- •Информационные системы подразделяют:
- •Существует два подхода при проектировании информационных систем:
- •Организация данных.
- •Классификация моделей данных
- •Сетевая модель данных.
- •Способ упорядочения.
- •Режим исключения.
- •Б азы данных.
- •Операции над данными.
- •Режим включения.
- •Особенности обработки данных в сетевых моделях.
- •Иерархическая модель данных.
- •Операция над данными.
- •Реляционная модель данных.
- •Организация данных.
- •Операции над данными. Операции обновления.
- •Операции обработки отношений.
- •Отношение Сберегательный банк.
- •Отношение Сберегательные книжки.
- •Результирующее отношение операции Соединения по атрибуту № сбербанка.
- •A (делимое – отношение Экзаменационная ведомость)
- •B (делитель – отношение Результаты)
- •С (результирующее отношение)
- •Пример операции деления.
- •Особенности реляционной модели данных.
- •Нормализация отношений.
- •Реализация нормализации в vfp.
- •Функциональные зависимости.
- •Первая нормальная форма.
- •Вторая форма нормализации.
- •Третья нормальная форма отношений.
- •Другие нормальные формы.
О
бъединение.
Предполагает , что на входе задано два
односхемных отношения A
и B. Результат объединения
есть построенное по той же схеме
отношение C, содержащее
все кортежи A и все кортежи
отношения B.П
ересечение.
Предполагает на входе два односхемных
отношения A и B.
На выходе создается отношение по той
же схеме, содержащее только те кортежи
отношения A, которые есть
в отношении B.
В
ычитание.
Все три отношения строятся по одной
схеме. В результирующее отношение C3
включаются только те кортежи из A,
которых нет в отношении B.Декартово произведение. Отношения A и B могут быть построены по разным схемам, а схема отношения С4 включает все атрибуты отношений A и B.
В
ФИО
№ Поликлиники
Наименование организации
Иванов И. И.
Петров Н. С.
Карпов К. С.
Баранов Н. А.
Козлов А. П.
Трофимов Р. В.
Кошкин Л. Г.
13
13
13
14
14
14
13
ХГУ
ХГУ
ХТИ
ХТИ
ЖБК
ХГУ
ХТИ
Проекция отношения Жители на атрибуты № поликлиники и Наименование организации:
№ поликлиники
Наименование организации
13
13
14
14
14
ХГУ
ХТИ
ХТИ
ЖБК
ХГУ
Пример операции проекция.
ФИО
№ Поликлиники
Наименование организации
Иванов И. И.
Петров Н. С.
Карпов К. С.
Баранов Н. А.
Козлов А. П.
Трофимов Р. В.
Кошкин Л. Г.
13
13
13
14
14
14
13
ХГУ
ХГУ
ХТИ
ХТИ
ЖБК
ХГУ
ХТИ
Проекция отношения Жители на атрибуты № поликлиники и Наименование организации:
№ поликлиники
Наименование организации
13
13
14
14
14
ХГУ
ХТИ
ХТИ
ЖБК
ХГУ
Пример операции проекция.
ыборка. (Горизонтальное подмножество.) На входе операции используется одно отношение. А результат выборки есть новое отношение, построенное по той же схеме, содержащее подмножество кортежей исходного отношения, удовлетворяющих условию выборки.Проекция. (Вертикальное подмножество.) На входе операции используется одно отношение, а результирующее включает подмножество атрибутов исходного. Каждому кортежу исходного отношения соответствует такой кортеж в результирующем отношении, что значения одинаковых атрибутов этих двух кортежей совпадают. Но при этом в результирующем отношении кортежи дубликаты устраняются, и в связи с этим мощность результирующего отношения может быть меньше мощности исходного.
С
Отношение Сберегательный банк.
№ Сбербанка
Район
Адрес
Отношение Сберегательные книжки.
№ счета
ФИО
Сумма
Тип вклада
Результирующее отношение операции Соединения по атрибуту № сбербанка.
№ Сбербанка
Район
Адрес
№ счета
ФИО
Сумма
Тип вклада
оединение. На входе операции используется два отношения A и B. В каждом из отношений выделен атрибут, по которому будет осуществляться соединение, атрибуты A1 и B1. Оба атрибута должны быть определены на одном и том же домене. Схема результирующего отношения включает все атрибуты A и атрибуты отношения B, причем допускается, чтобы в схеме результирующего отношения вместо двух атрибутов, по которым выполняется соединение, был представлен только один. Эта операция похожа на декартово произведение. Отличие в том, что декартово произведение предполагает сцепление каждого кортежа из A с каждым кортежем из B, а в операции соединения кортеж из отношения A сцепляется только с теми кортежами из B, для которых выполнено условие: B1=A1.Д
A (делимое – отношение Экзаменационная ведомость)
Студент
Дисциплина
Оценка
Иванов
Иванов
Петров
Петров
Сидоров Сидоров
Метрология
Ин. Яз
Метрология
Ин. Яз
Метрология
Ин. Яз
Отлично
Хорошо
Отлично
Хорошо
Отлично
Удовлетворительно
B (делитель – отношение Результаты)
Дисциплина
Оценка
Метрология
Ин. Яз.
Отлично
Хорошо
С (результирующее отношение)
Студент
Иванов
Петров
Пример операции деления.
еление. На входе операции используются два отношения A и B. Пусть отношение A, называемое делимым, содержит атрибуты (A1, A2, A3 … An). Отношение B – делитель – содержит подмножество атрибутов A; причем, (A1, A2, … Ak), (k<n). Результирующее отношение C определено на атрибутах отношения A, которых нет в B, то есть Ak+1,Ak+2, …, Ak+n. Кортеж включается в результирующее отношение С только, если его декартово произведение с отношением B делимом – отношении A.
Операции реляционной модели данных предоставляют возможность произвольно манипулировать отношениями, позволяя обновлять БД, а также выбирать подмножества хранимых данных и представлять их в нужном виде.
На основе рассмотренных операций реализован язык исчисления отношений, который сводится к неявному выполнению ПК рассмотренных операторов реляционной алгебры.
Особенности реляционной модели данных.
Множество объектов реляционной модели данных однородно – структура данных определяется только в терминах отношений.
Основная единица обработки в операциях реляционной модели данных не запись, а множество записей – отношение.
Нормализация отношений.
К
R1
Табельный
№
ФИО
Оклад
Комната
Телефон
Дети
Имя
Возраст
211
358 360
Иванов
И.К.
Темкин
К.Н. Кошкин
Г.П.
150
170 240
12
12 5
55555
55555 56666
Саша Женя Вася Вова Женя Вова
10 9 7 3 5 8
R2
Табельный
№
Родителя
Имя
ребенка
Возраст
ФИО
Оклад
Комната
Телефон
211 211 211 358 360 360
Саша Женя Вася Вова Женя Вова
10
9
7
3
5
8
Иванов
Иванов
Иванов
Темкин
Кошкин
Кошкин
150
150
150
170
240
240
12
12
12
12
5
5
55555
55555
55555
55555
56666
56666
Первая нормальная форма. Отношение называется нормализованным или приведенным к первой нормальной форме, если все его атрибуты простые. Простым называется атрибут, если значения его атомарны, то есть неделимы. Сложный атрибут может иметь значение, представляющее собой конкатенацию нескольких значений одного или разных доменов. Аналогами сложного атрибута может быть вектор, агрегат данных, повторяющийся агрегат. В отношении R1 присутствует сложный атрибут Дети, все прочие простые. Ненормализованное отношение легко сделать нормализованным. Такое преобразование может привести к увеличению мощности отношения и изменению ключа. В примере ненормализованное отношение R1 преобразовано в нормализованное R2.
Ф
R3
Табельный
№
Родителя
Имя
ребенка
ФИО
211 211 211 358 360 360
Саша Женя Вася Вова Женя Вова
Иванов
Иванов
Иванов
Темкин
Кошкин
Кошкин
R4
Табельный
№
Родителя
ФИО
Оклад
Комната
Телефон
211 211 211 358 360 360
Иванов
Иванов
Иванов
Темкин
Кошкин
Кошкин
150
150
150
170
240
240
12
12
12
12
5
5
55555
55555
55555
55555
56666
56666
R5
Табельный
№
Родителя
ФИО
Оклад
Комната
211 211 211 358 360 360
Иванов
Иванов
Иванов
Темкин
Кошкин
Кошкин
150
150
150
170
240
240
12
12
12
12
5
5
R6
Комната
Телефон
12
12
12
12
5
5
55555
55555
55555
55555
56666
56666
Пусть X и Y – два атрибута некоторого отношения. Y функционально зависит от X, если в любой момент времени каждому значению X соответствует не более чем одно значение атрибута Y. Функциональную зависимость можно обозначить так: XY. Рассмотрим три примера функциональных зависимостей.
Табельный номер функционально зависит от ФИО, и одновременно ФИО функционально зависит от табельного номера:
Т
абельный
номер ФИО
Номер комнаты функционально зависит от ФИО, если сотрудник имеет рабочее место в одной комнате.
Ф ИО Номер комнаты
Если в каждой комнате установлен один телефон, то номер телефона функционально зависит от номера комнаты.
Номер комнаты Номер телефона
В нормализованном отношении все не ключевые атрибуты функционально зависят от ключа отношения.
Полная функциональная зависимость.
Не ключевой атрибут функционально полно зависит от составного ключа, если он функционально зависит от ключа но не находится в функциональной зависимости ни от какой части составного ключа.
В отношении R2 атрибуты: ФИО родителя, Оклад, Комната и Телефон не находятся в полной функциональной зависимости от ключа отношения, поскольку они функционально зависят от части ключа – Табельного номера.
Вторая нормальная форма. Заметим что, отношение R2 в первой нормальной форме не рационально и требует последующих преобразований. Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме и каждый не ключевой атрибут функционально полно зависит от составного ключа.
Чтобы привести отношение ко второй нормальной форме, необходимо:
А) построить его проекцию, исключив атрибуты, которые не находятся в полной функциональной зависимости от составного ключа;
Б) построить дополнительно одну или несколько проекции на часть составного ключа и атрибуты, функционально зависящие от этой части ключа.
Отношение R2, преобразовано в два отношения R3 и R4, каждое из которых находится во второй нормальной форме.
Транзитивная зависимость. Пусть X, Y, Z – три атрибута некоторого отношения. При этом XY, YZ, но обратное соответствие отсутствует. Тогда Z транзитивно зависит от X.
В отношении R4 пример транзитивной зависимости:
Табельный номер комнатателефон.
Хранение в отношении атрибутов, находящихся в транзитивной зависимости от ключа, порождает ряд неудобств. Например, номер телефона есть характеристика комнаты, и поэтому сведения о телефоне будут многократно дублированы для всех сотрудников, рабочие места которых находятся в одной комнате, а изменения номера телефона потребует корректировки большого числа кортежей. Отношение R4 позволяет содержать информацию о комнате и телефоне , когда за комнатой закреплен хотя бы один сотрудник.
Третья нормальная форма. Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме и каждый не ключевой атрибут не транзитивно зависит от первичного ключа.
Для преобразования к третьей нормальной форме необходимо построить несколько проекций. В результате исходное отношение приведено к R5 и R6. Первое содержит список всех сотрудников и сведения размещения по комнатам, второе список всех комнат и данные о номере телефона.
В процессе приведения отношения к второй и третьей нормальным формам число отношений в схеме БД увеличивается. Однако всегда сохраняется возможность получить исходные отношения посредством операций соединения.
С другой стороны, появление новых отношений порождает проблемы поддержания семантической целостности.
