Основные функции СУБД

Автор работы: Пользователь скрыл имя, 20 Ноября 2012 в 22:43, реферат

Краткое описание

Информация из БД хранится во внешней памяти, а в некоторых СУБД используются возможности существующих файловых систем. В то же время развитые СУБД поддерживают собственную систему именования объектов БД.
Управление оперативной памятью.
Если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью этого устройства. Чтобы ускорить обработку БД, их нужно размещать в оперативной памяти.

Вложенные файлы: 1 файл

1.doc

— 134.00 Кб (Скачать файл)

1.7 Основные функции  СУБД 

 

Управление данными во внешней памяти.

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

Управление оперативной  памятью.

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

Управление транзакциями.

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

Журнализация.

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

Очевидно, что независимо от типа сбоя для восстановления БД нужно иметь некоторые дополнительные сведения, которые имеются и в журнале изменений БД. Это недоступная пользователям СУБД часть БД, в которую заносятся записи обо всех изменениях основной части БД. При занесении записей в журнал поддерживается протокол «упреждений» (Write Ahead Log - WAL), т. е. запись об изменении любого объекта БД попадает во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД.

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

Поддержка языков БД.

Для работы с  базами данных используются специальные языки, называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных языков, среди которых чаще всего использовались язык определения схемы БД (SDL - Schema Definition Language) и язык манипулирования данными (DML - Data Manipulation Language).

Стандартным языком наиболее распространенных в настоящее  время реляционных СУБД является язык SQL (Structured Query Language), который сочетает в себе средства SDL и DML, т. е. позволяет  определять схему реляционной БД и манипулировать данными. SQL содержит специальные средства определения ограничений целостности БД, а его специальные операторы позволяют определять так называемые представления БД, которые фактически являются хранимыми в БД запросами. Результатом любого запроса к реляционной БД является таблица с именованными столбцами.

 

 

Основные положения


База данных (БД) в строгом смысле слова представляет собой совокупность взаимосвязанных  файлов данных определенной организации. БД, как правило, включает целый ряд  файлов, но может состоять и из единственного файла. Данные, составляющие БД, отражают характеристики объектов и их отношений в соответствующей прикладной области. Каждый файл, входящий в БД, содержит определенное число записей (изменяемое в процессе функционирования БД), отражающих ту или иную сторону (это определение таблицы а не файла БД) предметной области, на которую ориентирована БД. Как правило, файлы БД содержат большое число однотипных записей(совершенно не правило. Думаю лучше ввести понятие таблица или набор записей). Записи, в свою очередь, состоят из полей, представляющих определенные типы информации об объектах. Поле является наименьшей информационной единицей, непосредственно доступной в записи. Если файл_1 БД (рис. 1) содержит п однотипных записей (имеющих одинаковую структуру полей и их смысловую нагрузку),то j-запись (1<j<n) файла состоит из фиксированного набора (кортежа полей А1—Ак), каждое из которых содержит в общем случае различного типа информацию. При наличии БД прикладные программы могут использовать ее информацию (записи и их поля) для решения конкретных задач в прикладной области, на которую ориентирована данная БД.

TODO: таблица Файловая организация баз данных

Пользователями  БД являются четыре основные категории  потребителей ее информации и/или поставщиков информации для нее: (1) конечные пользователи, (2) программисты и системные аналитики, (3) персонал поддержки БД в актуальном состоянии и (4) администратор БД. Хорошо спроектированные системы управления БД (СУБД), используют развитые графические интерфейсы и поддерживают системы отчетов, отвечающие специфике пользователей указанных четырех категорий. В этом случае персонал поддержки БД и конечные пользователи могут легко осваивать и использовать СУБД для обеспечения своих потребностей без какой-либо специальной подготовки, т.е. специфика функционирования данных систем скрыта от пользователя. Более того, хорошо спроектированные СУБД предоставляют опытному пользователю средства для создания собственных БД-приложений, не требуя от него специальной программистской подготовки. Конечным пользователям для обеспечения доступа к информации БД предоставляется графический интерфейс, как правило, в виде системы окон с функциональными меню, позволяющими легко получать необходимую информацию на экран и/или принтер в виде удобно оформленных отчетов.

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

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

Как уже отмечалось, БД представляет собой совокупность логически взаимосвязанных файлов данных определенной организации; для определения и обращения к такой файловой совокупности используют средства системы управления БД (СУБД). СУБД представляет собой совокупность лингвистических и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями. Тогда как под системой БД понимается СУБД с наполненной соответствующей информацией БД, управляемой ее средствами. Это означает, во-первых, что совокупность файлов БД определяется посредством схемы, не зависящей от программ, которые к ней обращаются, и, во-вторых, что она реализована на основе ВП прямого доступа. Использование СУБД обеспечивает лучшее управление данными, более совершенную организацию файлов и более простое обращение к ним по сравнению с обычными способами хранения информации. Вследствие более совершенных механизмов доступа БД, как правило, имеют более сложную организацию, чем обычные файлы, объединяя данные, ранее хранящиеся во многих отдельных файлах. Размер и сложность не являются определяющими характеристиками БД — наличие СУБД для ПК и даже в среде ряда пакетов (например, табличных процессоров, интегрированных и др.) приводит к созданию большого числа относительно простых и небольших БД, достоинством которых (при наличии соответствующих СУБД) являются простота определения и доступа к данным. Под банком данных (БнД) понимается система лингвистических, программных, аппаратных и организационных средств, основанная на БД-технологии и предназначенная для централизованного накопления и коллективного использования данных в той или иной прикладной области. Тогда как система обработки информации (СОИ) реализует автоматизированный сбор, обработку и хранение информации, включая соответствующие лингвистические, программные, аппаратные, организационные средства и обслуживающий их персонал.

Под целостностью БД понимается актуальное состояние  ее данных, отражающих состояние некоторой  реальной прикладной области и подчиняющихся  правилам непротиворечивости. Под языком БД понимается один или совокупность языков, обеспечивающих описание данных, манипулирование с данными. Конкретный язык БД всегда ассоциируется с конкретной СУБД. СУБД представляет собой средства обработки на языке базы данных, позволяющие обрабатывать обращения к БД, поступающие от прикладных программ и/или конечных пользователей, и поддерживать целостность БД. Таким образом, СУБД имеет свойства, характерные как для компиляторов, так и для ОС, однако по сравнению с первыми обеспечивается более высокий уровень абстрагирования, что оказывается очень полезным как для программистов, так и для конечных пользователей.

[редактировать]

Иерархическая и сетевая даталогические модели СУБД


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

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

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

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

Информация о работе Основные функции СУБД