Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000259.doc
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
1.27 Mб
Скачать

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

Промежуточной моделью данных между реляционными и объектно-ориентированными моделями данных является объектно-реляционная модель данных (ОРБД).

Различают две разновидности ОРБД – гибридные и расширенные.

В гибридных ОРБД интерфейс пользователя и алгоритм приложения выполнены с применением объектно-ориентированного подхода, а БД является реляционной. Примерами могут служить СУБД Paradox и InterBase, используемые для создания и использования базы данных в приложениях, разработанных в среде Delphi. В каком-то смысле гибридной можно считать СУБД Access, которая используется для создания базы данных и приложения и использует встроенный язык программирования Visual Basic for Application (VBA).

В расширенных (постреляционных) ОРБД предполагается объектно-ориентированное построение собственно базы данных путем использования известных и введения новых типов данных, связанных между собой. Эта связь реализуется через методы, описываемые с помощью триггеров и хранимых процедур. В расширенной объектно-реляционной модели допускается неатомарность данных, записываемых в поле. В полях может располагаться другая таблица или массив данных. К подобным СУБД относятся Informix Universal Server, Oracle 8, UniSQL. Данные СУБД используют язык запросов SQL3.

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

В настоящий период широкое распространение получила гибридная разновидность ОРБД.

К достоинствам ОРБД следует отнести следующие;

- повторное использование компонентов, имеющих заданный набор свойств и методов;

- частичное или полное отсутствие нормализации таблиц;

- возможность повтора данных в поле.

К недостаткам ОРБД можно отнести следующее:

- усложнение структуры базы данных;

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

3. Реляционная модель данных

3.1. Основные определения

3.1.1. Определение отношения, домена, кортежа, реляционной базы данных, ключей

Реляционная модель данных была предложена Е. Коддом в 1970 году. В основе реляционной модели данных лежит понятие отношения.

Математически отношение определяется следующим образом. Пусть даны n множеств D1,D2,…,Dn. Тогда R есть отношение над этими множествами, если R есть множество упорядоченных кортежей длины n вида (d1,d2,…,dn), где d1 – элемент из D1, d2 – элемент из D2, dn – элемент из Dn. D1,D2,…,Dn называют доменами отношения R. Заметим, что данное определение эквивалентно определению декартова произведения множеств D1,D2,…,Dn.

Дадим определение отношения с точки зрения теории обработки данных. Отношение – подмножество декартова произведения одного или более доменов. Домен – множество возможных значений конкретного атрибута. Атрибут – свойство объекта, явления или процесса. Примеры атрибутов: фамилия, имя, отчество, дата рождения. Кортеж - элемент отношения, это отображение имен атрибутов в значения, взятые из соответствующих доменов. Конечное множество кортежей образует отношение. Если отношение создается из n доменов, то каждый кортеж имеет n компонент.

Поясним данные определения на примерах.

Пример 1. Пусть имеется два домена:

D1 = (0,1); D2 = (a,b,c).

Построим декартово произведение доменов D1,D2:

D1 x D2 = {(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}.

В качестве отношения, построенного на доменах D1, D2, можно выбрать, например, следующее:

R = {(0,a),(0,c),(1,b),(1,c)}.

Отношение R состоит из четырех кортежей, в каждом кортеже по два элемента, первый выбирают из домена D1, второй – из домена D2.

Пример 2. Пусть имеется четыре домена:

D1 – множество целых чисел, например, множество номеров деталей (101, 34, 23, 109, 147).

D2 – множество символьных строк, например, множество названий деталей (втулка, кронштейн, скоба, муфта, болт).

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

D4 – множество вещественных чисел, например, множество весов деталей (45.8, 6.9, 123, 69.3, 5.2, 2.34).

В качестве отношения, построенного на доменах D1, D2, D3, D4, можно выбрать, например, следующее:

R = {(34, втулка, литье из пластмасс, 69.3), (23, кронштейн, холодная штамповка, 45.8), (101, болт, механическая обработка, 5.2)}.

Отношение R состоит из трех кортежей, в каждом кортеже по четыре элемента.

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

Например:

Детали

Номер детали

Название детали

Вид обработки

Вес

401000

Втулка

Литье из пластмасс

69.3

409857

Кронштейн

Холодная штамповка

45.8

409900

Стойка

Механическая обработка

5.2

409870

Скоба

Холодная штамповка

0.2

409859

Шайба

Токарная обработка

0.3

409887

Шасси

Механическая обработка

1.4

Следующие наборы терминов эквивалентны:

отношение, таблица, файл;

кортеж, строка, запись:

атрибут, ячейка, поле.

Поименованный список имен атрибутов отношения называют схемой отношения. Пример схемы:

Детали (Номер детали, Название детали, Вид обработки, Вес).

Ключевой атрибут в схеме отношения подчеркивают.

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

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

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

Пример фрагмента базы данных.

Отношение 1. Радиоэлементы (транзисторы)

Тип прибора

Материал

Структура

Технология

Мощность

коллектора

ГТ109Г

Ge

p-n-p

C

30

ГТ115Б

Ge

p-n-p

C

50

КТ208А

Si

p-n-p

ПЭ

200

Отношение 2. Склад

Номер

стеллажа

Тип прибора

Количество

10

ГТ109Г

100

11

ГТ109Г

50

10

КТ208А

12

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

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

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

В отношении "Радиоэлементы (транзисторы)" ключом является Тип прибора, в отношении "Склад" - Номер стеллажа, Тип прибора.

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

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

Пусть в отношении R1 имеется не ключевой атрибут А, значения которого являются значениями ключевого атрибута В другого отношения R2. Тогда говорят, что атрибут А отношения R1 (атрибут В отношения R2) есть внешний ключ. С помощью внешних ключей устанавливаются связи между отношениями.