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

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

Один из видов процедур БД — вычисление значений, которые непосредственно в ней не хранятся, например вычисление сумм, подсчет числа экземпляров, определение минимума, максимума. Процедуры этого вида называют функциями агрегации.

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

НЕ нашли? Не то? Что вы ищете?

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

Особый вид процедур БД составляют процедуры, активизи­рующиеся при определенных условиях и выполняющих одну или более операций включения, удаления или модификации. Такие про­цедуры называют запускаемыми включением, удалением, обновле­нием.

Анализируя различия между процедурами БД и операциями, можно отметить следующее:

1. Процедуры при своем выполнении могут захватывать об­ширные области данных;

2. Процедуры могут реализовать широкий круг действий;

3. Вызовы процедур не выполняются пользователем;

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

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

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

Развитие СУБД привело к появлению ряда языков описания состояния предметной области, которое в СУБД интерпретируется состоянием БД. Множество допустимых состояний БД определя­ется схемой БД, задаваемой на языке определения данных (ЯОД).

Изменение состояния БД и извлечение данных из базы для по­следующей обработки обеспечивается средствами языка манипу­лирования данными (ЯМД).

Описание структуры данного некоторого типа на формализо­ванном языке называют схемой этого данного. Язык описания данных — это язык высокого уровня, предназначенный для схемы БД. С его помощью описываются типы данных, хранящихся в базе, и их структура. Язык манипулирования данными (ЯМД) используется при на­писании прикладных программ, обращающихся к данным, храня­щимся в базе. Основной функцией ЯМД является выполнение опе­раций ввода-вывода при обработке информационной базы. Собст­венно говоря, совокупность ЯОД и ЯМД и определяет модель данных, понимаемую как совокупность методов и средств опреде­ления логической структуры БД.

В качестве моделей данных, наиболее широко используемых при создании БД, обычно применяются: реляционная; сетевая; ие­рархическая. Рассмотрим их детально.

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

Основные понятия. В основе реляционной модели данных (РМД) лежит математическая теория отношений. Этим определя­ется и название модели (RELATION — отношение). Отношение служит средством структуризации данных.

Таким образом, представив n-местное отношение в виде табли­цы, тем самым определенным образом структурируем данные. По­этому, естественно, подобные образования называют реляционной структурой или реляционным типом. Массив данных, представлен­ный набором реляционных структур, образует реляционную БД, и схема реляционной БД будет представлена набором схем отноше­ний:

R1(A11, A12,,..., A1k);

R2(A21, A22,,..., A2l);

…………………….

Rm(Am1, Am2,...,Amn),

где А1jимя атрибута, Rjимя отношения.

Ограничения модели. Число ограничений в реляционной модели невелико, что обеспечивает достаточную свободу в выборе пред­ставления типов связей и сущностей. Основным ограничением яв­ляется невозможность представления в отношении дубликатов строк. Это ограничение позволяет уточнить понятие ключа отно­шения. В РМД ключ определяется как подмножество атрибутов, позволяющих однозначно идентифицировать кортеж. Так как дуб­ликаты строк в отношении запрещаются, то это означает, что каж­дое отношение имеет, по крайней мере, один ключ (состоящий из всех атрибутов). Отношение может иметь и несколько ключей, называемых возможными ключами. Один из возможных ключей выбирается в качестве первичного. Следует иметь в виду, что пер­вичный ключ не разрешается обновлять и никакой из его компо­нентов не может принимать значение «неопределено».

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

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

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

Рассмотрим формальное определение функциональной зависи­мости, принимая следующие обозначения. Большими буквами А, В, С,... обозначим одиночные атрибуты, X, Y, Z — множество ат­рибутов, а а, b, с,... и х, у, z,... — соответствующие им значения. Большие буквы R, S будем применять для обозначения отноше­ний.

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

Пусть А и В атрибуты отношения R. Тогда говорят, что атри­бут В отношения R функционально зависит от атрибута А, если в каждый момент времени каждому значению а соответствует не более одного значения b. Функциональную зависимость f атрибу­та В от атрибута А обозначают: f:AB.

Эту зависимость f можно также представить множеством упо­рядоченных пар {<а, b>|а A, bВ}, в которых каждому значению а соответствует только одно значение b. При этом говорят, что В функционально зависит (или просто зависит) от A, а A функцио­нально определяет (или определяет) В.

Если существует единственная функциональная зависимость В от A, то ее обозначают просто А→В. В случае отсутствия между ними функциональной зависимости вводят обозначения А≠В.

Если А→В и одновременно В→А, то между А и В существует взаимно однозначное соответствие, что записывается как А↔В.

Пусть: f:A1, А2,... ,Ап→В и g:A1, А2,..., Ат→В, где т<п. Так как атрибуты A1, А2,..., Ат функционально определяют В, то Ат+1, Ат+2,... ,Ап называют посторонними в f. В этом случае В неполно зависит от

A1, А2,... ,Ап. Если для данного f не существует g с вы­шеуказанными свойствами, т. е. левая часть f не содержит посто­ронних атрибутов, то говорят, что реализуется полная функцио­нальная зависимость.

Пусть имеется множество атрибутов A1, А2,... ,Ап отношения R, а также множество F функциональных зависимостей XY, где X и Y — подмножества атрибутов множества A1, А2,..., Ап. Тогда из функциональных зависимостей, входящих в F, могут быть выведе­ны другие функциональные зависимости, присущие отношению R.

Обозначим через F+ замыкание множества функциональных зависимостей F, т. е. полное множество зависимостей, которое можно получить из F. Множество зависимостей F+ можно по­строить из F на основе следующих правил вывода функциональных зависимостей (ФЗ):

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87