Реляционные базы данных

Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позво­ляет хранить данные об объектах предметной области и моделировать связи между ними. Термины РМД представлены в табл. 5.1

Таблица 5.1 Термины реляционной модели

 

Термин реляционной модели Эквивалентныйтермин
Отношение Таблица
Схема отношения Строка заголовков столбцов таблицы (заголовок таблицы)
Кортеж Строка таблицы, запись
Сущность Описание свойств объекта
Атрибут Столбец, поле
Домен Множество допустимых значенийатрибута
Первичный ключ Уникальный идентификатор
Кардинальность Количество строк
Степень Количество столбцов

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

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

2. Значения каждого атрибута должны принадлежать к одному и то­му же типу.

3. Каждая запись в таблице уникальна.

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

5. Последовательность полей и записей в таблице не существенна.
Отношение является важнейшим понятием и представляет собой

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

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

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

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

Каждое отношение всегда имеет комбинацию атрибутов, которая может служить ключом. Ее существование гарантируется принципом № 3 РМД. По крайней мере, вся совокупность атрибутов обладает свойством уникальности.

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

Ключи обычно используют для достижения следующих целей:

» исключения дублирования значений в ключевых атрибутах (осталь­ные атрибуты в расчет не принимаются);

» упорядочения кортежей. Возможно упорядочение по возраста­нию или убыванию значений всех ключевых атрибутов, а также смешанное упорядочение (по одним — возрастание, а по другим — убывание);

» организации связывания таблиц.

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

Атрибуты отношения К2, составляющие внешний ключ, не являют­ся ключевыми для данного отношения.

С помощью внешних ключей устанавливаются связи между отно­шениями.

Ограничения целостности реляционной модели можно разделить на две группы — ограничения целостности сущностей и ограничения це­лостности ссылок.

Ограничения целостности сущностей заключаются в требовании уникальности кортежей отношения (записей таблицы). Отсюда выте­кают следующие ограничения:

» отсутствие кортежей-дубликатов (данное требование предъявля­ется лишь к атрибутам первичных ключей);

» отсутствие атрибутов с множественным характером значений.

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

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

Основной единицей обработки данных в реляционных БД являет­ся отношение, а не отдельные его кортежи (записи).

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

Как для самих таблиц, так и для индексных массивов применяются линейные и нелинейные структуры. В качестве линейных структур индексных массивов в большинстве случаев выступают инвертиро­ванные списки. Инвертированный список строится по схеме таблицы с двумя колонками — «Значение индексируемого поля» и «Номера строк» рисунок.

 

Значение индексируемого поля («год рождения») Номера строк
   
  5,17,123,256
  31,32,77
  11,45,58, 167,231
  7,8,9, 10,234,235,236

Рис. Пример инвертированного списка

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

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

Нелинейные структуры индексов применяются для создания ин­дексных массивов ключевых полей или тех полей, значения по кото­рым не повторяются. При организации индексов в таких случаях чаще всего используются древовидные иерархические структуры в ви­де В-деревьев.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: