Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Для универа / Информатика / Uch_posobie_INFORMATIKA_2010isprav.doc
Скачиваний:
311
Добавлен:
15.02.2016
Размер:
13.32 Mб
Скачать

6.2.2. Сетевая модель

Под сетевой моделью понимается модель данных, похожая на иерархическую, но допускающая свободную систему связей между элементами различных уровней. Она является расширением иерархической модели данных. Таким образом, сетевые модели допускают наличие двух и более «предков» (рис.6.2).

Рис. 6.2. Сетевая модель данных

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

6.2.3.Реляционная модель данных

В 1970 году американский ученый Кодд Е.Ф. опубликовал революционную по своему содержанию статью, которая серьезно поколебала устоявшиеся к тому времени представления о базах данных. Он утверждал, что данные нужно связывать в соответствии с их логическими взаимоотношениями, а не физическими указателями. Он предложил простую модель данных , в которой все данные сведены в таблицы , состоящие из строк и столбцов, имеющих уникальные имена. Эти таблицы получили название реляций ( relatio - отношение) , а модель – реляционной моделью данных, построенной на понятии математических отношений и ее иногда называют также моделью Кодда. В настоящее время наибольшее распространение получили реляционные базы данных. Сетевые и иерархические базы данных считаются устаревшими, объектно-ориентированные модели пока не стандартизированы и не получили широкого распространения.

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

Для работы с реляционными базами данных в настоящее время обычно используется язык структурированных запросов (Structured Query Language - SQL). Это язык, применяемый для создания, модификации и управления данными. Язык SQL не является алгоритмическим языком программирования. Это информационно-логический язык, он основывается на реляционной алгебре и подразделяется на три части:

  • операторы определения данных;

  • операторы манипуляции данными (Insert, Select, Update, Delete);

  • операторы определения доступа к данным.

В 1986 году язык SQL был принят в качестве стандарта ANSI (Американский Национальный Институт Стандартов) языков реляционной базы данных. Сегодня данная база рассматривается в качестве стандарта для современных информационных систем.

На рис.6.3 приведен пример базы данных на основе реляционной модели, состоящей из трех таблиц. Операции обработки реляционной модели данных основаны на использовании универсального аппарата алгебры отношений и реляционного счисления. Реляционная модель имеет следующие основные свойства (СУБД MS Office Access использует данный тип модели):

  • каждый объект представлен в виде двумерной таблицы;

  • элемент таблицы – один элемент данных;

  • столбец таблицы имеет один тип данных, то есть является однородным и каждое поле (столбец) имеет уникальный идентификатор (имя);

  • порядок следования строк и столбцов в таблице является произвольным;

  • по полям одного типа можно формировать запросы.

В теории реляционных баз данных синоним таблицы - отношение (relation), в котором строка называется кортежем, а столбец называется атрибутом.

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

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

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

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

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

Заказчики

Код

Фамилия

Адрес

01

Перов

СПб,ул.Замшина 4,23

02

Зуева

СПб,ул.Карпина 5,76

03

Карпов

СПб,ул.Васина 16,87

04

Зорин

СПб, Большой пр. 12,67


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

Заказы Внешний ключ

Код

Заказчик

Код товара

Доставка

1

001

001

Курьер

2

002

002

Самовывоз

3

003

003

Почта

4

004

004

Курьер

Внешний ключ

Товары

Код

Название

Цена

001

Компьютер

15000

002

Монитор

6000

003

Принтер

4000


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

Рис.6.3. Реляционная модель данных

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

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

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