Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление данными (пособие).pdf
Скачиваний:
280
Добавлен:
21.05.2015
Размер:
5.42 Mб
Скачать

39

5.Модели данных. Ранние подходы к организации баз данных

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

Говоря о моделях данных обычно рассматривают три взаимосвязанные компоненты модели:

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

o ограничения целостности данных.

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

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

инвертированных списках, иерархические и сетевые системы [1, 4].

Относительно этих систем можно отметить следующее.

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

40

на инвертированных списках, используется при построении индексных структур и от пользователя скрыт.

Иерархические базы данных используют упорядоченные структуры данных, организованные в виде «деревьев». Такая древовидная структура состоит из одной корневой записи и упорядоченного набора подчиненных записей-потомков (ветвей дерева). Каждая запись-потомок имеет ссылку (указатель) на соответствующую родительскую запись, образуя иерархию подчинения от самого нижнего уровня записей – «листьев дерева» до верхнего уровня, образуемого корневой записью. Операторы манипулирования данными используют навигацию по иерархическим структурам, использующую ссылки (указатели) для перехода от записей одного уровня к другому. Из ограничений целостности автоматически поддерживается только целостность ссылок между записями-предками и записями-потомками (основное правило – никакой

«потомок» не может существовать без своего «родителя»).

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

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

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

41

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

6.Реляционная модель данных. Основные понятия. Структуры данных

6.1.Основные понятия реляционной модели данных

Воснове реляционных систем лежит реляционная модель данных. Принципы реляционной модели были заложены в 1969–70-х годах американским ученым Е.Ф. Коддом (E.F.Codd), в то время работавшим в корпорации IBM. Являясь математиком по образованию, он привнес в область управления базами данных строгие математические принципы и точность, которых не хватало ранним системам. Хотя реляционный подход утвердился не сразу, можно отметить, что почти все созданные с конца 70-х годов продукты баз данных основаны именно на реляционном подходе. Подавляющее большинство научных исследований в области баз данных в течение последних 35 лет также проводились именно в этом направлении.

Рассматривая и постепенно уточняя основные понятия реляционной модели, будем иметь в виду три компоненты модели данных:

структуры данных,

операции, которые можно выполнять над данными, и

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

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

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

43

Код_студента

С2

С5

С1

С4

С7

 

С8 С3

 

С9

 

С10

 

Ключ

Заголовок

отношения

Код

Кортеж С2

С4

С6 С1 С7

Факультет

Физический Имя_студента Химический Биологический

Иванов

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

Математический

Петрова

Орлов

 

Сидоров

Смирнов

2

Попова

Кузнецов

1

4

Романов

5

Потапов

 

Курс

3

6

Домены

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наименование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

атрибута

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имя

 

 

 

 

 

 

 

 

 

 

 

Факультет

 

 

 

 

 

 

Курс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Физический

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Иванов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Петрова

 

 

 

 

 

 

 

 

 

 

 

 

Химический

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сидоров

 

 

 

 

 

 

 

 

 

 

 

 

Физический

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Орлов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Химический

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Смирнов

 

 

 

 

 

 

 

 

 

 

 

 

Физический

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Попова

 

 

 

 

 

 

 

 

 

 

 

 

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

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Кузнецов

 

 

 

 

 

 

 

 

 

 

 

 

Физический

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отношение

Атрибут

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

 

Рис. 6.1 Отношение и его компоненты

Отношение это таблица, подобная приведенной на рисунке 6.1, состоящая из строк и столбцов и имеющая вверху строку, называемую

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

Строки таблицы-отношения называются кортежами (tuple), а столбцы

атрибутами (attribute).

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

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

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

Домен отношения – это множество значений, из которого могут браться

значения конкретного атрибута. То есть конкретный набор значений