Название: Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML (Токмаков Г. П.)

Жанр: Информационные системы и технологии

Просмотров: 1401


2.1.1.  о бъект ы  и  их  определе ния

 

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

 

Множество

 

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

 

Домены

 

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

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

Обратите внимание на то, что для определения этих отношений необходи-

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

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

– имеет уникальное имя (в пределах базы данных);

– определен на некотором простом типе данных или на другом домене;

– может иметь некоторое логическое условие, позволяющее описать подмно-

жество данных, допустимых для этого домена.

 

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

 

Допустим, у нас есть два множества,

 

 

D1  и

 

 

D2 , где

 

 

D1  = {2, 4} и

 

 

D2  = {1, 3,

5}. Декартовым произведением этих двух множеств

D1  D2

называется набор

из всех возможных пар, в которых первым идет элемент множества

D1 , а вто-

рым − элемент множества

D2 :

D1  D2

= {(2,1), (2,3), (2,5), (4,1), (4,3), (4,5)}.

Увеличивая количество множеств, можно дать обобщенное определение

отношения на n доменах. Пусть имеется n множеств

D1 ,

D2 , ..., Dn . Декартово

произведение этих n множеств можно определить следующим образом:

D1  D2      Dn = {(d1 ,d 2 ,...,d n )

d1  D1 ,d 2  D2 ,...,d n  Dn } .

 

Отно шение

 

Отношение R представляет собой двумерную таблицу, содержащую неко- торые данные. Математически любое подмножество n-арных кортежей декар- това произведения, является отношением n множеств.

Отношением R, определенным на множествах

D1 , D2 ,..., Dn , называется под-

множество декартова произведения

D1  D2      Dn . При этом:

– множества

D1 ,D2 ,...,Dn

называются доменами отношения;

– элементы декартова произведения {d1 ,d 2 ,...,d n } называются кортежами;

– число n определяет степень отношения;

– количество кортежей называется мощностью отношения.

 

Атрибу т  отно шения

 

Атрибут отношения представляет собой пару вида <Имя атрибута: Имя до‐

мена> (либо

 A : D  ). Имена атрибутов должны быть уникальны в пределах

отношения. Часто имена атрибутов отношения совпадают с именами соответст-

вующих доменов.

Заго ловок  и  тело  о т но шения

 

Отношение R, определенное на множестве доменов, содержит две части: заголовок и тело. Заголовок отношения – это фиксированное количество атри- бутов отношения, описывающее декартово произведение доменов, на котором задано отношение

(  A1 : D1

, A2  : D2

,..., An  : Dn

 ) .

Заголовок статичен: он не меняется во время работы с базами данных.

Тело отношения содержит множество кортежей отношения. Каждый кор- теж отношения представляет собой множество пар вида <Имя атрибута: Значе‐ ние> (либо  A : Z  )

R(  A1 : Z 1

, A2  : Z 2

,..., An  : Z n   )

таких, что значение

Zi   атрибута

Ai   принадлежит домену

Di . Тело отношения

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

ведения доменов.

 

Первичный ключ

S#

 

 

Фамилии

 

 

Должности

 

 

Адреса

 

 

Домены

 

 

Номер

Фамилия

Должность

Адрес

 

 

 

 

 

 

1

Иванов

Ведущий инженер

Москва

 

 

 

 

 

2

Петров

Старший инженер

С-Петербург

 

 

 

 

3

Федоров

Бухгалтер

Самара

 

 

 

 

4

Николаев

Экономист

Липецк

 

 

 

 

 

 
Подпись: ОтношениеПодпись: КортежиПодпись: КардинальностьЗаголовок

 

Атрибуты

 

Степень

 

Рис. 2.1.          Наглядное представление основных понятий реляционной модели

 

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

Число атрибутов в отношении называется степенью (либо арностью) отно-

шения, а множество кортежей отношения кардинальностью (либо мощностью)

отношения.

 

Таблицы  в  ба за х  данных

 

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

Основными структурами в базе данных являются таблицы. При записи от-

ношения в виде таблицы имена атрибутов

A1 , A2 ,..., An

перечисляются в заго-

ловках столбцов, а кортежи образуют строки формата ( d1 ,d 2 ,...,d n ) , где каждое значение берется из соответствующего домена.

Таким образом, в  реляционной МД отношение можно представить как

произвольное подмножество декартова произведения доменов атрибутов, тогда как таблица − это всего лишь представление такого отношения.

Таблицы  в  реляционной МД  являются логическими, а  не  физическими

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

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

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

Данные в таблицах удовлетворяют следующим принципам:

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

– Значения данных в одной и той же колонке должны принадлежать к одному типу, доступному для исполнения в данной СУБД.

– Каждая запись в таблице уникальна, т. е. в таблице не существует двух за-

писей с полностью совпадающим набором значений ее полей.

– Каждое поле имеет уникальное имя.

– Последовательность полей в таблице несущественна.

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

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