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

Основой современных систем, применяющих базы данных, является реляционная модель данных. В этой модели данные, представляющие информацию о предметной области, организо­ваны в виде двухмерных таблиц, называемых отношениями. На рисунке 1 приведен пример такой таблицы-отношения и поясня­ются основные термины реляционной модели.

Ключ

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

Кортеж

Наименование атрибута

 

 

 

Код_студ

Имя^студ

Факультет

 

КурС -4

0043

; Иванов 1

Физический

1

2004

' Петров 1

Химический

2

•! 5162

! Сидоров •

Физический

2 І

0007

["Орлов {

Химический

4

0634

1 Смирнов ;

Физический

3

0228 )

I Попов !

Исторический

4

1735 /

| Кузнецов '

Физический

1

Отношение

Атрибут

"Значение атрибута

Рис. 1.   Пример таблицы-отношения реляционной базы данных

Отношение — это таблица, подобная приведенной на рисун­ке 1 и состоящая из строк и столбцов. Верхняя строка табли­цы-отношения называется заголовком отношения. Термины отношение и таблица обычно употребляются как синонимы, однако в языке SQL используется термин таблица.

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

• Количество кортежей в таблице-отношении называется кар­динальным числом отношения, а количество атрибутов — сте­пенью отношения.

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

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

Отношения реляционной базы данных обладают следующи­ми свойствами:

■ в отношениях не должно быть кортежей-дубликатов,

• кортежи отношений не упорядочены,

• атрибуты отношений также не упорядочены.

Из этих свойств отношения вытекают важные следствия.

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

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

* Неупорядоченность атрибутов определяет, что единствен­ным способом их адресации в запросах является использова­ние наименования атрибута.

Относительно свойства реляционного отношения, касаю­щегося отсутствия кортежей-дубликатов, следует сделать важ­ное замечание. В этом пункте SQL не полностью соответствует реляционной модели. А именно: в отношениях, являющихся результатами запросов, SQL допускает наличие одинаковых строк. Для их устранения в запросе используется ключевое сло­во DISTINCT (см. ниже).

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

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