Три уровня представления данных в АИС.
Основные компоненты СУБД
Транзакции – процессы, которые должны выполняться атомарно.
Свойства транзакций – атомарность, изолированность, устойчивость.
Условия каждой завершенной транзакции должны быть зафиксированы в БД, когда система выходит из строя
планировщик заданий отвечает за атомарность и изолированность
менеджер протоколирования и восстановления гарантирует устойчивость
Процессор транзакции представлен в виде 2-х основных компонентов:
1. Планировщик заданий, ответственный за обеспечение атомарности и изолированности транзакции.
2. Менеджер протоколирования и восстановления
Процессор транзакции выполняет функции
1. протоколирование 2. управление параллельными заданиями
3. разрешение взаимоблокировок
Задача управления размещением информации на диске и обмена ею между диском и ОП решается менеджером хранения данных.
Менеджер буфера является ответственным за разбиение доступной ОП на буферные участки страницы, куда может быть помещено содержание дисковых блоков.
Три уровня представления данных в АИС.
Существует 3 уровня: логический уровень, уровень хранения и физический уровень.
На логическом уровне работают с логическими структурами данных, отражающими реальные отношения, которые существуют между объектами и их характеристиками, т.е. указывающими в каком виде данные представляются пользователю системы. Единицей информации на этом уровне является логическая запись. Каждый объект, описываемый соответствующей логической записью, характеризуется определёнными признаками, являющимися атрибутами записи. На логическом уровне устанавливается перечень признаков, полностью характеризующий описываемый класс объектов. Совокупность и их взаимосвязь определяют внутреннюю структуру логической записи.
На логическом уровне представления данных не учитывается техническое и математическое обеспечение данных.
На уровне хранения оперируют со структурами хранения - представления логической структуры данных в памяти ЭВМ. Структура хранения должна полностью отображать логическую структуру данных и поддерживать её в процессе функционирования АИС . Единицей информации на этом уровне также является логическая запись.
Поддержание структуры хранения осуществляется программными средствами.
На физическом уровне представление данных оперируют с физическими структурами данных. На этом уровне решаются задачи реализации структуры хранения непосредственно в конкретной памяти конкретной ЭВМ. Единицей информации на этом уровне является физическая запись, представляющая участок носителя на котором размещаются одна или несколько логических записей.
При разработке структур данных всех уровней должен обеспечиваться принцип независимости данных. Физическая независимость данных означает, что изменения в физическом расположении данных и в техническом обеспечении системы не должны отражаться на логических структурах и прикладных программах, т.е. не должны вызывать в них изменений.
Логическая независимость данных означает, что изменения в структурах хранения не должны вызывать изменений в логических структурах данных и в прикладных программах.
Иерархическая модель данных
Самая простая. Появилась первой. Основные информационные единицы база данных, поле, сегмент.
Поле – мин. и независимая единица данных, доступная пользователю с помощью СУБД.
Сегмент (DBTS) - называется записью.
Тип сегмента – поименованная совокупность типов элементов данных.
Экземпляр сегмента образуется из конкретных значений полей или элементов данных.
Каждый тип сегмента в рамках иерархической модели образует некоторый набор однородных записей. Каждый тип сегмента может иметь ключ.
Сегменты объединяются в древовидный орграф.
Тип сегмента, находящегося на более высоком уровне иерархии называется лог. исходным(сегмент предок) по отношению к типам сегмента под ним.(лог. подчиненным или сегмент потомок).
Схема иерархической БД представляет собой совокупность отдельных деревьев. Каждое дерево в рамках модели называется физической БД и удовлетворяет следующим ограничениям:
1. Существует 1 корневой сегмент
2. Каждый лог. исх. сегмент м.б. связан с любым числом подчиненных.
3. Каждый логически подчиненный сегмент м.б. связан только с одним логически исходным.
Сегмент является экземпляром типа сегмента. Между экземплярами сегмента также существует иерархическая связь.
Близнецы – потомки одного типа с одним предком.
Набор всех экземпляров сегмента в одном дереве наз-ся физ. Записью. Количество экземпляров потомков м. б. разным для разных экземпляров родительских сегментов. Поэтому о общем случае физические записи имеют разную длину. Физ. записи в иерархической модели различают по длине и структуре.
В рамках иерархической модели выделают языковые средства описания данных и средства манипулирования данными. Каждая физическая база описывается набором операторов определяющих её логическую структуру и структуру хранения. В системе м. б. несколько физических БД. Каждая физическая БД. содержит только один корневой сегмент.
Для организации физического размещения используются следующие методы:
1. Представление линейным списком с последовательным распределением памяти
2. представление связанными линейными списками
Основное правило контроля целостности: потомок не может существовать без родителя, а у некоторых родителей не может быть потомка.
Механизмы поддержания целостности между отдельными деревьями отсутствуют.
(+) 1. Эффективное использование памяти ЭВМ
2. Высокие показатели времени выполнения основных операций над данными
3. Удобно для работы с иерархически упорядоченными данными
(-) 1. Громоздко для обработки информации с достаточно сложными иерархическими связями.
Пример такой БД – сеть магазинов.
Сетевая модель данных
Базовые объекты модели: элемент данных, агрегат данных, запись, набор данных.
Элемент данных – это минимальная информационная единица, доступная пользователю. Аналог поля.
Агрегат данных – совокупность элементов данных, имеющих общее имя, которые могут рассматриваться как единое целое. В модели определены агрегаты двух типов: вектор и повторяющаяся группа.
Вектор – линейный набор элементов данных. Пример (Адрес: дом улица кварт. город)
Группа – совокупность векторов Пр: Стипендия – повторяющаяся группа с числом повторения 12.
Запись – совокупность агрегатов или элементов данных моделирующая некоторый класс объектов реального мира. Аналог сегмента или кортежа.
Существует понятие типа записи и экземпляра записи.
Набор – 2х уровневый граф, связывающий 2 типа записей видом 1:M. Набор отражает иерархическую связь между двумя типами записи. Родительский тип записи – владелец набора. Дочерний – член. Для любых 2-х типов записи м. б. задано любое количество наборов, которое их связывает. В рамках набора возможен последовательный просмотр экземпляров членов набора, связанных с одним экземпляром владельца набора. Ограничением набора является то, что один и тот же тип записи не может быть одновременно владельцем и членом набора.
Пример: учителя и группы
Среди всех наборов определяется сингулярный набор, владелец которого – вся система. Обозначается входящей стрелкой. Он имеет имя набора и имя члена набора, но не определён тип записи: владелец набора. Сингулярные наборы позволяют обеспечить доступ к экземплярам отдельных типов данных.
В общем случае сетевая БД представляет совокупность взаимосвязанных наборов. Язык описания данных в сетевой модели содержит описание БД, описание записи, описание набора. Операции манипулирования данными делятся на навигационные и операции модификации.
(+)Высокие возможности по созданию сложных иерархических структур
Возможность эффективной реализации по затратам памяти и оперативности
(-) Высокая сложность и жесткость схемы БД
Сложность для понимания и обработки информации в БД
Ослаблен контроль целостности
Реляционная алгебра
В ней определяются основные операции над данными реляционного типа. Все операции можно разделить на традиционные над множествами и специализированные, вводимые для удобства поиска в БД.
К операциям 1-й группы относятся: объединения, пересечения, разность, декартово произведение. К операциям 2 -й группы относятся: проекция, ограничение, соединение, деление.
Объединение. В результате применения этой операции получается отношение. объединяющее кортежи, содержащиеся в исходных отношениях. Пусть имеем два исходных отношения R1 и R2 . Операция объединения этих отношений обозначается R1 È R2:
R1 È R2 = { r / r Î R1 или r Î R2 }.
Объединяемые отношения должны иметь одинаковые атрибуты ( должны быть объединимы ):
Пересечение. В данной операции ( обозначенной Ç ) получают отношение, включающее кортежи, общие для R1 и R2:
R1 Ç R2 = { r / r Î R1 и r Î R2 }.
Разность: В результате применения этой операции (R1 \ R2 ) получается отношение, содержащее кортежи, являющиеся кортежами отношения R1 и не являющиеся кортежами отношения R2:
R1 \ R2 = { r / r Î R1 и r Ï R2 }.
Декартово ( прямое ) произведение. В этой операции ( R1 х R2 ) из m - местного отношения R1 и n - местного отношения R2 получают ( m + n ) - местное отношение. Причём первые m элементов представляют кортежи из отношения R1 , последние n элементов - кортежи из отношения R2:
R1 х R2 = {< r1, r2 > / r Ï R1 и r Ï R2 }.
Проекция: Операция проекции предназначена для изменения числа столбцов в отношении, то есть в том случае, когда из строк - кортежей требуется исключить какие-либо атрибуты. Обозначим через j1, j2,..., jn - номера столбцов n - местного отношения R. Операцию определения проекции отношения R обозначим через p j1, j2,..., jn ( R ), а сама операция заключается в том, что из отношения R выбираются столбцы и компонуются в указанном порядке j1, j2,..., jn.
Ограничение. Ограничением называют такую операцию, в которой отношение исследуют по строкам и выделяют множество строк, удовлетворяющим заданным условиям.
Соединение. Операция соединения обратна операции проекции. Рассмотрим два отношения R1 (А, В) и R2 (В, С). Соединением отношений R1 и R2 (R1 ¥ R2 ) называют операцию, при которой соединяют два отношения, используя в качестве признака общий атрибут В:
R1 ¥ R2 = { <A,B,C> / <A,B> Î R1 и <B,C> Î R2 }.
Отношение R1 ¥ R2 является отношением с атрибутами <A,B,C>.
Деление. Рассмотрим деление m - местного отношения R1 на n - местное отношение R2.
Пусть из общего количества m атрибутов отношения R1 выделим несколько атрибутов: A,B,...,F и из них составляем список, обозначив его через M. Набор значений атрибутов из М столбцов можно рассмотреть как проекцию отношения R на список атрибутов М, то есть pМ (R1). Тогда через М будут обозначаться атрибуты дополнительные к М, то есть атрибуты отношения R1, не вошедшие в список М, и соответственно значения атрибутов из списка М определяются pМ (R1).
Операцию деления можно определить так:
R1 [M ¸N] R2 = pМ (R1) \ pМ ((pМ (R1) ´ pN (R2)) \ R1 },
где pМ - это проекция отношения на атрибуты списка М.
НФСО, НФ1, НФ2
НФ
Отношения находятся в 1НФ, если каждый атрибут отношения является простым (атомарным) атрибутом, то есть отсутствуют составные.
Пример: Автомобиль (модель, марка, изготовитель ( завод, город )).
В данном случае атрибут изготовитель составной. Для приведения к 1НФ отношения необходимо избавится от составного отношения - изготовитель. Этого можно добиться, рассмотрев вместо составного атрибута его составляющие:
Автомобиль (модель, марка, название завода изготовителя, город ).
Приведение отношения к 1НФ достаточно для реализации языков запросов.
НФ
Чтобы рассмотреть 2НФ, введём понятие полной зависимости. Пусть X и Y – элементы подмножества атрибутов отношения R и X ® Y. Если Y функционально не зависит от любого подмножества A множества X (причём A не совпадает с X ), то Y называют полностью зависимым от X в R.
Говорят, что отношение R находится во 2НФ, если оно нормализовано, то есть находится в 1НФ, и каждый первичный атрибут полностью зависит от первичного ключа.
Пусть имеется отношение ПОСТАВКИ, содержащее данные о поставках (идентифицируемых П№ ), поставляемых ими товарах и их ценах: ПОСТАВКИ (П№, ТОВАР, ЦЕНА)
Предположим, что поставщик может поставлять разные товары, а один и тот же товар могут поставлять разные поставщики. То есть, ключ отношения (выделенный шрифтом) будет состоять из атрибутов П№ и ТОВАР. Известно, что цена любого товара зафиксирована (то есть все поставщики поставляют товар по одной и той же цене). Семантика отношения включает следующие зависимости:
П№, ТОВАР ® цена (по определению КЛЮЧА) ТОВАР ® цена
Можно отметить неполную функциональную зависимость атрибута цена от ключа. Это приводит к следующим аномалиями: Аномалия включения. Если у поставщика появляется новый товар, информация о товаре и его цене не сможет храниться в базе данных до тех пор, пока поставщик не начнёт поставлять его.
Аномалия удаления. Если поставки некоторого товара прекращаются, из базы данных придётся удалить сведения о товаре и его цене, даже если он имеется в наличии у поставщиков.
Аномалия обновления. При изменении цены товара необходим полный просмотр отношения с целью найти все поставки товара, чтобы изменение цены было отражено для всех поставщиков. То есть, изменение значения атрибута одного объекта влечёт необходимость изменений в нескольких кортежах отношения; в противном случае база данных окажется несогласованной.
Разложение отношения ПОСТАВКИ на два отношения устраняет неполную функциональную зависимость.
ПОСТАВКИ (П№, ТОВАР)
ЦЕНА-ТОВАРА (ТОВАР, ЦЕНА)
Цену товара конкретной поставки можно определить путём соединения двух отношений по атрибуту ТОВАР. Изменение цены товара вызовет модификацию лишь одного кортежа второго отношения.
НФ3
Рассмотрим транзитивную зависимость следующего типа:
Если А ® В, В ® А (В не является ключом) и В ® С, то А ® С.
Отношение R находится в 3НФ, если оно находится во 2НФ и каждый непервичный атрибут в отношении R не содержит транзитивной зависимости от первичного ключа.
Пусть имеется отношение ХРАНЕНИЕ (ФИРМА, СКЛАД, ОБЪЁМ), которое содержит информацию о фирмах, получающих товары со складов, и объёмах этих складов. В отношении имеются функциональные зависимости:
ФИРМА ® СКЛАД (фирма получает товары только с одного склада)
СКЛАД ® ОБЪЁМ
Аномалия включения. Если на данный момент отсутствует фирма, получающая товар со склада, то в базу данных нельзя ввести информацию об объёме склада .
Аномалия удаления. Если последняя фирма перестаёт получать товар со склада, данные о складе и его объёме нельзя сохранить в базе данных.
Аномалия обновления. Если объём склада изменяется, необходим просмотр всего отношения и изменение кортежей для фирм, связанных со складом.
Преобразование отношения в 3НФ устраняет рассмотренные аномалии. Следующее разложение приводит к отношениям во 3НФ:
ХРАНЕНИЕ (ФИРМА, СКЛАД)
С_ОБЪЁМ (СКЛАД, ОБЪЁМ)
НФ4
Отношение находится в 4 нормальной форме, если оно находится в НФБК и в нём отсутствуют однозначные зависимости являющиеся функциональными.
Пример: Рассмотрим зависимость (№, курс, дети, должность)
Между преподавателем и курсом связь M:M
Между преподавателем и детьми 1:M
Многозначные зависимости №->>курс, №->>дети
Схема отношения находится в 4НФ, если всякий раз, когда существует многозначная зависимость X->>Y, где Y непусто, и не является подмножеством X, и XvY состоит не из всех атрибутов R, X содержит к-н ключ отношения R, атрибуты, между которыми существует многозначная зависимость, выделяют в отдельные отношения
R1(№,курс) R2(№,дети) R3(№,должность)
НФ5
Если отношение может быть восстановлено без потерь соединения его проекций, то говорят что оно удовлетворяет зависимости по соединению.
Говорят, что отношение находится в 5НФ, тогда и только тогда, когда любая зависимость по соединению определяется возможными ключами R. Иначе, каждая проекция содержит не менее одного ключа или по крайней мере один не первичный атрибут.
Декомпозиция отношений должна гарантировать обратимость. Обратимость предполагает:
1. отсутствие потери картежей
2. не появляются ранее отсутствующие картежи
3. сохранение функциональной зависимости
ИФЗ
Зависимость не заключающая в себе такой информации, которая могла бы быть получена на основе других зависимостей из числа используемых при проектировании БД называется избыточной функциональной зависимостью.
Поскольку избыточная функциональная зависимость не содержит уникальной информации она может быть удалена без урона для БД.
Избыточные функциональные зависимости удаляются на начальной этапе проектирования, до применения элемента декомпозиции. Набор неизбыточных функциональных зависимостей может быть получен с помощью6-ти правил, называемых минимальным покрытием.
Отношение является избыточным, если
1. Все его атрибуты могут быть найдены в другом отношении проектного набора.
2. Все его атрибуты могут быть найдены в отношении, которое может быть получено из других отношений проективного набора с помощью серии операций объединения над этими выражениями.
Если установлена избыточность отношения, то его следует исключить из проектного набора.
Минимальное покрытие
Полное множество правил вывода состоит из 3 аксиом Амстронга, а также трёх следующих из этих аксиом правил.
Правила вывода:
1. Аксиомы 1.2.3
1. Рефлексивность: XÍU, YÍU, YÍX,то XàY
2. пополнение: XÍU, YÍU, ZÍU, XàY, то XÈZàYÈZ
3. транзитивность: XÍU,YÍU,ZÍU, XàY,YàZ, то XàZ
2. Из них следуют правила:
1. Объединения AàB,AàC то AàB,C
2. Декомпозиции AàB,C, то AàB,AàC
3. Псевдотранзит: XàY; Y,WàZ; то X,WàZ
По этим правилам определяем избыточные зависимости
Обобщённый алгоритм декомпозиции:
1. Построение универсального отношения для БД.
2. Определение всех ФЗ, существующих между атрибутами универсального отношения.
3. Удаление всех избыточных ФЗ из исходного набора ФЗ с целью получения минимального покрытия. Эта процедура проводится путём поочерёдного удаления избыточных ФЗ с последующей проверкой получаемого на каждом шаге набора ФЗ на наличие хотя бы одной избыточной ФЗ.
4. Использование ФЗ из минимального покрытия для декомпозиции универсального отношения в набор НФБК- отношений.
5. Если может быть получено более чем одно минимальное покрытие, осуществляется сравнение результатов, полученных на основе различных минимальных покрытий, с целью определения варианта, лучше других отвечающего требованиям заказчика.
При исполнении алгебраической декомпозиции необходимо помнить о нежелательности проекции, порождаемой ФЗ, у которой зависимостная часть является детерминантом другой ФЗ или когда зависимостная часть ФЗ зависит более чем от одного детерминанта. В любом из этих случаев может быть утеряна ФЗ из БД. Если достигнуть состояние, в котором проецирование, не влекущее за собой потерь ФЗ, становится невозможным, то необходимо сделать выбор:
а). выбор оставшихся ФЗ и создание одного отношения для каждых детерминанта и набора зависящих от него атрибутов;
б). изменение порядка ранее проведенных декомпозиций, т. к. алгоритм проектирования не ведёт к единственному решению.
Метод Табло
Дано множество функциональных зависимостей, схема отношения полученная в результате разложения. Процедура состоит в построении таблицы, строками которой являются разложенные отношения, а столбцами – список атрибутов этих отношений без повторений. Таблица заполняется символом aj если элементы строки i в столбце j соответствуют атрибуту Aj отношения Ri в противном случае ставится bij. После построения таблицы следует просмотр всех функциональных зависимостей XàY если для атрибутов из X найдутся строки, где в соответствующих местах стоят aj, то элементы bij этих строк соответствующие столбцам атрибутов из Y заменяется на aj. Если в результате появляется строка таблицы, полностью заполненная aj, то это соединение без потерь.
Пример: R(A,B,C,D) Ф.З. AàC, BàC, CàD.
Разложили: R1(A,B) R2(B,D) R3(A,B,C) R4(B,C,D)
…
| AàC
| ||||||||||||||||||||||||||||||||||||||||||||||||||
BàC
| CàD
|
Есть строки со всеми a, разложение без потерь.
Инвертированные списки
Часто приходится проводить операции доступа по вторичным ключам. Для обеспечения ускорения доступа по вторичным ключам, используются структуры, называемые инвертированными списками.
Инвертированный список (в общем случае) – двухуровневая индексная структура. На первом уровне находится файл или часть файла, где упорядочено расположены значения вторичных ключей. Каждая запись с вторичным ключом имеет ссылку на номер первого блока в цепочке блоков, содержащих номера записей с данным значением вторичного ключа. На втором уровне находится цепочка блоков, содержащих номера записей, содержащих одно и то же значение вторичного ключа. При этом блоки второго уровня упорядочены по значению вторичного ключа. На третьем уровне находится основной файл. Для одного основного файла может быть создано несколько инвертированных списков по разным значениям вторичного ключа.
Инвертированный список по номеру группы для списка студентов
1-ый уровень 2-ой уровень
Ключ | № блока |
1 | |
3 | |
Блок 1 |
1 |
Блок 2 |
Блок 3 |
№ записи | ФИО | № группы |
Иванов | ||
Петров | ||
Сидоров | ||
Андреев | ||
Михайлов | ||
Николаев | ||
Борисов |
Многозначная зависимость
Многозначная зависимость существует, если при заданных значениях атрибута X существует множество, состоящее из 0 или более взаимосвязанных значений атрибута Y, причем множество значений атрибута Y связано со значением атрибута в отношении U-X-Y, где U – все множество атрибутов отношений.
Обозначение многозначной зависимости X->>Y.
Аксиомы многозначной зависимости
1. дополнение для многозначной зависимости: Если X<U, Y<U, X->>Y, то X->>U-X-Y
2. пополнение для многозначной зависимости: Если X<U, Y<U, V<U, W<U. Причём V<W, X->>Y, то WuX->>VuY
3. транзитивность для многозначной зависимости: Если X<U, Y<U, X->>Y, Y->>Z, то X->>Z-Y
Дополнительные правила вывода для многозначных зависимостей
1. объединение Если X<U, Y<U, Z<U, X->>Z, X->>Y, то X->>YuZ
2. псевдотранзитивность Если X<U, Y<U, Z<U, W<U, X->>Y, WuY->>Z, то WuX->>Z-(WuY)
3. смешанное правило транзитивности Если X<U, Y<U, Z<U, X->>Y, XuYàZ, то XàZ-Y
4. правило декомпозиции X<U, Y<U, Z<U, X->>Y, X->>Z,то X->>Y^Z, X->>Y-Z, X->>Z-Y
Многомерные модели
Можно выделить 2 направления:
1. системы оперативной транзакционной обработки.
2. аналитической обработки или системы поддержки принятия решений
Реляционные предназначались для информационных систем оперативной обработки информации. В области аналитической обработки информации более эффективны многомерные СУБД.
Основные понятия:
Агрегируемость: означает просмотр информации на различных уровнях. Ее обобщение. Степень детальности информации зависит от ее уровня.
Историчность: обеспечение высокого уровня статичности данных и их взаимосвязи, а также обязательность привязки данных ко времени. Статичность позволяет использовать при обработке данных специальные методы загрузки, хранения, индексации, выборки
Прогнозируемость: задание функции прогнозирования, и применение ее к различным временным интервалам.
Многомерность модели означает многомерное логическое представление структуры информации при описании и при операциях манипулирования данными. Обладает более высокой наглядностью и информативностью по сравнению с реляционной.
Данные представляют собой срезы из многомерного хранилища
Измерение: это множество однотипных данных, представляющих одну из граней гиперкуба. Например – временное измерение.
Ячейка: значение, которое однозначно определяется фиксированным набором измерений. Тип поля обычно цифровой. Поликубическую модель поддерживает Oracle. Операции:
1. Формирование среза. Срез – подмножество гиперкуба, полученное в результате фиксации одного или нескольких измерений.
2. Вращение. Применяется при двумерном представлении данных. Суть заключается в изменении порядка измерения при визуальном представлении данных.
3. Агрегация и детализация. Переход к более общему или более детальному представлению данных.
Основное достоинство модели – эффективность аналитической обработки данных больших объемов, связанных со временем. В реляционной модели происходит нелинейный рост трудоемкости в зависимости от размера.
Недостаток: громоздкость модели для простых задач.
Плотный, неплотный индекс
Индексные файлы можно представить как файлы, состоящие из двух частей. Индексная область образует отдельный индексный файл, а основная область образует файл, для которого создается индекс. В зависимости от организации индексной и основной областей различают 2 типа файлов – с плотным индексом и неплотным.
Файлы с плотным индексом
В этих файлах основная область содержит последовательность записей одинаковой длины, расположенных в произвольном порядке, в структура записи в ней имеет следующий вид:
Значение ключа – значение первичного ключа
Номер записи – порядковый номер записи в основной области.
В этих файлах для каждой записи в основной области существует запись одна запись из индексной области. Все записи в индексной области упорядочены по значениям ключа.
Схематично это можно представить следующим образом:
Когда исчезает свободная область, возникает переполнение индексной области. В этом случае возможны 2 решения:
- перестроить заново индексную область
- организовать область переполнения для индексной области, в которой будут храниться не поместившиеся в основную область записи
Первый способ требует дополнительного времени на переработку индексной области.
Второй способ увеличивает время на доступ к произвольной записи и требует организации дополнительных ссылок на область переполнения.
Файлы с неплотным индексом
Неплотный индекс строится для упорядочения файлов. Структура записей индекса для таких файлов имеет следующий вид
В индексной области ищется блок по заданному значению первичного ключа. Так как все записи упорядочены, то значение первой записи блока позволяет определить, в какой области находится искомая запись, а остальные действия происходят в основной области. В случае плотного индекса после определения местонахождения искомой записи, доступ к ней осуществляется прямым способом, поэтому этот способ организации индекса называется индексно-прямым.
В случае неплотного индекса после нахождении блока, где расположен запись, поиск внутри блока требуемой записи происходит последовательным просмотром. Поэтому этот способ называется индексно-последовательным.
Модель сервер-приложение
Application Server
AS – расширение двухуровневой модели и в ней вводится дополнительный промежуточный уровень между клиентом и сервером. Этот уровень содержит один или несколько серверов-приложений. В этой модели компоненты – приложения делятся между тремя исполнителями.
Клиент – обеспечение логики представления (графический, пользовательский интерфейс). Клиент исполняет коммуникационную функцию, которая обеспечивает доступ клиенту в локальную или глобальную сеть. Когда клиент также является клиентом менеджера распределенных транзакций, он включает в себя управление распределенными транзакциями. Сервер приложений и использует наиболее общие правила BL, поддерживает каталог с данными. Обеспечивает обмен сообщениями и поддержку запросов (в распределенных транзакциях) – новый промежуточный уровень архитектуры. Сервер базы данных выполняет только функции СУБД. Поддерживает целостность реляционной базы данных, обеспечивает функции хранилищ базы данных, функции создания и ведения баз данных, создает резервные копии баз данных, управляет выполнением транзакций.
Эта модель обладает большей гибкостью, чем двухуровневая модель
Достоинства: разделение функций приложения на 3 независимые составляющие
Недостатки: более высокие затраты ресурсов компьютеров на обмен информацией между компонентами приложения по сравнению с двухуровневой.
Более сложные схемы взаимодействия:
Например, схемы, в которых элемент, являющийся сервером для некоторого клиента, в свою очередь выступает в качестве клиента по отношению к другому серверу.
Возможен также вариант, когда 1 объект по отношению к одним является клиентом, а по отношению к другим – сервером.
В процессе работы роли объектов могут меняться.
Наиболее гибкая и универсальная AS модель.
Модель активного сервера
Ее поддерживает большинство современных СУБД.
Основа этой модели – механизм хранения процедур, как средств программирования SQL сервера.
Механизм триггеров, как механизм отслеживания текущего состояния информационного хранилища и механизм ограничений на пользовательские типы данных, который иногда называется механизмом поддержки доменной структуры.
В этой модели BL разделен между клиентом и сервером. На сервере BL реализована в виде хранимых процедур. Механизм использования триггеров предполагает, что при срабатывании одного триггера могут возникать события, которые вызовут срабатывания других треггеров. В данной модели сервер является активным, так как не только клиент, но и сам сервер может быть инициатором обработки данных в базе данных. И хранимые процедуры и триггеры хранятся в словаре базы данных. Они могут быть использованы несколькими клиентами, что ведет к уменьшению дублирования алгоритмов обработки данных в разных клиентских программах. Для написания хранимых процедур и триггеров используется расширение стандартного языка SQL в так называемый встроенный SQL.
Достоинства: трафик обмена информацией резко уменьшается.
Клиент Сервер
Вызов хр. процедур
Рез-т для вывода
Недостатки: очень большая загрузка сервера.
Сервер выполняет следующие функции.
- обеспечение автоматически срабатывающих триггеров при возникновении связанных с ним событий
- обеспечение внутренней программой каждого триггера
- запуск хранимых процедур
- мониторинг событий, связан с триггерами
- запуск хранимых процедур из триггеров
- обеспечение всех функций СУБД
Дальнейшее развитие:
Таким образом, клиенты подключаются не к реальному серверу, а к промежуточному звену – диспетчеру и выполняют функции диспетчеризации запросов к серверу. Подобные системы относят к системам с виртуальным сервером. А их топологию к виду «несколько клиентов, несколько серверов»
Модель файлового сервера
или модель DDM
File Server – FS
Здесь presentation logic и business-logic располагаются на клиенте. На сервере располагаются файлы с данными и поддерживается доступ к файлам. Функции управления информационными ресурсами находятся на клиенте. В этой модели файлы базы данных хранятся на сервере. Клиент обращается к серверу с файловыми командами, а механизм управляет всеми информационными ресурсами, база мета данных на клиенте.
Файловые команды
Блоки данных
Достоинства: имеет разделение монопольного приложения на 2 взаимодействующих процесса. Сервер может обслуживать мн