Реляционная модель данных. Структура записи, методы доступа к информации



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

Таблицы обладают следующими свойствами:

- каждая ячейка таблицы является одним элементом данных;

- каждый столбец содержит данные одного типа (числа, текст и т. п.);

- каждый столбец имеет уникальное имя;

- таблицы организуются так, чтобы одинаковые строки отсутствовали;

- порядок следования строк и столбцов произвольный.

Для идентификации записей выделяют следующие виды ключей – полей, определяющих запись:

- первичный: однозначно определяет запись;

- вторичный: выполняет роль поисковых и группировочных признаков и позволяет найти несколько записей.

Первичный ключ должен обладать следующими свойствами:

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

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

___________________________________________________________________________

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

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

  • структурная
  • манипуляционная
  • целостная

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

Манипуляционная часть модели определяет два фундаментальных механизма манипулирования данными – реляционная алгебра и реляционное исчисление. Основной функцией манипуляционной части реляционной модели является обеспечение меры реляционности любого конкретного языка реляционных БД.

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

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

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

Можно провести аналогию между элементами реляционной модели данных и элементами модели "сущность-связь". Реляционные отношения соответствуют наборам сущностей, а кортежи – сущностям. Поэтому, также как и в модели "сущность-связь" столбцы в таблице, представляющей реляционное отношение, называют атрибутами.

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

База данных о подразделениях и сотрудниках предприятия

Например, связь между отношениями ОТДЕЛ и СОТРУДНИК создается путем копирования первичного ключа "Номер_отдела" из первого отношения во второе. Таким образом:

  • для того, чтобы получить список работников данного подразделения, необходимо:
  1. из таблицы ОТДЕЛ установить значение атрибута "Номер_отдела", соответствующее данному "Наименованию_отдела"
  2. выбрать из таблицы СОТРУДНИК все записи, значение атрибута "Номер_отдела" которых равно полученному на предыдущем шаге

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

  1. определяем "Номер_отдела" из таблицы СОТРУДНИК
  2. по полученному значению находим запись в таблице ОТДЕЛ

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

Достоинства и недостатки реляционной модели данных

Достоинства реляционной модели:

  • простота и доступность для понимания пользователем. Единственной используемой информационной конструкцией является "таблица";
  • строгие правила проектирования, базирующиеся на математическом аппарате;
  • полная независимость данных. Изменения в прикладной программе при изменении реляционной БД минимальны;
  • для организации запросов и написания прикладного ПО нет необходимости знать конкретную организацию БД во внешней памяти.

Недостатки реляционной модели:

  • далеко не всегда предметная область может быть представлена в виде "таблиц";
  • в результате логического проектирования появляется множество "таблиц". Это приводит к трудности понимания структуры данных;
  • БД занимает относительно много внешней памяти;
  • относительно низкая скорость доступа к данным.

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

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

· иерархическая

· сетевая

· реляционная.


Дата добавления: 2018-02-28; просмотров: 483; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!