ОС. ФУНКЦИИ ОС.
ИНФОРМАЦИОННО ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА (ИВС)-это совокупность технических и програмных средств которые предназначены для решения задач связаной с автоматизацией обработки информации. Взаимодействие таких систем с внешним миром осуществляется с помощью датчиков обеспечивающие связь с пользователями или приборами с целью обработки данных и управления. ОС реального времени UNIX поддерживает работу интеллектуальной оболочки.
Основная ф-я информационно вычислительной системы представление услуг для решения традиционных задач: 1Управление инфой (хранение,введение, поиск, организация связей и т.д.)2разработка и отладка программ 3 эксплуатация программ. Можно считать что савокупность таких услуг представляет для пользователя некоторую абстракцию или виртуальную машину в противоположность реальной машине существующей физически. Описание этих услуг и правил конкретного пользователя в этих условиях образует интерфейс ОС. С развитием технических средств уровень абстракции в окружении ОС (входной язык)повышается. Объекты или операции расмотреные в качестве эл-х для конкретной абстр-й машины реализуется с помощью более сложных операций реальной физической машины. Кроме того пользователи одной и той же ИВС должны иметь возможность общатся с различными абстрактными машинами.
Концептуально сист. удобно расм-ть с помощью 2-х ф-й : 1 Ф-ии общие для широкого круга применения, реализуемые системными программами, 2 Ф-ии необ-е для решения конкретных задач (утилиты) реализуемые конкретными программами. При этом в прикладных программах исп-ся возм-ти обращения к системным программам.
Рассмотрим иерархическую структуру системы
прикладные программы, сист-е прогр-ы, физическая машина Здесь каждый “слой “ использует ресурсы слоя расположенного под ним, и формирует интерфейс для предоставления. своих ресурсов верхнему слою (автомат настройки). Интерфейс самого верхнего слоя является интерфейсом всей системы. Эта схема описывает декомпозицию системы очень приближенно. Границы между слоями могут быть подвижными динамическими(например, программа разл-я как прикладная может быть включена как системная если она постоянно используется ). Некоторые ф-ии представленые в виде сист-й программы могут быть реализованы микропроцессором если это необходимо и оправдано экономией и удобством. Савокупность сист-х программ обычно имеют 2 уровня. Ср-ва и услуги (компиляторы, загрузщики, редакторы, служеб-е програм-ы, компиляторы, системное ПО ), компоненты системного ПО или сама ОС.Жесткой границы здесь нет.
ОСНОВНЫЕ Ф-ИИ ОС можно класифицировать по 2-м признакам : 1)Ф-ии реализуемые виртуальными машинами: а)управление инфой (структурирование, обеспечение сохранности, использование имен (виртуальная память),передача данных (ввод/вывод)), б) выполнение(последовательное или паралельное выполнение программ, компоновка прог и т.д.), в) дополнительные услуги (помощь при отладке, обработка и прерывания аварийных ситуаций, изменение таймера ).2) Ф-ии контроля и распределения ресурсов : управление физическими ресурсами (выделение оперативной памяти, внешней памяти, устройств ввода/вывода), распределение и обмен инфой между пользователями, защита от несанкционированого доступа, дополнительные услуги (выдача счетов за использованые ресурсы, сбор статистики, тестирование )
РАЗВИТИЕ ОС. 1-Е ОС имели пошаговое выполнение программ с непосредственным изменением ячеек памяти(асемблеры, компиляторы, отладчики и программы ввода вывода) эти программы созданы с целью выполнения всей последовательности работ ( организация данных и выполнение прикладных программ, подготовленных заранее и учитывающих переход от одной задачи к непосредственно другой.Основная ф-я ОС этого поколения – управление ресурсами(памятью, процессором, вводом/выводом ). Автоматизация управления позволяло наделить ОС ф-ми защиты от порчи и ошибок. Ограничение времени доступа к процессору чтобы устранить блокирование всей работы(зацикливание в одной проге ), надзор за вводом/выводом, чтобы избежать цикл. обращ переферийных устройств.,защита зоны памяти от ошибок пользовательских программ.
МУЛЬТИПРОГРАМИРОВАНИЕ И РАЗДЕЛЕНИЕ ВРЕМЕНИ 1)Введение автономных специализированных процессоров для передачи инфы(каналов или устройств обмена ) позволяющие освободить центральный процессор от полного обесп-я ввода/вывода 2) мультипрогр-е связанное с разделением памяти сразу для нескольких работ(Повысило производительность процессора за счет нескольких систем ввода/вывода) 3) Работа в режиме реального времени восстановила возможность интерактивного общения с машиной, предоставив возможность пользоваться общими услугами.
Рассмотрим влияние этих 3-х компонентов на ОС а) буферный ввод/вывод(канал или устройство обмена представляет собой процессор выполняющий автономно(паралельно с обработкой инфы)операции ввода/вывода ).Ц.П. и каналы имеют доступ к общей информации в памяти. Поэтому одним из важных значений ЦП –скорость обработки, а каналов-скорость передачи.
Мульти програмирование Для обеспечения ввода/вывода память разделена на зону для буфера ввода/вывода и на рабочую зону, при этом задания обрабатываются последовательно,а ввод/вывод и выполнение задания происходит паралельно.
Отмечают 2-а случая: а)Если во время выполнения задания необходимо прочесть нужные данные, то во время чтения ЦП находится в пассивном состоянии, б) выполнение короткого задания поставленого во время выполнения длинного задания отключается до выполнения последнего. Из этих замечаний вытекают режимы работы ОС:а)Задание ожидает выполнение (может использовать ЦП который освобожден другим заданием), б)выделеное ЦП задание может быть прервано если превышаются ограничения по времени.
Достоинства и недостатки Мульти програмирования: а) сложность систем с МП явл. более сложной т.к обеспечивает разделение памяти и взаимную защиту программ друг от друга б) технические характеристики-МП требует специальные устройства для перемещения програм и защиты памяти в) использование ресурсов : более равномерно загружаются ресурсы (ЦП,память,устройства ввода/вывода). Удобства для пользователя: Уменьшается время обработки коротких заданий в общей последовательности работ. Время реакции ОС минимальна за счет оптимального распределения лишних ресурсов.
Система с распределением времени Основная ф-я предоставить каждому пользователю эквивалент индивидуальной машины и одновременно сохранять возможность пользоваться общими услугами. Система должна гарантировать доступное время ответа, за счет представления процессору программы на короткие промежутки времени(кванты).
МЕХАНИЗМЫ ВЫПОЛНЕНИЯ ПРОГРАММ Процедуры, активность и контекст. Посл-я программа состоит из савокупности процедур обращающихся друг к другу. С каждой из этих процедур связана отдельная- сегмент процедура. Сегмент данных может относится как к одной процедуре так ик нескольким. Активным состоянием называется процесс непрерывного выполнения одной процедуры. Таким образом выполнение послед. проги состоит из ряда активных состояний.
Контекстом активности-наз та часть инфы которая доступна ЦП во время данного активного состояния. Этот контекст таким образом контекст ЦП (програмные и внутренние регистры) и контекст памяти. Сегмент процедуры и сегменты данных. Переход от одной активности к другой реализуются с помощью спец инструкций-вызова из процедуры и возв-т из пр-ры который производит замену контекста.
Вызов и возврат процедурыПроцедура R (вызыв-я) вызывает процедуру У с помощью последовательности действий вызов. Которая включает следующие этапы: а) Подготовка параметров передаваемых из R в У, б)сохранение части контекста R до возврата из У, в)замена контекста R на контекст У.
ФУНКЦИОНИРОВАНИЕ СОПРОГРАММ В случае управления сопрограммами вызывающая и вызываемая процедура играют симметричные роли (последовательность возврата идентична последовательности вызова). Активное состояние возникшее при вызове R получает в качестве исходного тот контекст который сохранился со времени последнего вызова процедуры R. Последовательность замены вкл следующие этапы а) подготовка парам-в из R вУ, б)сохранение части контекста R котор-я должна быть использована при последующих возобновлениях, в) вост-е контекста хранимого со временем последнего обращения к У.
Механизм посл-го выполнения содержащий процедуры или сопрограммы как последовательность активных состояний, соотв-х этим процедурам или сопрограммам и обеспечивающих : а) сохранение и востановление контекстов при вызове и возврате, б)передача параметров между вызываемой и вызвовшей программой, в) управление рабочими зонами памяти.
Процедуры ОС
.В качестве исполнительной структуры данных применяется стек выполнения. Возможны различные варианты стеков. Отлича-ся деталями спецификации контекста и его динамическими измененими при вызове и возврате процедуры. Схема выполнения может быть запрограмирована непосредственно на языке асемблера или представлена выполняемой структурой на обычном языке програмирования. Рассмотренная модель опирается на 2 гипотезы : а) параметры процедуры передаются по значению при возврате из процедур передается последний результат. Б) процедуры могут вызыватся рекурсивно. В вершине стека выполнения, при каждом вызове процедуры создается специальня структура данных, образующая область среды. Стек управляется с помощью 2-х указателей –база и вершина. БАЗА- указ на базу стека (адреса )среды активной процедуры. Вершина- указ на 1-ю свободную ячейку для создания новой среды. Состояние стека до и после вызова. :):):)СХЕМА :):):).Среда содержит следующую информацию –сведения об участках хранения и связях (указатель базы+смещение), параметры (n+1 ячейка), локальные переменные и рабочее пространство процедуры.
Операции : а) вызов:1) выделить в стеке зону для среды (ее размер) за исключением рабочего пространства,2) время t:=база ;база:=вершина; вершина:=вершина+размер среды ; 3) сохранить инфу для возврата. Для сохранения используется: предыдущая база := ВРЕМЯ; размещение адреса возврата; 4)размещение параметров 5)выполнить переход к вызываемой процедуре. б) Процедура возврата: 1) Разместить результат в предусмотреных ячейках,2)востановить инфу возврата и очистить среду. Время(t):=адрес возврата; Вершина:=адрес база;База:= предыдущая база. 3)возврат реализует процедура— произведение переход навремя.
Состояние процессора. К регистрам определяющим состояние ЦП относятся: адресуемые регистры, управляемые программами,специализ-е регистры, предназначеные для некоторой синтаксической инфы(синтетической)-слово.. Инфа содержащаяся в слове сост проц-ра характеризует следующие : состояние выполнения (активное или ожидание),режим (распоредителя или исполнителя), маски прерывания,информация о доступном контексте в памяти ЭВМ и соотве-х правах доступа (таблица сегментов, указатели защиты памяти), инфа о текущем активном состоянии (условный код, порядковый счетчик).
Прерывания-представляют собой перестановку контекста процессора вызываемую внешними по отношению к выпол-ю инструкцией причиной. Физически прервания представляются сигналом о прерывание работы посылаемой не посредственно процессору этот сигнал вызывает изменение состояние указателя проверяемого в ходе выполнения каждой инструкции. Этот сигнал может послать другой процессор, внешнее устройство, ввода/вывода или пользователь. Прерывания вынуждают процессор приостановить в ближайшей точке прерывания выполнение текущей проги и приступить к выполнению другой спец программы. Эта прога наз обработчиком прерываний. Общая СХЕМА программы прерывания: Прерваная прога —обработчик прерываний-->сохранение контекста проги--> -->обработка прерываний программы -->вост-е программы-->переход к новой проге.
Захваты и обращение к супервизору. Вызываются причинами связаными с ходом выполнения инструкции. Захват сигнализирует ОС об аномалии при выполнении инструкций. Причины- неправильные данные приводящие к нарушению правил хода выполнения инструкции, попытка выполнения операции запрещеной защищающим устройством, невыполняемая инструкция (адресс вне поля памяти, обращение к несущему устройству).
КРАТКИЙ ОБЗОР ОС.
ОС в большой степени опрелеляет представления пользователя об ЭВМ, чем аппаратура ЭВМ. ОС- набор пограмм, обеспечивающих возможность использования аппаратуры компьютера. Любая ОС реализует множество различных ф-ий. Определяет интерфейс пользователя, обеспечивает разделение аппаратных ресурсов между пользователями, дает возможность работать с общими данными в режиме колективного пользования, планирует доступ пользователя к ресурсам, обеспечивет эффективное использование операций ввода/вывода, осуществляет востановление инфы и вычисление процесса в случае сбоев и ошибок. ОС управляет : процессорами, памятью,устройствами ввода/вывода,и данными. ОС взаимодействует с пользователем, системными прикладными программами,программами и АППАратными средствами. ПОКОЛЕНИЯ ОС.
1)нулевое поколение(40г.) в 1-х ЭВМ ОС не было. Пользователи имели полный доступ к машинному языку и все проги писались в исходных кодах. 2)1-е поколение (50-е г.) Ос 50-х годов были разработаны с целью ускорения и упрощения перехода с задачи на задачу. До создания этих ОС много машинного времени тратилось в промежутках м/у завершением одной проги и началом другой. Это было начало систем пакетной обработки, которые предусматривали объединение отдельных пакетов в группы 3) 2-е поколение начало 60-х годов. Были задуманы как ОС колективного пользования с мульти програмным режимом работы и как 1-е системы мультипроцессорного типа.В этих ОС несколько полезных программ одновременно находится в основной памяти компьютера,а центральный процессор переключается от задачи к задаче. Появляются методы обеспечивающие независимое програмирование от внешних устройств. Появляются сист с разделением времени,которые позволяли пользователю взаимодействовать с компьютором при помощи пультов терминалов. В системе разде-го вр-ни работающих в диалоговом режиме. Появл-ся 1-е системы реального времени. 4) 3-е поколение (середина 60-х до70-х) Многорежимные системы. Некоторые из этих ОС осуществ-т работу в нескольких извесных режимах-пакетная обработка, разделение времени, Real Time,мультипроцессорный режим. Минус -они были громозкими и дорогостоящими. Привели к сильному усложнению вычислительной установки. 5) 4-е поколение (середина 80-х до 90-х ) наиболее совершенные системы настоящего времени. Интернет технология, глобальные и локальные сети, технология удаленого доступа при помощи различных терминалов различных ОС, появление микропроцессора. Усложнились проблемы защиты инфы(хакерство). Появились виртуальные машины с распр-ми БД. АППАРАТУРА, ПО, МИКРОПРОГРАММЫ.
Расслоение памяти или interliving этот метод применяется для увеличения скорости доступа к основной памяти в реальной ситуации. При обращении хотя бы к одной из ячеек памяти ни каких операций с памятью производить нельзя. При интерливинде соседние по адресам ячейки размещены в различных модулях памяти. Появляется возможность паралельной работы с памятью.
Регистр перемещения обеспечивает возможность динамического перемещения программ в памяти. В этот регистр заносится базовый адресс проги хранящейся в основной памяти. После обращения к регистру, содержимое регистра+ каждому указ в вып-ой прог-ме адресу(база +смещение). Прерывание и опрос состояния. Одним из способов позволяющих некоторому устройству проверить состояние другого устройства которое работает часто независимо называется элементарный опрос этого устройства (опрос ячеек памяти).1-е устройство может периодически проверяет находится ли второе устройство в определенном состоянии и если нет то продолжать свою работу. Состояние устройства работа которого прерывается должно быть сохранено только после этого производится обработка прерывания.
БУФЕРИЗАЦИЯ. БУФЕР- область основной памяти предназначеной для промежуточного хранения данных при выполнении операций ввода/вывода. Скорость выполнения операций ввода/вывода зависит от многих факторов: главная -характеристика устройства вв/в. Различают простую и 2-ю буферизацию. При простой канал помещает данные в буфер. Процессор обрабатывает эти данные. Последовательный процесс обработки. Метод 2-й буферизации позволяет совмещать операцию ввода/вывода с обработкой данных. Когда канал заносит данные в один буфер процессор может обрабатывать данные другого буфера.
Защита памяти. Очень важна –условие для нормальной работы многоабоненских вычислительных систем колективного пользования. Защита памяти ограничивает диапазон адресов в котором разрешены обращ к проге. Защиту памяти для проги занимающей непрерывный блок ячеик памяти можно реализовать при помощи граничных регистров где указываются старшие и младшие адреса этого блока памяти. Защиту памяти можно реализовать с помощью ключевой защиты памяти. Чаще делают 2-м ключом: программным и аппаратным.
Захват цикла. Узкое место где может возникнуть конфликтная ситуация м/у каналами ЦП -это доступ к основной памяти. В каждый конкретный момент времени может происходить одна операция обращения к некоторому модулю основной памяти, тк каналу и процессору одновременно может потребоватся обращение к основной памяти, а в этом случае приоритет представляется каналам. Этот процесс наз-ся захватом цикла памяти, в процессе которого канал активно захватывает цикл обращения у процессора. Все современные ОС без исключения с их основными компонентами и планировщиками отдают предпочтение прогам с большим обьемом инфы ввода/вывода по отношению к прогам с большим объемом вычисления.
Режим задачи,супервизора,приоритетные команды. В вычислительных машинах предусматриваются несколько режимов работы: динамический выбор режима позволяет лучшим образом организовать защиту прог и данных. В обычном режиме работающая прога может выполнить только некоторое подмножество команд. Так программам пользователя неразрешаются все операции ввода/вывода т.к он мог бы вывести главный список паролей системы, или инфу любого другого пользователя. ОС присваивается статус высшего приоритета и она как правило работает в режиме супервизора имеющая доступ ко всем командам машины. Для большинства современных ЭВМ этого разделения на 2 режима вполне достаточно. Однако в случае машин с высокими требованиями по защите от несанкционированного доступа желательно иметь более двух режимов работы. За счет этого можно увеличить степень защиты на программном уровне. Можно обеспечить доступ где каждому пользователю предоставляется минимальный приоритет права доступа к тем ресурсам которые нужны для решения его задач. В процессе развития компьютерных архитектур выявились тенденции к увеличению приоритетных команд которые не могут выполнятся в режиме задач.
Виртуальная память. Сист. виртуальной памяти дают возможность указать в прогах адреса которым не обязательно соответствовать физическим адресам основной памяти. Виртуальные адреса выдаваемые работающими прогами при помощи аппаратных ср-в динамически выполняются, преобразуются в адреса команд и данные, хранящиеся в основной памяти. Сист вирт памяти позволяют прогам работать с адресными пространствами гораздо большого размера, чем адр-е пространство основной памяти. Их основное достоинство они позволяют созд-ть программы независимо от ограничений основной памяти. В сист виртуальной памяти применяются также методы :страничная огрганизацияя и сегментация. В первом случае предусматривается обмен м/у основной и внешней памятью, блоками данных фиксированного размера. Во втором случае проги и данные разделяются на логические компоненты- сегменты. Мультипроцессорная обработка : в мульти процессорных машинах несколько процессоров одновременно работают с общим полем памяти и одной ОС. При мультипроцессорной работе возможно возникновение конфликтов(которых в принципе не бывает в однопроцесорных). Необходимо обеспечить упорядоченный доступ к каждой общей ячейки памяти так чтобы 2 и более процессоров не могли одновременно изменять ее содержимое. Это необходимо в тех случаях, когда один процессор пытается изменить содержимого ячейки котор. хочет прочитать другой процессор.
Прямой доступ к памяти. Одним из способов достижения высокой производительности ЭВМ является минимизация количества прерываний происходящих в процессе выполнения программы. Существующий для этого ПДП требует лишь одного прерывания на каждый блок символов, передаваемых во время операций ввода/вывода. Благодаря этому обмен данными осуществляется значительно быстрее чем в случае когда процессор прерывается при передаче одного символа. После начала операций ввода/вывода символы передаются в основную память по принципу захвата канала цикла (канал захватывает шину связи процессора с основной памятью на короткое время передачи одного символа после чего процессор продолжает работу). Когда внешнее устройство готово к передаче блока оно “прерывает” процессор. В случае ПДП состояние проца запоминать не требуется. ПДП – способ повышения производительности в системах с большим объемом операций ввода/вывода.
Конвейризация- апаратный способ, применяемый в высоко производительных машинах с целью использования опрделенных типов обработки* команд паралельно для повышения эфективности. Структура конвеерного примера можно представить как технологическую линию производства предприятия ** тех процес. На конвеере процессора на различных стадиях выполнения одновременно могут находится несколько команд.
Иерархия памяти- Современные ЭВМ содержат несколько видов памяти: основная, внешняя, КЕШ память.В основной памяти должны размещатся команды и данные к которым будет обращатся работающая программа. ЭМУЛЯЦИЯ-метод позволяющий сделать одну вычислительную машину функционально эквивалентной другой. Набор команд машинного языка эмулируемого компа микропрограмируется на эмулирующем компе благодаря этому программы представленные на языке 1-го компа могут выполнятся на 2-м без ограничений.Современные фирмы широко используют эмуляцию для своих продвинутых приложений..
УПРАВЛЕНИЕ ПРОЦЕССАМИ- под процессом понимается прога в стадии выполнения, ассинхронная работа, которой выделяет процессоры диспетчируюмый модуль. Говорят что процесс выполняется если ему в данный времени выделяется процессор. Процесс находится в состоянии готовности если он может сразу использовать центральный процессор. Заблокированным если он находится в состоянии ожидания. В одно процессорной машине в каждый момент времени может реально выполнятся только один процесс, в состоянии готовности могут находится несколько процессов. Благодаря этому можно создать список готовых к выполнению процессов который упорядочевается по приоритету. Так что ЦП выполняетт самый приоритетный процесс. Список заблокированых процессов не упорядочен. Разблокировка в порядке той очереди как они заблокированы. Когда в систему поступает некоторое задание она создает соответствующий процесс который затем устанавливается в конец списка готовых процессов этот процесс постепенно продвигается к главной части списка по мере завершения выполнения предыдущих процессов. Когда процесс оказывается первым и когда освобождается ЦП то говорят что происходит смена состояния процессора. Который в свою очередь переходит в состояние выполнения. ГОТОВНОСТЬ –запуск-->ПЕРЕХОД В ФАЗУ ВЫПОЛНЕНИЯ –-блокировка--> БЛОКИРОВАНИЕ –пробуждение-->ПРИОСТАНОВКА* ГОТОВНОТЬ –возобновление процесса-->ГОТОВНОСТЬ. Предоставление ЦП первому процессу списка готовых процессов называется запуском. Или выбором процесса для выполнения (это производится системной программой диспетчером). Ос в таймере прерываний определяет временной интервал (квант времени) в течении которого данному процессу пользователя разрешается занимать центральный процессор. Если процесс не освобождает ЦП до указанного времени то таймер вырабатывает сигнал прерывания по которому управление будет передано ОС. Представителем процессов в ОС явл-ся блок управления процессом(БУП). Это структура данных содержащая следующую инфу- текущее состояние процессора, уникальный идентификатор процесса, приоритет процесса, указатели памяти процесса, указатели выделеных процессу ресурсов, область сохранения регистров.
ОПЕРАЦИИ НАД ПРОЦЕССАМИ. 1) СОЗДАНИЕ ПРОЦЕССА, 2) уничтожение процесса, 3) возобновление процесса, 4) изменение приоритета процесса,5) блокирование процесса, 6)пробуждение процесса, 7)запуск (выбор) процесса. В процессе создания процесса осуществляется мног мелких операций: присвоение имени процессу, включение этого имени в список имен процессов, определение начального приоритета процесса, формирование блока управления процессом, выделение процессу начальных ресурсов.
ЯДРО ОС. Все операции связанные с процессами выполняются под управлением той части ОС которая называется ее ядром ОС. Ядро представляет собой лишь небольшую часть кода ОС в целом, но она относится к числу наиболее интенсивно используемых компонентов системы. По этой причине оно резидентно находится в памяти. В то время как другие части ОС подкачиваются к ядру по мере необходимости.
Ф-ИИ ЯДРА ОС 1)обработка фпрерываний,2)создание и уничтожение процессов, 3) переключение процесса из состояния в состояние, 4)диспетчирование, 5) приостановка и активизация процессов, 6)синхронизация процессов, 7)организация взаимодействия м/у процессами, 8)манипулирование блоками управления процессами, 9) поддержка операций ввода/вывода, 10) поддержка распределения и перераспределения памяти, 11)поддержка механизма вызова/возврата при обращении к процессам, 12)поддержка определенных ф-ий по ведению учетной работы машины(сбор статистики).
ОПЕРАЦИОННЫЕ СИСТЕМЫ.
MS-DOS.
Созд. В 1981г. Microsoft по заказу IBM. 1-ая версия-однопользовательская, однозадачная.Цель-поддержание раб. С дискетами, клавиатурой, дисплеем.
Соврем. Возможности MS-DOS обеспеч. Более мощное взаимодействие пользователя с ЭВМ: поддержка нов. Устройств-HDD, CD-ROM, нов. Дискет и т.д. С помощью драйверов поддерживает и др. устр-ва(написанных производителями этих устройств).
Была вкл. Поддержка иерархической, файловой структуры на дискетах и HDD, представляющая соотв. Команды пользователя и функции для их вызова.
Была обеспечена поддержка национальных алфавитов, нов. Возможности для пользователя-нов. Команды DOS, полезные утилиты, оптимизатор используемой памяти, сжатие диска и т.д.
Осн. Принципы MS-DOS от MICROSOFT: совместимость версий и работоспособность на любой машине.
Недостатки MS-DOS: 1.Однозадачная 2.Невозможно встраивать надежные средства для защиты данных и организация коллективной работы с данными. 3.DOS-программы могут выполняться т-ко в пределах 1-го Мбайта памяти, осн. Память используется только для хранения данных. 4.Ограниченность поддержки устройств. 5.Отсутствие стандартных средств для создания пользовательского интерфейса-меню, запросов и т.д.
Составные части DOS: 1.Дисковые файлы IO.SYS и MS-DOS.SYS. Это основные системные файлы и содержат основные программы, которые постоянно находятся в памяти компьютера. В версиях до 8-ой файл IO.SYS представляет дополнения к функции ввода-вывода, а MSDOS.SYS реализовывал осн. Высокоуровневые услуги DOS.
Командный процессор DOS обрабатывает команды, вводимые польз-лем command.com, тоже находится в корневом каталоге. Некоторые команды пользователя процессор выполняет сам – это внутренние команды. Для выполнения внешних команд процессор ищет программу на диске с соответствующим именем и если находит ее, то загружает ее в память и передает ей управление.
Драйверы устройств – это специальные программы (системные), дополняющие MS-DOS, они загружаются в память ЭВМ при загрузке DOS, а их имена указываются в специальном файле config.sys.
Базовая система ввода – вывода (BIOS) находится в ПЗУ компьютера, тесно связана с MS-DOS. BIOS содержит не т-ко программы для проверки компьютера и инициирования загрузки О.С., но и программы для выполнения базовых низкоуровневых операций ввода – вывода, связь с монитором, клавиатурой, дисками и принтером. BIOS имеет сегментный адрес (16-ый) FE00 в ПЗУ, все остальные модули хранятся на магнитном диске. Блок начальной загрузки О.С. (загрузчик) всегда записан в 1-ом секторе системного диска.
BIOS реализует след. Функции: 1. Автоматическую проверку аппаратных компонент при включении ЭВМ. 2. Вызов блока начальной загрузки О.С. Загрузка в память ЭВМ программы О.С. происходит в 2 этапа: сначала загружается блок начальной загрузки и с его помощью остальные модули О.С. 3. Обслуживание системных вызовов или прерываний.
С пом. Config.sys можно расширять О.С., изменять ее параметры, подключать новые драйверы для работы и т.д.
Файл autoexec.bat выполняется за config.sys. Здесь устанавливаются альтернативные маршруты поиска, задаются форматы приглашения О.С., выдается дополнительная информация и т.д.
Создание текстовых файлов в MS-DOS.
Copy con Текст. Затем F6 и Enter, команда copy пишет сообщение: «Один файл скопирован»,на диске появ. Новый файл.
Del // ren // copy + … // move *.doc d: dir cd дисковод: путь… // cd \ (для текущего диска) путь…// md дисковод: путь… - создание подкаталога в текущем каталоге.
OS / 2.
Эта новая О.С., разраб. Для соврем. И будущих ЭВМ. Интерфейс пльзователя напоминает Windows. Большое влияние на структуру OS/2 оказало развитие графических интерфейсов (начиная с APPLE до MICROSOFT). Некоторые важные свойства переняты от предшествующих О.С. – многозадачность и вопросы виртуальной памяти.
Создана в 1987г. IBM и MICROSOFT. ЕЕ особенности исх. Из целей и задач. Цель – удовлетворять потребностям учреждений. Со временем существующие программные системы становились менее приспособленными для решения возникающих задач. Осн.задачи при созд. OS/2 MICROSOFT: --высокая производительность –многозадачность –эффективный графический интерфейс –сетевые возможности (разделение ресурсов и общих данных в сети).
Цели: --независимый от устройств графический интерфейс –многозадачность (полное использование аппаратных возможностей, не снижая общей производительности системы) –создание эф. Средств защиты, обеспечивающих надежность и устойчивость системы –предоставление каждой программе стандартной и стабильной операционной среды, независящей от внешних факторов, а програмная среда гибкой и настраиваемой.
Организация памяти. Верхний предел доступной памяти – 1Мб, при этом старшие 386Мб зарезервированы под BIOS и контролируют ввод – вывод. Само ядро около 50Кб, поэтому доступный объём памяти строго ограничен. Прикладные программы для ОS/2 выполняются в защищенном режиме, в котором процессор реализует 32Мб памяти. Используя аппаратную поддержку прикладная программа может выделить памяти больше, чем физически есть на компьютере. Кажд. Программе OS/2 можно адресовать от 1Мб памяти. Виртуальная память – адресное пространство, в котром автоматически выполняется обмен м/у опер. Памятью и диском. Единица обмена – сегмент – последовательность ячеек памяти от 1 до 65536 байт. Процесс обмена прозрачен для прикладных программ, т.е. когда происходит обращению к сегменту, которого нет в физической памяти. При этом OS/2 автоматически считывает и загружает нужный сегмент с внешнего устройства. Механизм управления памятью вкл. И устанавливаемый минимальный промежуток времени, к-ый предоставляется процессору для выполнения текущей задачи, прежде чем он переключится на выполнение др. задачи.
Многозадачность. Можно переключаться с пом. Функциональных клавиш с одной загруженной программы на другую. При этом задачи, оставшиеся без внимания продолжают выполняться. Аппаратная поддержка обеспечивает полную защиту памяти и др. ресурсов, параллельно выполняемым задачам, гарантирует быстрое переключение процессора от 1-ой задачи к другой. OS/2 представляет кажд. Задаче стандарт. О.С., независимо от др. внеш. Факторов (задача – это есть процесс). OS/2 –многозадачная, но не многопользовательская. В то вр., когда OS/2 упрвляет несколькими прикл. Программами, обеспечивая взаимодействие между ними. При работе в О.С.-пототипах режим многозадачности обеспечивает мирное сосуществование нескольких програм, т.к. они имеют тенденцию захватывать др. у др. ресурсы ЭВМ. При работе, программы также обладают арсеналом межпроцессорного взаимодействия.
Структура OS/2 состоит из множества компонентов отдельных логических модулей, к-ые загруж. В пам. И активизируются по мере необходимости, тесно взаимодействуя между собой. Осн. Компаненты OS/2: --сеанс защищенного режима –сеанс режима совместимости –фоновые процессы. Защищ. Режим – работа в графической среде или в командном режиме. После загрузки и запуска OS/2 состоит из множества сеансов (экранныых групп и фоновых программ). Режим совместимости практически полностью воссоздает среду MS-DOS. Наряду с процессами защищенного режима является структурным компонентом OS/2. Фоновые программы обрзуют отдельную группу, к-ая не имеет своего сеанса, тем не менее они играют важную роль при реш. Разл-х системных задач. Сеансы защищ. Режима OS/2 опр-ся как набор процессов, разделяющих отдельный виртуальный экран, клавиатуру и мышь.
Процесс – отдельно выполняемая программа – интерпретатор команд, приклад. Или вторичная, запускаемая приложением для выполнения дополнит. Ф-ций. Кажд.сеанс OS/2 может находиться т-ко в 2 –ух режимах: активном и фоновом. Если несколько программ сеанса выполняются параллельно и одновременно выводят данные на экран, то нет механизмов для предотвращения пересечений и накладки данных. Когда сеанс выходит из активного состояния вфонов. Режим, то содержимое экрана сохраняется в специальном внутреннем буфере. Когда сеанс активизируется, содержимое буфера восстанавливается на физическом экране, т.о. программе нет необходимости следить являются ли выводимые данные видимыми, она просто посылает данные на виртуальный экран, к-ый высвечивает их на физическом экране при активизации сеанса. Все сеансы OS/2 выполняются параллельно.
Древовид. Струк. процессов сеанса подчерк. 2 важн. Свойства: --отдельный процесс может породить другой процесс –породивший и порожденный процессы выполняются параллельно, или породивший процесс может быть приостановлен до завершения выполнения порожденного.
В структуре многозадачности OS/2 имеется ещё 1 слой: подобно сеансу, состоящему из нескольких параллельных витков – выполнений серии инструкций программы. Время процесса распределяется между всеми активными витками, т.о. несколько секций программы могут выполняться параллельно. В целом компоненты многозадачности OS/2 представляют собой 3 –х уровневую иерархию, причем все элементы иерархии могут выполняться параллельно.
Осн. Понятия OS/2. --Сеанс состоит из набора сеансов. –Сеанс – один виртуальный экран, виртуальная клавиатура и виртуальная мышь. -–Переключение между сеансами с пом. ALT+Escp. –Процесс – выполнение отдельной програмы, в совокуп. С выделенными под это ресурсами. –Сами процессы могут создавать и запускать процессы. –Степень вложенности неограначена. –Процесс состоит из 1 –го или нескольких витков.(Виток-выполнение последовательности инструкций внутри программы. Витки не запускаются пользователем, они создаются при выполнении самой программы).
Сеанс реального режима. Для выполнения станд. Прилож. MS-DOS в реальн. реж. OS/2 представляется отдельный сеанс – сеанс реальн.режима (сеанс совместимости), что означает тождественность с MS-DOS. Сеанс реальн. Режима необязателен и его можно отменить при запуске OS/2. Также можно назначить размер памяти для сеанса реальн. Реж. И изменить др. параметры. а от сеанса Отличия данного сеансзащищенного режима: --у OS/2 может быть т-ко 1 сеанс реального режима, в то время как сеансов защищенного режима несколько. –Когда сеанс совместимости активен все сеансы защищенного режима выполняются. Если активен сеанс защищенного режима, то сеанс совместимости приостанавливается. Т.е. сеанс реального режима выполняется только после его активизации. Программы, работающие в реальном режиме не могут использовать свойство OS/2 –режим многозадачнсти, вирт. Адресное пространство и т.д., т.е. реальн. Реж. Обусловлен тем, что многие из них игнорируя О.С. непосредственно осуществляют доступ к машинным функциям низкого уровня.
Фоновые программы. Под управлением OS/2 могут выполняться программы защищенного режима, к-ые будут постоянно находиться в фоне. Эти настоящие фоновые программы ни к одному из запущенных сеансов. (Нельзя переключиться на фоновую программу с пом. ALT+Escp. Т.о. фоновая программа – спец. Сеанс, к-ый не может быть приравнен к обычному сеансу защищенного режима. Фонов. Программы обычно не взаимодействуют с пользователем, а ведут учет ресурсов, следят за появлением вирусов.
UNIX.
Ю спроектирован как инструментальная система для разработки П.О. Она имеет простой, но мощный командный язык и независимую от устройств файловую систему. Ю изначально спроектир. С 65 по 69г. Bell laboratories и General Electric. 1-ая версия возникла в США в Масачусецком уневерситете. В 72г. на яз. Си написал Ритчи – 2-ая версия. Она стала более надежной, любимой, а программы были совместимы и понятны.
Цели проекта. Своей уникальностью Ю обязан: 1.Нулевая версия была создана 2-мя идеологами за минимальное кол-во чел*лет. 2.Люди, создававшие систему были её главными пользователями.
Внутренняя согласованность и встроенность является следствием этих 2-ух обстоятельств, как и яз. Паскаль, созд. Виртом.
Управлние процессами. Центральная часть – ядро (около 25000 строк на Си и 2500 строк на Ассемблере). Большая часть ассемблерного текста относится к аппаратным ф-циям, к-ые трудно программировать на Си.
Образ – текущее состояние псевдокомпьютера, предоставляемое пользователю. Конкретный процесс – это выполнение конкретного образа. Любой образ включает образ памяти, значение общих регистров, состояние открытых файлов, текущие директории – оглавления, справочники и др. информацию. Образ процесса во время его выполнения размещается в основной памяти (не менее 128Мб). Образ может быть откачан на диск, если какому-либо приоритетному процессу потребуется место в основной памяти. В современных версиях – это оптимизатор процесса.
Образ памяти делится на 3 логических сегмента: --СРП-сегмент реентерабельных процедур (начиная с нулевого адреса в виртуальном адресном пространстве). –СД-сегмент данных. –СС-сегмент стека. Картинка. СД располаг. За СРП в сорону больших адресов. Сегмент стека начинается со старшего адреса в виртуальном адресном пространстве и растет вверх по мере занесения в него иформации, при вызове пограмм и прерывании. СД в образе памяти содержит данные, записываемые и считываемые т-ко одним конкретным процессом. Системные данные, относящиеся к процессу хранятся в отдельном сегменте фиксированного размера. Этот системный сегмент данных откачивается вместе с процессом. Он содержит такие данные об активном процессе, как состояние регистров, дескрипторов(описатели открытых файлов), данные для расчетов за использованием ЭВМ, область рабочих данных, стек для системной фазы выполнения процесса. Процесс которому принадлежит сегмент системных данных непосредственно адресоваться не может.
Таблица процесса – когда процесс не активен, в ней хранится информация о процессе. Она содержит: --имя процесса –расположение его сегментов –информацию для планировщика. Таблица процесса существует во время всей жизни процесса. Адресуется она из ядра ситемы.
Создание процессов. Новые процессы создаются с помощью системного примитива (разветвления). Вызов этого примитива приводит к тому, что текущий процесс расщепляется на 2 независимых, параллельных процесса, называемых родительским и дочерним. Эти два процесса не имеют общей первичной памяти, но совместно могут использоватьвсе открытые файлы.
Примитив EXEC дает возможность процессу выполнять файл. Он приводит к замене текущего програмного сегмента и текущего сегмента данных на новые соответствующие сегменты, к-ые задаются в файле. Прежние сегменты, если их не зарезервировать, теряются (по умолчанию). Этот процесс выполняется процессом программы, но не самим процессом.
Синхронизация процессов осуществляется при помощи механизма событий. Все процессы ожидают событий, таблицы процессов ассоциируются с событиями. События представляют собой адрес элемента таблицы своего родительского процесса. В любой момент времени все процессы, кроме одного стоят на примитиве – ожидании событий в ядре.
Планирование процесса. Процесс может выполняться в одном из двух событий – пользовательском или системном. В пользовательском состоянии процесс выполняет программу пользователя и имеет доступ к пользовательскому сегменту данных. Главня цель планирования процессов в Ю – обеспечение быстрой реакции для интерактивных пользователей. Планирование процессов проводится в соответствии с приоритетами процессов. Высший приоритет у процессов, к-ые обрабатывают события и ожидания. Следущие по старшинству – связанные с работой дисков. События, связанные с терминалами, временем суток, пользовательскими процессами получают более низкий приоритеты. Пользовательским процессам приписываются приоритеты в зависимости от кол-ва получаемого ими процессорного времени. Процессы с большим временем имеют более низкие приоритеты.
Процессы вталкивания и выталкивания. Процессы могут выталкиваться (выкачиваться) во вторичную память и вталкиваться (подкачиваться). Как в первичной, так и во вторичной памяти выделяется стратегия свободного пространства, имеющего общее название (если процессу требуется дополнительная память он её запрашивает непосредственно у ядра). Ему выделяется новая, большая секция памяти, чтобы вместить процесс и всё содержимое старой памяти копируется в новую область памяти вместе с процессом, а старая область освобождается. Завершение процессов может происходить аварийно (преднамеренно) при помощи примитива EXEC (выход) или непреднамеренно, как результат запрещенных действий (для О.С. сигналы или ловушки предписанные пользователем). Ловушки, связанные с ошибками к программе, т.е. обращаться к некорректным адресам памяти или попытка выполнить программу с несуществующим кодом операции. Для снятия процесса в Ю используются директивы: interrubt – процедура прерывания, quit – увольнение.
Файловая система UNIX. Файл – это множество символов с произвольным доступом, его размер – число содержащихся в нём символов, на физическом уровне до 1000000000 символов. В файле содержатся произвольные данные и не имеет другой структуры, кроме наложенной пользователем.
Диск разбивается на 4 блока: 1.Неиспользуемый блок. 2.Управляющий (суперблок) – содержит размер диска и др. областей. 3.i-список, состоящий из описания файлов, наз. i-узлами. 4.Область для хранения содержимого файла.
Каждый i-узел содержит: --идентификацию владельца –идентификацию группы владельца –биты защиты –физические адреса на диске или ленте, где находится содержимое файлов –время создания файлов –размер файла –время последнего его изменения –число связей (ссылок на файл) –индикация (является ли файл директорией, обычным файлом или специальным файлом).
Следом за i-списком идут блоки памяти, предназначенные для хранения содержимого файлов. Пространство на диске, оставшееся свободным от файлов образует связанный список свободных блоков. Т.о. файловая система UNIX представляет собой структуру данных, размещенных на диске и содержащую управляющий суперблок, в котором определена вся файловая система в целом, массив i-узлов, в которых определены файлы в файловой системе, сами файлы, совокупность свободных блоков. Выделение пространства осуществляется блоками фиксированного размера. Таблица.
Каждый файл однозначно идентифицируется старшим номером устройства, младшим номером устройства i-ым номером (индексом i-го узла данного файла в массиве i-узлов). Когда вызывается драйвер устройства, но старшему номеру индексируется массив входных точек в драйверы. По младшему номеру драйвер выбирает одно устройство из группы идентичных физических устройств. Файл директории, в котором перечислены имена файлов позволяет установить соответствие между именами и самими файлами. Директория образует древовидную структуру, на каждый физический обычный файл, или файл устройства могут существовать ссылки (потенциальные ссылки в различных узлах этой структуры).
В непривелегированных программах запись в директории не разрешена,но при наличии паролей-приоритетов они могут быть прочитаны. Дополнительных связей между директориями нет. Большинство системных директорий UNIX используются для своих нужд. Один из них – корневой директорий, который является базой для всей структуры директорий и считая его отправной точкой можно найти размещение всех файлов. Файл не являющийся директорией можно встречать в различеых директориях, иногда под разными именами – это явление называется связыванием. Элемент директории, относящийся к одному файлу называется связью. Такие связи в UNIXе имеют равный приоритет.
Понятие оболочка. Оболочка в Ю – это механизм взаимодействия между пользователем и системой. Т.е. это интерпретатор команд, который считывает, набираемые пользователем команды и запускает выполнение запрошенных системных функций. В отличие от ядра оболочка не располагается резидентно в основной памяти, а подкачивается туда по мере необходимости, т.е. она является прикладной программой и поэтому пользователи могут писать свою индивидуальную оболочку для своих прикладных програм (сценарий).
Транспортеры и фильтры. Транспортер – это открытый файл, соединяющий два процесса. Информация записывается в транспортер на одном конце, файл можно считывать на другом. Схемка. Синхронизация, диспетчеризация и буферизация обеспечиваются UNIXом автоматически. Воспользовавшись транспортерами между парами процессов можно организовать конвейер, связав процессы друг с другом в линию. Оболочка обеспечивает конвейеры линейной структурой. Процессы могут быть взаимосвязаны и более сложно.
Фильтр в сист. Ю – это программа с одним входным и одним выходным потоками. В этом смысле Ю оставляет большое число фильтров. (например: языковые процессоры в Ю не выводят листинга, их вывод направляется фильтру, который печатает все необходимые листинги в едином унифицированном формате.
Многозадачность (мультипрограммирование). Пользователь может задать многозадачность, сопровадив команду знаком &. В этом случае оболочка не ожидает завершения выполняемой команды. Она даёт приглашение на ввод новой команды, продолжая выполнять предыдущую команду в фоновом режиме. Вновь задаваемая команда может быть файлом, содержащем другие команды, тем самым пользователь, работающий в интерактивном режиме может запустить в качестве фона последовательность пакетных работ.
Windows.
MS в 1985 г. разработал первую версию Windows. Начиная с 1990 г. появилось несколько новых модификаций. Обеспечивается возможность одновременного выполнения нескольких программ и переключение с одной на другую.
Обмен данными Windows: 1) Буферная передача данных; 2) Динамический обмен данными; 3) Механизм связи и внедрения объектов (OLE-технологии); 4) Проектирование программных продуктов и систем (CASE-технологии).
Возможности для разработчиков.
Основная идея оболочки Windows — естественность представления информации, которая должна представляться в той форме, которая обеспечивает наиболее эффективное усвоение этой информации человеком.
Windows — замкнутая рабочая Среда. ? операции Windows могут заканчиваться без выхода из нее. Это ОС графического типа, где юзеру не нужно вводить директивы в виде текстовых строк. Все операции поддерживаются мышью. Обеспечивается независимый запуск и выполнение нескольких программ. Очень хорошая интеграция (встраиваемость программ). Windows — мультиагентная Среда.
Режимы работы: 1) Стандартный; 2) Расширенный. Реализуются параллельные процессы с автоматическим разделением во времени; 3) Работа в режиме MS-DOS; 4) Режим виртуальной памяти.
Концепция RISC-архитектуры и транскьюторы.
RISC-машины обладают сокращенным набором команд. Идея RISC-архитектуры порождена с одной стороны развитием сверхбольших интегральных схем, а с другой стороны стремлением реализовать с наименьшими аппратными средствами машины с большими вычислительными возможностями. RISC-машины появились в начале 1980х годов.
Среднестатистические данные показали: 80% команд исполняются в течение 20% машинного времени. Возникла идея разбиения сложной команды на элементарные, добившись роста производительности.
Архитектура RISC-процессора: 1) Упрощенный и фиксированный состав команд (одинаковая длина и структура); 2) Аппратная реализация управления вместо микропрограммного; 3) Выполнение всех (большинство) команд за 1 такт; 4) Осущ. доступа к памяти только через команды загрузки в процессор и записи в запоминающее устройство.
Преимущества: 1) Сокращеееный набор команд позволяет строить эффективные компиляторы; 2) Интенсивность исполнения больших регистровых стеков уменьшает число обращений к памяти; 3) Снижение аппаратных затрат улучшает надежность, технологичность.
Превосходство RISC-машин в 2-4 раза по производительности (по сравнению с простыми). Проблема возможности применения языков высокого уровня.
Транспьютер — компонент многопроцессорных систем. Эта ориентация определяет значение транспьютора для реализации в ЭВМ 5го поколения.
Вычислительная система, состоящая из N транспьюторов с быстродействием N операций в секунду ничего не теряет в суммарном быстродействии N*N операций в секунду. Можно создавать сверхвысокопроизводительные системы.
Первый транспьютер появился в 1979 г. (микропроцессор нового типа с емкой памятью, с простым и быстродействующим ЦП, а также эффективными средствами связи) связан с появлением языка высокого уровня Аккам (Мэт и Баррон). Язык позволил описать систему, состоящую из набора транспьюторов как ряд параллельных процессов, которые происходят совмесно и независимо друг от друга. Особое внимание в транспьюторе уделяется организации сквозных обменов при взаимодействии нескольких транспьюторов.
Характеристики:
Память данных — 64 16разрядных килослова.
Память команд — 4 16разрядных килослова.
Скорость передачи данных по шине — 350 Mb в сек.
Скорость передачи (I/O) — 150 Mb в сек.
Диспетчер задач является основной ОС транспьюторов. Отслеживает ресурсы, управляет процессами запуска и остановки задач, топология транспьюторного ядра. Осуществляет управление ресурсами системы, управление конфигурацией транспьюторного ядра, ведет статистику выполнения задач, тестирует, собирает информацию об отказах.
Общие представления о системе БД.
Современные системы информации имеют различные назначения и объем этой информации постоянно увеличивается. Основным требованием является интеграция информации и эффективность обработки. В сис. БД взаимосвязанные данные называются системой.
? сис., предназначенная облегчить труд человека. Кроме обычных форм знаний требуется создание сложной модели реального мира.
! ЯДРОМ ИНФОРМАЦИОННОЙ СИСТЕМЫ ЯВЛЯЮТСЯ ХРАНИМЫЕ ДАННЫЕ !
Данные описывающие конкретную предметную область должны храниться в легко доступном виде.
Накопители данных: магнитные диски, стриммеры, CD, М/О диски и т.д. Координатором БД выступает ОС. Говоря об обработке данных подразумевают некоторую предметную область.
Объект — может быть человек, предмет, событие, место или понятие о котором записаны данные. Клиенты, банковские счета и т.д.
Атрибут (элемент данных) — каждый объект харак-ся рядом атрибутов (дом: габариты, цвет, размер участка. Клиент банка: ФИО, адрес, идентификационный номер).
Значение данных.
Значения данных представляют действительные данные, содержащиеся в каждом элементе данных. В зависимости от того, как элементы данных описывают объект, их значения могут быть количественными, качественными и описательными. Информацию о некоторой предметной области можно представить несколькими объектами, каждый из которых описывается несколькими элементами данных.
Данные — принимаемые элементами значения.
Экземпляр, объект — единичный набор, принимаемый элементами данных значений.
Концептуальная модель — соответствующая модель объектов со составляющими их элементами данных и их взаимосвязями. Объекты связаны между собой. Концептуальная модель дает общее представление о потоке данных в предметной области.
Ключевые элементы данных (идентификаторы) — элементы данных, по которым можно определить другие элементы данных.
Кандидаты в ключевые элементы данных — иногда на практике однозначно идентифицировать объект могут 2 или более элемента данных.
Выбирать ключевые элементы данных следует с определенной тщательностью, так как это способствует созданию концептуальной модели данных.
Запись данных — совокупность значений связанных элементов данных. Значения, которые принимают элементы данных образуют запись.
Преимущества универсальных подпрограмм.
Универсальная подпрограмма (УП) обеспечивает заранее определенные методы доступа, освобождая прикладного программиста от необходимости кодирования, тестирования и отладки специфических методов. Реализует обобщенные методы доступа, позволяя удалять, добавлять, заменять, и искать данные. Обобщенные методы доступа распространены в ОС.
Методы доступа или УП гарантирует разную степень независимости от физического хранения данных, при котором изменение физического хранения могут отражаться в методах доступа и не требовать внесение изменений в прикладные программы. Вместо отдельных подпрограмм могут применяться универсальные методы доступа, поэтому прикладному программисту не нужно писать программы обслуживания файлов данных.
(...)
Недостатки традиционной организации файдов данных: избыточность данных (такое состояние данных, которое дублируется многими программами, могут храниться в различных местах.
При отсутствии инструмента БД пришлось решать ряд сложных задач, которые вызвали трудности недостаточных средств защиты хранимых данных, неадыкватная процедура восстановления, трудности с ведением длинных записей, трудности с адаптивностью, высокая стоимость программирования и сопровождения, сложность процедур управления и эксплуатации ЭВМ.
Ограничение разделения данных.
Данная задача может возникнуть при обработке данных из различных файлов. В этом случае программа управления ресурсами должна следить за правильностью исполнения данных и чтобы не было избыточности данных из различных файлов.
БД
БД — совокупность связанных данных конкретной предметной области различного назначения. Определение данных и отношений между ними отделены от процедурных предложений программы.
Разница между БД и файлом.
БД может иметь несколько назначений, соответствующих о различных представлениях о хранимых данных. Несколько назначений может иметь и файл, но соответствует только одному представлению. Несколько представлений файла ==> сортировка данных. Множество назначений БД возникло из ее использования многими юзерами.
СУБД
Для интеграции файлов в БД и обеспечения различным юзерам различных представлений от данных необходима система.
СУБД — Hard & Soft, программная логика и процедуры обеспечивающие управление БД.
? СУБД создает возможность доступа к интегрированным данным, которые пересекают операционные, функциональные организационные границы в предметной области.
Недостатки интеграции данных:
Из-за интеграции отдельных данных в БД, юзеры теряют право единоличного владения этими данными ==> уменьшается достоверность данных. Если не предусмотреть повышение мер недостоверности данных ==> проблемы с защитой в БД. ? интеграция в БД уменьшает секретность хранимой информации.
Требования к СУБД: 1) Эффективность выполнения различных функций предметной области; 2) Минимизация избыточности; 3) Предоставление для процесса принятия решений непротиворечивой информации; 4) Обеспечение безопасности; 5) Отсутствие повышенных требований к персоналу, связанное с разработкой прикладных программ; 6) Реорганизация БД; 7) Централизованное управление; 8) Упрощение эксплуатации ЭВМ.
БД должна: 1) Удовлетворять актуальным требованиям внешних юзеров, обеспечивать хранение и модификацию больших объемов информации; 2) Обеспечивать заданный уровень достоверности хранимой информации и ее непротиворечивость; 3) Обеспечивать доступ к секретным данным только спец. юзерам; 4) Возможность поиска информации по ключу; 5) Удовлетворение требованиям по производительности обработки запросов; 6) Возможность реорганизации и расширения при замене границ ПО; 7)Различные виды выдачи информации; 8) Простота и удобство обращения к инф.; 9) Обеспечивать возможность одновременного обслуживания большого числа юзеров.
Администратор БД (АБД).
АБД — лицо, ответственное за выполнение функции администрирования БД.
АБД не обладатель БД, а ее хранитель. С усложнением предметной области усложняются процессы формирования инф. и принятия решения ==> расширение спектра функций аминистрирования БД. Главный принцип — непротиворечивость данных.
АБД должен: координировать все действия по сбору инф. Ее проектирование и ведение в целом. А также ЗИ.
Независимость данных.
Прикладному программисту для организации доступа к данным надо знать: 1)каков формат; 2) где распологаются; 3) как обратиться к ним.
Используя ту или иную БД и не зная ее внутреннего представления, этим достигается независимость данных. Возникают модернизации, связанные с экспортом и импортом файлов в БД (добавление и усечение БД).
Причины, порождающие необходимость независимости данных: 1) АБД должен проводить изменения содержания, расположения БД; 2) поставщик Hard & Soft обработки данных должен вводить новые технологии не требуя перепрограммирования программ клиента.
Необходимо обеспечить разделение данных представляя их по разному ограниченно прикладным программистам.
Защита АБД.
Два уровня независимости данных. Процесс проектирования БД начинается с установления концептуальных требований ряда юзеров. Эти требования интегрируются как единое обобщенное представление, из которого образуется концептуальная модель предметной области.
Транслирование концеп. модели (адаптация) в ? совместимую область с выбраннной СУБД.
Логическая модель — версия концеп. модели, которая может быть обеспечена конкретной СУБД. Логич. модель отбражается в физическую память.
Внешние модели — юзерам выделяются подмножества этой логич. модели.
Внутренняя модель — физмческая модель, специфицирующая размещение данных, методы доступа, технику индексации.
Логич. модель обуславливается требованиями к СУБД, поэтому при замене СУБД она также изменяется.
(схема №1)
Концеп. модель — требования отдельных юзеров. Логич. модель — версия концеп. модели, которая может обеспечивать СУБД. Внут. модель — физическая модель, учитывающая размещение данных, методы доступа, индексирование.
Словарь данных (СД).
СД — централизованное хранилище сведений об объектах, составляющих их элементов данных, взаимосвязями между объектами, их источниках, значениях, использованиях и форматах представления. Служит средством, которое представляет единообразную инф. обо всех ресурсах данных. СД — стандарт БД.
СД включает функции: 1) устанавливает связи с другими юзерами; 2) осущ. эффективное управление данными при изменении последних; 3) уменьшает избыточность и противоречивость данных; 4) определяет степень влияния изменений в элементах данных на всю БД; 5) централизованное управление элементами данных.
СД содержит сведения о других категориях данных (группы элементов данных, БД и перекрестные ссылки на элементы и группы данных). Отслеживает каждую программу, которая в каждый момент использует какие-то данные.
Требования к БД с точки зрения конкретного юзера: 1) должна удовлетворять актуаль. инф. потребностям; 2) должна работать в реальном времени производительности; 3) должна удовлетворять требованиям конечных юзеров; 4) должна легко расширяться при реорганизации и при расширении предметной области; 5) должна легко модифицироваться при изменении Hard & Soft Среды (адаптивность); 6) данные должны до их загрузки в БД проверяться на достоверность; 7) доступ к данным по приоритету.
БД как автоматизированная система.
БД как оперативная компонента включает два конструктивных элемента: 1) БД; 2) СУБД.
Процесс обработки данных СУБД не является очевидной задачей, так как включает в себя многоэтапность и мультизадачность в зависимости от постановки задачи.
Составляющие БД:
(схема №2)
Языковые средства БД.
(схема №3)
Языковые средства предназначены: 1) для общения юзеров разных классов с БД; 2) служат для описания различных компонентов БД, а иногда и внешних по отношению к банку элементов, находящихся с ними в взаимодействии, а также обращение к нужным частям БД.
Языки описания данных (ЯОД) классифицируют в зависимости от своего значения.
Схема — описания состава и логич. организации БД, а соответствующий язык — язык описания схем.
Подсхема — описание части БД, представляющей интерес для определенного юзера (различные приложения).
Язык описания хранимых данных — среда хранения БД и соответствующая отображаемой схемы в память и описанная на данном языке.
Кроме языковых средств, предназначенных для описания БД, в состав некоторых БД входят специальные языковые средства для описания внешних к БД инф-ных совокупностей (языки описания входной информации, языки описания выходных сообщений). Особое место в языках общения с БД занимают языки общения с БД. В зависимости от сосбенностей БД языковые средства, их синтаксические и семантические свойства, способы реализации, круг лиц, на который они ориентированны могут изменяться в широком диапазоне ( от языков программирования высокого уровня до языков, ориентированных на конечного юзера “псевдо-языки”). СУБД, требующие написания прикладных программ на универсальных языках программирования включают в свой состав языки манипулирования данными (ЯМД), которыми программист пользуется для организации передачи данных между его собственным процессом и БД. ЯМД является полным языком, он опирается на включающий язык (базовый язык программирования “входной язык”), то есть из различных программ, написанных на процедурных языках программирования. Для юзеров в БД разработаны специальные языки запросов. БД обеспечивает различные режимы работы с информационной системой. При общении с БД широко используется режим диалога, для поддержания которого предназначены языки ведения диалога (постоение сценариев, запросов и так далее).
Схема взаимодействия компонентов БД:
(схема №4)
Схемы, подсхемы и схемы хранения проектирования и описания на ЯОД в соответствии с методическими указаниями, приоритет (1). Эти описания переносятся на HDD, вводятся в систему (2) и переводятся в объект и загрузочные представления (3), которые хранятся в соответствующей библиотеке. После этого подготавливаются и вводятся в систему входные данные (4) и производится загрузка БД (5). Запросы БД формируются на языке общения с БД (6) и вводятся в систему (7). Выходом из БД (8) являются выходные данные в процессе запроса, диагностические сообщения о работе базы (сбои, отказы, устранение их). Архивы — сохранение и комплексный анализ предшествующих наработок, статистика общения с базой.
Архитектура БД с адаптивной моделью.
Модель данных отражает для юзера информационное содержание БД. Записи модели создаются на момент, когда они затребуются прикладной программой (чтение из БД и тд.). СУБД реализует отображение (прямое или обратное). Модель данных ? Хранимая БД.
Модель представления хранимых данных — внут. модель БД.
Внешняя млдель ? Концеп. модель ? Внут. модель ? Физическая модель.
Общая схема обмены информацией в БД:
(схема №5)
Уровни моделей.
В ? БД отражается инф. об опреденной предметной области (часть реального мира, представляющая интерес для данного исследования и отражаемая в инф-онной системе). В автоматизированных инф. системах предметные области представляются моделями нескольких уровней.
(схема №6)
Даталогич. модель—модель данных логич. уровня, поддерживаемая средствами СУБД.
Эта модель престав собой отображение логических связей между элементами данных, строится с учетом ограничений конкретной СУБД. В БД предпологается интегрированное хранение данных, поэтому необходима соответствующая модель предметной области.
Инфологич. модель предметной области — описание предметной области, выполненное без орентации на используемые в дальнейшем программы и технические средства.
Для привязки даталогич. модели к среде хранения используется физическая модель. Модель каждого из последующих уровней строится на основе фиксированных характеристик моделей предыдущих уровней.
Выделение моделей: 1) разделить сложный процесс отображения предметной области БД на несколько более простых отображений; 2) обеспечить специализацию БД; 3) обеспечить предпосылки автоматизации.
Глобальные модели отображают точку зрения АБД. Локальные модели — взгляды различных юзеров. Концеп. модель обеспечивает интегрированное представление предметной области.
Роль подсхемы. Наличие подсхем в архитектуре современных СУБД имеет большое значение. При обращении к БД юзеру надо знать ее логич. структуру, наличие подсхемы защищает данные. Соответствие состава и структуры требованиям юзера увеличивает независимость программ от данных, обеспечивается возможность применения различных языков программирования.
Классификация БД.
БД являются сложными системами, объединяющими разнотипные компоненты и выполняющие различные функции. Классификация БД производится как с точки зрения системы в целом, так и по отдельным характеристикам подсистем в отдельности. По используемому языку общения юзера с БД различают системы с базовым языком (открытые системы) и с собственным языком (замкнутые системы).
В открытых системах для обращения к БД используется язык программирования, расширенный операторами ЯМД, что требует непосредственного знания языка при общении с БД. Основной целью на этом этапе ==> автоматизация процесса написания программ для общения с БД (автоматический синтез программ для общения с БД). Связи с применением открытых систем при большом разнообразии типов запросов эффективным является реализация не регламентированных по содержанию запросов. Системы с базовыми языками требуют от программиста знание логической структуры той части БД, к которой он имеет непосредственный доступ.
Замкнутые СУБД имеют собственные самостоятельные языки общения юзеров с БД. Они позволяют обходиться без прикладных программистов и обеспечивать непосредственное общение с БД в режиме вопрос - ответ или в диалоговом режиме. Жесткой границы между открытыми и замкнутыми системами не ?. В настоящее время в связи с широким развитием работ по автоматизации проектирования инф-ных систем с реализацией тенденции программирования без программистов все разработанные системы все больше наделяются свойствами замкнутых систем.
В зависимости от особеностей моделей поддерживаемых БД различают следующие системы: системы со структурированными, неструктурированными и частично структурированными БД. Системы со структурированной БД ориентированы на предварительную классификацию объектов реального мира на установление свойств и связей, которые будут фиксироваться в БД, а также на предварительное определение форматов для хранения данных. Структурированные БД называются также форматированными или БД с детерминированной схемой. БД с детерминированной схемой удается представить как массовые предсказуемые события в предметной области. В системах с неструктурированной БД совокупность видов свойств и видов взаимосвязей объекта с другими объектами определяется только в момент появления каждого реального объекта в поле знания СУБД.
Среди детерминированных систем в зависимости от типа модели данных, поддерживаемых БД различают: 1) иерархические БД; 2) сетевые БД; 3) реляционные БД.
Некоторые системы сочетают в себе особенности систем различных классов. Например, возможность связывания между собой деревьев делает структуру, ограниченной сетью в то время как идеология обработки данных и особенности использования языковых средств сохраняют черты, присущие иерархическим системам. Такие системы относятся к классу смешанных систем. Кроме того имеются системы, позволяющие поддержать одновременно несколько разнотипных моделей — мультимодельные системы.
Модели неструктурированных данных условно разделяются: 1) дескрипторные; 2) дескрипторные с грамматикой; 3) модели на семантических сетях; 4) фреймовые модели.
По числу поддерживаемых СУБД уровней моделей данных различают: 1) одно-уровневые системы; 2) двух-уровневые системы; 3) трех-уровневые системы.
То есть концептуальный, внешний и внутренний уровни. Несмотря на широкое использование этой концепции в теоритических исследованиях, на практике СУБД часто объединяют концептуальный и внутренний уровни представления, иногда может отсутствовать аппарат подсхем как внешний уровень. Однако имеются системы, поддерживающие более чем 3 уровня представления данных: 1) информационные (такие СУБД, которые позволяют организовать поиск, выдачу нужных данных из БД поддерживая их целостность, актуальность. Если в БД осуществляется кроме того иная обработка по получению информации, не хранящейся в явном виде в БД — операционные системы); 2) операционные системы (свойства операционности могут быть заложены в СУБД, например, могут обеспечиваться прикладными программами (модулями) общего или функционального назначения).
Классификация по сфере приминимости.
СУБД делятся: 1) универсальные (такие СУБД настраиваются на ту или иную предметную область путем создания соответствующей БД и прикладных программ); 2) проблемно-ориентированные системы.
Проблемная ориентация СУБД может быть обусловлена различными причинами: 1) особенностями использования языковых средств; 2) включение в СУБД процедур обработки данных, учитывающих предметную область.
Большинство СУБД являются универсальными с широким спектром применения.
По допустимым режимам работы различают системы с пакетной, местной и телеобработкой. Изначально многие СУБД обладали возможностью обеспечивать только пакетного режима работы.
По характеру хранимой информации выделяют БД для экономической, научно-технической, социально-политической, технологической и др. информации.
По способу организации обработки данных различают: 1) локализованные (достаточно 1 ЭВМ); 2) распределенные БД (БД реализуется на нескольких ЭВМ).
Распределенные БД (РБД).
Первоначально РБД отождествлялась с рапределенной БД по узлам сети, однако распределяться могут и другие компоненты БД, поэтому здесь используется понятие РБД, которое в процессе ипользования (ее компоненты) должны быть разделены только физически, но не логическом уровне. Логическая интеграция РБД означает, что вся РБД потенциально доступна из ? узла. В системах с РБД кроме понятия “схема” вводится понятие “супер-схема” — описание РБД как логически целой информационной совокупности. В РБД функции АБД распределены между администратором интегрированной БД и администраторами локальных БД. ПО каждого узла сети кроме компонентов, используемых в локальных БД содержат 2 дополнительных компонента: средства управления связью, сетевую систему управления БД. С помощью сетевого компонента выявляются сведения о нахождении данных в системе, определяется, куда послать запрос на обработку.
Преимущества и недостатки РБД.
Преимущества:
РБД позволяет совместить децентрализованные и централизованные системы, т.е. есть возможность распределения нагрузки между различными компонентами системы. РБД обладает лучшими адаптивными свойствами и меньшей увствительностью к выходу из строя отдельных компонентов.
Недостатки:
Сложность. В РСУБД больше функций, чем в обычной СУБД. Проблемы синхронизации при обработке поисковых и корректирующих запросов. Сложная задача проектирования БД как на логическом, так и на физическом уровнях. В РБД часто появляются дополнительные уровни модели данных ==> увеличивается время обработки. Сложнее стоит вопрос с ЗИ.
(схема №7)
(схема №8)
Классификация РБД. В зависимости от однородности компонентов РБД различают однородные (гомогенные) и разнородные (гетерогенные) чаще всего эта классификация производится относительно используемых ЭВМ и СУБД. Гомогенные системы являются более простыми как с точки зрения проектирования и эксплуатации, гетерогенные более сложные и гибкие. По распределяемым ресурсам различают: системы с распределенными БД и распределенными СУБД. Системы РБД могут быть как с распределенными, так и с едиными СУБД. Системы с расп-ми СУБД обязательно являются системами с РБД. Наряду с очевидными достоинствами распределенные системы с централизованой БД имеют и недостатки. Высокая стоимость передачи данных, низкая надежность, большое время реакции системы. В многомашинном комплексе технических средств могут эффективно распределятсяся отдельные ф-ии системы обработки данных. Так ф-я по управлению данными могут быть переданы отдельной ЭВМ, такие системы называются внутрикомплексные распределенные системы со специализированными ЭВМ. Машины выполняющие ф-ии управления БД называют процессорами БД или файловыми процессорами. Их роль обычно несут универсальные ЭВМ. ЭВМ которые используются для выполнения всех остальных фынкций по обработке данных за исключением управления БД называются главными машинами. Кроме того аналогичное распределение функций может быть выполнено в рамках 1-й ЭВМ такие машины называются би—функциональными. Применение таких машин отл их от стандартного применения БД по способу организации процесса внутримашинной обработки данных. БД в системах с РБД могут : равноправными и неравноправными. Сеществует много способов распределения данных по узлам сети, крайним вариантом является полностью избыточные сети, в которых инфа дублируется в каждом узле сети. Распределенные системы – это системы в которых ни какая инфа хранится не более чем в 1-м узле. По способу адресации запроса системы с распределенными БД делятся на безадрессные и с явной адресацией. В без адрессных системах используются разные способы определения место нахождения нужных данных, а именно хранение справочников в каждо узле, а также последовательный опрос узлов. В соответствии с топологией выделяют: сетевые, иерархические, звездообразные. Различают физ и логическая топология. Физическая топология определяет действ-й путь прохождения запроса в сети. Логическая топология определяет связи БД с пользователем без деталей их физической реализации. :):):)СХЕМА:):):).
МОДЕЛИ ДАННЫХ. Инфологический подход проектирования БД.
БД преставляет некоторую целевую модель предметной области. При проектировании любой БД проектировщик должен уметь выделить и описать те факторы которые четко определяют границы предметной области. Следующим этапом является отображение ранее описаных факторов в структуре БД. Предметная область БД считается определенной если извесны все существующие в ней объекты их свойства и отношения. Предпологается что ПО БД :(:(:( в некоторый момент времени может быть описан савокупностью предложений некоторого языка определяющего все все истинные в момент времени t факты. БД представляет собой описание состояния предметной области на формализованом языке. Проектирование любой БД начинается с предварительной структуризации предметной области, идет классификация объектов предметной области, устанавливаются их взаимосвязи и т.д. Согласно инфологическому подходу при проектировании БД необходимо различать след явления реального мира- инфу об этих явлениях, представление этой инфы посредством данных.Объектные системы имеют следующие сост-я: объект, св-ва, связь, время. Эти состоляющие являются основными состояниями объектной системы.
Объект в инфологической подходе это то о чем в информационной системе должна накапливатся инфа. Выбор объекта происходит в соответствии с целевым назначением информационных систем. Сами объекты могут рассматриватся как атамарные, либо как составные. Один и тот же объект, но в различных приложениях может рассматриватся как атамарный или составной. Для каждого объекта должна быть произведена декомпозиция с выделением отдельных компонентов. Каждая связь между объектами по числу входящих в нее объектов характеризуется степенью n, объекты имеют определенное состояние как в отдельные моменты времени, так и в течении временных интервалов. Концепции времени позволяют строить динамические модели(модели реального времени) в которых отображаются зависимость от времени состовляющие объекты системы. Основные состовляющие объекты системы. могут быть скомбинированые в базисные структуры называемые эл-е ситуации. Для конкретной предметной области (для определения типа объектов)эл-я ситуация, существующая в некоторый момент времени наз-ся элементарными фактами.. Объекты групируются в типы объектов, группы объектов, св-ва формируют атрибуты, эл-е ситуации групируются в типы эл-х ситуаций. Информационная сфера представляется понятиями с помощью которых можно формально описать и проанализировать об объектной системе. Основные понятия- Сведения: для каждого определяется предметная цель, те указывается к чему она относится, а именно к объекту, объектной группе, связи, вр-ни, ситуаций. Одни и те же сведения могут относится к одной и той же состовляющй объектной сист и наоборот. Определеные однозн-е сведения наз-т универсальным именем. Сведения не имеющие универсальной однозначности наз-ся локальным именем. Структура эл-го сообщения соотв-т структуре эл-й ситуации , х –свед об объекте, у –свед об связях, z- свед о времению. Эта тройка содержит полную инфу об объекте. Если хотя бы одна из этих составляющих отсутствует то получится не полное эл-е сообщение. Полное эл-е сообщение выражают эл-е ситуации объект системы и выступает в качестве эл информационных единиц. Чтобы отобразить объект сист в информацию сферу необходимо опред какие объекты важны для данного применения, какие св-ва должны иметь, какие связи существуют между объектами, какие имена можно присваивать отдельным сост-м объектной системы. Выполненая спецификация и представляет собой инфологическую модель объект-й сист в которой полностью отображены св-ва. Кроме инфологического подхода существует ряд других подходов проектированию информационных моделей которые основываются на разл-х эл-х базисных конструкция. Основные разл-я подходов состят в уровне абстрагир-я и выборе сост базисных конструкций
Модель сущность связь. Эта модель является не формальной моделью предметной области и используется на этапе инфологического проектирования БД. Она позволяет моделировать объекты предметной области в которых применяется БД. Простота модели применение естественного языка, легкость ее понимания позволяет использовать ее как инструмент с целью сбора инфы о предметной области. Основное назначение модели сущность связь – это семантическое описание предметной области и предоставление инфы для обоснования выбора видов моделей и структур данных. Основными компонентами моделей являются: сущность, атрибут и связь. Составляющие время в составе констукционных элементов в явном виде отсутствует. Сущность. Собирательное понятие, некоторая абстракция реально существующего объекта, процесса и явления, о котором необходимо хранить инфу в системе. В качестве сущностей в моделях предметной области могут рассматриваться материальные объекты реальной действительности (предприятия, изделия, сотрудники и т.д., а также не материальные: описание книг, статей и т.д.).
Атрибут- поименованная характеристика сущности. Атрибут принимает значения из некоторого множества значений. В модели атрибут выступает в качестве средства, с помощью которого моделируется свойства сущностей. Сущность книга: название, ФИО автора, год издания. Для того чтобы задать атрибут в модели необходимо присвоить ему наименование, привести смысловое описание объекта, определяется множество допустимых значений, указывается роль для чего он используется. Основная роль атрибута -описание свойства сущностей.
Связь. В модели, связь выступает в качестве средства с помощью которого представляются отношения между сущностями в предметной области. При анализе связей между сущностями могут встречаться бинарные связи(связи между 2-мя сущностями )тернарные (связи между 3-мя сущностями) и нарные связи. Наиболле часто используются бинарные связи. Для определения характера взаимосвязи между парами связанных элементов используются отображения и ассоциации. Ассоциация – односторонняя связь. Отображение- савокупность ассоциаций(прямой и инверсной те это 2-х сторонняя связь).
Бинарные связи.
Отображение 1:1 Это отображение представляет такой тип связи между элементами а и в. Когда каждый экземпляр элемента а соответствует экземпляру в и наоборот.СХЕМА1. Один ко многим (1:М). Под этим отношением подразумевается такой тип связи между элементами а и в когда одному экземпляру элемента а соответствует 0,1 или несколько экземпляров элемента в. Однако каждому экземпляру элемента в соответствует только один экземпляр элемента а. СХЕМА2. Отображение многие к одному (М:1). СХЕМА3. Многие ко многим (М:М) С помощью отображения многие ко многим определяются такой тип связи при которых каждому экземпляру а может соответствовать 0,1 или несколько экземпляров элемента в и наоборот. СХЕМА4. Ассоциация типа 1(простая). Ассоциация этого типа определяет однонаправленную связь от элемента а к элементу в при которой одному тому же экземпляру а соответствует один и тот же экземпляр элемента в. При этом обратная связь не определена. СХЕМА5. Ассоциация типа М (сложная). Определяет однонаправленную связь от элемента а к элементу в при котором одному и тому же экземпляру а соответствует 0,1 или несколько экземпляров элемента в, при этом обратная связь не определена. СХЕМА6. Структура данных. Структурирование данных базируется на использовании концепции агригации и обобщения. Например: в файловой структурах реализующих модель (“плоский фаил”). Понятие базиса подразумевает 4-х типов логических структур данных. Поле (поименованая единица данных), запись (поименованая савокупность полей), фаил (поименованая савокупность экземпляров записей одного типа), набор файлов (поименованая савокупность фаилов), элемент данных- наименьшая поименованая единица данных. к которой СУБД может непосредственно адресоватся. СХЕМА. Агрегат данных- поименнованая савокупность элементов данных внутри записи которую можно рассматривать как единое целое. Агрегат данных может быть как простым так и составным. СХЕМА. Запись-поименованая савокупность элементов данных или элементов данных и агрегатов. Запись – это агрегат не входящий в состав ни какого другого агрегата. Набор- поименованая савокупность записей образующих 2-х уровневую иерархическую структуру. Групповое отношение- используется для задания связей между группами в БД(1:1,1:М,М:1, М:М)
Операции над данными включают в себя селекцию данных, т.е. выделение из всей совокупности именно тех данных, над которыми должна быть выполнена требуемая операция. Селекция выполняется любым из способов с учётом логической позиции данного, значения данного (абсолютного), связи между данными. При селекции по значению данных, критерий селекции может определять простые или булевые условия отбора. Простые условия имеют вид: (Оператор условия: , =, …). На основе простых условий можно построить более сложные булевые условия (и, или, не, …). (Например: Образование = Высшее AND стаж > 1года).
Виды операций по характеру действия: --идентификация данного и нахождение его в позиции БД --(чтение) выборка данного из БД --включение (запись) данного в БД --удаление данного из БД (или группы данных) --(изменение) модификация данных в БД.
Процедуры БД. Это последовательнсть операций, позволяющих реализовывать определённые алгоритмы обработки данных. Особенность любой процедуры БД – неделимость её действий (подобно макрооперации). Прцедуры БД – мощные и гибкие средства, позволяющие существенно расширять свойства модели данных.
Моделирование знаний и данных. Это ключевой вопрос предметной области в теории автоматизированных БД. Виды моделей: --модель предметной области --модель данных --модель БД --модель Базы Знаний. Каждая модель хранит знания о моделируемом фрагменте предметной области (информационная функция модели). Содержание знаний является семантической стороной.
Смантика модели – то, что отвечает за смысловое содержательное сходство модели с оригиналом.
Синтаксис модели – совокупность формальных выразительных средств модели для представления её структуры. Основные синтаксические элементы – это знаки, из которых путём пространственного расположения строятся графы как синтаксическое представление модели, т.е. теоретическое представление об объекте, что предполагает использование имеющейся априорной информации в качестве теоретических знаний, накопленных в научно-технической документации и в памяти специалистов. Для таких моделей существенны математический и инструментальный аспекты.
В математическом аспекте модель данных представляет собой результат процесса моделирования, в качестве объекта выступают модели: предметная область, БД и знания.
В инструментальном аспекте модель рассматривается не как результат моделирования, а как средство (инструмент) конструирования этого результата, т.е. модель, реализованная на ЭВМ становится инструментальным средством моделирования.
Модель предметной области БД подразделяется на: --концептуальную (инфологическую) --даталогическую. Инфологическая модель ориентирована на пользователя, даталогическая на реализацию в конкретной вычислительной среде.
Проектирование БД.
Этапы: Схема. 1.Проектирование. 2.Материализация. 3.Конвертирование. 4.Интеграция. 5.Эксплуатация. 6.Развитие, совершенствование и сопровождение.
1.Проектирование БД. Структура БД является моделью предметной области, она должна точно представлять и удовлетворять её требованиям. Поэтому необходимо, чтобы проектирование поддерживалось всеми функциональными подразделениями предприятия, которые обязаны описать и определить элементы данных с точки зрения управляющего и пользователя. На этом этапе АБД должен устранить все противоречия и двусмысленности в определениях. Фактически проектирование сводится к описанию области проектируемой в терминах её наиболее важных объектов и внутренних связей. На этом этапе особую роль играет словарь данных. Проект БД должен быть легко расширяемым (модифицируемым) и программно модернизируемым.
2.Материализация БД. Более сложно. После определения физической структуры, удовлетворяющей эксплуатационным требованиям (паспорт БД). Описание структуры физической БД необходимо передать СУДБ. Чаще, такие описания заносятся в библиотеку описания БД, куда по необходимости могут заноситься и логические представления (взаимосвязи) (внешние модели). До загрузки среды БД желательно реализовать её экспериментальный прототип, или построить её модель. На основе прототипа можно получить приемлемую оценку эксплуатационных характеристик БД, в том числе заранее спрогнозировать увеличение увеличение объёма БД и числа её функций. Применение полной БД без предварительного тестирования недопустимо. С увеличением объёма данных (числа связей) в БД время обработки запросов увеличивается и может стать очень большим (критически) при неправильном представлении структуры БД.
Шаги (подуровни) проектирования БД: Схема. 1.Идентификация основных объектов предметной области + Идентификация использующих прикладных программ (утилит) для внедрения. 2.Определение объектов и их взаимосвязей. 3.Построение собственного словаря данных (тезаурус). 4. А) Построение концептуальной модели предметной области. Б) Построение логической (инфологической) модели. В) Моделирование – создание реальной модели. 5.Анализ и оценка.
Физика внутренних процессов в процессе проектирования: Схема. 1.Создание скелетных структур для физической БД и внешних моделей. 2.Загрузка прототипа БД. 3.Проверка соответствия прототипа эксплуатационным требованиям. 3.1.Утилиты (прикладные программы). 4.Проверка: отвечает ли прототип эксплуатационным требованиям (если да, то 5., если нет то 4.1.). 4.1.Вернуться на этап 1.Проектирование. 5.Проверка: выполнены ли требования по безопасности, секретности, разграничения доступа (если да, то 6., если нет, то 5.1.). 5.1.Совершенствовать систему безопасности, секретности и разграничения доступа. 6.Загрузка полной БД. 7.Проверка на соответствие эксплуатационным требованиям. 8.Проверка: получены ли требуемые характеристики БД (если нет, то вернуться к 1.Проектированию, если да, то перейти к 3.Конвертирование.
3.Конвертирование данных во вновь созданную БД. БД часто развиваются из уже существующей БД обработки данных. Схемка. 9.Проверка: все ли существующие наборы данных подлежат конвертированию (если нет, то 9.1., если да,то 10.) 9.1.Выделить не подлежащие конвертированию наборы данных. 10.Перейти к созданию физической БД на этапе 2. И включить БД для прикладных пограмм в единую БД.
4.Интеграция конвертированных данных и новых прикладных программ для работы в среде вновь созданной БД. Этот этап может сильно пересекаться с этапом 3., поэтому на этом этапе необходимо обеспечить возможность простого изменения физической структуры БД, т.е. поддержку разработки прикладных программ, предназначенных для управления БД.
5.Эксплуатация. Здесь, все использующие БД прикладные программы работают с полной загрузкой, поэтому здесь задействуют структуры, которые обеспечивают секретность, безопасность и разграничение доступа. Необходимо предусмотреть процедуры восстановления данных с контрольной точки (точки повреждения).
6.Сопровождение – последний этап жизненного цикла системы с БД. Практически в любой области постоянно поисходят изменения. Это означает приспосабливание к изменениям. В большинстве случаев современные БД не требуют больших трудозатрат, это связано с мобильностью, адаптивностью БД и т.д.
Состав группы АБД. Эксперт по вопросам эксплуатации – эксперт-менеджер, до 2-ух человек (эксперт по связям с группой эксплуатации). Эксперт по системным вопросам (до 4-ёх человек) (эксперт программного обеспечения). Эксперт по прикладным программам (до 4-ёх человек) (системные аналитики). Эксперты по сопровождению словаря данных – библиотекари (2 человека). Эксперты по языку запроса (до 2-ух человек) (поддерживают диалоговые режимы работы). Ревизор – 1 человек (выявляет недостатки в работе созданной системы).
Функции словаря данных: --Ревизор системы обработки данных –Компиляторы и библиотеки программ –АБД –Генератор отчётов –Любые прикладные программы –БД –СУБД. Это схема.
Модели данных в процессе проектирования.
Концептуальная модель (модель предметной области)—выражает организацию упорядочивания и обмена представлениями. Она не зависит от СУБД. Любую концептуальн. модель необходимо отобразить в логическую модель, поддерживаемую в конкретной СУБД, а логическую в физическую, т.е. как при проектировании обычных БД.
Обзор моделей данных
Иерархическая модель данных
Древовидные иерархические структуры широко используются в повседневной человеческой деятельности Древовидные структуры—всевозможные классификаторы, ускоренный поиск информации, иерархические функциональные структуры управления.
Иерархические модели данных базируются на использовании графовой и табличной форм представления данных.
В графической диаграмме схема БД: вершина графа—используется для интерпретации типов сущностей, а дуги – для интерпретации типов связей между типами сущностей. При реализации, вершины представляются таблицами описаний экземпляров сущностей соответствующего типа.
Основные внутренние ограничения иерархической модели данных :
1 все типы связей должны быть функциональными: 1:1 1:М М:М
2 структура связей должна быть древовидной (графовой)
3 Процесс структурирования данных в иерархической модели имеет особенности: древовидная структура или дерево – это связанный ориентированный граф, который не содержит цикла. Обычно при работе с графом выделяют конкретную вершину и определяют ее как корень графа, в который не должно заходить ни одно ребро, т.е. дерево становится ориентированным. Ориентация определяется от корня, корневое дерево как ориентир графа может определяться сдедующим образом: имеется единственная вершина, называющаяся корнем, в которую не заходят ребра, а во все остальные вершины заходит только одно ребро, или нет циклов.
С точки зрения программирования, граф рассматривается как структура, состоящая из меньших деревьев (поддеревьев), как рекурсивная структура. Рекурсивно дерево определяется как конечное множество Т, состоящее из одного, двух или более узлов, таких, что существует один специально выделенный узел, называемый корнем. Остальные узлы разбиты на n непересекаемых подмножеств Т1...Тn, каждое из которых является деревом.
Из определения дерева следует, что любой узел дерева –корень некоторого поддерева, принадлежащего полному дереву. Число поддеревьев – степень узла. узел называется концевым, если имеет 0 степень. Иногда концевые узлы называют листьями, а ребра ветвями. Узел не являющийся ни корневым ни концевым, называется узлом ветвления.
Иерархическая древовидная структура ориентирована от корня и удовлетворяет условиям: иерархия всегда начинается с корневого узла ; на первом уровне иерархии может находиться только корневой узел ; на нижнем уровне находятся порожденные узлы. Каждый порожденный узел, находящийся на i-ом уровне, связан только с одним непосредственно исходным узлом, находящемся на i-1 уровне иерархии ; каждый исходный узел может иметь 1 или несколько порожденных узлов, называющихся подобными ; доступ к каждому порожденному узлу выполняется непосредственно через его исходный узел; существует единственный иерархический путь доступа к узлу начиная от корня дерева.
Таблица1. Более чем 15-м уровнем вложенности не пользуются.
Если между узлами нет других узлов, то тогда это будут непосредственно исходный и порожденные узлы.
Графическая диаграмма схемы БД для иерархических БД называется деревом определения.
Вершина дерева определения БД соответствует введенным типам групп записей, с помощью которых выполняется интерпретация типов сущностей. При этом в корневой вершине дерева определения соответствует тип корневой группы, а остальным вершинам типы зависимых групп.
Дуга дерева отношений соответствует групповому отношению. Дуги обычно называют связью исходной – порожденной.
На внутреннем уровне древовидные структуры могут быть представлены различным способом. (пример: отдельные экземпляры структуры м/б представлены как экземпляры записи файла )
Многие иерархические СУБД (реляционные) могут поддерживать несколько различных БД, в этом случае каждая БД на внутреннем уровне представляется одним файлом, который объединяет экземпляры записей одного типа со структурой,
соответствующей схеме этой БД.
Прародитель всех иерархических БД является 1 модель СУБД Ака. Структурными единицами в этой БД являлись: поле, сегмент, физическая связь, логическая связь, физическая БД.
Поле—поименованная наименьшая единица данных. Поле принимает символические и числовые значения. Сегмент—поименованная совокупность полей Физическая/логическая связь—понятия групповых отношений.
Главным сегментом группового отношения объявляется исходный, детальный сегмент—порожденная физическая БД—поименованная совокупнсть экземпляров сегментов и физических связей, образующих иерархическую структуру максимум 15 уровня. Количество сегментов в иерархической БД ограничено числом 255, количество полей 1000. Таблица2.
Сетевая модель данных.
СМД базируется на графовой форме представления данных. Вершина графа используется для интерпретации типов сущностей., а дуги – типов связей.
При реализации моделей в различных СУБД, можно применять различные способы представления в памяти системы данных, описывающих связи м/у сущностями.
Доминирующее влияние на развитие СМД в соответствии со стандартами СУБД оказала группа Кодасил (стандарт ISO) Модель Кодасил постоянно развивается, по мере совершенствования вычислительной техники. По мере появления новой версии, появляется новый стандарт.
Типы структур в модели Кодасил.: элемент данных, агрегат, запись, набор, БД. Таблица3.
Вершинам графа соответствуют составные единицы информации, которые называются записями. Экземпляры записей образуют файлы.
Допустим структура записей в различных системах БД различны ( в одних—это линейная последовательность полей, в других структурах возможна иерархическая структуризация записей)
Почти во всех СУБД, поддерживающих сетевые модели, м/у парой типов записей м/б объявлены несколько типов связей. Направление и характер связей в сетевых моделях не являются очевидными, по сравнению с иерархическими моделями. Поэтому имена и направления связей должны указываться как при графическом изображении БД, так и при ее непосредственном описании на языке обработки данных. В большинстве современных СУБД беспроблемно реализуется сетевая модель.
М/у каждой парой типов записей поддерживается отношение 1:М.
Структуры сетевых БД строятся на основе следующих правил: БД может содержать любое количество типов записей и типов наборов; м/у двумя типами записей м/б определено любое количество типов наборов; тип записи м/б одновременно и владельцем и составным элементом нескольких различных типов наборов.
Основные ограничения сетевой модели с т/з реализации ее, является реализация трех типов отношений : 1:м, 1:1, М:1. Вводят вспомогательный тип записи для поддержания отношения М:М и две связи 1:М и М:1. Таблица 4.
Системы с разнородными файлами.
В принципе в сетевую структуру возможен вход ч/з любую ее вершину, однако не все СУБД поддерживают такие сети. Существует ряд систем в которых файлы несут разную функциональную нагрузку.
В таких системах файлы БД разделяются на 2 типа: основные (главные) и зависимые. Причем каждый файл может выступать в одном из этих качеств.
Вход в систему м/б осуществлен только ч/з главные файлы. Различие м/у фалами оговаривается и указывается как при графическом изображении БД, так и при написании на ЯОД.
В сетевых системах с разнородными файлами существуют различия на устранение связей м/у ними. А именно: можно соединить м/у собой файлы разных типов.Табл5
Ограничения затрудняют прозрачность отображения предметной области в даталогической модели. При использовании сетевой модели с разнородными файлами, доступ к записи главного файла возможен как непосредственно, так и с зависимого файла. Доступ же к записи зависимого файла возможен только ч/з главный файл.
Системы на основе инвертированных файлов.—они поддерживают сетевые модели данных. Особенностью организации данных в этих системах заключается в том, что собственно хранимые данные и информация о связях логически и физически отделены друг от друга. Основной тип отношений м/у файлами—это М:М Вся управленческая информация сосредотачивается в ассоциаторе—файле генераторе.
Реляционная модель данных.
Рмд широко используется при построении БД. Они выступают не только в роли даталогических моделей, непосредственно поддерживающих конкретную СУБД, но и качестве вспомогательных промежуточных моделей при проектировании БД.
Рмд находят активное применение в качестве виртуальных моделей при построении мультиагентных – мульимодельных систем (internet – технологии)
Информационные единицы в реляционной модели : домены, атрибуты, отношения
Атрибуты—элементарные информационные единицы. Домен представляет собой ПУЛ (составная единица) значений из которых извлекаются фактические значения атрибутов. Отношение в рмд – двумерная таблица, граф которой является наименьшим атрибутом, а значение элементов каждого из столбцов данной таблицы извлекается из соответствующих доменов.
Т.о. со структурной точки зрения, рмд являются более простыми и однородными чем сетевые и иерархические модели.
Отношения в реляционной модели д/б нормализованы. Существует 5 нормальных форм. Домены не всегда фиксируются в БД в явном виде.
Характерная особенность реляционной модели: связи м/у отношениями устанавливаются не явном виде, а динамически, по равенству значений соответствующих атрибутов.
В реляционной модели каждому объекту предметной области соответствует одно или несколько отношений.
Если необходимо в явном виде зафиксировать связь м/у объектами, то она тоже выражается в виде отношения, в котором в качестве атрибутов присутствуют идентификаторы взаимосвязанных объектов. Т.о. и объекты предметной области и связи м/у ними отражаются в рмд посредством одинаковых информационных конструкций, что значительно упрощает модель.
Система называется полностью реляционной, если она : 1 поддерживает структурные аспекты реляционной модели ; 2 выполняет соответствующие ей правила включения, коррекции, исключения; 3система обладает подъязыком данных, по меньшей мере таким же мощным как алгебра отношений. Система в которой выполняются 1,2 условия, но не выполняется 3 называются полуреляционными.
Различают бинарные рмд и рмд допускающие отношения произвольных степеней—более известны.
В реляционных системах используются языки манипулирования различных типов: языки основанные на реляционной алгебре, реляционных исчислениях, языки, базирующиеся на концепции отображения.
Могут широко применятся процедурные языки, которые манипулируют отдельными картежеми отношений.
Пусть существует декартово произведение доменов Д1...Дк его можно представить Д1...Дк=Д1*Д2...Дк, где Д1={a11, a12,...,a1i,...,a1n}...
Дк={ak1,ak2,...,aki,...,akn}
Они образуют множество кортежей длинны к, состоящих из к-элементов по одному из каждого домена di, имеющего вид: (d1i,d2i...dkik)
Например: Д1={A,2} Д2={B,C} Д3={4,5,D}. Задача: требуется найти декартово произведение доменов. Д=Д1*Д2*Д3={(A,B,4), (A,B,5), (A,B,D), (A,C,4), (A,C,5), (A,C,D), (2,B,4), (2,B,5), (2,B,D), (2,C,4), (2,C,5), (2,C,D)}
Отношение R называется подмножеством декартового произведения Д1...Дк (R->Д1,Д2...Дк) Отношение R, определенное на множествах Д1...Дк, есть некоторое множество кортежей арности к, т.е. элементарных отношений являющихся кортежами.
Схема кортежного отношения на доменах. Таблица6.
В ряде случаев отношение удобно представлять как таблицу, где каждая строка есть кортеж, а каждый столбец соответствует тому же компоненту декартового произведения.
Такие таблицы обладают следующими свойствами : 1 порядок столбцов фиксирован 2 порядок строк безразличен 3 любые 2 строки различаются хотя бы одним элементом 4 строки и столбцы таблицы могут обрабатываться в любой последовательности.
Список имен атрибутов отношений называется схемой отношения.
Если отношение является R и его схема имеет атрибуты А1...Ак, то схема отношения обозначается в БД следующим образом: R(A1,...,Ak)
Существует аналогия м/у схемой отношения и ?, м/у кортежем и записью, м/у отношением и файлом.
Одной из возможных реализаций отношения является файл записи, формат которого соответствует схеме отношения.
Реляционные БД содержат конечное множество отношений экземпляров:
R1(A11,A12,....,A1k1),R2(A21,A22,...,A2k2),..., Rm(Rm1,Rm2,...Rmk)
Выполнение операций над отношениями.
Для получения информации из отношения необходим язык манипулирования данными, выполняющий соответствующие операции над отношениями.
Наиболее важным в ЯМД является раздел формирования запросов. Т.к. запросы в общем случае представляют собой произвольные функции над отношениями, необходимо решить вопрос о требуемой выразительности языка запросов.
Для этих целей были разработаны 3 абстрактных теоретических языка: 1 реляционная алгебра ;2 реляционное исчисление с переменными кортежами; 3 реляционное исчисление с переменными доменами.
Языки запроса 1-о типа –алгебраические языки. Они позволяют выражать запросы средствами специализированных операторов, применяемых к отношениям.
Языки 2-о и 3-о типов—это языки исчисления, которые позволяют выражать запросы путем спецификации предиката, которому должны удовлетворять требуемые кортежи (домены). Эти языки служат эталоном для оценки существования реальных языковых запросов.
Самым распространенным языком запросов является SQL, разработан Кодасил в 1970 г. Также есть ISBL и QBE (по структуре похожие на SQL)
Эти языки обеспечивают не только функции соответствия теоретического языка или их комбинаций, но и реализуют некоторые дополнительные комбинации –операции, а именно: арифметические операции, команды присваивания и печати.
Реляционная алгебра.
При определении реляционной алгебры и ее операций предполагается, что порядок столбцов в отношении фиксирован, а сами отношения конечны.
Основные операции:
1 объединение отношений R=R1uR2. Операция применяется к отношениям той же арности. Таблица 7.
2 разность отношений R=R1-R2 разностью R1-R2 называется множество кортежей принадлежащих только R1 и не принадлежащих R2 Отношения R1 R2 R д/б одинаковой арности.
3 декартово произведение отношений R=R1*R2. Если отношение R1 имеет арность к1, а отношение R2 арности к2, то декартовым произведением R1*R2 называется множество кортежей арности к1+к2, причем первые к1 –элемент образуют кортежи из отношения R1, а последние к2 –элементов образованы кортежами из отношения R2. R1*R2-->(k1+k2)
4 проекция отношения R1 на компоненты i1,i2,...,ir (R1-->i1,...,ir) Запись: R=п i1,i2,...,ir (R1), где i1...ir- номера столбцов отношения R1. Операция проекции отношения заключается в том,что из отношения R1 выбираются указанные столбцы и компоненты в указанном порядке.
5 селекция отношения R1 по формуле R, R= ? f(R1), где F –это форма, которая м/б образована а) опероидами, являющиеся номерами столбцов б) логическими операторами : и, или, не. в) арифметическими операторами сравнения.. В формуле м/б использованы скобки.
6 пересечение отношений R=R1 ? R2 =R1-(R1-R2)
Реляционные исчисления с перменными доменами.
В реляционных исчислениях с переменными доменами не существует переменных кортежей. Вместо них существуют переменные на доменах.
В остальном реляционное исчисление с переменными на доменах строятся так же как переменные на кортежах, с теми же операторами.
Атомами формул м/б: 1) R(x1...xk), где R к-арная отношение xi, i=1...k –константа или переменная на некотором домене. Запись означает: атом R с отношением указывает значение тех xi, которые являются переменными и которые д/б выбраны т/о, чтобы x1...xk было кортежем отношения R.
2) x ? y, в этой записи x и y константы или переменные на некотором домене. ?– арифметический оператор сравнения. смысл атома x y заключается в том, что x и y представляют собой значения при которых атом истин.
формулы в реляционном исчислении с переменными на доменах используют логические связки и, или, не и кванторы всеобщности и существования.
Общая запись выражения с переменными на домене:{x1...xk| ? (x1...xn)} ?–формула, которая обладает свойством, что только ее свободные переменные на доменах являются различными переменными.
Пример: {x1x2|R1(x1x2)?(?y)(? R2(x1y)?? R2(x2y)} Означает множество таких кортежей в R1, что ни один из их компонентов, не является первым компонентом какого-либо отношения R2.
Реляционные исчисления с перменными кортежами.
Вид выражения: { t/.?. (t)} t относится к.?. (t) ; t—единственная свободная переменная –кортеж. Обозначить кортеж фиксированной длины, если необходимо указать арность кортежа, то ti—i –арность. Пси- это некоторая формула, построенная по специальным правилам.
Для обозначения переменных кортежей чаще пользуются прописными буквами.
Пример:{t(R1(t) U R2(t))} интересуют все кортежи t принадлежащие R1(t) или R2(t). запись справедлива когда R1(t) и R2(t) имеют одинаковую арность. Эта операция эквивалентна операции U в реляционной алгебре.
Формулы в реляционном исчислении строятся из атомов и совокупности операторов (арифметических и логических)
Атомы формул бывают 3-х типов: 1) R(t), R – имя отношения. Атом означает, что t есть кортеж в отношении R. 2) S[i] ? u[j], где s и u являются переменными кортежами, ?-арифметический оператор (>= u[5] 3-й компонент переменной s >= 5-го компонента переменной u. 3) s[i] ? a равносильно a ? s[i],где a-конст. пример: s[3]=70 3-й компонент кортежа s равен 70.
При записи формул используются понятия свободных и связанных переменных кортежей, это связано с применением в этих формулах кванторов.(? и ?) Кванторы играют ту же роль, что и декларации в языках программирования.
Понятие свободных переменных аналогично понятию глобальных переменных, описывающихся в текущей процедуре. Понятие связанных переменных аналогично локальным переменным, описывающимся в текущей процедуре.
Определение формул, а так же свободныхи связанных вхождений переменных кортежей.
1) каждый атом—есть формула, все вхождения переменных кортежей упомянутых в атоме являются свободными. 2) если ?1 и ?2—формулы, то справедливо: 1. ?1 1? ?2 являются истинными, 2. ?1U ?2 обе истинны и также являются формулами. В виде дополнения в литературе добавляют ? ?1—тоже является формулой. Экземпляры переменных кортежей являются свободными или связанными. 3) если ? - формула, то существует такая S(?), которая тоже является формулой,т.е. ?--> ?S(?) 4) если ?-формула, то существует S(?) тоже формула. 5)Формула в случае необходимости может заключаться в ( ), порядок старшинства: 1-арифметические операторы сравнения; 2-кванторы всеобщности и существования; 3-логические операторы: не, и,или (?,?,?)
Теорема1: устанавливающая эквивалентность безопасных выражений в исчислении выражением в реляционной алгебре.
Формулировка: «если Е – выражение реляционной алгебры, то существует эквивалентное ему базисное выражение в реляционном исчислении с переменными кортежами» Для основных операций реляционной алгебры можно указать следующие соответствующие выражения реляционного исчисления на переменных кортежах. 1) R1UR2-->{t/R1(t)UR2(t)} 2) (R1-R2)-->{t/R1(t) ?,? R2(t)} читается: множество кортежей t, что t принадлежит R1 и не принадлежит R2.
Выражение исчисления с переменными на доменах эквивалентны заданному выражению исчисления с переменными на кортежах.
{t/ ?(t)}
1)если t является кортежем арности к, то вводится к новых переменных на доменах t1,t1...tk ; 2) атомы R(t) заменяются атомами R(t1,t2,...,tk) : R(t)-->R(t1...tk); 3) каждое свободное вхождение t[i] заменяется на ti; 4) для каждого квантора существования или всеобщности вводится m переменных на доменах, где m –арность u. [?u],(?u)-->m-->u1...um. в области действия этой квантификации действуют замены R(u)-->R(U1...Um) ; U(i) --> Ui ; (? U)--> (?U1)...(?Um) ; ( ?u)--> (?U1)...(?Um) ;5)выполняется построение выражения {t1...tk/ ? (t1...tk}, ? -это ? в котором осуществлена замена переменных.
Теорема2: для каждого безопасного вырожения реляционного ичисления с переменными кортежами существует эквивалентное безопасное выражение реляционного исчисления на доменах
Теорема3: для каждого безопасного выражения реляционного исчисления с перменными на доменах существует эквивалентное ему выражение реляционной алгебры.
Дополнительные возможности языка манипулирования данными в реляционных системах.
ЯМД выходит за рамки абстрактных языков, т.к. для обработки данных требуются операции выходящие за рамки возможностей реляционной алгебры. Это прежде всего следующие команды: включить данные, модифицировать данные, удалить данные.
Арифметические выражения: 1) арифметические вычисления и сравнения могут непосредственно включаться в формулы селекции реляционной алгебры выражений или в атомы в выражениях реляционного исчисления 2) команды присваивантя и печати 3) агрегатные функции –это функции применяемые к столбцам отношений, в результате выполнения которых вычисляется одна единственная величина.
Т.к. реляционные языки могут реализовывать функции не имеющие аналогов ни в реляционноцй алгебре, ни в реляционных исчислениях, то в действитеьности эти языки являются более чем полные, некоторые функции этих языков дублируются.
Полным считается язык в котором реализуются все возможности реляционного исчисления с переменными кортежами, либо спеременными на доменах, или реляционной алгебры.
Ограничение модели.
1) Отношения в БД обладают всеми свойствами множеств. Основным (жестким) ограничением является невозможность представления в отношении кортежей дубликатов. Оно означает, что каждое отношение имеет по крайней мере хотя бы один первичный ключ ( в крайнем случае он состоит из всех атрибутов)
В реляционной модели данных ключ определяется кк неизбыточное подмножество атрибутов схемы отношения, совокупность значений которых однозначно идентифицирует кортеж в отношении. Отношение может иметь несколько ключей, так называемых возможных ключей. Один из возможных ключей выбирается в качестве первичного ключа отношения.
2) При традиционной форме представления отношения порядок столбцов фиксирован, однако, если столбцы поименованы и при выполнении операций над данными пердставленными в отношении, обращаться к столбцам по их именам, то это ограничение снимается.
Назначение атрибутов в модели – можно задавать разнообразные ограничения в явном виде : можно специфицировать область значений атрибутов, задавая тип значений. Для задания более общих ограничений можно использовать предикаты.
ЯОД в реляционных СУБД обычно имеет развитые средства для описания явных ограничений целостности, т.е. он не затрагивает стандартов.
На практике ограничение целостности: ограничение на зависимости м/у атрибутами. Для явного задания ограничений целостности м/б использованы функциональные и ??? зависимости м/у атрибутами.
Функциональные зависимости : x,y --> R атрибут y отношения r функционально зависит от атрибута x отношения R.
Если в каждый момент времени каждому значению атрибута x соостветствует тоже значение атрибута y. x-->y читается: x зависит от y -- теорема о функциональной зависимости.
Свойствa из теоремы: аксиома 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. Аксиома 4)—свойство расширения : x ? u, y ? u : x-->y ; z ? u : x и z -->y
Многозначные зависимости.
Теорема для многозначной зависимости : многзначная зависимость существует, если при заданных значениях атрибутов, существует множество состоящее из нулей ( или более взаимных значений атрибутов y), причем множество значений атрибутов y не связано со значениями атрибутов в отношении u-x-y. обозначение: x-->-->y.
Аксиома 1) –дополнение для многозначной зависимости: если x прин u, y прин u, x-->--> y, то имеет место многозначная зависимость x-->-->u-x-y
Аксиома 2)—пополнение для многозначной зависимости : если x прин u, v прин u, w прин u, y прин u, v прин w, x прин y, то имеет место многозначная зависимость
W объединено k -->--> v объединено y
Аксиома 3) – транзитивность для многозначной зависимости : если x прин u, y прин u, то имеет место многозначная зависимость x-->-->y, y-->--> x, то имеет место x-->-->z-y.
Т.о. формальная проверка многозначной зависимости должна выполняться на множестве z всех возможных экземпляров кортежей рассматриваемого отношения.
КЛЮЧИ ОТНОШЕНИЙ
Формальное определение ключа.
Если R-схема отношения с атрибутами: A1..An, и множество F функциональных зависимостей X-подмножество множества атрибутов, то X называют ключом в случае выполнения следующих условий:
1. зависимость X-> A1..An принадлежит полному замыканию (F+) (полному множеству функциональных зависимостей), которое можно получить из F с помощью правил вывода;
2. ни для какого собственного подмножества X зависимость Y из атрибутовY-> A1..An,Y принадлежит X, не принадлежит полному замыканию F+.
Условие (2) ставит вопрос о минимальности ключа. Данный ключ только тогда будет являться ключом отношений, когда он является минимальным (max ссылок связей в отношениях). В противном случае ключом будет 1 или более элементов из его подмножеств.
ОПР. (о первичных атрибутах).
Атрибут A является первичным тогда и только тогда, когда он входит в состав любого ключа (первичного или возможного) в отношении R.В противном случае – атрибут непервичный.
Нормализация отношений (подразумевается неизбыточность базы)
Задача группировки атрибутов в отношениях, при условии, что набор возможных отношений заранее не фиксируется, допускает большое количество различных вариантов этих отношений и приводит к проблеме выбора рационального варианта из множества альтернативных вариантов схемы отношений. Рациональные варианты группировки атрибутов в отношении должны отвечать следующим требованиям:
1.выбрать для отношений первичные (и возможные) ключи, которые должны быть минимальными.
2.выбрать состав отношений базы, который должен быть минимальным (отличающийся минимальной избыточностью атрибутов).
3.не должно быть трудностей при выполнении операций включения, удаления и модификации данных в БД.
4.перестройка набора отношений при введении новых типов данных, должна быть минимальной.
5.разброс времени ответа (время реакции системы) на различные запросы к БД должны быть минимальным (доли секунд, мкс).
Существуют определенные трудности на практике, связанные с выполнением операций включения, удаления и модификации данных в БД при неправильном проектировании БД (В данное время должно выполняться с помощью case-технологий.).
Пусть существуют реляционные БД со следующей схемой и экземпляром отношения: поставка (индекс, название поставщика, адрес, товар, цена).
Адрес поставщика на практике будет повторяться для каждого поставляемого товара. Такие ситуации называются аномалиями модификации в БД, связанные с каким-либо изменением в БД. Если у поставщика изменился адрес, то должны выполняться соответствующие изменения данных адресов во всех картежах, где оно встретилось. Если бы этого не происходило в реальных БД, то в противном случае БД стала бы противоречивой, и нарушилась бы целостность картины данных БД.
1.Аномалия удаления
В данном примере возникнет при попытке удаления всех картежей, где существует поставка от одного поставщика. В этом случае в системе теряется адрес и название поставщика (хотя с ним может существовать договор и т.д).
2.Аномалия включения
Возникает в том случае, когда с поставщиком заключается договор, но поставок от поставщика не было, в данном случае нельзя включать в БД название поставщика и его адрес, так как нельзя полностью сформировать картеж (нет данных о поставщиках).
Для того чтобы решить эти проблемы, выполняется нормализация исходных схем отношения проекта, их композиция и декомпозиция, и назначение ключей для каждого отношения по определенным правилам нормализации.
Введены 5 уровней схем нормализации отношений.
Поднимаются согласно правилам вложенности по возрастанию номеров.
СХЕМА.
Если находится в 4 НФ, то и находится в 3 УНФ, 3 НФ, 2 НФ, 1 НФ.
1 НФ.
Схема R находится в 1 НФ тогда и только тогда, когда все входящие в нее атрибуты являются атомарными.
2 НФ.
Если X-ключ отношения R, Y принадлежит X, А является непервичным атрибутом отношения R, то говорят что в отношении R имеет место частичная зависимость (неполная функциональная зависимость) X->A и Y->A. Схема отношения R находится во 2 НФ, если она находится в 1 НФ, и каждый ее непервичный атрибут функционально полно зависит от первичного ключа отношения, находящегося во 2 НФ.Может обладать аномалиями для операции включения, удаления и модификации БД.
3 НФ.
Схема R находится в 3 НФ, если не существует ключа X для R множества, атрибута Y принадлежит R и непервичного атрибута А из R таких, что выполняется следующее: X->Y, Y->A, Y-/>X (для R).
Схема R находится в 3 НФ, если она находится во 2 НФ, и каждый непервичный атрибут нетранзитивно (не напрямую) зависит от первичного ключа. В тех случаях, когда отношение имеет только 1 ключ и в нем отсутствуют многозначные зависимости, 3 НФ освобождается от избыточности и освобождается от аномалий включения, удаления и модификации БД. В тех случаях, когда в отношении отсутствует многозначные зависимости, но существует 2 и более возможных ключа. 3 НФ может иметь аномалии операций. В этом случае для снятия их рассматривается 3 УНФ (НФ Бойса-Кодда).
4 НФ.
Если в отношении R присутствуют многозначные зависимости, то схема отношения должна находится в 4 НФ. От 3 НФ отличается тем, что существует многозначная зависимость из X->->Y {0}, Y-подмножество X, но X содержит какой-либо ключ отношения R.
5 НФ (Проекционно-соединительная).
Отношения находятся в этой форме тогда и только тогда, когда каждая зависимость соединения R подразумевается потенциальными ключами отношения R. Декомпозиция схем отношений на ряд подсхем. Нормализация выполняется декомпозицией схем отношений.
Если R={A1..An} P={R1..Rk}
Композиция R1 U R2 U..U Rk={A1..An}
МЕТОДЫ ФИЗИЧЕСКОЙ ОРГАНИЗАЦИИ ДАННЫХ.
Физичиские структуры данных показывают каким образом данные отражаются в среде хранения. При отражении данных с определенной логической структурой, с одной стороны должна сохранятся их симантика, а с другой должна обеспечиваться эффективность обработки данных. На физические структуры оказывает влияние АБД и запоминает устройства, так как размещение данных на разных носителях имеют свою специфику. По способу закрепления места в памяти различают позиционные и непозиционные структуры. В позиционных структурах место и роль элементов заранее однозначно определено, элемент имеет степень закрепления. Иногда структура БД становится гибкой, когда в ключ вводится логика, такие структуры становятся вычисляемыми или рандомизированными. В непозиционных структурах элементы жестко не закреплены, задается логический порядок следования данных, способ отображения связей между ними в памяти, а также порядок, согласно которому определяется следующий элемент. По способу отображения связей между элементами различают последовательно-смежные, списковые структуры.
В последовательных структурах элементы логически следуют друг за другом, располагаясь в смежных участках памяти. В списковых - связи между элементами данных передаются посредством адресных указателей. Для отражения связей между элементами данных используются символические указатели.
Символическая связь – повторение значения поля, по которому производится связывание. Обычно связывающий компонент – идентификатор данных. Связи между элементами данных отражаются с помощью битовых структур. В этом случае кроме файла, содержащего сведения об объектах создаются 1 или несколько битовых структур (битовых векторов или матриц), показывающих взаимоотношения элементов основного файла. Совокупность индекса и индексного массива является индексной структурой. В БД обычно используют довольно сложные многоуровневые логические структуры данных. Сокращение объема памяти в БД занимаются специализированные архиваторы, являющиеся утилитами БД. Проектирование физических и логических структур данных тесно связано между собой.
Последовательная организация хранения данных (ПОХД).
ПОХД обладает следующими преимуществами:
1.отсутствие дополнительной адресной информации и плотное размещение данных в запоминающей среде, приводящее к сокращению объема памяти.
2.возможность использования любых носителей информации.
3.сокращение времени обработки при условии, что порядок размещение на носителе совпадает с требованием в порядке обработки.
4.простота организации данных и манипулирование ими, так как идет увеличение объема памяти и уменьшение цены, то значимость 1 и 2 фактора снижается.
Последовательные структуры данных имеют недостатки:
1.неудобство корректировки.
2.необходимость разворачивания нелинейных логических структур в линейные.
3.трудности в обеспечении адекватного, интегрированного отображения предметной области.
4.длительность выборочного поиска.
5.адаптация новых элементов данных последовательную структуру должно выполняться согласно логическому порядку следующего элемента, что вызывает необходимость физического перемещения данных.
В последнее время в связи с широким распространением реляционной БД, использование последовательных данных в файлах увеличивается. Многие реляционные СУБД предусматривают организацию хранения каждого отношения данных в качестве видимого файла.
Списковая организация хранения данных.
Заключается в использование адресных указателей для связей элементов данных. Различают списковую организацию с совместным и раздельным хранением, с объектной, собственной, ассоциативной, адресной информацией, однонаправленные и двунаправленные списки. Такая классификация списковых структур традиционная. Взависимости от характера связывания элементов, списковая структура может связывать однотипные элементы данных в единую структуру – однородный список. На одном и том же множестве элементов может быть задано несколько связей, каждая из которых выделяет подмножество элементов, это списки – многосвязные. Если информация в списках одного типа, то информация называется гомогенной. Если информация разнородна, то список называется гетерогенным.
СХЕМА.
Многосвязные списки широко распространены, так как отображение в БД предметной области требует много связей. C другими такие структуры просты в реализации, позволяющие сократить дублирование данных, уменьшить время обработки данных за счет выделения подмножеств для различных запросов и сокращении в следствии этого числа просматриваемых элементов. Кроме связывания однотипных используются в БД разнородные (гетерогенные) структуры, соединяющие разнотипные элементы данных.
При создании БД возможны различные организации однородных и гетерогенных структур. В некоторых БД каждому из типов элементов может ставиться отдельная отдельная совокупность (файл). Такая структура – многофайловая структура.
Списковая организация обладает преимуществами:
1.возможность естественным путем передавать сложные логические взаимодействия между элементами, при корректировках списковых структур добавление и анулирование элементов в списках производится без физического перемещения элементов путем изменения адреса элементов, при этом память может быть повторно использована вновь добавляемым элементом. Новые элементы могут быть привязаны к любому месту памяти.
2.позволяют динамически наращивать состав БД без существенного изменения существующих ее частей.
3.устраняют дублирование данных (избыточность), позволяют на одном и том же множестве элементов обеспечивать их различную упорядоченность.
4.просто могут быть организованы в любой прямоадресной памяти.
НЕДОСТАТКИ:
1. Большой расход памяти на указатели.
2. Физический разброс данных по носителю, увеличивающий время обработки данных.
3. Потеря адреса связи в каком-либо элементе списка, делает недоступным всю оставшуюся часть структуры, а искажение адреса приводит к аварийным ситуациям.
4. Списковая структура нуждается в сложном управлении свободной памяти.
5. Эффект дробления памяти приводит к необходимости реорганизации массива.
СИМВОЛИЧЕСКИЕ УКАЗАТЕЛИ. (СУ)
В любой БД устанавливаются СУ, если они автоматически поддерживают СУБД.
СУ имеют ряд преимуществ перед адресными:
1. Позволяют производить независимую реорганизацию связанных массивов.
2. Повышают семантическую самостоятельность каждой из связанных совокупностей.
3. Могут быть реализованы в памяти любого типа.
НЕДОСТАТКИ:
1. Расходуется больше времени на поиск и корректировку данных.
2. Требуется больше памяти, чем адресным указателям.
ИНДЕКСНАЯ СТРУКТУРА.
Понятие индекса используется по-разному.
Цель использования индекса – ускорение поиска. В сложных структурах данных индексы могут использоваться в других целях: для повышения устойчивости структуры, сокращения дублирования, для обеспечения быстрого доступа по разным путям к одним и тем же хранимым данным. Различают структуры с плотной и разряженной индексацией.
При плотной, каждой записи этого файла соответствует элемент индекса. При
разряженной элементы индекса соответствуют группе записи индексированного файла. При организации БД преимущество плотной индексации.
Характеристика индексных структур – способ организации индексного массива и связаные с ним особенности корректировки структуры.
При разряженной индексации –индексируемый массив должен быть частично упорядочен. Плотная не предъявляет требований к организации индексируемого массива. Распределение памяти для расширенного файла – важно. Выделение специальной области в памяти, их связывает записью, переплетая в цепочку, как следствие – замедляет процесс обработки данных в БД, требует ее периодической реорганизации, кроме индексации по ключивой записи плотная индексация по любому полю записи. Такая индексация – вторичная инвертированная. Она производится как по одному, так и по сов-ти полей. Рандомизированный способ доступа.
Быстрый непосретственный доступ по ключу к нужному экземпляру записи. При загрузке БД и в процессе ее корректировки. Современные СУБД могут представлять пользователю несколько утилит, модулей рандомизации, либо отдает на выбор самому пользователю. Пользователь будет делать это с помощью входного языка среды ЯОД и ЯМД.
Рандомизированный способ хранения предназначен для хранения файловых структур.
Недостатки прямого доступа к памяти.
1.Записи в памяти различают не в порядке их логического, следовательно последняя обработка данных медленная.
2. Значительно замедляется время работы БД, при появлении большого числа синонимов в БД устранение этого эффекта – открытая адресация и метод цепочек.
При открытой адресации место для синонима ищется в той же области, в которой размещенны основные записи
Алгоритм поиска свободного места в БД.
Последующий просмотр памяти до свободного места.
При использование метода цепочек, синонимной записи могут располагаться в той же области, что и основные записи, а также располагаться в специальной области переполнений. Длинные цепочки синонимов увеличивают времена обработки данных. Для большинства современных алгоритм рандомизированное количество синонимов зависит от объема памяти, выделенной под файл целиком, поэтому при распределение памяти выделяется объем на 10 – 25 % больше чем требуется на хранение данных. Просмотр синонимов БД требует достаточно много времени, для обработки синонимов применяются специальные методы организации данных, обеспечивает быструю обработку в СУБД ORACLE при доступе записи переполнение происходит автоматическим переключением с прямого доступа на метод инвертированных списков. Недостаток прямого доступа к данным является то, что этот доступ обеспечивает быструю обработку по тому полю, по которому происходит рандомизация. Основной путь компенсации этого недостатка – использование комбинированных гибридных гетерогенных структур данных.
Проектирование структуры БД
Должно включать определенные ее состав и структуры
Проект внешнего информационного обеспечения, технический процесс пребанковской подготовки, по необходимости для создания БД, а также организованных методичных и инструктивных материалов.
В современной литературе проект СБД – определение структуры БД и описание ее на ЯОД конкретизирует СУБД. СУБД поддерживает несемантичные структуры данных и имеют достаточно жесткие ограничения на дополнительных структурах. В зависимости от содержания исходящая информация различает два подхода от предметной области и от запроса. Подход от предметной области означает описание объектов, отображенных в инфармационной системе части реального мира и связей между ними без относительных потребностей пользователя. Подход называется объектным или процессным.
В подходе от запроса основным источником информации в предметной области является потребности пользователей. Этот подход называется функциональным. Преимущество: объективность, системное отображение предметной области, наличие устойчивой информационной модели, возможность реализации большого числа приложений, в том числе и заранее незапланированной.
Недостаток: трудность отбора объективной информации, подлежащий фиксации БД. Функциональный подход ориентирован на реализацию текущих запросов пользователя, не учитывая перспектив развития системы.При использовании этого подхода могут возникнуть трудности между взглядами различных пользователей. Однако учет запросов позволяет улучшить характеристики функциональных БД.
Многоуровневость проектирования БД объясняется разницей между исходной моделью предметной области и той моделью, которая может быть быстро и эффективно обработана современными программными средствами.С повышением интеллекта число промежуточных моделей БД должно уменьшаться. Существует определенная связь между степенью общности модели поддерживаемой СУБД и числом уровневой моделей, используемых в проектировании. В зависимости от подхода проект БД эта связь слабая или сильная среди ряда методов проектирования. Основная идея заключается в последнем “окружении” исходящей модели с переходом от модели к модели другого класса. Наблюдается тесная связь между числом уровней моделей и степенью универсальности использования систем проектирования БД. Чем ниже степень универсальности систем проектирования БД, тем требуется меньше уровней моделей.
ТАБЛИЦА.
Проектирование БД - переход от исходного описания модели предметной области к схеме БД. Для задания моделей употребляются языки высокого уровня и внутренние языки СУБД.
Построение датологической модели БД.
Глобальная датологическая модель (ДМ) представляет собой отрожение общего содержания БД, структурированную на логическом уровне и ориентированную на конкретную СУБД. Любая СУБД оперирует с допустимыми для нее типами логических структур. Все ДМ различаются наименованиями используемых информационных единиц, правилами композиции структур (более высокого уровня из состоящих структур младшего уровня) и возможностями просмотра модели. Любая СУБД накладывает количественное ограничение на логическую структуру БД, а это в свою очередь оказывает влияние на проект ДМ. Поэтому прежде чем приступить к посроению ДМ надо тщательно изучить СУБД, уточнить ее ограничения, определить основные факторы, влияющие на выбор логических структур данных ознакомиться с существующими методиками проектирования в конкретной СУБД.
Если для данной СУБД имеется система автоматизации СУБД CASE-ALLE – Средство проектирования БД, то с целью оценки качества проекта и целенаправленности воздействия на созданную структуру БД, желательно сформировать алгоритм проектирования положенный в ее основу.
При проектировании ДМ БД используется графическая (диаграммо - логическая) структура и аналитическая (описание на ЯОД схем, подсхем, форм ее представления БД).
При ручном проектировании построение ДМ начинают с графического построения структуры БД со всевозможными внутренними и внешними связями.
При автоматизированном проектировании, наоборот получается аналитическое представление структуры, а затем по этому представлению по желанию и требованию пользователя воссоздается графическое представление.
ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ СТРУКТУРЫ БД.
Диаграммы логической структуры БД должны быть наглядными, легко читаемыми, стандартизированными (не допускать неоднозначных толкований). Они должны нести полную информационную нагрузку о логической структуре БД, давать возможность различать все типы данных и структур, допустимых в данной системе, обеспечивать взаимооднозначные соответствия между этими сруктурами и описаниями на ЯОД. Направление связей между элементами структур указывается на диаграммах только в тех случаях, если оно однозначно неопределенно типом модели. Все элементы ДМ, которые должны быть поименованы при написании на ЯОД, должны быть поименованы при графическом построении ее структуры.
Для реляционных систем БД, графическую интерпритацию ее давать не принято. Это вызвано тем, что реляционная модель связи в явном виде не задаются, с другой стороны этот вызвано тем, что в последнее время в практическом приложении не было таких структур БД, которое было бы проанализировано с помощью реляционной структурой БД.
ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ БД.
На проектирование ДМ кроме ограниченных СУБД, накладываемых на логическую структуру, большое влияние оказывают возможности системы по физической организации данных. Так если в СУБД с иерархической логической структурой данных допускались только физически последовательные структуры хранения, то при необходимости выборки отдельных ветвей дерева для ускорения доступа к данным следовало бы выделять такие ветви в отдельные деревья.
Алгоритмы построения логической структуры БД для сетевых систем, в которых доступ к данным возможен через любую вершину, и систем, в которых доступы разнородны (выделяет основные и зависимые типы данных и доступ) к записям зависимых файлов возможен только через основные файлы. Часто логическое и физическое проектирование БД выполняется в интерактивном режиме.
При проектирование логические структуры БД следует учитывать общую семантику ЯОД используемую в конкретной системе.
Кроме факторов обусловленных особенностью конкретной СУБД необходимо особо рассматривать отображаемую в СУБД предметную область и характеристики самого пользователя. Алгоритм проектирования логической структуры БД зависит от вида инфологической модели подхода к проектному использованию СУБД. Более того, для одной и той же СУБД могут быть предложены различные алгоритмические проектирования БД.
Проектирование структурных БД имеет особенности:
1.Минимум логической единицы: элементу данных, поле и т. д. Семантика для всех систем одинакова и, как правило, соответствует либо идентифицированному объекту, либо свойству процесса.
2. Группировка элементов в более высоких уровней и определение связей между ними производится в результате совместного анализа ограниченной СУБД, особенности предметной области потребности пользователя с учетом ограничений на ресурс.
3. Совместимость типов объектов подлежат отражению в БД и совместимость их свойств, которые фиксируются для конкретного объекта в отдельности должны быть заранее определены, в процессе проектирования на этом этапе может быть приведена предварительная классификация.
4. При проектирование логической структуры БД присутствуют этапы преобразования исходной инфологической модели в модель, допустимую для СУБД и проверки адекватности получения ДМ в исходные модели.
5. Для каждого конкретного СУБД может быть задан набор правил и приемов, устранения высоких аномальных с точки зрения системы ситуаций. Число допустимых для заданных исходных данных обычно бывает сравнительно велико, поэтому необходим аппарат, оптимизирующий данные, решающий структуру данной модели.
6. Отображение связи между элементами на уровне ДМ может выполняться либо путем совместного расположения взаимосвязанных элементов, либо путем объявления связей, путем введения дополнительного связующего элемента. Последняя ситуация подкрепляет структуру БД обходя те ограничения накладываемые конкретным СУБД.
7. Логическая структура БД может передавать не только связи между соответствующими сущностями в предметной области, но и связей возникших в процессе обработки информации в БД, что может являться препятствием для проектирования ДМ БД.
Особенность организации распределенных БД (РБД).
Наиболее интересным в РБД является размещение данных в узлах сети (без дублирования, с частичным и полностью избыточным). Стоимость хранимых данных минимальна для РБД без дублирования. Однако если учитывать не только затраты на хранение, но и суммарные затраты на передачу и хранение данных, то наиболее приемлемые частично дублированные РБД и вызванные теми обстоятельствами, что необходимо уменьшить время ответа на запросы, повысить надежность и защищенность системы. Как полностью, так и избыточно системы должны иметь определенный механизм, обеспечивающий равенство всех копий описания одинаковой сущности.
Для таких систем должна быть выработана стратегия поиска, учитывающая наличие дублей в системе, а также стратегия обновления, определяющая в лучшем случае - за кем закреплена функция в каждом из дублей, а также каким образом учитываются временные задержки при внесении изменений в копии, каким образом выбирается оптимальный поток информации.
Задача выбора информационной структуры может для РБД решаться на различных этапах ее жизненного цикла при первоначальном проектировании системы, при наличии сформировавшейся сети пользователей, при сложном составе структуры РБД. В первом случае ставится глобальная задача определения конфигурации сети и размещения данных по ее узлам.
Чаще всего РБД создается на базе сложившейся сети, что является сильным ограничением при решении различных прикладных задач. Время реакции системы сильно тормозит. На распределенные данные по узлам сети влияют следующие факторы: объем, частота и место возникновения информации.
Характеристика запросов (частота, сложность, время возникновения, ограничение доступа, объем передаваемой информации, типы запросов и т.д).
Характеристика технических средств обработки и передачи данных, и топология сети. Стратегия обработки запросов определяет конфигурацию сети.
Задача распределения данных сильно усложняется, если она решается совместно по распределенным узлам сети и связана напрямую с программой запросов. Сложность возникает, когда неоднородные ЭВМ
Распределение данных может быть проведено либо в соответствии со структурой, либо в соответствии со значениями данных, при чем структура данных во всех узлах сети одинакова. Различают значения данных, например, однотипные отчетные данные могут храниться в локальных БД, имеющих эдентичную структуру и распределение.
Такое распределение может быть при использовании однотипных СУБД в разных узлах РБД. При распределении в соответствии со структурой данных в локальные БД различают и по составу, и по структуре.Например, каждая из служебных предприятий может иметь локальные БД соответствующего содержания, которые могут быть объединены в единую структуру и образовывать единую систему. Основные вопросы при проектировании РБД являются, выбор общей стратегии поиска и размещение структурной информации в системе.
Возможны следующие варианты поиска:
1. Пользователь взаимодействует с ближними БД. Если требуемая информация в ней отсутствует, осуществляется опрос остальных, до тех пор, пока информация не будет найдена. Этот вариант отличается большими потоками запросов информации и требует большое время на поиск.
2. Пользователь взаимодействует со соответствующей БД. Если информации нет, то по структуре информации описывает размещение данных в РБД, находит необходимый узел, в котором размещены исходные данные и происходит обращение к этому узлу. В этом случае предполагается хранение структурной информации в каждом узле. Объем структурной информации можно уменьшить, если в каждой БД хранить сведения не о всех массивах в РБД, а только лишь о тех, которые могут обращаться к опонентам прикрепленных к данному узлу. Этот вариант характеризуется большим объемом информации, которая дублируется в узлах сети, но потоки запросов информации минимальны.
3. Одна из БД выделяется как главная или управляемая (в ней содержится вся структурная информация). Пользователь обращается в ближние БД, если информации не обнаружено, то информация идет либо в управляемую БД, либо управляемый узел. После нахождения адреса хранимой информации происходит обращение к соответствующей БД.
По сравнению с другим вариантом объем структурной информации уменьшается, но удлиняется путь обработки запросов, повышается требование надежности, усиливается роль управляемой БД.
Структурная и другая служебная информация содержится в сетевом словаре-справочнике. В нем должна быть информация о размещении данных в узлах сети, общая логическая структура БД,стандарт БД В каждом из узлов содержится информация характеризующая структуру данных, частоту и режим доступа, особенности запроса, место его возникновения и утилиты пользователей. В зависимости от принятой в РБД стратегии поиска различают соответствующие им справочные структуры (местная локально - распределенная, центральная, распределено – центральная или комбинированная).