Пример: Глобальная сеть INTERNET
Я ищу:
На главную  |  Добавить в избранное  

Главная/

Программирование, базы данных. /

Базы данных в практике

Документ 1 | Документ 2 | Документ 3 | Документ 4

←предыдущая следующая→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 

объектами базы дан-

ных, а с командами ввода или с полями форм ввода-вывода. При

этом могут поддерживаться лишь простейшие ограничения. Hапри-

мер, для данных количественных типов (числа, даты. денежные ве-

личины) используются, как правило, ограничения, специжицирующ-

щие возможные диапазоны изменения, а для литерных строк - шаб-

лоны представления значений.

В системе Clipper'87 эти возможности были усилены. До-

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

значения специфицированных пользователем функций. Аналогично в

dBaseIV с окнами форм ввода-вывода могут ассоциироваться огра-

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

- -

характера.

Однако ограничения такого вида, ассоциируемые лишь с

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

целостности базы данных "изнутри" - в процессах обработки зап-

росов, а также поддерживать соотношения, связывающие значения

множества различных компонентов базы данных. Более того, подоб-

ного рода механизмы не дают возможности поддерживать более или

менее нетривиальные зависимости допустимых множеств вводимых

значений от состояния базы данных. Так, в dBase-совместимых

системах нет эффективных средств, позволяющих поддерживать пер-

вичный ключ отношений. Дубликаты кортежей включаются в отноше-

ние, хотя индекс по значениям такого ключа с параметром UNIQUE

и позволяет "спрятать" их от пользователя.

Исключением является система R:base for DOS. В ней не

только поддерживаются первичные ключи отношений (таблиц), но и

предусмотрены средства спецификации довольно сложных ограниче-

ний целостности, называемых правилами и ассоциируемых с атрибу-

тами отношений. Их аргумент может быть множество значений атри-

бутов в кортежах одного или нескольких отношений. Проверка та-

ких ограничений осуществляется при выполнении всевозможных опе-

раций обновления данных в базе данных независимо от того, выз-

ваны ли они процессами ввода данных или внутрисистемными опера-

циями. Аналогичные средства предусмотрены в системе ПАЛЬМА-ПК.

Обзор существующих БД.

Современныые СУБД основываются на использовании моделей

данных (МД), позволяющих описывать объекты предметных областей и

взаимосвязи между ними. Существуют три основные МД и их комбина-

ции, на которых основываются СУБД: реляционная модель данных

(РМД), сетевая модель данных (СМД), иерархическая модель данных

(ИМД).

Основное различие между этими моделями данных состоит в

способах описания взаимодействий между объектами и атрибутами.

Взаимосвязь выражает отношение между множествами данных. Исполь-

зуются взаимосвязи "один к одному", "один ко многим" и "многие

ко многим". "Один к одному" - это взаимно однозначное соответс-

твие, которое устанавливается между одним объектом и одним атри-

бутом. Hапример, в определенный момент времени в одной ЭВМ ис-

пользуется один определенный процессор. Hомеру выбранной ЭВМ

соответствует номер выбранного процессора. "Один ко многим"- од-

но-многозначное соответствие, которое устанавливается между од-

ним объектом и многими атрибутами. Например, один пользователь

для решения различных задач использует различные языки програм-

мирования."Многие ко многим" - это соответствие между многими

объектами и многими атрибутами. Hапример, на множество ЭВМ может

одновременно работать множество пользователей. Взаимосвязи между

объектами и атрибутами удобно представлять в виде графов и ги-

перграфов.

В основе реляционной модели лежит математическое понятие

теоретико-множественного отношения, которое представляет собой

подмножество декартова произведения списка доменов. Домен- это

просто множество значений.

Пусть задан набор доменов D1,...,Dk. Декартовым произведе-

нием доменов D1, D2,...,Dk (обозначается как D1 x D2 x ... x Dk)

называется множество всех кортежей (v1, v2, ...,vk) длины k, та-

ких, что, v1 принадлежит D1, v2 принадлежит D2 и т.д.

Х(D1,...,Dk) = {(d1,...,dk) / dicDi}

Hапример, если k=2, D1 = {0,1}, и D2 = {a,b,c}, то D1 x D2

есть {(0,a), (0,b), (0,c), (1,a), (1,b), (1,c)}.

Отношением называется некоторое подмножество декартова про-

изведения одного или более доменов. Удобно представлять отноше-

ние как таблицу, где каждая строка- это кортеж, а каждый столбец

является атрибутом. Домены - это подмножество значений атрибута.

Кортежи - это упорядоченные множества. Столбцы таблицы - это

элементы данных, а строки - записи.

Hапример на рис.1 представлено отношение с атрибутами: го-

род, штат, население.

( Майами, Оклахома, 13880) - есть кортеж.

город і штат і население

ДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДД

Сан-Диего і Техас і 4490

Майами і Оклахома і 13880

Питтсбург і Айова і 509

Рис.1. Пример отношения.

Отношение может быть представлено в виде файла. Записи фай-

ла состоят из полей, соответствующих атрибутам в схеме отноше-

ния. Многие языки определения данных, основанные на реляционной

- 2 -

модели, дают пользователю возможность специфицировать организа-

цию файла. Пользователь может выбрать хеширование (записи в фай-

ле разделены между участками, каждый из которых содержит один

или более блоков памяти) или индексирование. Для отношений с не-

большим числом кортежей, иная альтернатива - "куча". В этом слу-

чае кортежи перечисляются как записи в файле без определенного

порядка.

Сетевые модели данных базируются на табличных и графовых

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

типы сущности, которые представляются таблицами, а дугам- типы

связей. Наиболее развитойй сетевой моделью данных является мо-

дель, предложенная в отчете (апрель 1971 г.) Рабочей группы по

базам данных (РГБД) Ассоциации по языкам систем обработки данных

(CODASYL), спецификации которой впоследствии неоднократно перес-

матривались. Помимо определения модели данных создатели первона-

чального отчета преследовали также цель обеспечить включение ее

средств в Кобол.

В СМД элементарные данные и отношения между ними представ-

ляются в виде ориенированной сети (вершины - данные, дуги - от-

ношения).

Рассмотрим "классическую" сетевую модель данных CODASYL.

Основные "строительные блоки" структуры сетевой базы данных -

тип записи и тип набора. Тип записи представляет собой множество

записей, обладающих структурой и другими свойствами, специфици-

рованными в описании данного типа записей в схеме базы данных

←предыдущая следующая→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 


Copyright © 2005—2007 «RefStore.Ru»