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

Модуль1_Организация и управление БД

.pdf
Скачиваний:
12
Добавлен:
16.03.2015
Размер:
1.08 Mб
Скачать
D1 × D2 × . . . . . × Dn .

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

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

Лекция 5. Определение и свойства реляционной базы данных

Структура реляционной базы данных

Предложенная Коддом реляционная база данных (РБД) состоит из множества элементов, называемых отношениями. Таким образом, РБД это полностью однородная структура, элементами которой являются отношения

(relations).

Отношение можно определить следующим образом. Пусть задано

множество {D1, D2, . . . . ., Dn}, в котором элементы Di , для i = 1, n также являются множествами, называемыми доменами.

Тогда отношением называют R

То есть отношение R есть подмножество декартова произведения произвольных множеств (доменов). Декартово произведение множеств

D1, D2, . . . . ., Dn создает новое множество, элементами которого являются все возможные последовательности длины n , содержащие первый элемент из множества D1, второй из D2, и т. д., последний элемент из Dn. Часть возможных сочетаний элементов из заданных доменов и образует отношение R.

Например, если домен D1 названия факультетов

32

D1 ={Радиотехнический, Физико-технический, Экономический}, а D2 – названия специальностей, например

D2 = {Вычислительные машины, Автоматизированные системы, Теоретическая физика, Мировая экономика}, отношение на этих двух доменах R D1 × D2 может содержать последовательности:

{ < Радиотехнический, Автоматизированные системы >,

<Радиотехнический, Вычислительные машины >, <Физико-технический, Теоретическая физика >,

<Экономический, Мировая экономика >}.

Элементы (последовательности длины n) произвольного отношения R

можно представить в виде таблицы:

R = {<d1,1,

d1,2, d1,3,

. . . . . . d1,n,>,

 

 

<d2,1,

d2,2, d2,3,

. . . . . . d2,n,>,

 

 

. . . . . . . . . . . . . . . . . . . . . . . .

 

 

<dk,1,

dk,2, dk,3,

. . . . . . dk,n,> },

 

в которой di, j

Dj, (для i = 1, k

и j = 1, n),

т.е. все элементы одного

столбца принадлежат определенному домену.

 

Для обозначения элементов отношения используются следующие

термины.

 

 

 

 

 

Последовательность вида <di,1,

di,2,

di,3,

. . . . . . di,n,>, входящая в

отношение, называется кортеж, n-ка (читается –

энка), строка или запись.

Набор значений из определенного домена,

вошедших в отношение, называют

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

33

Поскольку отношение – множество кортежей, взятых из произведения множеств, то оно по определению не может содержать повторений, а значит, в любом отношении существует такое подмножество атрибутов, значения которых уникальны, а значит, однозначно определяют кортеж. Такое подмножество атрибутов, значения которых однозначно определяют кортеж, называют ключом отношения. В отношении может существовать несколько ключей, их называют возможными ключами. Один из возможных ключей, как правило, самый короткий, называют первичным ключом. Для отношения, можно определить структуру в виде схемы. Схема отношения R состоит из имени отношения, перечня имен атрибутов и выделенного среди атрибутов первичного ключа. В общем виде схему отношения можно записать в виде C(A1, A2, . . . . . , An), где С – имя отношения, A1, A2, . . ., An – имена его атрибутов. Подчеркнутые атрибуты образуют первичный ключ.

Примерами схем отношений являются:

СТУДЕНТ (Факультет, Специальность, Фамилия И.О., Успеваемость, Стипендия)

ЛАБОРАТОРИИ СПЕЦИАЛЬНОСТИ (Название специальности, Название лаборатории)

ЛАБОРАТОРИЯ (Название, Изучаемый предмет, Используемое оборудование) В приведенном примере основными являются отношения СТУДЕНТ и

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

34

специальность. Далее для найденной специальности в отношении ЛАБОРАТОРИИ СПЕЦИАЛЬНОСТЕЙ выбираются названия лабораторий, а затем по ним в отношении ЛАБОРАТОРИЯ выбирается изучаемое оборудование. Кроме того, что данные в отношении ЛАБОРАТОРИИ СПЕЦИАЛЬНОСТИ поддерживают связи кортежей из других отношений, они должны удовлетворять определенным требованиям. Так, в отношении ЛАБОРАТОРИИ СПЕЦИАЛЬНОСТИ не могут появляться такие названия лабораторий, которые не представлены в отношении ЛАБОРАТОРИЯ, и такие названия специальностей, которые не представлены в отношении СТУДЕНТ. По аналогии с ER-диаграммами ограничения на данные одного отношения, обусловленные значениями данных в другом отношении, называют ссылочной целостностью данных.

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

размещаемые в клетках таблицы данные, являющиеся неделимыми (атомарными) с точки зрения БД значениями;

значения в каждом столбце таблицы должны принадлежать одному заранее определенному множеству – домену. Домен может задаваться типом, форматом данных и ограничениями на возможные значения в пределах типа. Например, целые значения от 1 до 1000;

обязательность (NOT NULL) или необязательность (NULL) присутствия значения данного в определенном столбце;

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

35

умалчиваемое значение атрибута – данное, автоматически заносимое в таблицу, если в исходной добавляемой к таблице строке это значение отсутствует;

логические условия, которым должны удовлетворять данные в строке таблицы. Например, дата рождения меньше даты поступления в УГТУУПИ;

в таблице может быть определен, а часто бывает и необходим первичный ключ – Primary Key (PK), значения которого обязательны и уникальны. Первичный ключ однозначно идентифицирует строку. Например, атрибут Название в отношении ЛАБОРАТОРИЯ можно считать первичным ключом;

в таблице могут быть определены внешние ключи – атрибуты, предназначенные для задания соответствия данных в строках из разных таблиц (ссылочной целостности). Набор атрибутов некоторой таблицы, значениями которых могут быть значения первичного ключа другой таблицы, называются внешними ключами – Foreign Key (FK). Например, в отношении ЛАБОРАТОРИИ СПЕЦИАЛЬНОСТИ атрибут Название лаборатории является внешним ключом, ссылающимся на первичный ключ Название отношения ЛАБОРАТОРИЯ.

Внешние ключи обычно связывают строки вспомогательной (дочерней или детализирующей) таблицы со строками главной таблицы. На рис.5.1 строки таблицы Студент связаны со строками таблицы Факультет.

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

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

36

ускоряют поиск данных по значению в индексе. Структура индекса показана на рис. 5.3.

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

37

Главная таблица

Дочерняя таблица

(Факультет)

(Студент)

Рис. 5.1. Внешние ключи таблиц

38

39

Рис. 5.2. Схема данных

Рис.5.2. Индекс таблицы

40

Лекция 6. Языки запросов к РБД

Языки запросов к РБД позволяют с помощью одного выражения извлекать информацию из многих таблиц, оформляя ответ также в виде таблицы.

Теоретической основой для построения операторов поиска и выборки данных из РБД являются реляционная алгебра и реляционное исчисление. Известные языки запросов к системе отношений укладываются в следующую классификацию (рис.6.1).

Язык запросов к системе отношений

Язык реляционной алгебры

 

Язык реляционного исчисления

 

 

 

 

 

 

Реляционное исчисление над

 

Реляционное исчисление над

переменными-кортежами

 

переменными-атрибутами

 

 

 

 

 

 

Рис.6.1 Классификация языков запросов к РБД

Реляционная алгебра

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

Основными операциями реляционной алгебры (РА) являются:

41