Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Гайдамакин Н. А. Автоматизированные информационные системы, базы и банки данных. Вводный курс - файл Гайдамакин_Автоматизированные информационные системы базы и банки данных Вводный курс_2002 .doc


Гайдамакин Н. А. Автоматизированные информационные системы, базы и банки данных. Вводный курс
скачать (3043.3 kb.)

Доступные файлы (1):

Гайдамакин_Автоматизированные информационные системы базы и банки данных Вводный курс_2002 .doc4199kb.30.12.2002 12:56скачать

содержание

Гайдамакин_Автоматизированные информационные системы базы и банки данных Вводный курс_2002 .doc

1   2   3   4   5   6   7   8   9   ...   23
^

2. Системы управления базами данных фактографических информационных систем


История СУБД как особого вида программного обеспече­ния неразрывно связана с историей начала использования элек­тронно-вычислительных машин для организации хранения и обработки информации. Именно в то время (конец 60-х, начало 70-х годов) были разработаны основы программного обеспече­ния для создания и эксплуатации фактографических информационных систем. В конце 70-х, начале 80-х годов направление программного обеспечения под общим названием «СУБД» пре­вратилось в одну из наиболее бурно развивающихся отраслей программной индустрии.

При этом основные программно-математические и техно­логические решения по СУБД были разработаны в 70-х годах в ряде крупных исследовательских проектов. Наиболее известными из них являются проект «Рабочей группы по базам дан­ных» КОДАСИЛ (DBTG CODASYL) с участием уже упоми­навшегося Ч. Бахмана, пионерские работы основателя теории реляционных баз данных Е. Кодда, проект разработки системы управления реляционными базами данных «System R» фирмы IBM (1975-1979 гг.) и проект разработки СУБД «Ingres» (Interactive Graphics and Retrieval System) в университете Берк­ли (1975-1980 гг.) под руководством известного специалиста в области баз данных М. Стоунбрейкера.
^

2.1. Функции, классификация и структура СУБД


С начала своего возникновения в конце 60-х годов автома­тизированные информационные системы ориентировались на хранение и обработку больших объемов данных, которые не могли быть одновременно и полностью размещены в оператив­ной памяти ЭВМ.

В структуре программного обеспечения ЭВМ, как в то вре­мя, так и сейчас, за организацию, размещение и оперирование данными во внешней (долговременной) памяти отвечает опе­рационная система ЭВМ, соответствующий компонент которой чаще всего называется «файловой системой». Данные во внеш­ней памяти компьютера представлены именованными совокупностями, называемыми файлами. В большинстве случаев опе­рационная (файловая) система не «знает» внутренней смысло­вой логики организации данных в файлах и оперирует с ними как с однородной совокупностью байтов или строк символов.

С точки зрения смысла и назначения АИС файлы данных имеют структуру, отражающую информационно-логическую схему предметной области АИС. Эта структура данных в фай­лах должна обязательно учитываться в операциях обработки (собственно, в этом и заключается одна из основных функций АИС). Вместе с тем, в силу невозможности в большинстве слу­чаев размещения файлов баз данных сразу целиком в оператив­ной памяти компьютера, структуру данных в файлах баз дан­ных приходится учитывать при организации операций обраще­ния к файлам во внешней памяти.

Отсюда вытекает основная особенность ^ СУБД как вида программного обеспечения. Будучи по природе прикладным программным обеспечением, т. е. предназначенным для реше­ния конкретных прикладных задач, СУБД изначально выпол­няли и системные функции — расширяли возможности файло­вых систем системного программного обеспечения.

В общем плане можно выделить следующие функции, ре­ализуемые СУБД:

• организация и поддержание логической структуры дан­ных (схемы базы данных);

• организация и поддержание физической структуры дан­ных во внешней памяти;

• организация доступа к данным и их обработка в опера­тивной и внешней памяти.

Организация и поддержание логической структуры дан­ных (схемы базы данных) обеспечивается средствами модели организации данных.* Модель данных определяется способом организации данных, ограничениями целостности и множе­ством операций, допустимых над объектами организации дан­ных. Соответственно модель данных разделяют на три состав­ляющие — структурную, целостную и манипуляционную.

* В обиходе просто «модель данных».
Известны три основные модели организации данных:

• иерархическая;

• сетевая;

• реляционная.

Модель данных, реализуемая СУБД, является одной из основных компонент, определяющих функциональные возможности СУБД по отражению в базах данных информационно-логических схем предметных областей АИС. Модель организации данных, по сути, определяет внутренний информационный язык автоматизированного банка данных, реализующего автоматизи­рованную информационную систему.

Модели данных, поддерживаемые СУБД, довольно часто используются в качестве критерия для классификации СУБД. Исходя из этого, различают иерархические СУБД, сетевые СУБД и реляционные СУБД.

Другой важной функцией СУБД является организация и поддержание физической структуры данных во внешней па­мяти. Эта функция включает организацию и поддержание внутренней структуры файлов базы данных, иногда называе­мой форматом файлов базы дачных, а также создание и под­держание специальных структур (индексы, страницы) для эф­фективного и упорядоченного доступа к данным. В этом плане эта функция тесно связана с третьей функцией СУБД — орга­низацией доступа к данным.

Организация и поддержание физической структуры данных во внешней памяти может производиться как на основе штат­ных средств файловых систем, так и на уровне непосредствен­ного управления СУБД устройствами внешней памяти.

Организация доступа к данным и их обработка в опера­тивной и внешней памяти осуществляется через реализацию процессов, получивших название транзакций. Транзакцией на­зывают последовательную совокупность операций, имеющую от­дельное смысловое значение по отношению к текущему состо­янию базы данных. Так, например, транзакция по удалению от­дельной записи в базе данных последовательно включает определение страницы файла данных, содержащей указанную запись, считывание и пересылку соответствующей страницы в буфер оперативной памяти, собственно удаление записи в буфе­ре ОЗУ, проверку ограничений целостности по связям и другим параметрам после удаления и, наконец, «выталкивание» и фик­сацию в файле базы данных нового состояния соответствующей страницы данных.

Транзакции принято разделять на две разновидности — из­меняющие состояние базы данных после завершения транзак­ции и изменяющие состояние БД лишь временно, с восстановле­нием исходного состояния данных после завершения транзак­ции. Совокупность функций СУБД по организации и управлению транзакциями называют монитором транзакций.

Транзакции в теории и практике СУБД по отношению к базе данных выступают внешними процессами, отождествляемыми с действиями пользователей банка данных. При этом источни­ком, инициатором транзакций может быть как один пользова­тель, так и несколько пользователей сразу. По этому критерию СУБД классифицируются на однопользовательские (или так называемые «настольные») и многопользовательские («тяже­лые», «промышленные») СУБД. Соответственно в многопользо­вательских СУБД главной функцией монитора транзакций явля­ется обеспечение эффективного совместного выполнения тран­закций над общими данными сразу от нескольких пользователей.

Непосредственная обработка и доступ к данным в большин­стве СУБД осуществляется через организацию в оперативной памяти штатными средствами операционной системы или соб­ственными средствами системы буферов оперативной памяти, куда на время обработки и доступа помещаются отдельные компоненты файла базы данных (страницы). Поэтому другой состав­ной частью функций СУБД по организации доступа и обработки данных является управление буферами оперативной памяти.

Еще одной важной функцией СУБД с точки зрения органи­зации доступа и обработки данных является так называемая журнализация всех текущих изменений базы данных. Журнализация представляет собой основное средство обеспечения сохран­ности данных при всевозможных сбоях и разрушениях данных. Во многих СУБД для нейтрализации подобных угроз создается журнал изменений базы данных с особым режимом хранения и размещения. Вместе с установкой режима периодического со­хранения резервной копии БД журнал изменений* при сбоях и разрушениях данных позволяет восстанавливать данные по про­изведенным изменениям с момента последнего резервирования до момента сбоя. Во многих предметных областях АИС (напри­мер, БД с финансово-хозяйственными данными) такие ситуации сбоя и порчи данных являются критическими и возможности вос­становления данных обязательны для используемой СУБД.

* Резервная копия БД и журнал изменений, как правило, размещаются на отдель­ных от основного файла БД носителях.
Исходя из рассмотренных функций, в структуре СУБД в современном представлении можно выделить следующие фун­кциональные блоки:

• процессор описания и поддержания структуры базы дан­ных;

• процессор запросов к базе данных;

• монитор транзакций;*

• интерфейс ввода данных;

• интерфейс запросов;

• интерфейс выдачи сведений;

• генератор отчетов.

* Как правило, в однопользовательских СУБД монитортранзакций в виде отдель­ного функционального элемента СУБД не реализуется и не выделяется.
Схематично взаимодействие компонент СУБД представле­но на рис. 2.1.


Рис. 2.1. Структура и взаимодействие компонент СУБД

Ядром СУБД является процессор описания и поддержа­ния структуры базы данных. Он реализует модель организации данных, средствами которой проектировщик строит логическую структуру (схему) базы данных, соответствующую инфологической схеме предметной области АИС, и обеспечивает построение и поддержание внутренней схемы базы данных.

Процессором описания и поддержания структуры данных в терминах используемой модели данных (иерархическая, се­тевая, реляционная) обеспечиваются установки заданной ло­гической структуры базы данных, а также трансляция (пере­вод) структуры базы данных во внутреннюю схему базы дан­ных (в физические структуры данных). В АИС на базе реляционных СУБД процессор описания и поддержания струк­туры базы данных реализуется на основе языка базы данных, являющегося составной частью языка структурированных запросов (SQL).

Интерфейс ввода данных СУБД реализует входной инфор­мационный язык банка данных, обеспечивая абонентам-постав­щикам информации средства описания и ввода данных в информационную систему. Одной из современных тенденций раз­вития СУБД является стремление приблизить входные инфор­мационные языки и интерфейс ввода к естественному языку общения с пользователем в целях упрощения эксплуатации ин­формационных систем так называемых «неподготовленными» пользователями. Данная проблема решается через применение диалоговых методов организации интерфейса и использование входных форм. Входные формы, по сути, представляют собой электронные аналоги различного рода анкет, стандартизован­ных бланков и таблиц, широко используемых в делопроизвод­стве и интуитивно понятных большинству людей (неподготов­ленных пользователей). Интерфейс ввода при этом обеспечи­вает средства создания, хранения входных форм и их интерпретацию в терминах описания логической структуры базы данных для передачи вводимых через формы сведений про­цессору описания и поддержания структуры базы данных.

Интерфейс запросов совместно с процессором запросов обеспечивает концептуальную модель использования инфор­мационной системы в части стандартных типовых запросов, от­ражающих информационные потребности пользователей-або­нентов системы. Интерфейс запросов предоставляет пользова­телю средства выражения своих информационных потребностей. Современной тенденцией развития СУБД явля­ется использование диалогово-наглядных средств в виде спе­циальных «конструкторов» или пошаговых «мастеров» форми­рования запросов.

Процессор запросов интерпретирует сформированные зап­росы в терминах языка манипулирования данными и совмес­тно с процессором описания и поддержания структуры базы данных собственно и исполняет запросы. В реляционных СУБД основу процессора запросов составляет язык манипулирования данными, являющийся основной частью языка SQL. Тем са­мым на базе процессора запросов и процессора описания и под­держания структуры базы данных образуется низший уровень оперирования данными в СУБД, который иногда называют машиной данных. Стандартные функции и возможности маши­ны данных используют компоненты СУБД более высокого по­рядка (см. рис. 2.1), что позволяет разделить и стандартизиро­вать компоненты СУБД и банка данных на три уровня —логи­ческий уровень, машина данных и собственно сами данные.

Функции монитора транзакции, как уже отмечалось, зак­лючаются в организации совместного выполнения транзакций от нескольких пользователей над общими данными. При этом дополнительной функцией, неразрывно связанной, в том числе и с основной функцией, является обеспечение целостности дан­ных и ограничений над данными, определяемыми правилами предметной области АИС.

Интерфейс выдачи СУБД получает от процессора запро­сов результаты исполнения запросов (обращений к базе дан­ных) и переводит эти результаты в форму, удобную для воспри­ятия и выдачи пользователю-абоненту информационной систе­мы. Для отображения результатов исполнения запросов в современных СУБД используются различные приемы, позво­ляющие «визуализировать» данные в привычной и интуитивно понятной неподготовленному пользователю форме. Обычно для этого применяются табличные способы представления струк­турированных данных, а также специальные формы выдачи данных, представляющие также, как и формы ввода, электрон­ные аналоги различных стандартизованных бланков и отчетов в делопроизводстве.

Формы выдачи лежат также и в основе формирования так называемых «отчетов», выдающих результаты поиска и отбора информации из БД в письменной форме для с формализованного создания соответствующих текстовых документов, т. е. для документирования выводимых данных. Для подобных целей в состав современных СУБД включаются генераторы отчетов.

В заключение по структуре и составу СУБД следует также добавить, что современные программные средства, реализую­щие те или иные СУБД, представляют собой совокупность ин­струментальной среды создания и использования баз дан­ных в рамках определенной модели данных (реляционной, се­тевой, иерархической или смешанной) и языка СУБД (язык описания данных, язык манипулирования данными, язык и сред­ства создания интерфейса). На основе программных средств СУБД проектировщики строят в целях реализации конкретной информационной системы (инфологическая схема предметной области, задачи и модель использования, категории пользова­телей и т. д.) автоматизированный банк данных, функциониро­вание которого в дальнейшем поддерживают администраторы системы и услугами которого пользуются абоненты системы.
1   2   3   4   5   6   7   8   9   ...   23



Скачать файл (3043.3 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации