Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 7
Текст из файла (страница 7)
Моделии типыданных31термин «сегмент», а под «записью БД» понимается вся совокупность записей, относящаяся к одному экземпляру типа «дерево».Данные в базе с приведенной схемой (рис. 2.2) могут выглядеть, например, как показано на рис. 2.3.Начальник103Петров А.В.4156Сотрудники201202203Курчатов В.И.Камышина Т.Н.Полозков И.С.3500180014700Рис.
2.3. Данные в иерархической базеДля организации физического размещения иерархических данных в памяти ЭВМ могут использоваться следующие группы методов:• представление линейным списком с последовательным распределениемпамяти (адресная арифметика, левосписковые структуры);• представление связными линейными списками (методы, использующиеуказатели и справочники).К основным операциям манипулирования иерархически организованными данными относятся следующие:• п о и с к указанного экземпляра БД (например, дерева со значением 10в поле Отд_номер);• переход от одного дерева к другому;• переход от одной записи к другой внутри дерева (например, к следующей записи типа Сотрудники);• вставка новой записи в указанную позицию;• удаление текущей записи и т. д.В соответствии с определением типа «дерево», можно заключить, что между предками и потомками автоматически поддерживается контроль целостности связей.
Основное правило контроля целостности формулируется следующим образом: потомок не может существовать без родителя, а у некоторыхродителей может не быть потомков. Механизмы поддержания целостности32Часть 1. Основыпостроениябазданныхсвязей между записями различных деревьев отсутствуют.К достоинствам иерархической модели данных относятся эффективноеиспользование памяти ЭВМ и неплохие показатели времени выполненияосновных операций над данными. Иерархическая модель данных удобна дляработы с иерархически упорядоченной информацией.Недостатком иерархической модели является ее громоздкость для обработки информации с достаточно сложными логическими связями, а такжесложность понимания для обычного пользователя.На иерархической модели данных основано сравнительно ограниченноеколичество СУБД, в числе которых можно назвать зарубежные системы IMS,PC/Focus, Team-Up и Data Edge, а также отечественные системы Ока, И Н Э Си МИРИС.2 .
2 . Сетевая модельСетевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым иерархическую модель данных (рис. 2.4). Наиболее полно концепция сетевых БДвпервые была изложена в Предложениях группы К О Д А С И Л (KODASYL).Для описания схемы сетевой БД используетсядве группы типов: «запись» и «связь». Тип «связь»определяется для двух типов «запись»: предка и потомка. Переменные типа «связь» являются экземплярами связей.Сетевая БД состоит из набора записей и набора соответствующих связей. На формирование связи особых ограничений не накладывается.
Если в иерархических структурах запись-потомок могла иметьтолько одну запись-предка, то в сетевой модели данРис. 2.4. Представлениеных запись-потомок может иметь произвольное чиссвязей в сетевой моделило записей-предков (сводных родителей).Пример схемы простейшей сетевой БД показан на рис. 2.5. Типы связейздесь обозначены надписями на соединяющих типы записей линиях.В различных СУБД сетевого типа для обозначения одинаковых по сутипонятий зачастую используются различные термины. Например, такие какэлементы и агрегаты данных, записи, наборы, области и т. д.Физическое размещение данных в базах сетевого типа может быть организовано практически теми же методами, что и в иерархических базах данных.К числу важнейших операций манипулирования данными баз сетевоготипа можно отнести следующие:• поиск записи в БД;2.
Моделии типыданных33Работают в отделеИмеет начальникаРис. 2.5. Пример схемы сетевой Б Д• переход от предка к первому потомку; .• переход от потомка к предку;• создание новой записи;• удаление текущей записи;• обновление текущей записи;• включение записи в связь;• исключение записи из связи;• изменение связей и т. д.Достоинством сетевой модели данных является возможность эффективнойр е а л и з а ц и и по показателям затрат п а м я т и и оперативности.В сравнении с иерархической моделью сетевая модель предоставляет большиевозможности в смысле допустимости образования произвольных связей.Недостатком сетевой модели данных является высокая сложность и жесткость схемы БД, построенной на ее основе, а также сложность для понимания ивыполнения обработки информации в БД обычным пользователем.
Кроме того,в сетевой модели данных ослаблен контроль целостности связей вследствиедопустимости установления произвольных связей между записями.Системы на основе сетевой модели не получили широкого распространения на практике. Наиболее известными сетевыми СУБД являются следующие: IDMS, db Vistalll, СЕТЬ, С Е Т О Р и КОМПАС.2 . 3 . Реляционная модельРеляционная модель данных предложена сотрудником фирмы IBM Эдгаром Коддом и основывается на понятии отношение (relation).Отношение представляет собой множество элементов, называемых кортежами. Подробно теоретическая основа реляционной модели данных рассматривается в следующем разделе. Наглядной формой представления отношения является привычная для человеческого восприятия двумернаятаблица.2 Зак.
54134Часть 1. Основы построениябазданныхТаблица имеет строки (записи) и столбцы (колонки). Каждая строка таблицы имеет одинаковую структуру и состоит из полей. Строкам таблицы соответствуют кортежи, а столбцам — атрибуты отношения.С помощью одной таблицы удобно описывать простейший вид связей между данными, а именно деление одного объекта (явления, сущности, системы ипроч.), информация о котором хранится в таблице, на множество подобъектов,каждому из которых соответствует строка или запись таблицы.
При этом каждый из подобъектов имеет одинаковую структуру или свойства, описываемыесоответствующими значениями полей записей. Например, таблица может содержать сведения о группе обучаемых, о каждом из которых известны следующие характеристики: фамилия, имя и отчество, пол, возраст и образование. Поскольку в рамках одной таблицы не удается описать более сложные логическиеструктуры данных из предметной области, применяют связывание таблиц.Физическое размещение данных в реляционных базах на внешних носителях легко осуществляется с помощью обычных файлов.Достоинство реляционной модели данных заключается в простоте, понятности и удобстве физической реализации на ЭВМ.
Именно простота и понятность для пользователя явились основной причиной их широкого использования. Проблемы же эффективности обработки данных этого типа оказалисьтехнически вполне разрешимыми.Основными недостатками реляционной модели являются следующие: отсутствие стандартных средств идентификации отдельных записей и сложность описания иерархических и сетевых связей.Примерами зарубежных реляционных СУБД для ПЭВМ являются следующие: dBase!II Plus и dBase IY (фирма Ashton-Tate), DB2 (IBM), R:BASE(Microrim), FoxPro ранних версий и FoxBase (Fox Software), Paradox и dBASEfor Windows (Borland), FoxPro более поздних версий, Visual FoxPro и Access(Microsoft), Clarion (Clarion Software), Ingres (ASK Computer Systems) иOracle (Oracle).К отечественным СУБД реляционного типа относятся системы: ПАЛЬМА ( И К АН УССР), а также система HyTech ( М И Ф И ) .Заметим, что последние версии реляционных СУБД имеют некоторыесвойства объектно-ориентированных систем.
Такие СУБД часто называютобъектно-реляционными. Примером такой системы можно считать продукты Oracle 8.x. Системы предыдущих версий вплоть до Oracle 7.x считаются«чисто» реляционными.2.4. Постреляционная модельКлассическая реляционная модель предполагает неделимость данных,хранящихся в полях записей таблиц. Это означает, что информация в таб-2. Моделии типыданных35лице представляется в первой нормальной форме (подраздел 5.2). Существует ряд случаев, когда это ограничение мешает эффективной реализации приложений.Постреляционная модель данных представляет собой расширенную реляционную модель, снимающую ограничение неделимости данных, хранящихся в записях таблиц. Постреляционная модель данных допускает многозначные поля — поля, значения которых состоят из подзначений.
Наборзначений многозначных полей считается самостоятельной таблицей, встроенной в основную таблицу.На рис. 2.6 на примере информации о накладных и товарах для сравненияприведено представление одних и тех же данных с помощью реляционной (а) ипостреляционной (б) моделей. Таблица INVOICES (накладные) содержитданные о номерах накладных (INVNO) и номерах покупателей (CUSTNO).В таблице INVOICE.ITEMS (накладные-товары) содержатся данные о каждой из накладных: номер накладной (INVNO), название товара ( G O O D S ) иколичество товара (QTY). Таблица I N V O I C E S связана с таблицейINVOICE.ITEMS по полю INVNO.Как видно из рисунка, по сравнению с реляционной моделью в постреляционной модели данные хранятся более эффективно, а при обработке нетребуется выполнять операцию соединения данных из двух таблиц. Для доказательства на рис.
2.7 приводятся примеры операторов SELECT выбора данных из всех полей базы на языке SQL для реляционной (а) и постреляционной (б) моделей.Помимо обеспечения вложенности полей постреляционная модель поддерживает ассоциированные многозначные поля (множественные группы).Совокупность ассоциированных полей называется ассоциацией. При этомв строке первое значение одного столбца ассоциации соответствует первымзначениям всех других столбцов ассоциации. Аналогичным образом связанывсе вторые значения столбцов и т.