Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СУБД / УМК СУБД

.pdf
Скачиваний:
165
Добавлен:
09.02.2016
Размер:
3.32 Mб
Скачать

Поясним рисунок 15: Студент может изучать один или несколько предметов, предмет может изучать один или несколько студентов.

Множественность ассоциаций.

 

 

1

1

 

 

Студент

Зачетная книжка

Одна и только одна

 

 

 

 

 

 

 

 

0..*

 

 

 

Деканат

 

Приказы о студентах

Много (0 и больше)

 

 

 

0…1

 

 

 

 

 

 

 

Группа

 

Журнал группы

ноль или одна

 

 

1..*

1..*

 

 

 

 

 

 

Преподаватель

 

 

Студент

1 или много

 

 

 

 

 

 

 

Рисунок 15. Множественность ассоциаций.

Отношения между классами.

Существуют различные типы отношений:

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

Реализация определяет, что объект одного класса имеет метод, с помощью которого он может создать объект другого класса.

Объединение (агрегирование) - это ассиметричная ассоциация, в которой объект из одного класса считается "целым", а объекты из другого класса считаются "частями".

Композиция - более сильная форма объединения, при которой объекты из "целого"

класса управляют жизнью объектов из "подчиненного" класса. При удалении объекта,

составляющего "целое", "подчиненные" объекты, составляющие это целое, также удаляются.

Преимущества и недостатки объектно-ориентированной модели данных.

Объектно-ориентированная модель данных имеет ряд преимуществ:

3.Хорошо подходит для моделирования сложных отношений между данными. В этом

ееглавное преимущество, недоступное другим структурам данных.

4.Требует меньше кодирования в ГИС-программах, что означает меньше ошибок и более низкую стоимость поддержки.

5.Хорошо интегрируется с методами имитационного моделирования.

6.Обеспечивает высокий уровень целостности данных: инкапсуляция сохраняет внутреннее устройство объектов, создание новых данных контролируется правилам поведения и допусками.

У объектно-ориентированной модели данных есть также и некоторые недостатки:

35

1. Хотя объектно-ориентированные модели данных обеспечивают комплексное представление реального Мира, комплексные модели сложнее разрабатывать и строить.

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

2.Затруднен импорт данных и обмен данными с другими типами баз данных.

3.Большие и комплексные модели выполняются медленнее.

4.Анализ объектно-ориентированных баз данных требуют использования объектно-

ориентированных языков программирования.

5. Этот подход не годится для описания непрерывно распределенных в пространстве признаков, таких как рельеф местности или данные о загрязнении почвы тяжелыми металлами.

Объектно-реляционная модель данных

Компромисс между объектной моделью данных и реляционной моделью данных был найден в развитии «смешанной» модели: объектно-реляционной.

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

Объектно-реляционные модели предоставляют следующие возможности работы с объектами:

Определение новых базовых классов;

Определение новых составных классов на базе существующих;

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

Наследование на уровне классов;

Наследование на уровне таблиц;

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

реляционной модели более точно моделировать реальный мир, чем это удается реляционной модели.

Степень, до которой компонент объектно-ориентированной модели данных может быть реализован в объектно-реляционной модели, быстро меняется. Объектно-реляционное

36

программное обеспечение продолжает совершенствоваться и представляет все больше

объектной функциональности.

Преимущества объектно-реляционной модели данных

Объектно-реляционная модель данных имеет ряд преимуществ:

1.Быстрое выполнение.

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

3.Более тщательный ввод и редактирование данных.

4.Высокая целостность данных (новые данные должны следовать правилам поведения).

5.Пользователи могут работать с более интуитивными объектными данными.

6.Одновременное редактирование данных (поддержка версий).

7.Меньше необходимости в программировании приложений для моделирования сложных отношений.

Недостатки объектно-реляционной модели данных

Разумеется, у объектно-реляционной модели данных есть и ряд недостатков:

1.Компромисс между объектно-ориентированной и реляционной моделями данных.

2.Нет инкапсуляции данных.

3.Ограниченная поддержка отношений между объектами.

4.Больше трудностей при моделировании сложных отношений, чем при использовании объектно-ориентированной модели данных.

5.1. Основные понятия реляционной модели данных

Вматематических дисциплинах понятию «таблица» соответствует понятие

«отношение» (relation). Таблица отражает объект реального мира – сущность, а каждая ее строка отражает конкретный экземпляр сущности. Каждый столбец имеет уникальное для таблицы имя.

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

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

Сущность – объект любой природы, данные о котором хранятся в БД.

Атрибуты – свойства, характеризующие сущность (столбцы). Степень отношения – количество столбцов.

37

Схема отношения – список имен атрибутов, например, СОТРУДНИК (№, ФИО, Год рождения, Должность, Кафедра).

Домен совокупность значений атрибутов отношения (тип данных). Говоря строже,

домен есть потенциально возможное множество значений.

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

Ограниченность: домен имеет границу, данные делятся на возможные и невозможные. Как и для множества, это не означает, что количество элементов конечное.

Уникальность: можно сравнить одни элементы с другими и избежать дубликатов. Для одного отдельного домена это само собой разумеется.

Понятие домена помогает правильно моделировать предметную область

Домен и атрибуты. Атрибуты должны быть увязаны с доменами, или, «определены на некоем домене». На одном домене могут быть заданы несколько атрибутов.

Атомарность значений: значения атрибутов должны быть простыми, атомарными, не составными.

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

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

Ограничить излишние сравнения между атрибутами – основное назначение доменов.

Кортеж – строка таблицы.

Кардинальность (мощность) – количество строк в таблице.

Первичный

PK

FIO

YEAR

JOB

CHAIR

Домены

 

 

 

ключ

 

 

 

 

 

 

 

Отношение

Фамилия,

Год

Должность

Код

Кортежи

Кардинальность

6

Степанов С.С.

1950

профессор

7

 

п/п

имя, отчество

рождения

 

кафедры

 

 

 

1

Иванов И.И.

1973

доцен

7

 

 

 

2

Петров П.П.

1968

профессор

7

 

 

 

3

Сидоров С.С.

1970

доцент

7

 

 

 

4

Васильев В.В.

1980

доцент

7

 

 

 

5

Вовкин В.В.

1985

преподаватель

7

 

 

Атрибуты

Рис 17. Элементы реляционной модели

38

Понятие базы данных тесно связано с такими понятиями структурных элементов,

как поле, запись, файл (таблица) ,

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

и м я, например. Фамилия, Имя, Отчество, Дата рождения;

т и п, например, символьный, числовой, календарный;

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

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

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

Файл (таблица) - совокупность экземпляров записей одной структуры.

Таблицу в реляционной модели данных можно рассматривать как класс

однотипных объектов.

Таким образом, для объектов одного класса набор свойств будет одинаков, хотя значения этих свойств для каждого объекта, конечно, могут быть разными.

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

Основные типы данны, используемые в моделях данных:

Short Integer – короткое целое число;

Long Integer – длинное целое число;

Float – вещественное число (число с плавающей десятичной точкой);

Double – вещественное число (число с плавающей десятичной точкой) двойной точности;

Text – текстовый тип данных;

Logical - логический (да/нет);

Data - временной. Значение определяется как дата с установленным разделителем в установленном формате;

39

Blob – большие бинарные объекты (binary large object - BLOB), которые могут хранить данные неограниченного размера. Поля этого типа позволяют хранить безразмерную произвольную двоичную информацию.

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

Первичный ключ – это атрибут, уникально идентифицирующий строки отношения.

Первичный ключ из нескольких атрибутов называется составным. Первичный ключ не может быть полностью или частично пустым (иметь значение null).

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

Ключи, которые можно использовать в качестве первичных, называются

потенциальными или альтернативными ключами.

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

Внешний ключ – это атрибут (атрибуты) одной таблицы, который может служить первичным ключом другой таблицы. Является ссылкой на первичный ключ другой таблицы (рис. 18).

Рис 18. Связь отношений Отношения СТУДЕНТ (ФИО, Группа, Специальность) и ПРЕДМЕТ (Назв Пр, Часы)

связаны отношением СТУДЕНТ_ПРЕДМЕТ (ФИО, Назв Пр, Оценка), в котором внешние ключи ФИО и Назв_Пр образуют составной ключ.

5.2. Целостность реляционных данных

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

40

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

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

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

ВРМД существует два вида внутренних ограничений целостности.

1.Целостность по существованию – потенциальный ключ отношения не может иметь пустого значения (NULL).

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

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

4.Обе таблицы принадлежат к одной и той же базе данных Microsoft Access. Если таблицы связаны, то они должны иметь формат Microsoft Access, а для настройки целостности данных необходимо открыть ту базу данных, в которой они хранятся.

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

5. Невозможно присвоить полю внешнего ключа связанной таблицы значение,

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

Например, нельзя создать заказ для несуществующего клиента, но можно создать заказ, не присвоенный ни одному из клиентов, задав для поля "Клиент" пустое значение.

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

41

"Сотрудники", если ему назначены заказы в таблице "Заказы".

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

"Сотрудники", если ему назначены заказы в таблице "Заказы".

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

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

уникальность составляющих элементов,

ограниченность,

неупорядоченность.

Ограниченность определяет условием вхождения данных в заданное множество.

Например, «все целые числа», или «все числа от минус 0,5 до плюс 0.5». В общем случае элементов множества может быть бесконечно много, но всегда есть способ понять – число

3,1415 к обоим множествам не относится.

Уникальность позволяет однозначно определить объект в базе данных. Уникальность позволяет не только искать и находить, но находить с гарантией, что эта находка будет единственной. Система поиска, таким образом, «строится» исходя из твердой уверенности, что данный объект – уникальный, правильно идентифицированный, и

именно к нему относятся взятые в другом месте характеристики. Именно к этому речному переходу по каталогу, например, относятся данные промеров русла, а не к рекам со сходным названием вообще.

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

Тип данных. Операции над множествами.

Типа данных задается таким свойством множеств как ограниченность. Для однотипных

элементов появляется возможность сравнения. Над такими однотипными множествами возможны операции: объединение, пересечение, вычитание (дополнение), декартово

произведение.

РМД стала первой работоспособной моделью данных, поскольку имела эффективный инструментарий – операции реляционной алгебры. Основной единицей обработки является отношение, а не его кортежи. К отношениям можно применить систему операций, позволяющих получить одни отношения из других. Исключение составляют операции создания и заполнения таблиц, а также операции описания и переименования столбцов. Результатом запроса к реляционной БД может быть новое отношение,

вычисленное на основе имеющихся отношений.

42

Реляционная алгебра включает две группы операций.

1. Традиционные операции над множествами (модифицированные с учетом того, что их операндами являются отношения) – объединение, пересечение, разность (вычитание),

декартово произведение и деление.

2. Специальные реляционные операции – выборка, проекция, соединение.

Объединение выполняется над двумя совместными отношениями R1, R2 с идентичной структурой. В результате операции строится новое отношение R = R1 U R2 , которое имеет тот же состав атрибутов и совокупность кортежей исходных отношений. В

результирующее отношение по определению не включаются дубликаты кортежей. Ниже приведены исходные отношения: R1 (табл. 2) и R2 (табл. 3) и результат объединения – R

(табл. 4).

Таблица 2.

ФИО

Год рождения

Должность

 

Кафедра

Иванов И.И.

1948

 

Зав. кафедрой

22

Сидоров С.С.

1953

 

Доцент

22

Козлов К.К.

1980

 

Ассистент

23

Таблица 3.

 

 

 

 

 

 

 

 

 

 

 

ФИО

Год рождения

 

Должность

 

Кафедра

Цветкова Н.Н.

1965

 

Доцент

 

23

Петрова П.П.

1953

 

Ст. преподаватель

 

22

Козлов К.К.

1980

 

Ассистент

 

23

Таблица 4.

 

 

 

 

 

 

 

 

 

 

ФИО

Год рождения

 

Должность

 

Кафедра

Иванов И.И.

1948

 

Зав. кафедрой

 

22

Сидоров С.С.

1953

 

Доцент

 

22

Козлов К.К.

1980

 

Ассистент

 

23

Цветкова Н.Н.

1965

 

Доцент

 

23

Петрова П.П.

1953

 

Ст. преподаватель

 

22

Пересечение выполняется над двумя совместными отношениями R1, R2.

Результирующее отношение RP = R1 ) R2 содержит кортежи, которые есть в каждом из исходных. Результат имеет тот же состав атрибутов, что и исходные отношения.

Пересечение отношений R1 и R2 дает отношение RP (табл. 5).

Таблица 5.

ФИО

Год рождения

Должность

Кафедра

Козлов К.К.

1980

Ассистент

23

43

Вычитание выполняется над двумя совместными отношениями R1, R2. В результате строится новое отношение RV = R1 - R2 с идентичным набором атрибутов, содержащее кортежи первого отношения R1, которые не входят в отношение R2. Вычитание отношения R2 из R1 дает отношение RV (табл. 6).

Таблица 6.

ФИО

Год рождения

Должность

Кафедра

Иванов И.И.

1948

Зав. кафедрой

22

Сидоров С.С.

1953

Доцент

22

ДЕКАРТОВО ПРОИЗВЕДЕНИЕ МНОЖЕСТВ [Cartesian product] — множество А × В всех упорядоченных пар элементов (a, b), из которых a принадлежит множеству A, b

множеству B.

Соединения - это подмножества декартова произведения. Так как декартово произведение n таблиц - это таблица, содержащая все возможные строки r, такие, что r

является сцеплением какой-либо строки из первой таблицы, строки из второй таблицы, ...

и строки из n-й таблицы

Декартово произведение выполняется над двумя отношениями R1 и R2, имеющими в общем случае разный состав атрибутов. В результате образуется новое отношение RD =

R1 x R2, которое включает все атрибуты исходных отношений. Результирующее отношение состоит из всевозможных сочетаний кортежей исходных отношений. Число кортежей (мощность) отношения-произведения равно произведению мощностей исходных отношений.

Декартово произведение отношений R1 (табл. 7) и R2 (табл. 8) дает новое отношение

RD (табл. 9), которое содержит все атрибуты исходных отношений. В него целесообразно добавить атрибут Оценка для записи результатов экзамена.

Таблица 7.

Код дисциплины

Наименование

Д1

Математика

Д2

Информатика

Таблица 8.

Номер студента

ФИО студента

11

Иванов И.И.

12

Петров П.П.

13

Сидоров С.С.

44

Соседние файлы в папке СУБД