47884 (597365), страница 3
Текст из файла (страница 3)
р
Куратор
К_номер | К_фамилия | К_телефон |
Группа
Гр_номер | Гр_название | Гр_год_поступления |
-
Сетевая модель
Типичным представителем является Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем. Архитектура системы основана на предложениях Data Base Task Group (DBTG) Комитета по языкам программирования Conference on Data Systems Languages (CODASYL), организации, ответственной за определение языка программирования Кобол. Отчет DBTG был опубликован в 1971г., а в 70-х годах появилось несколько систем, среди которых IDMS.
-
Сетевые структуры данных
Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков.
Сетевая БД состоит из набора экземпляров каждого типа записи и набора экземпляров каждого типа связи (рис. 2.4).
Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:
-
Каждый экземпляр типа P является предком только в одном экземпляре L;
-
Каждый экземпляр C является потомком не более, чем в одном экземпляре L.
На формирование типов связи не накладываются особые ограничения; возможны, например, следующие ситуации:
-
Тип записи потомка в одном типе связи L1 может быть типом записи предка в другом типе связи L2 (как в иерархии).
-
Данный тип записи P может быть типом записи предка в любом числе типов связи.
-
Данный тип записи P может быть типом записи потомка в любом числе типов связи.
-
Может существовать любое число типов связи с одним и тем же типом записи предка и одним и тем же типом записи потомка; и если L1 и L2 – два типа связи с одним и тем же типом записи предка P и одним и тем же типом записи потомка C, то правила, по которым образуется родство, в разных связях могут различаться.
-
Типы записи X и Y могут быть предком и потомком в одной связи и потомком и предком – в другой.
-
Предок и потомок могут быть одного типа записи.
р ис. 2.4 Простой пример сетевой схемы БД.
-
Манипулирование данными
Примерный набор операций может быть следующим:
-
Найти конкретную запись в наборе однотипных записей (инженера Сидорова);
-
Перейти от предка к первому потомку по некоторой связи (к первому сотруднику отдела 310);
-
Перейти к следующему потомку в некоторой связи (от Сидорова к Иванову);
-
Перейти от потомка к предку по некоторой связи (найти отдел Сидорова);
-
Создать новую запись;
-
Уничтожить запись;
-
Модифицировать запись;
-
Включить в связь;
-
Исключить из связи;
-
Переставить в другую связь и т.д.
-
Ограничения целостности
В принципе их поддержание не требуется, но иногда требуется целостности по ссылкам (как в иерархической модели).
-
Основные достоинства и недостатки ранних СУБД
Сильные места ранних СУБД:
-
Развитые средства управления данными во внешней памяти на низком уровне;
-
Возможность построения вручную эффективных прикладных систем;
-
Возможность экономии памяти за счет разделения подобъектов (в сетевых системах).
Недостатки:
-
Слишком сложно пользоваться;
-
Фактически необходимы знания о физической организации;
-
Прикладные системы зависят от этой организации;
-
Их логика перегружена деталями организации доступа к БД.
Литература:
-
Сергей Кузнецов, “Основы современных баз данных”. Центр Информационных Технологий, http://www.citforum.ru/database/osbd/contents.shtml
-
Реляционная модель и ее характеристики. Целостность в реляционной модели
3.1 Представление информации в реляционных БД
3.2 Домены
3.3 Отношения. Свойства и виды отношений
3.4 Целостность реляционных данных
3.5 Потенциальные и первичные ключи
3.6 Внешние ключи
3.7 Ссылочная целостность
3.8 Значения NULL и поддержка ссылочной целостности
-
Представление информации в реляционных БД
Реляционный подход является наиболее распространенным в настоящее время, хотя наряду с общепризнанными достоинствами обладает и рядом недостатков. К числу достоинств реляционного подхода можно отнести:
-
наличие небольшого набора абстракций, которые позволяют сравнительно просто моделировать большую часть распространенных предметных областей и допускают точные формальные определения, оставаясь интуитивно понятными;
-
наличие простого и в то же время мощного математического аппарата, опирающегося главным образом на теорию множеств и математическую логику и обеспечивающего теоретический базис реляционного подхода к организации баз данных;
-
возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти.
Однако реляционные системы далеко не сразу получили широкое распространение. В то время, как основные теоретические результаты в этой области были получены еще в 70-х, и тогда же появились первые прототипы реляционных СУБД, долгое время считалось невозможным добиться эффективной реализации таких систем. Однако отмеченные выше преимущества и постепенное накопление методов и алгоритмов организации реляционных баз данных и управления ими привели к тому, что уже в середине 80-х годов реляционные системы практически вытеснили с мирового рынка ранние СУБД.
В настоящее время основным предметом критики реляционных СУБД является не их недостаточная эффективность, а следующие недостатки:
-
присущая этим системам некоторая ограниченность (прямое следствие простоты) при использовании в так называемых нетрадиционных областях (наиболее распространенными примерами являются системы автоматизации проектирования), в которых требуются предельно сложные структуры данных.
-
невозможность адекватного отражения семантики предметной области. Другими словами, возможности представления знаний о семантической специфике предметной области в реляционных системах очень ограничены. Современные исследования в области постреляционных систем главным образом посвящены именно устранению этих недостатков.
В реляционной модели рассматриваются три аспекта данных:
-
структура данных (объекты данных);
-
целостность данных;
-
обработка данных (операторы).
Рассмотрим специальную терминологию, применяемую в рамках аспекта "структура данных" (рис. 3.1).
р
Кардинальное число


Первичный ключ
Отношение

Атрибуты




Домены







Кортежи


SNo | Name | City |
1 | Иванов | Желтые Воды |
2 | Петров | Пятихатки |
3 | Сидоров | Кривой Рог |
4 | Петренко | Киев |
5 | Стрельцов | Львов |

City
Name
SNo

-
Домены
Домен является наименьшей семантической единицей данных, которая предполагается отдельным значением данных (таким как номер студента, фамилия студента и т.д.). Такие значения называют скалярами. Скалярные значения представляют собой наименьшую семантическую единицу данных в том смысле, что они являются атомарными: в реляционной модели у них отсутствует внутренняя структура. Следует обратить внимание, что отсутствие внутренней структуры при рассмотрении в реляционной модели вовсе не значит, что внутренняя структура отсутствует вообще. Например, название города имеет внутреннюю структуру (оно состоит из последовательности букв) однако, разложив название по буквам мы потеряем значение. Значение станет понятным лишь в том случае, если буквы сложены вместе и в правильной последовательности.
Таким образом, домен – именованное множество скалярных значений одного типа. Например, домен городов это множество всех возможных названий городов. Домены являются общими совокупностями значений из которых берутся реальные значения атрибутов.
Следует обратить внимание, что обычно в любой момент времени в домене будут значения, не являющиеся значением ни одного из атрибутов, соответствующих этому домену.
Основное значение доменов в том, что домены ограничивают сравнения. Сравнение будет иметь смысл для атрибутов, основанных на одном и том же домене. Например, можно сравнивать числовой код студента и оценку, полученную студентом на экзамене - и то и другое - целые числа, однако такое сравнение будет лишено смысла.
Домены, прежде всего, имеют концептуальную природу. Они могут быть или не быть явно сохранены в базе данных как реальные наборы значений (фактически, в большинстве случаев они не сохраняются), но они должны быть, по крайней мере, определены в рамках определений базы данных. Тогда каждое определение атрибута должно включать ссылку на соответствующий домен, таким образом, системе будет известно, какие атрибуты можно сравнивать, а какие - нет.
-
Отношения. Свойства и виды отношений
Вокруг понятия "отношение" сложилась некоторая двусмысленность из-за отсутствия четкого разграничения между переменными отношений и значениями отношений. Переменная отношения – это обычная переменная, такая же, как и в языках программирования, т.е. именованный объект, значение которого может изменяться со временем. А значение этой переменной в любой момент будет значением отношения.
Отношение R, определенное на множестве доменов D1, D2, …, Dn (не обязательно различных), содержит две части – заголовок и тело:
-
заголовок содержит фиксированное множество атрибутов или, точнее, пар :
-
{, , …, },
причем каждый атрибут Aj соответствует одному и только одному из лежащих в основе доменов Dj (j=1,2, …, n). Все имена атрибутов A1, A2, …, An разные. -
Тело состоит из множества кортежей. Каждый кортеж, в свою очередь содержит множество пар :
{, , …, },
(i=1, 2, …, m, где m - количество кортежей в этом множестве). В каждом таком кортеже есть одна такая пара , т.е. , для каждого атрибута Aj в заголовке. Для любой такой пары Vij является значением из уникального домена Dj, который связан с атрибутом Aj.
Значения m и n называются соответственно кардинальным числом и степенью отношения R.
-
Свойства отношений
-
В отношении отсутствуют одинаковые кортежи.
Это свойство следует из того факта - что тело отношения – это математическое множество (кортежей), а множества в математике по-определению не содержат одинаковых элементов. Это свойство служит иллюстрацией различия между отношением и таблицей т.к. таблица, в общем случае может содержать одинаковые строки.
Важным следствием того, что не существует одинаковых строк является то, что всегда существует первичный ключ. Так как кортежи уникальны, по крайней мере комбинация всех кортежей будет обладать свойством уникальности, а значит, при необходимости, может служить первичным ключом.
-
Кортежи не упорядочены сверху вниз.
Это свойство также следует из того, что тело отношения – это математическое множество, а простые множества в математике не упорядочены. Второе свойство также служит иллюстрацией того факта, что отношение и таблица – не одно и тоже так как строки таблицы упорядочены сверху вниз, в то время, как кортежи отношения – нет.
-
атрибуты не упорядочены слева на право.
И это свойство следует из того, что заголовок отношения определен как множество атрибутов. Аналогично второму свойству, можно заметить отличия между таблицей и отношением – в таблице столбцы упорядочены слева на право.
-
все значения атрибутов атомарные.
Это свойство является следствием того, что все лежащие в основе домены содержат только атомарные значения. Отношение, удовлетворяющее этому условию, называется нормализованным, или представленном в первой нормальной форме. Это означает, что с точки зрения реляционной модели все отношения нормализованы.
-
Виды отношений
Определим некоторые виды отношений, встречающиеся в реляционных системах.
-
Именованное отношение – это переменная отношения, определенная в СУБД посредством операторов создания отношений.
-
Базовым отношением называется именованное отношение, которое не является производным (т.е. базовое отношения является автономным).
-
Производным отношением называется отношение, определенное (посредством реляционного выражения) через другие именованные выражения и, в конечном счете, через базовые отношения.
-
Выражаемое отношение – отношение, которое можно получить из набора именованных отношений посредством некоторого реляционного выражения. Множество всех выражаемых отношений – это в точности множество всех базовых отношений и всех производных отношений.
-
Представление – это именованное производное отношение. Представления, как и базовые отношения являются переменными отношений. Представления виртуальны – они представлены в системе исключительно через определение в терминах других именованных отношений.
-
Снимки – это именованные производные отношения, в отличии от представлений являются реальными и представлены в системе не только в виде определений в терминах других именованных отношений, но и своими данными.
-
Результатом запроса называется неименованное производное отношение, служащее результатом некоторого определенного запроса.
-
Промежуточным результатом называется неименованное производное отношение, являющееся результатом некоторого реляционного выражения, вложенного в другое, большее выражение.
-
Хранимое отношение – отношение, которое поддерживается непосредственно в физической памяти.
Каждое отношение в реляционной модели имеет некоторую интерпретацию, причем пользователи должны ее знать для эффективного использования БД.