Uploaded by Костя Беседин

Модели данных билет ответ

advertisement
Билет № 1. Данные и ЭВМ. ИСХОДНЫЕ сегменты Иерархическая модель
1. Основой информационных технологий являются данные, которые должны быть
организованны в БД в целях адекватного отображения изменяющегося реального мира и
удовлетворения потребностей пользователя. Одним из важнейших понятий является
понятие информации. Под информацией понимаются любые сведения о каком-либо
событии, процессе, объекте.
Данные – это информация, представленная в определенном виде, позволяющем
автоматизировать ее сбор, хранение и дальнейшую обработку человеком или
информационным средством. Для компьютерных технологий данные – это информация в
дискретном, фиксированном виде, удобная для хранения, обработки на ЭВМ, а также для
передачи по каналам связи.
Традиционно фиксация данных осуществляется с помощью конкретного средства
общения (например, с помощью естественного языка или изображений) на конкретном
носителе (например, камне или бумаге). Обычно данные (факты, явления, события, идеи
или предметы) и их интерпретация (семантика) фиксируются совместно, так как
естественный язык достаточно гибок для представления того и другого. Примером может
служить утверждение "Стоимость авиабилета 128". Здесь "128" – данное, а "Стоимость
авиабилета" – его семантика. Нередко данные и интерпретация разделены. Например,
представление данных в виде таблицы. В современном мире приходится иметь дело с
обработанной
информацией,
возрастает
объем
взаимосвязанных
данных.
Взаимосвязанные данные называются системой. Ядром информационной системы
являются хранимые данные. На любом предприятии данные различных отделов как
правило пересекаются, это значит, что, описывая конкретную предметную область,
данные должны храниться в легкодоступном виде. Предметной областью может
выступать любой тип организации. Необходимо различать полную предметную область и
организационную единицу этой предметной области, которая в свою очередь сама может
выступать в качестве предметной области. Объект – это то, о чем накапливается
информация в ИС и что может быть однозначно идентифицировано. Атрибут – это
поименованная характеристика объекта, элемент данных. Значения данных представляют
действительные данные, содержащиеся в каждом элементе данных. Единичный набор
принимаемых элементами данных значений называется экземпляром объекта.
2. Иерархическая БД состоит из упорядоченного набора структур записей, каждая
структура имеет вид дерева. Деревом называется связный неориентированный граф, не
содержащий циклов. Вершины дерева называются узлами. Один из узлов, который
находится на самом верху иерархии, называют корнем. Остальные узлы называются
порожденными (потомками) и связаны так, что каждый узел имеет исходный,
находящийся на более высоком уровне иерархии (предок). Узлы, не имеющие
порожденных, называют листьями. Все экземпляры узла - потомка, имеющие общего
предка, называют близнецами. В иерархических моделях хранения данных объекты и
связи между ними представляются в виде ДЕРЕВА, в узлах которого размещены
ОБЪЕКТЫ, а ребра отображают их СВЯЗИ.
Дерево - ориентированный граф без циклов. В дереве любые два узла связаны
иерархической связью - один исходный, а другой - зависимый. Объекты в иерархической
модели данных представлены в виде СЕГМЕНТОВ. СВЯЗИ между объектами
представлены относительным расположением сегментов в
соответствии с иерархической последовательностью, т.е. в неявном виде.
СЕГМЕНТ - поименованная единица данных фиксированной длины, содержащая
одно или несколько ПОЛЕЙ.
ПОЛЕ - минимальный элемент данных.
ЛОГИЧЕСКАЯ БАЗА ДАННЫХ состоит из поименованной совокупности записей.
ЗАПИСЬ представляет собой совокупность сегментов, связанных между собой в
иерархическую структуру (дерево).
Два связанных сегмента, расположенные на смежных уровнях, называются
ИСХОДНЫМ (для более высокого уровня) и ПОРОЖДЕННЫМ (для более низкого
уровня). Единственный сегмент, который не зависит от других сегментов, называется
КОРНЕВЫМ.
Количество ЭКЗЕМПЛЯРОВ деревьев в базе данных равно числу корневых
сегментов. СЕГМЕНТЫ в базе данных могут просматриваться в следующем порядке:
сначала КОРНЕВОЙ сегмент, затем СЕГМЕНТЫ из связей СВЕРХУ ВНИЗ, СЛЕВА
НАПРАВО (СПРАВО НАЛЕВО).
Билет № 2. Концепция баз данных. ПОРОЖДЕННЫЕ сегменты
Иерархическая модель
1. Активная деятельность по отысканию приемлемых способов обобществления
непрерывно растущего объема информации привела к созданию в начале 60-х годов
специальных программных комплексов, называемых "Системы управления базами
данных" (СУБД).
СУБД - это комплекс языковых и программных средств, предназначенных для
создания, ведения и использования баз данных.
Базы данных - это совокупность данных, организованных по определенным
правилам, предусматривающим общие принципы описания, хранения и манипулирование
данными независимо от прикладных программ.
Основные функции Базы данных:
1.
Организация хранения информации и ее защиты.
2.
Периодическое изменение хранимых данных.
3.
Поиск и отбор данных по запросам пользователей и прикладных программ
4.
Обработка найденных данных и вывод результатов в заданной форме
Банк данных - это система специальным образом организованных баз данных,
программных, технических, языковых и организационно-методических средств,
предназначенных для обеспечения централизованного накопления и коллективного
многоцелевого использования данных.
Словарь данных - представляет собой подсистему банка данных, предназначенную
для централизованного хранения информации о структурах данных, взаимосвязях файлов
БД друг с другом, типах данных и форматах их представления и т.д.
2. Иерархическая БД состоит из упорядоченного набора структур записей, каждая
структура имеет вид дерева. Деревом называется связный неориентированный граф, не
содержащий циклов. Вершины дерева называются узлами. Один из узлов, который
находится на самом верху иерархии, называют корнем. Остальные узлы называются
порожденными (потомками) и связаны так, что каждый узел имеет исходный,
находящийся на более высоком уровне иерархии (предок). Узлы, не имеющие
порожденных, называют листьями. Все экземпляры узла - потомка, имеющие общего
предка, называют близнецами. В иерархических моделях хранения данных объекты и
связи между ними представляются в виде ДЕРЕВА, в узлах которого размещены
ОБЪЕКТЫ, а ребра отображают их СВЯЗИ.
Дерево - ориентированный граф без циклов. В дереве любые два узла связаны
иерархической связью - один исходный, а другой - зависимый. Объекты в иерархической
модели данных представлены в виде СЕГМЕНТОВ. СВЯЗИ между объектами
представлены относительным расположением сегментов в
соответствии с иерархической последовательностью, т.е. в неявном виде.
СЕГМЕНТ - поименованная единица данных фиксированной длины, содержащая
одно или несколько ПОЛЕЙ.
ПОЛЕ - минимальный элемент данных.
ЛОГИЧЕСКАЯ БАЗА ДАННЫХ состоит из поименованной совокупности записей.
ЗАПИСЬ представляет собой совокупность сегментов, связанных между собой в
иерархическую структуру (дерево).
Два связанных сегмента, расположенные на смежных уровнях, называются
ИСХОДНЫМ (для более высокого уровня) и ПОРОЖДЕННЫМ (для более низкого
уровня). Единственный сегмент, который не зависит от других сегментов, называется
КОРНЕВЫМ.
Количество ЭКЗЕМПЛЯРОВ деревьев в базе данных равно числу корневых
сегментов. СЕГМЕНТЫ в базе данных могут просматриваться в следующем порядке:
сначала КОРНЕВОЙ сегмент, затем СЕГМЕНТЫ из связей СВЕРХУ ВНИЗ, СЛЕВА
НАПРАВО (СПРАВО НАЛЕВО).
Билет № 3. Язык запросов. Количество ЭКЗЕМПЛЯРОВ деревьев.
Иерархическая модель
1. Запрос – специальным образом описанное требование, определяющее состав
производимых над БД операций по выборке или модификации хранимых данных.
Язык запросов можно определить как высокоуровневый узкоспециализированный
язык, предназначенный для удовлетворения различных требований по выборке
информации из БД. Язык запросов СУБД позволяет обращаться за данными как из
программ, так и с терминалов (других ЭВМ). С помощью единственного запроса на
любом из этих языков можно соединить несколько таблиц во временную таблицу и
вырезать из нее требуемые строки и столбцы (селекция и проекция).
Пример запроса:
ВЫБРАТЬ Номер рейса, Дни недели, Время вылета
ИЗ ТАБЛИЦЫ Расписание
ГДЕ Пункт отправления = 'Москва'
И Пункт назначения = 'Киев'
И Время вылета > 17;
В СУБД поддерживается несколько специализированных по своим функциям
подъязыков. Их можно разбить на две категории:
1.
язык определения данных БД
2.
язык манипулирования данными
Язык запросов является частью языка манипулирования данными и входит в такие
языки как SQL, QBE. Пример запроса в SQL:
SELECT *
FROM kafedra;
Результатом выполнения этого запроса будет являться таблица, содержащая
сведения обо всех кафедрах университета.
2. Иерархическая БД состоит из упорядоченного набора структур записей, каждая
структура имеет вид дерева. Деревом называется связный неориентированный граф, не
содержащий циклов. Вершины дерева называются узлами. Один из узлов, который
находится на самом верху иерархии, называют корнем. Остальные узлы называются
порожденными (потомками) и связаны так, что каждый узел имеет исходный,
находящийся на более высоком уровне иерархии (предок). Узлы, не имеющие
порожденных, называют листьями. Все экземпляры узла - потомка, имеющие общего
предка, называют близнецами. В иерархических моделях хранения данных объекты и
связи между ними представляются в виде ДЕРЕВА, в узлах которого размещены
ОБЪЕКТЫ, а ребра отображают их СВЯЗИ.
Дерево - ориентированный граф без циклов. В дереве любые два узла связаны
иерархической связью - один исходный, а другой - зависимый. Объекты в иерархической
модели данных представлены в виде СЕГМЕНТОВ. СВЯЗИ между объектами
представлены относительным расположением сегментов в
соответствии с иерархической последовательностью, т.е. в неявном виде.
СЕГМЕНТ - поименованная единица данных фиксированной длины, содержащая
одно или несколько ПОЛЕЙ.
ПОЛЕ - минимальный элемент данных.
ЛОГИЧЕСКАЯ БАЗА ДАННЫХ состоит из поименованной совокупности записей.
ЗАПИСЬ представляет собой совокупность сегментов, связанных между собой в
иерархическую структуру (дерево).
Два связанных сегмента, расположенные на смежных уровнях, называются
ИСХОДНЫМ (для более высокого уровня) и ПОРОЖДЕННЫМ (для более низкого
уровня). Единственный сегмент, который не зависит от других сегментов, называется
КОРНЕВЫМ.
Количество ЭКЗЕМПЛЯРОВ деревьев в базе данных равно числу корневых
сегментов. СЕГМЕНТЫ в базе данных могут просматриваться в следующем порядке:
сначала КОРНЕВОЙ сегмент, затем СЕГМЕНТЫ из связей СВЕРХУ ВНИЗ, СЛЕВА
НАПРАВО (СПРАВО НАЛЕВО). Типичным, наиболее известным и распространенным
представителем
Иерархической модели является Information Management System (IMS) фирмы
IBM. Первая версия появилась в 1968 г., до сих пор поддерживается много баз данных,
что создает существенные проблемы с переходом как на новую технологию БД, так и на
новую технику.
Билет №4. Архитектура СУБД. Манипулирование данными. Иерархическая
модель
1. Архитектура СУБД должна обеспечивать разграничение пользовательского и
системного уровней.
СУБД должна предоставлять доступ к данным любым пользователям, включая и
тех, которые практически не имеют и (или) не хотят иметь представления о физическом
размещении в памяти данных и их описаний; механизмах поиска запрашиваемых данных;
проблемах, возникающих при одновременном запросе одних и тех же данных многими
пользователями (прикладными программами); способах обеспечения защиты данных от
некорректных обновлений и (или) несанкционированного доступа; поддержании баз
данных в актуальном состоянии и множестве других функций СУБД.
Выделяют три уровня в архитектуре СУБД:
а) Инфологический;
б) Даталогический;
в) Физический.
Трехуровневая архитектура (инфологический, даталогический и физический
уровни) позволяет обеспечить независимость хранимых данных от использующих их
программ.
Рассмотрим подробнее эти три уровня.
Инфологические модели данных используются на ранних стадиях проектирования
для описания структур данных в процессе разработки приложения. Такая модель является
человеко-ориентированной.
Следующий уровень – даталогический - является компьютеро-ориентированным.
Так как указанный доступ осуществляется с помощью конкретной СУБД, то
модели должны быть описаны на языке описания данных этой СУБД. Такое описание,
создаваемое по инфологической модели данных, называют даталогической моделью
данных. Даталогические модели подразделяются на документальные модели и
фактографические. В свою очередь в фактографических моделях наиболее
распространены два вида: теоретико-графовые и теоретико-множественные модели
данных.
Теоретико-множественной моделью является реляционная модель данных.
К теоретико-графовым относятся иерархические и сетевые модели.
Физические модели данных описывают то, как данные хранятся в компьютере,
представляя информацию о структуре записи, их упорядоченности и существующих путях
доступа. Наиболее распространены из них следующие: обобщающая модель и модель
памяти кадров.
2. Иерархическая БД состоит из упорядоченного набора структур записей, каждая
структура имеет вид дерева. Деревом называется связный неориентированный граф, не
содержащий циклов. Вершины дерева называются узлами. Один из узлов, который
находится на самом верху иерархии, называют корнем. Остальные узлы называются
порожденными (потомками) и связаны так, что каждый узел имеет исходный,
находящийся на более высоком уровне иерархии (предок). Узлы, не имеющие
порожденных, называют листьями. Все экземпляры узла - потомка, имеющие общего
предка, называют близнецами. В иерархических моделях хранения данных объекты и
связи между ними представляются в виде ДЕРЕВА, в узлах которого размещены
ОБЪЕКТЫ, а ребра отображают их СВЯЗИ.
Дерево - ориентированный граф без циклов. В дереве любые два узла связаны
иерархической связью - один исходный, а другой - зависимый. Объекты в иерархической
модели данных представлены в виде СЕГМЕНТОВ. СВЯЗИ между объектами
представлены относительным расположением сегментов в
соответствии с иерархической последовательностью, т.е. в неявном виде.
СЕГМЕНТ - поименованная единица данных фиксированной длины, содержащая
одно или несколько ПОЛЕЙ.
ПОЛЕ - минимальный элемент данных.
ЛОГИЧЕСКАЯ БАЗА ДАННЫХ состоит из поименованной совокупности записей.
ЗАПИСЬ представляет собой совокупность сегментов, связанных между собой в
иерархическую структуру (дерево).
Два связанных сегмента, расположенные на смежных уровнях, называются
ИСХОДНЫМ (для более высокого уровня) и ПОРОЖДЕННЫМ (для более низкого
уровня). Единственный сегмент, который не зависит от других сегментов, называется
КОРНЕВЫМ.
Количество ЭКЗЕМПЛЯРОВ деревьев в базе данных равно числу корневых
сегментов. СЕГМЕНТЫ в базе данных могут просматриваться в следующем порядке:
сначала КОРНЕВОЙ сегмент, затем СЕГМЕНТЫ из связей СВЕРХУ ВНИЗ, СЛЕВА
НАПРАВО (СПРАВО НАЛЕВО).
Примерами
типичных
операторов
манипулирования
иерархически
организованными данными могут быть следующие:

Найти указанное дерево БД (например, плановый отдел);

Перейти от одного дерева к другому;

Перейти от одного узла к другому внутри дерева (например, от отдела - к
первому сотруднику);

Перейти от одного узла к другому в порядке обхода иерархии;

Вставить новую запись (экземпляр узла) в указанную позицию;

Удалить текущую запись.
Билет № 5. Администратор базы данных. Ограничения целостности
Иерархическая модель
1. Администратор баз данных – лицо или группа лиц, отвечающих за выработку
требований к БД, ее проектирование, создание и эффективное использование и
сопровождение. В процессе эксплуатации АБД обычно следит за функционированием БД,
обеспечивает защиту от несанкционированного доступа, контролирует избыточность,
непротиворечивость, сохранность и достоверность хранимой в БД информации. В
вычислительной сети АБД, как правило, взаимодействует с администратором сети. В
обязанности последнего входят контроль за функционированием аппаратно-программных
средств сети, реконфигурация сети, восстановление ПО после сбоев, профилактические
мероприятия и обеспечение разграничения доступа.
2. Целостность (от англ. integrity – нетронутость, неприкосновенность,
сохранность, целостность) – понимается как правильность данных в любой момент
времени. Но эта цель может быть достигнута лишь в определенных пределах: СУБД не
может контролировать правильность каждого отдельного значения, вводимого в базу
данных (хотя каждое значение можно проверить на правдоподобность). Поддержание
целостности базы данных может рассматриваться как защита данных от неверных
изменений или разрушений (не путать с незаконными изменениями и разрушениями,
являющимися проблемой безопасности). Современные СУБД имеют ряд средств для
обеспечения поддержания целостности (так же, как и средств обеспечения поддержания
безопасности).
Ограничения целостности для иерархической модели: никакой потомок не может
существовать без своего родителя. Однако аналогичное условие целостности по ссылкам
между узлами, не входящими в одно дерево, не поддерживается.
Билет № 6. Физические модели данных. Переход от инфологической модели к
иерархической БД
1. Физические модели данных описывают то, как данные хранятся в компьютере,
представляя информацию о структуре записи, их упорядоченности и существующих путях
доступа.
Нужные данные отыскиваются СУБД на внешних запоминающих устройствах по
физической модели данных.
Физическая модель содержит всю информацию, необходимую для реализации
конкретной БД. Различают два уровня физической модели:
1.
трансформационную модель;
2.
модель СУБД.
Трансформационная модель содержит информацию для реализации отдельного
проекта, который может быть частью общей ИС и описывать подмножество предметной
области. Данная модель позволяет проектировщикам и администраторам БД лучше
представить, какие объекты БД хранятся в словаре данных, и проверить, насколько
физическая модель удовлетворяет требованиям к ИС.
Модель СУБД автоматически генерируется из трансформационной модели и
является точным отображением системного каталога СУБД.
2. Методика перехода к иерархической БД может быть различной. Рассмотрим
более простую методику, идея которой состоит в том, чтобы построить дерево на графе
инфологической модели . Таких деревьев может быть несколько. При этом корень дерева узел, в который не входят дуги (если такого узла нет, то следует ввести его). Часть связей
нужно удалить и заменить их соответствующими атрибутами объектов.
Список атрибутов каждого узла определяется так:

перечисляются все атрибуты понятия кроме тех, которые принадлежат
вышестоящим узлам,

добавляются атрибуты для моделирования связей, явно не отраженных в
структуре дерева.
Дублирование атрибутов в узлах позволяет отобразить реальные связи, но
увеличивает объем БД. Если конкретная СУБД не допускает сложных внутризаписных
структур, то придется вводить дополнительные узлы дерева либо пренебречь некоторыми
связями в концептуальной модели, то есть потерять часть информации о предметной
области.
Преоброзование связи типа "один ко многим" между предком и потомком
осуществляется практически автоматически в том случае, если потомок имеет одного
предка, и происходит это следующим образом. Каждый объект с его атрибутами,
участвующий в такой связи, становится логическим сегментом. Между двумя
логическими сегментами устанавливается связь типа "один ко многим". Сегмент со
стороны "много" становится потомком, а сегмент со стороны "один" становится предком.
Ситуация значительно усложняется, если потомок в связи имеет не одного, а двух и
более предков. Так как подобное положение является невозможным для иерархической
модели, то отражаемая структура данных нуждается в преобразованиях, которые
сводятся к замене одного дерева, например, двумя (если имеется два предка). В результате
такого преобразования в базе данных появляется избыточность, так как единственно
возможный выход из этой ситуации — дублирование данных. Но дублирование
информации — это нежелательное явление в информационных системах. Из-за его
присутствия возникает возможность нарушения непротиворечивости данных, при этом и
объем памяти расходуется неэффективно, а значит, оно должно быть минимизировано.
Вносимая полученной структурой избыточность данных может быть ограничена
при помощи виртуальных сегментов и указателей следующим образом Сегмент
запоминается полностью только один раз. Когда сегмент должен дублироваться в двух
или более деревьях все последующие вхождения сегмента запоминаются как указатели на
место хранения данного сегмента. Такие вхождения называются виртуальными
сегментами. При их использовании избыточности данных не возникает, а требуется лишь
дополнительная память для хранения указателей.
Преобразование бинарной связи типа "многие ко многим" осуществляется по
следующему правилу. Каждый объект, участвующий в такой связи, с его атрибутами
становится логическим сегментом. Пусть это сегменты С1 и С2. В отражаемой структуре
данных производят преобразования, которые сводятся к замене одного дерева двумя
деревьями. Первое дерево включает оба сегмента, между которыми устанавливается связь
типа "один ко многим", где C1 — предок, а С2 — потомок. Второе дерево включает опять
оба этих сегмента, между которыми устанавливается связь типа "один ко многим", но
только в этом случае С2 — предок, а С1 — потомок.
Билет № 7. Даталогические модели данных. Достоинства и недостатки
Иерархической модели
1. Под даталогической понимается модель, отражающая логические взаимосвязи
между элементами данных безотносительно их содержания и физической организации.
При этом даталогическая модель разрабатывается с учетом конкретной реализации
СУБД, также с учетом специфики конкретной предметной области на основе ее
инфологической модели. Трехуровневая архитектура (инфологический, даталогический и
физический уровни) позволяет обеспечить независимость хранимых данных от
использующих их программ. АБД может при необходимости переписать хранимые
данные на другие носители информации и (или) реорганизовать их физическую
структуру, изменив лишь физическую модель данных. АБД может подключить к системе
любое число новых пользователей (новых приложений), дополнив, если надо,
даталогическую модель. Указанные изменения физической и даталогической моделей не
будут замечены существующими пользователями системы (окажутся "прозрачными" для
них), так же как не будут замечены и новые пользователи. Следовательно, независимость
данных обеспечивает возможность развития системы баз данных без разрушения
существующих приложений.
2. Достоинства модели:
 простота понимания и использования. Простота и естественность представления
экономических данных; Пользователи систем обработки данных хорошо знакомы с
иерархическими структурами; минимальный расход памяти по сравнению с другими
моделями
 обеспечение определенного уровня независимости данных. Так, с помощью двух
иерархических моделей, показанных на предыдущем рисунке, можно реализовать
различные представления пользователей;
 простота оценки операционных характеристик благодаря заранее заданным
взаимосвязям.
Недостатки модели:
 Сложность отображения связей М : N (смотри п.2.1.) без увеличения
избыточности. Отношение МНОГИЕ - КО - МНОГИМ непосредственно не
поддерживается, что и является основным недостатком иерархических моделей.
Из-за строгой иерархической упорядоченности объектов модели значительно
усложняются операции включения и удаления.
 Удаление исходных объектов влечет удаление порожденных. Поэтому
выполнение операции УДАЛИТЬ требует особой осторожности.
 Особенности иерархических структур обусловливают сложность операций
манипулирования данными.
 Корневой тип узла является главным. доступ к данным возможен только через
корень дерева, следовательно большое время поиска данных для некоторых запросов.
Доступ к любому порожденному узлу возможен только через исходный.
Билет № 8. Независимость хранимых данных. Сетевая модель хранения
данных (Простая сетевая структура, сложная сетевая структура)
1. Трехуровневая архитектура (инфологический, даталогический и физический
уровни) позволяет обеспечить независимость хранимых данных от использующих их
программ. АБД может при необходимости переписать хранимые данные на другие
носители информации и (или) реорганизовать их физическую структуру, изменив лишь
физическую модель данных. АБД может подключить к системе любое число новых
пользователей (новых приложений), дополнив, если надо, даталогическую модель.
Указанные изменения физической и даталогической моделей не будут замечены
существующими пользователями системы (окажутся "прозрачными" для них), так же как
не будут замечены и новые пользователи. Следовательно, независимость данных
обеспечивает возможность развития системы баз данных без разрушения существующих
приложений.
2. Сетевые модели также создавались для мало ресурсных ЭВМ. Это достаточно
сложные структуры, состоящие из "наборов" – поименованных двухуровневых деревьев.
"Наборы" соединяются с помощью "записей-связок", образуя цепочки и т.д. При
разработке сетевых моделей было выдумано множество "маленьких хитростей",
позволяющих увеличить производительность СУБД, но существенно усложнивших
последние. Отличие сетевой модели от иерархической заключается в том, что в сетевой
структуре любой элемент данных может быть связан с любым другим, то есть
иерархическая модель является разновидностью сетевой.
Различают простую и сложную сетевую структуру. В простой сетевой структуре
между исходным и порожденными узлами реализуется связь 1:М. Сложной сетевой
структурой называют такую схему, в которой присутствует хотя бы одна связь N : M.
База данных состоит из нескольких ОБЛАСТЕЙ. Область содержит ЗАПИСИ. В свою
очередь запись состоит из ПОЛЕЙ. НАБОР, который объединяет записи, может
размещаться в одной или нескольких областях.
В сетевых моделях хранения данных объекты и связи между ними представляются
в виде сети, в узлах которой размещены ОБЪЕКТЫ, а ребра отображают их СВЯЗИ.
Сетевые структуры могут содержать ЦИКЛЫ, когда связи между объектами образуют
замкнутый контур, начинаясь и оканчиваясь у одного и того же объекта на сети. Такой
цикл называется НАБОР. Каждый набор должен иметь уникальное имя и содержать
произвольное число узлов (объектов). В том числе и ни одного – так называемый пустой
набор.
Достоинства модели:
 наличие успешных
реализаций систем управления базами данных,
обеспечивающих эту сетевую модель (как и в иерархической модели);

простота реализации часто встречающихся в реальном мире взаимосвязей
"многие ко многим".

Недостатки модели:

Основной недостаток сетевой модели состоит в ее сложности;

Прикладной программист должен детально знать логическую структуру базы
данных;
Трудности осуществления навигации среди различных экземпляров наборов и
экземпляров записей;
 Возможная потеря независимости данных при реорганизации базы данных;

Представление, используемое прикладной программой, сложнее, чем в
иерархической модели.

В настоящее время большинство СУБД поддерживают только простые сетевые
структуры. Такие системы называют СУБД с равноправными (однотипными) файлами.
Типичным представителем является Integrated Database Management System (IDMS)
компании Cullinet Software Inc., предназначенная для использования на машинах
основного класса фирмы IBM под управлением большинства операционных систем.
Архитектура системы основана на предложениях Комитета по языкам программирования
Conference on Data Systems Languages (CODASYL). В дальнейшем мы будем пользоваться
терминологией, принятой в КОДАСИЛ.
Основная конструкция сетевой модели данных КОДАСИЛ – набор. Набор - это
поименованное двухуровневое дерево, которое реализует связь между записями двух
типов: владельцем набора и членом набора. Разрешаются только связи 1 : М или М : 1 , но
связи M : N в явном виде не поддерживаются. С помощью наборов можно строить
многоуровневые деревья и простые сетевые структуры. Так как роль записи жестко не
фиксируется, то в одном наборе запись (файл) может быть членом, а в другом владельцем,
поэтому такая модель и называется моделью с равноправными файлами. В сетевых
моделях реальных СУБД запись может иметь любую структуру, например, простую
линейную, как в реляционной БД, либо более сложную, включая массивы, группы,
повторяющиеся группы. Совокупность однотипных записей образует файл, а
совокупность файлов и наборов, описанных в одной схеме, образует сетевую БД.
Допускаются изолированные, не связанные с другими, файлы. В зависимости от способа
физического хранения различают одночленные, многочленные и сингулярные наборы.
Одночленный набор включает только один файл - член. Многочленные наборы состоят из
трех и более файлов, сингулярный набор - это особый набор, в котором владельцем
является система. В каждом сингулярном наборе всего один экземпляр. Сингулярные
наборы чаще всего применяются, чтобы получить доступ ко всем записям файла владельца, а также чтобы объединить записи, не имеющие владельца.
Билет №9. Инфологическая модель. Составляющие базы данных,
описываемой сетевой моделью.
1. Цель инфологического моделирования – обеспечение наиболее естественных для
человека способов сбора и представления той информации, которую предполагается
хранить в создаваемой базе данных. Поэтому инфологическую модель данных пытаются
строить по аналогии с естественным языком (последний не может быть использован в
чистом виде из-за сложности компьютерной обработки текстов и неоднозначности любого
естественного языка). Основными конструктивными элементами инфологических
моделей являются сущности, связи между ними и их свойства (атрибуты).
Сущность – любой различимый объект (объект, который мы можем отличить от
другого), информацию о котором необходимо хранить в базе данных. Сущностями могут
быть люди, места, самолеты, рейсы, вкус, цвет и т.д.
Атрибут – поименованная характеристика сущности. Его наименование должно
быть уникальным для конкретного типа сущности, но может быть одинаковым для
различного типа сущностей (например, ЦВЕТ может быть определен для многих
сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибуты используются для
определения того, какая информация должна быть собрана о сущности. Примерами
атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК,
ЦВЕТ и т.д.
Ключ – минимальный набор атрибутов, по значениям которых можно однозначно
найти требуемый экземпляр сущности. Минимальность означает, что исключение из
набора любого атрибута не позволяет идентифицировать сущность по оставшимся.
Связь – ассоциирование двух или более сущностей. Одно из основных требований
к организации базы данных – это обеспечение возможности отыскания одних сущностей
по значениям других, для чего необходимо установить между ними определенные связи.
При построении инфологических моделей можно использовать язык ER-диаграмм.
В них сущности изображаются помеченными прямоугольниками, ассоциации –
помеченными ромбами или шестиугольниками, атрибуты – помеченными овалами, а
связи между ними – ненаправленными ребрами, над которыми может проставляться
степень связи (1 или буква, заменяющая слово "много") и необходимое пояснение.
2. Цель инфологического моделирования – обеспечение наиболее естественных для
человека способов сбора и представления той информации, которую предполагается
хранить в создаваемой базе данных. Поэтому инфологическую модель данных пытаются
строить по аналогии с естественным языком (последний не может быть использован в
чистом виде из-за сложности компьютерной обработки текстов и неоднозначности любого
естественного языка). Основными конструктивными элементами инфологических
моделей являются сущности, связи между ними и их свойства (атрибуты).
Сущность – любой различимый объект (объект, который мы можем отличить от
другого), информацию о котором необходимо хранить в базе данных. Сущностями могут
быть люди, места, самолеты, рейсы, вкус, цвет и т.д.
Атрибут – поименованная характеристика сущности. Его наименование должно
быть уникальным для конкретного типа сущности, но может быть одинаковым для
различного типа сущностей (например, ЦВЕТ может быть определен для многих
сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибуты используются для
определения того, какая информация должна быть собрана о сущности. Примерами
атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК,
ЦВЕТ и т.д.
Ключ – минимальный набор атрибутов, по значениям которых можно однозначно
найти требуемый экземпляр сущности. Минимальность означает, что исключение из
набора любого атрибута не позволяет идентифицировать сущность по оставшимся.
Связь – ассоциирование двух или более сущностей. Одно из основных требований
к организации базы данных – это обеспечение возможности отыскания одних сущностей
по значениям других, для чего необходимо установить между ними определенные связи.
При построении инфологических моделей можно использовать язык ER-диаграмм.
В них сущности изображаются помеченными прямоугольниками, ассоциации –
помеченными ромбами или шестиугольниками, атрибуты – помеченными овалами, а
связи между ними – ненаправленными ребрами, над которыми может проставляться
степень связи (1 или буква, заменяющая слово "много") и необходимое пояснение.
Билет №10. Реляционная модель данных. Объекты и связи между ними.
Сетевая модель хранения данных
1. В конце 60-х годов появились работы, в которых обсуждались возможности
применения различных табличных даталогических моделей данных, т.е. возможности
использования привычных и естественных способов представления данных. Наиболее
значительной из них была статья сотрудника фирмы IBM д-ра Э.Кодда (Codd E.F., A
Relational Model of Data for Large Shared Data Banks. CACM 13: 6, June 1970), где,
вероятно, впервые был применен термин "реляционная модель данных".
Использование реляционной модели хранения данных в системах управления
базами данных было предложено в 1970 г. доктором Э. Ф. Коддом.
В основу реляционной модели хранения данных взято фундаментальное
математическое понятие подмножества декартова произведения доменов.
Будучи математиком по образованию Э.Кодд предложил использовать для
обработки данных аппарат теории множеств (объединение, пересечение, разность,
декартово произведение). Он показал, что любое представление данных сводится к
совокупности двумерных таблиц особого вида, известного в математике как отношение –
relation (англ.) Наименьшая единица данных реляционной модели – это отдельное
атомарное (неразложимое) для данной модели значение данных. Так, в одной предметной
области фамилия, имя и отчество могут рассматриваться как единое значение, а в другой –
как три различных значения.
Домен — это множество значений. Примерами доменов могут служить множество
целых чисел, множество названий городов, множество почтовых адресов, фамилий
студентов и т.д.
Смысл доменов состоит в следующем. Если значения двух атрибутов берутся из
одного и того же домена, то, вероятно, имеют смысл сравнения, использующие эти два
атрибута. Если же значения двух атрибутов берутся из различных доменов, то их
сравнение, вероятно, лишено смысла. Декартовым произведением k доменов
(D1,D2,D3,…,Dk), которое обозначается (D1*D2*D3*…*Dk), называется множество всех
кортежей вида (V1, V2, V3,…,Vk) длины k, таких, что V1D1, V2D2, V3D3,…, VkDk.
Отношением будем называть некоторое подмножество декартова произведения
одного или более доменов. При этом предполагаются только конечные отношения.
Элементами отношения являются кортежи. Отношение на доменах D1, D2, ..., Dn
(не обязательно, чтобы все они были различны) состоит из заголовка и тела. Заголовок
состоит из такого фиксированного множества атрибутов A1, A2, ..., An, что
существует взаимно однозначное соответствие между этими атрибутами Ai и
определяющими их доменами Di (i=1,2,...,n). Тело состоит из меняющегося во времени
множества кортежей, где каждый кортеж состоит в свою очередь из множества пар
атрибут-значение (Ai:Vi), (i=1,2,...,n), по одной такой паре для каждого атрибута Ai в
заголовке. Для любой заданной пары атрибут-значение (Ai:Vi) Vi является значением из
единственного домена Di, который связан с атрибутом Ai.
Степень отношения – это число его атрибутов. Отношение степени один называют
унарным, степени два – бинарным, степени три – тернарным, ..., а степени n – n-арным.
Кардинальное число или мощность отношения – это число его кортежей. Поскольку
отношение – это множество, а множества по определению не содержат совпадающих
элементов, то никакие два кортежа отношения не могут быть дубликатами друг друга в
любой произвольно-заданный момент времени. Пусть R – отношение с атрибутами A1,
A2, ..., An. Говорят, что множество атрибутов K=(Ai, Aj, ..., Ak) отношения R является
возможным ключом R тогда и только тогда, когда удовлетворяются два независимых от
времени условия:
1.
Уникальность: в произвольный заданный момент времени никакие два
различных кортежа R не имеют одного и того же значения для Ai, Aj, ..., Ak.
2.
Минимальность: ни один из атрибутов Ai, Aj, ..., Ak не может быть
исключен из K без нарушения уникальности.
Каждое отношение обладает хотя бы одним возможным ключом, поскольку по
меньшей мере комбинация всех его атрибутов удовлетворяет условию уникальности.
Один из возможных ключей (выбранный произвольным образом) принимается за его
первичный ключ. Остальные возможные ключи, если они есть, называются
альтернативными ключами.
Вышеупомянутые и некоторые другие математические понятия явились
теоретической базой для создания реляционных СУБД, разработки соответствующих
языковых средств и программных систем, обеспечивающих их высокую
производительность, и создания основ теории проектирования баз данных. Однако для
массового пользователя реляционных СУБД можно с успехом использовать
неформальные эквиваленты этих понятий:
Отношение
–
Таблица
(иногда
Файл),
Кортеж
–
Строка
(иногда
Запись),
Атрибут – Столбец, Поле.
При этом принимается, что "запись" означает "экземпляр записи", а "поле"
означает "имя и тип поля".
Достоинства модели:
 Простота представления данных;
 Запросы не строятся на основе заранее определенной структуры - могут быть
сформулированы на непроцедурном языке;
 Независимость данных;
 Реляционная модель хранения данных основана на хорошо проработанной
теории отношений;
 При проектировании базы данных применяются строгие методы, построенные на
использовании реляционной алгебры;
 Простота внесения изменений в базу данных.
Недостатки модели
 Невозможность представления объектов с отношением «многие-ко-многим» в
одной таблице;
 Значительно большее время реакции на запросы;
 Больший объем внешней памяти.
2. В сетевых моделях хранения данных объекты и связи между ними
представляются в виде сети, в узлах которой размещены ОБЪЕКТЫ, а ребра отображают
их СВЯЗИ. Сетевые структуры могут содержать ЦИКЛЫ, когда связи между объектами
образуют замкнутый контур, начинаясь и оканчиваясь у одного и того же объекта на сети.
Такой цикл называется НАБОР. Каждый набор должен иметь уникальное имя и содержать
произвольное число узлов (объектов). В том числе и ни одного – так называемый пустой
набор.
Достоинства модели:
 наличие
успешных реализаций систем управления базами данных,
обеспечивающих эту сетевую модель (как и в иерархической модели);
 простота реализации часто встречающихся в реальном мире взаимосвязей
"многие ко многим".
Недостатки модели:
 Основной недостаток сетевой модели состоит в ее сложности;
 Прикладной программист должен детально знать логическую структуру базы
данных;
 Трудности осуществления навигации среди различных экземпляров наборов и
экземпляров записей;
 Возможная потеря независимости данных при реорганизации базы данных;
 Представление, используемое прикладной программой, сложнее, чем в
иерархической модели.
База данных состоит из нескольких ОБЛАСТЕЙ. Область содержит ЗАПИСИ. В
свою очередь запись состоит из ПОЛЕЙ. НАБОР, который объединяет записи, может
размещаться в одной или нескольких областях.
Сетевые модели также создавались для мало ресурсных ЭВМ. Это достаточно
сложные структуры, состоящие из "наборов" – поименованных двухуровневых деревьев.
"Наборы" соединяются с помощью "записей-связок", образуя цепочки и т.д. При
разработке сетевых моделей было выдумано множество "маленьких хитростей",
позволяющих увеличить производительность СУБД, но существенно усложнивших
последние. Отличие сетевой модели от иерархической заключается в том, что в сетевой
структуре любой элемент данных может быть связан с любым другим, то есть
иерархическая модель является разновидностью сетевой.
Билет №11. Наборов отношений. Реляционная модель данных. ЦИКЛЫ.
Сетевая модель хранения данных
1. Отношение — это двумерная таблица, имеющая уникальное имя и состоящая из
строк и столбцов, где строки соответствуют записям, а столбцы — атрибутам.
Каждая строка в таблице представляет некоторый объект реального мира или
соотношения между объектами.
Атрибут — это поименованный столбец отношения. Свойства объекта, его
характеристики определяются значениями атрибутов.
Домен — это множество значений. Примерами доменов могут служить множество
целых чисел, множество названий городов, множество почтовых адресов, фамилий
студентов и т.д.
Элементами отношения являются кортежи.
Свойства отношения:
1.
Отношение имеет имя, которое отличается от имен всех других отношений
2.
Отношение представляется в виде табличной структуры. Имя таблицы
соответствует имени отношения, имена столбцов — именам атрибутов
а строки таблицы — кортежам.
3.
Каждый атрибут имеет уникальное имя, его значения берутся из одного и
того же домена.
4.
Каждый компонент кортежа является простым, атомарным значением, не
состоящим из группы значений. Это не позволяет заменять значение атрибута другим
отношением, что привело бы к сетевому или иерархическому отношению.
5.
Упорядочение атрибутов теоретически несущественно, однако оно может
влиять на эффективность доступа к кортежам.
6.
Все строки (кортежи) должны быть различны.
7.
Теоретически порядок следования кортежей не имеет значения, но этот
порядок влияет на эффективность доступа к кортежам.
Реляционная модель данных предложена сотрудником фирмы IBM Эдгаром
Коддом и основывается на понятии отношение.
Отношение представляет собой множество элементов, называемых кортежами.
Наглядной формой представления отношения является привычная для человеческого
восприятия двумерная таблица.
Таблица имеет строки (записи) и столбцы (колонки). Каждая строка таблицы
имеет одинаковую структуру и состоит из полей. Строкам таблицы соответствуют
кортежи, а столбцам - атрибуты отношения.
С помощью одной таблицы удобно описывать простейший вид связей между
данными, а именно: деление одного объекта (явления, сущности, системы и проч.),
информация о котором хранится в таблице, на множество подобъектов, каждому из
которых соответствует строка или запись таблицы. При этом каждый из подобъектов
имеет одинаковую структуру или свойства, описываемые соответствующими значениями
полей записей.
Поскольку в рамках одной таблицы не удается описать более сложные логические
структуры данных из предметной области, применяют связывание таблиц. Физическое
размещение данных в реляционных базах на внешних носителях легко осуществляется с
помощью обычных файлов.
2. Сетевые модели также создавались для мало ресурсных ЭВМ. Это достаточно
сложные структуры, состоящие из "наборов" – поименованных двухуровневых деревьев.
"Наборы" соединяются с помощью "записей-связок", образуя цепочки и т.д. При
разработке сетевых моделей было выдумано множество "маленьких хитростей",
позволяющих увеличить производительность СУБД, но существенно усложнивших
последние. Отличие сетевой модели от иерархической заключается в том, что в сетевой
структуре любой элемент данных может быть связан с любым другим, то есть
иерархическая модель является разновидностью сетевой.
Различают простую и сложную сетевую структуру. В простой сетевой структуре
между исходным и порожденными узлами реализуется связь 1:М. Сложной сетевой
структурой называют такую схему, в которой присутствует хотя бы одна связь N : M.
База данных состоит из нескольких ОБЛАСТЕЙ. Область содержит ЗАПИСИ. В свою
очередь запись состоит из ПОЛЕЙ. НАБОР, который объединяет записи, может
размещаться в одной или нескольких областях.
В сетевых моделях хранения данных объекты и связи между ними представляются
в виде сети, в узлах которой размещены ОБЪЕКТЫ, а ребра отображают их СВЯЗИ.
Сетевые структуры могут содержать ЦИКЛЫ, когда связи между объектами образуют
замкнутый контур, начинаясь и оканчиваясь у одного и того же объекта на сети. Такой
цикл называется НАБОР. Каждый набор должен иметь уникальное имя и содержать
произвольное число узлов (объектов). В том числе и ни одного – так называемый пустой
набор. Достоинства модели:
 наличие
успешных реализаций систем управления базами данных,
обеспечивающих эту сетевую модель (как и в иерархической модели);
 простота реализации часто встречающихся в реальном мире взаимосвязей
"многие ко многим".
Недостатки модели:
 Основной недостаток сетевой модели состоит в ее сложности;
 Прикладной программист должен детально знать логическую структуру базы
данных;
 Трудности осуществления навигации среди различных экземпляров наборов и
экземпляров записей;
 Возможная потеря независимости данных при реорганизации базы данных;
 Представление, используемое прикладной программой, сложнее, чем в
иерархической модели.
Билет №12. Домен Реляционная модель данных. НАБОР. Типы наборов.
Сетевая модель хранения данных
1. Домен — это множество значений. Примерами доменов могут служить
множество целых чисел, множество названий городов, множество почтовых адресов,
фамилий студентов и т.д.
Пусть домен пунктов отправления (назначения) – множество названий населенных
пунктов, а домен номеров рейса – множество целых положительных чисел.
Смысл доменов состоит в следующем. Если значения двух атрибутов берутся из
одного и того же домена, то, вероятно, имеют смысл сравнения, использующие эти два
атрибута (например, для организации транзитного рейса можно дать запрос "Выдать
рейсы, в которых время вылета из Москвы в Сочи больше времени прибытия из
Архангельска в Москву"). Если же значения двух атрибутов берутся из различных
доменов, то их сравнение, вероятно, лишено смысла: стоит ли сравнивать номер рейса со
стоимостью билета?
Домены весьма важный компонент реляционной модели. Домены могут отличаться
для каждого из атрибутов, но в то же время несколько атрибутов могут определяться на
одном и том же домене.
В семантическом плане понятие домена отражает тот факт, что данные считаются
сравнимыми только в том случае, когда они относятся к одному домену. Например,
значения доменов Номер пропуска и Номер паспорта относятся к типу целых чисел, но не
являются сравнимыми. Для сравнимых же данных могут быть определены и разного рода
операции, например: соединение, пересечение и другие. Преимущество системы
поддержки доменов заключается в том, что такой системе доступно больше информации.
Эту информацию она может использовать с определенной целью: более точно отражать
семантику предметной области и предотвращать грубые ошибки.
2. Сетевые структуры могут содержать ЦИКЛЫ, когда связи между объектами
образуют замкнутый контур, начинаясь и оканчиваясь у одного и того же объекта на сети.
Такой цикл называется НАБОР. Каждый набор должен иметь уникальное имя и содержать
произвольное число узлов (объектов). В том числе и ни одного – так называемый пустой
набор.
Набор - это поименованное двухуровневое дерево, которое реализует связь между
записями двух типов: владельцем набора и членом набора. Разрешаются только связи 1 :
М или М : 1 , но связи M : N в явном виде не поддерживаются.
Типы наборов
В зависимости от способа физического хранения различают одночленные,
многочленные и сингулярные наборы.
Одночленный набор состоит из одного типа записи-владельца и одного типа
записи-члена. В то же время конкретный экземпляр одночленного набора может состоять
из одного экземпляра записи-владельца и любого количества экземпляров записи-члена.
Многочленный набор состоит из одного типа записи-владельца и двух или более
типов записи-члена.
сингулярный набор – не имеет записи-владельца, в этом случае владельцем набора
является система.
Билет №13. Заголовок Реляционная модель данных. Основные свойства
набора. Сетевая модель хранения данных
1. В конце 60-х годов появились работы, в которых обсуждались возможности
применения различных табличных даталогических моделей данных, т.е. возможности
использования привычных и естественных способов представления данных. Наиболее
значительной из них была статья сотрудника фирмы IBM д-ра Э.Кодда (Codd E.F., A
Relational Model of Data for Large Shared Data Banks. CACM 13: 6, June 1970), где,
вероятно, впервые был применен термин "реляционная модель данных".
Использование реляционной модели хранения данных в системах управления
базами данных было предложено в 1970 г. доктором Э. Ф. Коддом.
В основу реляционной модели хранения данных взято фундаментальное
математическое понятие подмножества декартова произведения доменов.
Будучи математиком по образованию Э.Кодд предложил использовать для
обработки данных аппарат теории множеств (объединение, пересечение, разность,
декартово произведение). Он показал, что любое представление данных сводится к
совокупности двумерных таблиц особого вида, известного в математике как отношение –
relation (англ.) Наименьшая единица данных реляционной модели – это отдельное
атомарное (неразложимое) для данной модели значение данных. Так, в одной предметной
области фамилия, имя и отчество могут рассматриваться как единое значение, а в другой –
как три различных значения.
Домен — это множество значений. Примерами доменов могут служить множество
целых чисел, множество названий городов, множество почтовых адресов, фамилий
студентов и т.д.
Смысл доменов состоит в следующем. Если значения двух атрибутов берутся из
одного и того же домена, то, вероятно, имеют смысл сравнения, использующие эти два
атрибута. Если же значения двух атрибутов берутся из различных доменов, то их
сравнение, вероятно, лишено смысла. Декартовым произведением k доменов
(D1,D2,D3,…,Dk), которое обозначается (D1*D2*D3*…*Dk), называется множество всех
кортежей вида (V1, V2, V3,…,Vk) длины k, таких, что V1D1, V2D2, V3D3,…, VkDk.
Отношением будем называть некоторое подмножество декартова произведения
одного или более доменов. При этом предполагаются только конечные отношения.
Элементами отношения являются кортежи. Отношение на доменах D1, D2, ..., Dn
(не обязательно, чтобы все они были различны) состоит из заголовка и тела. Заголовок
состоит из такого фиксированного множества атрибутов A1, A2, ..., An, что существует
взаимно однозначное соответствие между этими атрибутами Ai и определяющими их
доменами Di (i=1,2,...,n). Тело состоит из меняющегося во времени множества кортежей,
где каждый кортеж состоит в свою очередь из множества пар атрибут-значение (Ai:Vi),
(i=1,2,...,n), по одной такой паре для каждого атрибута Ai в заголовке. Для любой заданной
пары атрибут-значение (Ai:Vi) Vi является значением из единственного домена Di,
который связан с атрибутом Ai.
Степень отношения – это число его атрибутов. Отношение степени один называют
унарным, степени два – бинарным, степени три – тернарным, ..., а степени n – n-арным.
Кардинальное число или мощность отношения – это число его кортежей. Поскольку
отношение – это множество, а множества по определению не содержат совпадающих
элементов, то никакие два кортежа отношения не могут быть дубликатами друг друга в
любой произвольно-заданный момент времени. Пусть R – отношение с атрибутами A1,
A2, ..., An. Говорят, что множество атрибутов K=(Ai, Aj, ..., Ak) отношения R является
возможным ключом R тогда и только тогда, когда удовлетворяются два независимых от
времени условия:
3.
Уникальность: в произвольный заданный момент времени никакие два
различных кортежа R не имеют одного и того же значения для Ai, Aj, ..., Ak.
4.
Минимальность: ни один из атрибутов Ai, Aj, ..., Ak не может быть
исключен из K без нарушения уникальности.
Каждое отношение обладает хотя бы одним возможным ключом, поскольку по
меньшей мере комбинация всех его атрибутов удовлетворяет условию уникальности.
Один из возможных ключей (выбранный произвольным образом) принимается за его
первичный ключ. Остальные возможные ключи, если они есть, называются
альтернативными ключами.
Вышеупомянутые и некоторые другие математические понятия явились
теоретической базой для создания реляционных СУБД, разработки соответствующих
языковых средств и программных систем, обеспечивающих их высокую
производительность, и создания основ теории проектирования баз данных. Однако для
массового пользователя реляционных СУБД можно с успехом использовать
неформальные эквиваленты этих понятий:
Отношение
–
Таблица
(иногда
Файл),
Кортеж
–
Строка
(иногда
Запись),
Атрибут – Столбец, Поле.
При этом принимается, что "запись" означает "экземпляр записи", а "поле"
означает "имя и тип поля".
Достоинства модели:

Простота представления данных;

Запросы не строятся на основе заранее определенной структуры - могут
быть сформулированы на непроцедурном языке;
 Независимость данных;
 Реляционная модель хранения данных основана на хорошо проработанной
теории отношений;
 При проектировании базы данных применяются строгие методы, построенные на
использовании реляционной алгебры;
 Простота внесения изменений в базу данных.
Недостатки модели
Невозможность представления объектов с отношением «многие-ко-многим» в
одной таблице;
 Значительно большее время реакции на запросы;
 Больший объем внешней памяти.
2. Набор - это поименованное двухуровневое дерево, которое реализует связь
между записями двух типов: владельцем набора и членом набора. Разрешаются только
связи 1 : М или М : 1 , но связи M : N в явном виде не поддерживаются.
Для каждого набора, устанавливающего связь между предком P и потомком C
должны выполняться два условия:
1.
Каждый экземпляр Р является предком только в одном экземпляре набора;
2.
Каждый экземпляр C является потомком не более чем в одном экземпляре
набора.
Основные свойства набора:

набор имеет имя,

в каждом наборе только один владелец,

в каждом наборе 0, 1 или несколько членов,

набор существует, только если существует запись - владелец.

поскольку набор имеет имя, то два экземпляра записи могут быть в разных
наборах,

экземпляр записи может входить только в один экземпляр набора данного
типа.

в общем случае каждый набор - это вход в БД;

Билет №14. Степень отношения Реляционная модель данных. Одночленный
набор Сетевая модель хранения данных
1. Степень отношения – это число его атрибутов. Отношение степени один
называют унарным, степени два – бинарным, степени три – тернарным, ..., а степени n – nарным.
Одной из главных характеристик отношения является его степень. Степень
отношения определяется количеством атрибутов, которое в нем присутствует. Эта
характеристика отношения имеет еще названия: ранг и арность. Отношение с одним
атрибутом называется унарным, с двумя атрибутами — бинарным, с тремя — тернарным,
с n атрибутами n-арным. Определение степени отношения осуществляется по заголовку
отношения.
2. Одночленный набор состоит из одного типа записи-владельца и одного типа
записи-члена. В то же время конкретный экземпляр одночленного набора может состоять
из одного экземпляра записи-владельца и любого количества экземпляров записи-члена.
Билет №15. Кардинальное число или мощность отношения Реляционная
модель данных. Многочленные наборы Сетевая модель хранения данных.
1. Степень отношения – это число его атрибутов. Отношение степени один
называют унарным, степени два – бинарным, степени три – тернарным, ..., а степени n – nарным. Кардинальное число или мощность отношения – это число его кортежей.
2. Многочленный набор состоит из одного типа записи-владельца и двух или более
типов записи-члена.
Билет № 16. Кортеж Реляционная модель данных. Сингулярный набор
Сетевая модель хранения данных.
1. Кортеж – элемент отношения, строка
Каждый кортеж отношения представляет собой множество пар вида
<Имя_атрибута : Значение_атрибута>:
2. сингулярный набор – не имеет записи-владельца, в этом случае владельцем
набора является система.
С помощью сингулярного набора можно объединить записи, у которых нет
естественного владельца. В сингулярный набор можно включить записи, которые при
вводе в БД не имеют владельца, но могут его приобрести впоследствии. Тогда
определенная запись исключается из сингулярного набора и включается в экземпляр
набора с новым владельцем
Билет №17. Теоретико-множественные операции над данными. Тип и
экземпляр набора. Сетевая модель хранения данных.
1. Теоретико-множественные операции над данными
1.
Объединением двух совместимых отношений R1 и R2 одинаковой
размерности (Rl UNION R2) является отношение R, содержащее все элементы исходных
отношений (с исключением повторений).
2.
Вычитание совместимых отношений R1 и R2 одинаковой размерности (R1
MINUS R2) есть отношение, тело которого состоит из множества кортежей,
принадлежащих Rl, но не принадлежащих отношению R2.
3. Пересечение двух совместимых отношений R1 и R2 одинаковой размерности
(R1 INTERSECT R2) порождает отношение R с телом, включающим в себя кортежи,
одновременно принадлежащие обоим исходным отношениям.
4.
Произведение отношения R1 степени к1 и отношения R2 степени к2 (R1
TIMES R2), которые не имеют одинаковых имен атрибутов, есть такое отношение R
степени (к1+к2), заголовок которого представляет сцепление заголовков отношений R1 и
R2, а тело - имеет кортежи, такие, что первые к1 элементов кортежей принадлежат
множеству R1, а последние к2 элементов - множеству R2. При необходимости получить
произведение двух отношений, имеющих одинаковые имена одного или нескольких
атрибутов, применяется операция переименования RENAME, рассматриваемая далее.
5.
Для операции декартова произведения никаких ограничений на степени
исходных отношений и природу атрибутов не накладывается. В результате этой
операции осуществляется приписывание ( конкатенация ) всех строк второго операнда
ко всем строкам первого операнда.
2. Необходимо различать тип и экземпляр набора. В примере на рисунке тип
набора - ПАЦИЕНТ-ПЕРЕНЕС-ОПЕРАЦИЮ.
Экземпляр этого типа набора представлен экземпляром типа записи-владельца
ПАЦИЕНТ "1111 Петров М.Л. г.Омск, ул. 50 Лет Профсоюзов, 28" и экземплярами типа
записи-члена "01.01.97 Удаление камней из желчного пузыря Пенициллин Сыпь" и
"12.06.97 Удаление камней из почек --, --". Таким образом, экземпляр типа набора состоит
из одного экземпляра типа записи-владельца и нуля или более экземпляров типа записичлена данного типа набора.
Между экземпляром типа записи-владельца и экземплярами типа записи-члена
существует взаимосвязь "один ко многим".
Билет №18. Специальные реляционные операции: специальные правила,
обеспечивающие целостность данных типа записи-владельца и экземплярами типа
записи-члена. Сетевая модель хранения данных.
1. Специальные реляционные операции
1. Выборка (R WHERE f) отношения R по формуле f представляет собой новое
отношение с таким же заголовком и телом, состоящим из таких кортежей отношения R,
которые удовлетворяют истинности логического выражения, заданного формулой f.
2. Проекция отношения А на атрибуты X, Y,..., Z (А [X, Y,.. , Z]), где множество
{X, Y,..., Z} является подмножеством полного списка атрибутов заголовка отношения А,
представляет собой отношение с заголовком X, Y,..., Z и телом, содержащим кортежи
отношения А, за исключением повторяющихся кортежей. Повторение одинаковых
атрибутов в списке X, Y,..., Z запрещается.
3. Результатом деления отношения R1 с атрибутами А и В на отношение R2 с
атрибутом В (R1 DIVIDEBY R2), где А и В простые или составные атрибуты, причем
атрибут В - общий атрибут, определенный на одном и том же домене (множестве доменов
составного атрибута), является отношение R с заголовком А и телом, состоящим из
кортежей г таких, что в отношении R1 имеются кортежи (г, s), причем множество
значений s включает множество значений атрибута В отношения R2.
4. Соединение С (R1, R2) отношений R1 и R2 по условию, заданному формулой f,
представляет собой отношение R, которое можно получить путем Декартова
произведения отношений R1 и R2 с последующим применением к результату операции
выборки по формуле f. Правила записи формулы f такие же, как и для операции селекции.
Контроль целостности связей обычно означает анализ содержимого двух таблиц на
соблюдение следующих правил:
1.
каждой записи основной таблицы соответствует нуль или более записей доп.
таблицы;
2.
в доп. таблице нет записей, которые не имеют родительских записей в
основной таблице;
3.
каждая запись доп. таблицы имеет только одну родительскую запись
основной таблицы.
Опишем действие контроля целостности при манипулировании данными в
таблицах. Рассмотрим три основные операции над данными двух таблиц:
1. ввод новых записей,
2. модификацию записей,
3. удаление записей.
При вводе новых записей возникает вопрос определения последовательности
ввода записей в таблицы такой, чтобы не допустить нарушение целостности. Исходя из
приведенных правил, логичной является схема, при которой данные сначала вводятся в
основную таблицу, а потом - в дополнительную. Очередность ввода может быть
установлена на уровне целых таблиц или отдельных записей (случай одновременного
ввода в несколько открытых таблиц). В процессе заполнения основной таблицы контроль
значений полей связи ведется как контроль обычного ключа (на совпадение со значениями
тех же полей других записей). Заполнение полей связи дополнительной таблицы
контролируется на предмет совпадения со значениями полей связи основной таблицы.
Если вновь вводимое значение в поле связи дополнительной таблицы не совпадет ни с
одним соответствующим значением в записях основной таблицы, то ввод такого значения
должен блокироваться. Модификация записей. Изменение содержимого полей связанных
записей, не относящихся к полям связи, очевидно, должно происходить обычным
образом. Нас будет интересовать механизм изменения полей связи. При редактировании
полей связи дополнительной таблицы очевидным требованием является то, чтобы новое
значение поля связи совпадало с соответствующим значением какой-либо записи
основной таблицы. Т. е. дополнительная запись может сменить родителя, но остаться без
него не должна.
Редактирование поля связи основной таблицы разумно подчинить
одному из следующих правил:
1. редактировать записи, у которых нет подчиненных записей. Если есть
подчиненные записи, то блокировать модификацию полей связи;
2. изменения в полях связи основной записи мгновенно передавать во все поля
связи всех записей дополнительной таблицы (каскадное обновление).
В операциях удаления записей связанных таблиц большую свободу, очевидно,
имеют записи дополнительной таблицы. Удаление их должно происходить практически
бесконтрольно.
Удаление записей основной таблицы логично подчинить одному из следующих
правил:
1.
удалять можно запись, которая не имеет подчиненных записей;
2.
запретить (блокировать) удаление записи при наличии подчиненных
записей, либо удалять ее вместе со всеми подчиненными записями (каскадное удаление).
2. Сетевые модели также создавались для мало ресурсных ЭВМ. Это достаточно
сложные структуры, состоящие из "наборов" – поименованных двухуровневых деревьев.
"Наборы" соединяются с помощью "записей-связок", образуя цепочки и т.д. При
разработке сетевых моделей было выдумано множество "маленьких хитростей",
позволяющих увеличить производительность СУБД, но существенно усложнивших
последние. Отличие сетевой модели от иерархической заключается в том, что в сетевой
структуре любой элемент данных может быть связан с любым другим, то есть
иерархическая модель является разновидностью сетевой.
Различают простую и сложную сетевую структуру. В простой сетевой структуре
между исходным и порожденными узлами реализуется связь 1:М. Сложной сетевой
структурой называют такую схему, в которой присутствует хотя бы одна связь N : M.
База данных состоит из нескольких ОБЛАСТЕЙ. Область содержит ЗАПИСИ. В свою
очередь запись состоит из ПОЛЕЙ. НАБОР, который объединяет записи, может
размещаться в одной или нескольких областях.
В сетевых моделях хранения данных объекты и связи между ними представляются
в виде сети, в узлах которой размещены ОБЪЕКТЫ, а ребра отображают их СВЯЗИ.
Сетевые структуры могут содержать ЦИКЛЫ, когда связи между объектами образуют
замкнутый контур, начинаясь и оканчиваясь у одного и того же объекта на сети. Такой
цикл называется НАБОР. Каждый набор должен иметь уникальное имя и содержать
произвольное число узлов (объектов). В том числе и ни одного – так называемый пустой
набор.
Достоинства модели:
 наличие успешных
реализаций систем управления базами данных,
обеспечивающих эту сетевую модель (как и в иерархической модели);

простота реализации часто встречающихся в реальном мире взаимосвязей
"многие ко многим".
Недостатки модели:

Основной недостаток сетевой модели состоит в ее сложности;

Прикладной программист должен детально знать логическую структуру базы
данных;
 Трудности осуществления навигации среди различных экземпляров наборов и
экземпляров записей;
 Возможная потеря независимости данных при реорганизации базы данных;

Представление, используемое прикладной программой, сложнее, чем в
иерархической модели.
В настоящее время большинство СУБД поддерживают только простые сетевые
структуры. Такие системы называют СУБД с равноправными (однотипными) файлами.
Типичным представителем является Integrated Database Management System (IDMS)
компании Cullinet Software Inc., предназначенная для использования на машинах
основного класса фирмы IBM под управлением большинства операционных систем.
Архитектура системы основана на предложениях Комитета по языкам программирования
Conference on Data Systems Languages (CODASYL). В дальнейшем мы будем пользоваться
терминологией, принятой в КОДАСИЛ.
Основная конструкция сетевой модели данных КОДАСИЛ – набор. Набор - это
поименованное двухуровневое дерево, которое реализует связь между записями двух
типов: владельцем набора и членом набора. Разрешаются только связи 1 : М или М : 1 , но
связи M : N в явном виде не поддерживаются. С помощью наборов можно строить
многоуровневые деревья и простые сетевые структуры. Так как роль записи жестко не
фиксируется, то в одном наборе запись (файл) может быть членом, а в другом владельцем,
поэтому такая модель и называется моделью с равноправными файлами. В сетевых
моделях реальных СУБД запись может иметь любую структуру, например, простую
линейную, как в реляционной БД, либо более сложную, включая массивы, группы,
повторяющиеся группы. Совокупность однотипных записей образует файл, а
совокупность файлов и наборов, описанных в одной схеме, образует сетевую БД.
Допускаются изолированные, не связанные с другими, файлы. В зависимости от способа
физического хранения различают одночленные, многочленные и сингулярные наборы.
Одночленный набор включает только один файл - член. Многочленные наборы состоят
из трех и более файлов, сингулярный набор - это особый набор, в котором владельцем
является система. В каждом сингулярном наборе всего один экземпляр. Сингулярные
наборы чаще всего применяются, чтобы получить доступ ко всем записям файла владельца, а также чтобы объединить записи, не имеющие владельца.
Билет №19. Манипулирование реляционными данными. Достоинства и
недостатки модели. Сетевая модель хранения данных.
1. Манипулирование реляционными данными
Предложив реляционную модель данных, Э.Ф.Кодд создал и инструмент для
удобной работы с отношениями – реляционную алгебру. Каждая операция этой алгебры
использует одну или несколько таблиц (отношений) в качестве ее операндов и
продуцирует в результате новую таблицу, т.е. позволяет "разрезать" или "склеивать"
таблицы.
Созданы языки манипулирования данными, позволяющие реализовать все
операции реляционной алгебры и практически любые их сочетания. Среди них наиболее
распространены SQL (Structured Query Language – структуризованный язык запросов) и
QBE (Quere-By-Example – запросы по образцу). Оба относятся к языкам очень высокого
уровня, с помощью которых пользователь указывает, какие данные необходимо получить,
не уточняя процедуру их получения.
С помощью единственного запроса на любом из этих языков можно соединить
несколько таблиц во временную таблицу и вырезать из нее требуемые строки и столбцы
(селекция и проекция).
Язык манипулирования данными содержит набор операторов манипулирования
данными, т. е. операторов, позволяющих заносить данные в БД, удалять, модифицировать
или выбирать существующие данные.
Множество операций над данными можно классифицировать следующим образом:
1. операции селекции;
2. действия над данными:
• выборка — чтение экземпляра записи из БД;
• включение — ввод экземпляра записи в БД с установкой его связей;
• удаление — исключение экземпляра записи из БД с установкой новых связей;
• модификация — изменение содержимого экземпляра записи и коррекция связей
при необходимости.
2. Достоинства модели:
1.
наличие успешных реализаций систем управления базами данных,
обеспечивающих эту сетевую модель (как и в иерархической модели);
2.
простота реализации часто встречающихся в реальном мире взаимосвязей
"многие ко многим".
Недостатки модели:
1.
Основной недостаток сетевой модели состоит в ее сложности;
2.
Прикладной программист должен детально знать логическую структуру
базы данных;
3.
Трудности осуществления навигации среди различных экземпляров наборов
и экземпляров записей;
4.
Возможная потеря независимости данных при реорганизации базы данных;
5.
Представление, используемое прикладной программой, сложнее, чем в
иерархической модели.
Билет №20. Модели данных, которые исторически появились раньше
реляционных – инвертированные списки. Отображение инфологической модели в
сетевую модель данных.
1. Типичными представителями таких систем являются Datacom/DB компании
Applied Data Research, Inc. и Adabas компании Software AG. Они применяются, как
правило, на больших ЭВМ фирмы IBM. База данных на инвертированных списках похожа
на реляционную БД, то есть также состоит из таблиц отношений, однако есть важные
отличия:

допускается сложная структура атрибутов (не атомарность);

строки таблиц (записи) упорядочены в некоторой последовательности,
каждой строке присваивается уникальный номер;

пользователь может управлять логическим порядком строк в каждой
таблице с помощью специального инструмента - индексов.
Некоторые атрибуты могут быть объявлены поисковыми, для каждого из них
создается индекс, который содержит упорядоченные значения ключей и указатели на
соответствующие записи основной таблицы (инвертированный список). Если таблицу
требуется упорядочить по нескольким ключам, то создается столько же индексов.
Возможна установка связи между таблицами по тем атрибутам, которые были объявлены
поисковыми.
Поддерживаются два класса операций над данными:

поиск адреса записи по некоторому пути доступа и некоторому условию,

обновление, удаление или выборка записи с заданным адресом.
Достоинство рассмотренного метода построения базы данных:
1.
более быстрый поиск по сравнению с РБД (особенно поиск уникальной
записи по нескольким условиям),
2. возможность хранения элементов данных со сложной структурой.
Недостаток модели :
отсутствие строгого математического аппарата, отсутствие средств для
описания ограничений целостности БД, отсюда - большая трудоемкость
программирования запросов к БД.
2. Процесс датологического проектирования сетевой БД отличается от такового для
реляционных БД тем, что необходимо явно задать наборы как модели связей между
объектами. Если структура каждой записи файла линейная (как в реляционной БД), то на
этом отличия и кончаются. Если структура записей сложная, то связи между объектами
можно отобразить двумя путями: как наборы (связи между записями) и как связи внутри
записей файла.
Сетевая модель данных может быть без осложнений получена из инфологической
модели. Для этого надо предположить, что в последней используются только бинарные
связи. Причем они должны принадлежать к типам "один к одному" или "один ко многим".
При этом вместо объектов инфологической модели необходимо использовать типы
записей сетевой модели, где имена объектов становятся именами типов записей, атрибуты
объектов становятся полями записей, связь между объектами превращается в связь между
типами записей.
Бинарные связи, принадлежащие к типу "один ко многим", переносятся в сетевую
модель следующим образом: тип записи со стороны "один" становится владельцем, а тип
записи со стороны "много" становится типом записи-члена. Для связи типа "один к
одному" выбор типа записи-владельца и типа записи-члена может быть осуществлен
произвольно.
Следует обратить внимание и на следующий факт: некоторые инфологические
модели содержат не только бинарные связи, но и связи более высоких порядков.
Преобразование таких связей в сетевую модель данных требует создание нового типа
записи — записи связи, состоящей из ключевых полей каждого объекта.
Билет №21. Запись Реляционная модель данных. Внутризаписные сложные
структуры. Сетевая модель хранения данных.
1. Запись – элемент отношения, строка
Каждый кортеж отношения представляет собой множество пар вида
<Имя_атрибута : Значение_атрибута>:
2. Внутризаписные сложные структуры применяются при отображении
инфологической модели данных в сетевую
Внутризаписные сложные структуры рекомендуется применять в следующих
случаях:
1.
Если объект (понятие) имеет множественные свойства;
2.
Если объект имеет составные свойства;
3.
Если связи между объектами 1:М, где М - невелико и объект не связан с
другими объектами.
Внутризаписные сложные структуры состоят из ключевых полей каждого объекта.
Причем тип связи между существующими записями и структурой всегда имеет показатель
кардинальности "один ко многим" и структура всегда является записью-членом набора.
Билет №22. Иерархическая модель хранения данных. Системы, основанные
на инвертированных списках.
1. Графическим способом представления иерархической модели хранения данных
является дерево. Иерархическая древовидная структура строится из узлов и ветвей.
Иерархическая БД состоит из упорядоченного набора структур записей, каждая
структура имеет вид дерева. Деревом называется связный неориентированный граф, не
содержащий циклов. Вершины дерева называются узлами. Один из узлов, который
находится на самом верху иерархии, называют корнем. Остальные узлы называются
порожденными (потомками) и связаны так, что каждый узел имеет исходный,
находящийся на более высоком уровне иерархии (предок). Узлы, не имеющие
порожденных, называют листьями. Все экземпляры узла - потомка, имеющие общего
предка, называют близнецами.
В иерархических моделях хранения данных объекты и связи между ними
представляются в виде ДЕРЕВА, в узлах которого размещены ОБЪЕКТЫ, а ребра
отображают их СВЯЗИ.
Дерево - ориентированный граф без циклов. В дереве любые два узла связаны
иерархической связью - один исходный, а другой - зависимый. Объекты в иерархической
модели данных представлены в виде СЕГМЕНТОВ.
СВЯЗИ между объектами представлены относительным расположением сегментов
в
соответствии с иерархической последовательностью, т.е. в неявном виде.
СЕГМЕНТ - поименованная единица данных фиксированной длины, содержащая
одно или несколько ПОЛЕЙ.
ПОЛЕ - минимальный элемент данных.
ЛОГИЧЕСКАЯ БАЗА ДАННЫХ состоит из поименованной совокупности записей.
ЗАПИСЬ представляет собой совокупность сегментов, связанных между собой в
иерархическую структуру (дерево).
Два связанных сегмента, расположенные на смежных уровнях, называются
ИСХОДНЫМ (для более высокого уровня) и ПОРОЖДЕННЫМ (для более низкого
уровня).
Единственный сегмент, который не зависит от других сегментов, называется
КОРНЕВЫМ.
Количество ЭКЗЕМПЛЯРОВ деревьев в базе данных равно числу корневых
сегментов.
СЕГМЕНТЫ в базе данных могут просматриваться в следующем порядке: сначала
КОРНЕВОЙ сегмент, затем СЕГМЕНТЫ из связей СВЕРХУ ВНИЗ, СЛЕВА НАПРАВО
(СПРАВО НАЛЕВО).
Типичным, наиболее известным и распространенным представителем
Иерархической модели является Information Management System (IMS) фирмы
IBM. Первая версия появилась в 1968 г., до сих пор поддерживается много баз данных,
что создает существенные проблемы с переходом как на новую технологию БД, так и на
новую технику.
2. Типичными представителями таких систем являются Datacom/DB компании
Applied Data Research, Inc. и Adabas компании Software AG. Они применяются, как
правило, на больших ЭВМ фирмы IBM. База данных на инвертированных списках похожа
на реляционную БД, то есть также состоит из таблиц отношений, однако есть важные
отличия:

допускается сложная структура атрибутов (не атомарность);

строки таблиц (записи) упорядочены в некоторой последовательности,
каждой строке присваивается уникальный номер;

пользователь может управлять логическим порядком строк в каждой
таблице с помощью специального инструмента - индексов.
Некоторые атрибуты могут быть объявлены поисковыми, для каждого из них
создается индекс, который содержит упорядоченные значения ключей и указатели на
соответствующие записи основной таблицы (инвертированный список). Если таблицу
требуется упорядочить по нескольким ключам, то создается столько же индексов.
Возможна установка связи между таблицами по тем атрибутам, которые были объявлены
поисковыми.
Поддерживаются два класса операций над данными:

поиск адреса записи по некоторому пути доступа и некоторому условию,

обновление, удаление или выборка записи с заданным адресом.
Достоинство рассмотренного метода построения базы данных:
1. более быстрый поиск по сравнению с РБД (особенно поиск уникальной записи
по нескольким условиям),
2. возможность хранения элементов данных со сложной структурой.
Недостаток модели:
отсутствие строгого математического аппарата, отсутствие средств для
описания ограничений целостности БД, отсюда - большая трудоемкость
программирования запросов к БД.
Билет №23. Компоненты базы данных, основанной на иерархической модели.
Достоинства и недостатки модели.
1. Иерархическая модель состоит из данных предметной области, которые хранятся
в нескольких БД, нескольких порожденных БД, а также из записей, полей и узлов, из
которых состоит каждая из порожденных БД.
Графическим способом представления иерархической модели хранения данных
является дерево. Иерархическая древовидная структура строится из узлов и ветвей.
Иерархическая БД состоит из упорядоченного набора структур записей, каждая
структура имеет вид дерева. Деревом называется связный неориентированный граф, не
содержащий циклов. Вершины дерева называются узлами. Один из узлов, который
находится на самом верху иерархии, называют корнем. Остальные узлы называются
порожденными (потомками) и связаны так, что каждый узел имеет исходный,
находящийся на более высоком уровне иерархии (предок). Узлы, не имеющие
порожденных, называют листьями. Все экземпляры узла - потомка, имеющие общего
предка, называют близнецами.
2. Достоинства модели:
 простота понимания и использования. Простота и естественность представления
экономических данных; Пользователи систем обработки данных хорошо знакомы с
иерархическими структурами; минимальный расход памяти по сравнению с другими
моделями
 обеспечение определенного уровня независимости данных. Так, с помощью двух
иерархических моделей, показанных на предыдущем рисунке, можно реализовать
различные представления пользователей;
 простота оценки операционных характеристик благодаря заранее заданным
взаимосвязям.
 Недостатки модели:
 Сложность отображения связей М : N (смотри п.2.1.) без увеличения
избыточности. Отношение МНОГИЕ - КО - МНОГИМ непосредственно не
поддерживается, что и является основным недостатком иерархических моделей.
 Из-за строгой иерархической упорядоченности объектов модели значительно
усложняются операции включения и удаления.
 Удаление исходных объектов влечет удаление порожденных. Поэтому
выполнение операции УДАЛИТЬ требует особой осторожности.
 Особенности иерархических структур обусловливают сложность операций
манипулирования данными.
 Корневой тип узла является главным. доступ к данным возможен только через
корень дерева, следовательно большое время поиска данных для некоторых запросов.
Доступ к любому порожденному узлу возможен только через исходный.
Билет №24. Иерархические модели хранения данных объекты и связи между
ними. Инфологическая модель данных "Сущность-связь".
1. В иерархических моделях хранения данных объекты и связи между ними
представляются в виде ДЕРЕВА, в узлах которого размещены ОБЪЕКТЫ, а ребра
отображают их СВЯЗИ.
Дерево - ориентированный граф без циклов. В дереве любые два узла связаны
иерархической связью - один исходный, а другой - зависимый. Объекты в иерархической
модели данных представлены в виде СЕГМЕНТОВ.
СВЯЗИ между объектами представлены относительным расположением сегментов
в соответствии с иерархической последовательностью, т.е. в неявном виде.
СЕГМЕНТ - поименованная единица данных фиксированной длины, содержащая
одно или несколько ПОЛЕЙ.
ПОЛЕ - минимальный элемент данных.
ЛОГИЧЕСКАЯ БАЗА ДАННЫХ состоит из поименованной совокупности записей.
ЗАПИСЬ представляет собой совокупность сегментов, связанных между собой в
иерархическую структуру (дерево).
Два связанных сегмента, расположенные на смежных уровнях, называются
ИСХОДНЫМ (для более высокого уровня) и ПОРОЖДЕННЫМ (для более низкого
уровня). Единственный сегмент, который не зависит от других сегментов, называется
КОРНЕВЫМ.
Количество ЭКЗЕМПЛЯРОВ деревьев в базе данных равно числу корневых
сегментов.
2. Цель инфологического моделирования – обеспечение наиболее естественных для
человека способов сбора и представления той информации, которую предполагается
хранить в создаваемой базе данных. Поэтому инфологическую модель данных пытаются
строить по аналогии с естественным языком (последний не может быть использован в
чистом виде из-за сложности компьютерной обработки текстов и неоднозначности любого
естественного языка). Основными конструктивными элементами инфологических
моделей являются сущности, связи между ними и их свойства (атрибуты).
Сущность – любой различимый объект (объект, который мы можем отличить от
другого), информацию о котором необходимо хранить в базе данных. Сущностями могут
быть люди, места, самолеты, рейсы, вкус, цвет и т.д.
Атрибут – поименованная характеристика сущности. Его наименование должно
быть уникальным для конкретного типа сущности, но может быть одинаковым для
различного типа сущностей (например, ЦВЕТ может быть определен для многих
сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибуты используются для
определения того, какая информация должна быть собрана о сущности. Примерами
атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК,
ЦВЕТ и т.д.
Ключ – минимальный набор атрибутов, по значениям которых можно однозначно
найти требуемый экземпляр сущности. Минимальность означает, что исключение из
набора любого атрибута не позволяет идентифицировать сущность по оставшимся.
Связь – ассоциирование двух или более сущностей. Одно из основных требований
к организации базы данных – это обеспечение возможности отыскания одних сущностей
по значениям других, для чего необходимо установить между ними определенные связи.
При построении инфологических моделей можно использовать язык ER-диаграмм.
В них сущности изображаются помеченными прямоугольниками, ассоциации –
помеченными ромбами или шестиугольниками, атрибуты – помеченными овалами, а
связи между ними – ненаправленными ребрами, над которыми может проставляться
степень связи (1 или буква, заменяющая слово "много") и необходимое пояснение.
Между двумя сущностям, например, А и В возможны четыре вида связей.
Первый тип – связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому
представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности
В.
Второй тип – связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности
А соответствуют 0, 1 или несколько представителей сущности В.
Так как между двумя сущностями возможны связи в обоих направлениях, то
существует еще два типа связи МНОГИЕ-К-ОДНОМУ (М:1) и МНОГИЕ-КО-МНОГИМ
(М:N).
Билет №25. Дерево с разбивкой на сегменты Иерархическая модель.
Основные понятия. Модель данных "Сущность-связь".
1. Дерево - ориентированный граф без циклов. В дереве любые два узла связаны
иерархической связью - один исходный, а другой - зависимый. Объекты в иерархической
модели данных представлены в виде СЕГМЕНТОВ.
Пример дерева с разбивкой на сегменты представлен на рисунке 1.6..
Дерево с разбивкой на сегменты.
СВЯЗИ между объектами представлены относительным расположением сегментов в
соответствии с иерархической последовательностью, т.е. в неявном виде.
СЕГМЕНТ - поименованная единица данных фиксированной длины, содержащая одно
или несколько ПОЛЕЙ. ПОЛЕ - минимальный элемент данных. ЛОГИЧЕСКАЯ БАЗА
ДАННЫХ состоит из поименованной совокупности записей.ЗАПИСЬ представляет собой
совокупность сегментов, связанных между собой в иерархическую структуру (дерево).
2. Сущность – любой различимый объект (объект, который мы можем отличить от
другого), информацию о котором необходимо хранить в базе данных. Сущностями могут
быть люди, места, самолеты, рейсы, вкус, цвет и т.д.
Атрибут – поименованная характеристика сущности. Его наименование должно
быть уникальным для конкретного типа сущности, но может быть одинаковым для
различного типа сущностей (например, ЦВЕТ может быть определен для многих
сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибуты используются для
определения того, какая информация должна быть собрана о сущности. Примерами
атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК,
ЦВЕТ и т.д.
Ключ – минимальный набор атрибутов, по значениям которых можно однозначно
найти требуемый экземпляр сущности. Минимальность означает, что исключение из
набора любого атрибута не позволяет идентифицировать сущность по оставшимся.
Связь – ассоциирование двух или более сущностей. Одно из основных требований
к организации базы данных – это обеспечение возможности отыскания одних сущностей
по значениям других, для чего необходимо установить между ними определенные связи.
Стержневая сущность (стержень) – это независимая сущность
Ассоциативная сущность (ассоциация) – это связь вида "многие-ко-многим" ("-комногим" и т.д.) между двумя или более сущностями или экземплярами сущности
Характеристическая сущность (характеристика) – это связь вида "многие-кодной" или "одна-к-одной" между двумя сущностями (частный случай ассоциации).
Единственная цель характеристики в рамках рассматриваемой предметной области
состоит в описании или уточнении некоторой другой сущности.
Обозначающая сущность или обозначение – это связь вида "многие-к-одной" или
"одна-к-одной" между двумя сущностями и отличается от характеристики тем, что не
зависит от обозначаемой сущности.
Билет №26. СВЯЗИ между объектами Иерархическая модель. Характеристика
связей и язык моделирования. Модель данных Сущность-связь".
1. Иерархическая модель предполагает наличие множества типов структурных
связей между данными, имеющими какой либо общий признак. В иерархической модели
такие связи могут быть отражены в виде дерева-графа, где возможны только
односторонние связи от старших вершин к младшим. Одна вершина является корневой. В
каждую вершину графа может заходить только одна дуга. Обработка начинается обычно с
корневой вершины. Движение всегда вниз.
СВЯЗИ между объектами представлены относительным расположением сегментов
в соответствии с иерархической последовательностью, т.е. в неявном виде.
В иерархической модели данных действуют жесткие внутренние ограничения на
представление связей между сущностями. Основные внутренние ограничения
иерархической модели данных:
1) все типы связей функциональные (1:1, 1:М, М:1);
2) структура связей древовидная.
Результатом действия этих ограничений является ряд особенностей процесса
структуризации данных в иерархической модели.
2. При построении инфологических моделей можно использовать язык ERдиаграмм (от англ. Entity-Relationship, т.е. сущность-связь). В них сущности
изображаются помеченными прямоугольниками, ассоциации – помеченными ромбами или
шестиугольниками, атрибуты – помеченными овалами, а связи между ними –
ненаправленными ребрами, над которыми может проставляться степень связи (1 или
буква, заменяющая слово "много") и необходимое пояснение.
Между двумя сущностям, например, А и В возможны четыре вида связей.
Первый тип – связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому
представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности
В:
Второй тип – связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности
А соответствуют 0, 1 или несколько представителей сущности В.
Так как между двумя сущностями возможны связи в обоих направлениях, то
существует еще два типа связи МНОГИЕ-К-ОДНОМУ (М:1) и МНОГИЕ-КО-МНОГИМ
(М:N).
Характер связей между сущностями не ограничивается перечисленными.
Существуют и более сложные связи:

множество связей между одними и теми же сущностями

тренарные связи
(врач может назначить несколько пациентов на несколько анализов, анализ может
быть назначен несколькими врачами нескольким пациентам и пациент может быть
назначен на несколько анализов несколькими врачами);

связи более высоких порядков, семантика (смысл) которых иногда очень
сложна.
В приведенных примерах для повышения иллюстративности рассматриваемых
связей не показаны атрибуты сущностей и ассоциаций во всех ER-диаграммах. Так, ввод
лишь нескольких основных атрибутов в описание брачных связей значительно усложнит
ER-диаграмму (рис. 2.1,а). В связи с этим язык ER-диаграмм используется для построении
небольших моделей и иллюстрации отдельных фрагментов больших. Чаще же
применяется менее наглядный, но более содержательный язык инфологического
моделирования (ЯИМ), в котором сущности и ассоциации представляются предложениями
вида:
СУЩНОСТЬ (атрибут 1, атрибут 2 , ..., атрибут n)
АССОЦИАЦИЯ [СУЩНОСТЬ S1, СУЩНОСТЬ S2, ...]
(атрибут 1, атрибут 2, ..., атрибут n)
где S – степень связи, а атрибуты, входящие в ключ, должны быть отмечены с
помощью подчеркивания.
Что же такое "связь"? В ER-диаграммах это линия, соединяющая геометрические
фигуры, изображающие сущности, атрибуты, ассоциации и другие информационные
объекты. В тексте же этот термин используется для указания на взаимозависимость
сущностей. Если эта взаимозависимость имеет атрибуты, то она называется ассоциацией.
Билет №27. СЕГМЕНТ. Иерархическая модель. Классификация сущностей.
1. СЕГМЕНТ - поименованная единица данных фиксированной длины, содержащая
одно или несколько ПОЛЕЙ.
Поле данных – наименьшая неделимая единица данных, доступная пользователю.
Для сегмента определяются тип сегмента и экземпляр сегмента. Экземпляр
сегмента образуется из конкретных значений полей данных. Тип сегмента – это
поименованная совокупность входящих в него типов полей данных.
СЕГМЕНТЫ в базе данных могут просматриваться в следующем порядке: сначала
КОРНЕВОЙ сегмент, затем СЕГМЕНТЫ из связей СВЕРХУ ВНИЗ, СЛЕВА НАПРАВО
(СПРАВО НАЛЕВО).
2. Стержневая сущность (стержень) – это независимая сущность
Ассоциативная сущность (ассоциация) – это связь вида "многие-ко-многим" ("-комногим" и т.д.) между двумя или более сущностями или экземплярами сущности
Характеристическая сущность (характеристика) – это связь вида "многие-кодной" или "одна-к-одной" между двумя сущностями (частный случай ассоциации).
Единственная цель характеристики в рамках рассматриваемой предметной области
состоит в описании или уточнении некоторой другой сущности.
Обозначающая сущность или обозначение – это связь вида "многие-к-одной" или
"одна-к-одной" между двумя сущностями и отличается от характеристики тем, что не
зависит от обозначаемой сущности.
Билет №28. ПОЛЕ Иерархическая модель. О первичных и внешних ключах.
1. Поле данных – наименьшая неделимая единица данных, доступная пользователю.
2. Ключ или возможный ключ – это минимальный набор атрибутов, по значениям
которых можно однозначно найти требуемый экземпляр сущности. Минимальность
означает, что исключение из набора любого атрибута не позволяет идентифицировать
сущность по оставшимся. Каждая сущность обладает хотя бы одним возможным ключом.
Один из них принимается за первичный ключ. Не допускается, чтобы первичный ключ
стержневой сущности (любой атрибут, участвующий в первичном ключе) принимал
неопределенное значение. Иначе возникнет противоречивая ситуация: появится не
обладающий индивидуальностью, и, следовательно не существующий экземпляр
стержневой сущности. По тем же причинам необходимо обеспечить уникальность
первичного ключа.
Теперь о внешних ключах:

Если сущность С связывает сущности А и В, то она должна включать
внешние ключи, соответствующие первичным ключам сущностей А и В.

Если сущность В обозначает сущность А, то она должна включать внешний
ключ, соответствующий первичному ключу сущности А.
Здесь для обозначения любой из ассоциируемых сущностей (стержней,
характеристик, обозначений или даже ассоциаций) используется новый обобщающий
термин "Цель" или "Целевая сущность".
Таким образом, при рассмотрении проблемы выбора способа представления
ассоциаций и обозначений в базе данных основной вопрос, на который следует получить
ответ: "Каковы внешние ключи?". И далее, для каждого внешнего ключа необходимо
решить три вопроса:
1. Может ли данный внешний ключ принимать неопределенные значения (NULLзначения)? Иначе говоря, может ли существовать некоторый экземпляр сущности данного
типа, для которого неизвестна целевая сущность, указываемая внешним ключом?
2. Что должно случиться при попытке УДАЛЕНИЯ целевой сущности, на которую
ссылается внешний ключ? Например, при удалении поставщика, который осуществил по
крайней мере одну поставку. Существует три возможности:
КАС
Операция удаления "каскадируется" с тем, чтобы удалить также
КАДИРУЕТ поставки этого поставщика.
СЯ
ОГР
Удаляются лишь те поставщики, которые еще не осуществляли
АНИЧИВА поставок. Иначе операция удаления отвергается.
ЕТСЯ
УСТ
Для всех поставок удаляемого поставщика NULL-значение внешний
АНАВЛИВ ключ устанавливается в неопределенное значение, а затем этот поставщик
АЕТСЯ
удаляется.
4.
Что должно происходить при попытке ОБНОВЛЕНИЯ первичного ключа
целевой сущности, на которую ссылается некоторый внешний ключ? Например, может
быть предпринята попытка обновить номер такого поставщика, для которого имеется по
крайней мере одна соответствующая поставка. Этот случай для определенности снова
рассмотрим подробнее. Имеются те же три возможности, как и при удалении:
КАСКА
Операция обновления "каскадируется" с тем, чтобы обновить
ДИРУЕТСЯ
также и внешний ключ впоставках этого поставщика.
ОГРАН
Обновляются первичные ключи лишь тех поставщиков, которые
ИЧИВАЕТСЯ еще не осуществляли поставок. Иначе операция обновления отвергается.
УСТАН
Для всех поставок такого поставщика NULL-значение внешний
АВЛИВАЕТСЯ ключ устанавливается в неопределенное значение, а затем обновляется
первичный ключ поставщика.
Билет №29. ЛОГИЧЕСКАЯ БАЗА ДАННЫХ. Иерархическая модель.
Попытка УДАЛЕНИЯ целевой сущности.
1. ЛОГИЧЕСКАЯ БАЗА ДАННЫХ состоит из поименованной совокупности
записей.
ЗАПИСЬ представляет собой совокупность сегментов, связанных между собой в
иерархическую структуру (дерево).
2. Что должно случиться при попытке УДАЛЕНИЯ целевой сущности, на которую
ссылается внешний ключ? Например, при удалении поставщика, который осуществил по
крайней мере одну поставку. Существует три возможности:
КАСКАДИРУЕ
Операция удаления "каскадируется" с тем, чтобы удалить
ТСЯ
также поставки этого поставщика.
ОГРАНИЧИВА
Удаляются лишь те поставщики, которые еще не
ЕТСЯ
осуществляли поставок. Иначе операция удаления отвергается.
УСТАНАВЛИВ
Для всех поставок удаляемого поставщика NULL-значение
АЕТСЯ
внешний ключ устанавливается в неопределенное значение, а
затем этот поставщик удаляется. Такая возможность, конечно,
неприменима, если данный внешний ключ не должен содержать
NULL-значений.
Билет №30. ЗАПИСЬ. Иерархическая модель. Ограничения целостности
1. ЗАПИСЬ представляет собой совокупность сегментов, связанных между собой в
иерархическую структуру (дерево).
В состав записи с иерархической структурой могут входить составные единицы
информации (СЕИ): векторы (массивы); повторяющиеся группы (когда в записи
присутствует несколько экземпляров СЕИ, состоящих из разнотипных элементов),
неповторяющиеся составные единицы информации
2. Целостность (от англ. integrity – нетронутость, неприкосновенность,
сохранность, целостность) – понимается как правильность данных в любой момент
времени. Но эта цель может быть достигнута лишь в определенных пределах: СУБД не
может контролировать правильность каждого отдельного значения, вводимого в базу
данных (хотя каждое значение можно проверить на правдоподобность). Поддержание
целостности базы данных может рассматриваться как защита данных от неверных
изменений или разрушений (не путать с незаконными изменениями и разрушениями,
являющимися проблемой безопасности). Современные СУБД имеют ряд средств для
обеспечения поддержания целостности (так же, как и средств обеспечения поддержания
безопасности).
Выделяют три группы правил целостности:
1.
Целостность по сущностям.
2.
Целостность по ссылкам.
3.
Целостность, определяемая пользователем.
Мотивировка двух правил целостности, общих для любых реляционных баз
данных.
1.
Не допускается, чтобы какой-либо атрибут, участвующий в первичном
ключе, принимал неопределенное значение.
2.
Значение внешнего ключа должно либо:
1.
быть равным значению первичного ключа цели;
2.
быть полностью неопределенным, т.е. каждое значение атрибута,
участвующего во внешнем ключе должно быть неопределенным.
3.
Для любой конкретной базы данных существует ряд дополнительных
специфических правил, которые относятся к ней одной и определяются разработчиком.
Чаще всего контролируется:
уникальность
тех
или
иных
атрибутов,
диапазон
значений
(экзаменационная
оценка
от
2
до
5),
принадлежность набору значений (пол "М" или "Ж").
Download