Системы управления базами данных

Автор работы: Пользователь скрыл имя, 26 Марта 2012 в 07:47, контрольная работа

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

Система управления базами данных (СУБД) – это комплекс программ, предназначенный для создания и ведения (обслуживания) баз данных, а также для доступа к данным и для их обработки.

Содержание работы

I. 2.5. Системы управления базами данных………………………..2
II. 2.5.1. Основные свойства БД и СУБД ………………………………2
2.5.2. Программные средства создания БД ……………………………4
2.5.3. Классификация современных СУБД……………………………………….6
Список литературы………………………………………………………………………….10

Содержимое работы - 1 файл

ИСЭ.doc

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


Содержание

 

I.        2.5. Системы управления базами данных………………………..2

II.      2.5.1. Основные свойства БД и СУБД ………………………………2

2.5.2.     Программные средства создания БД ……………………………4

2.5.3.     Классификация современных СУБД……………………………………….6

Список литературы………………………………………………………………………….10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.5. Системы управления базами данных

Система управления базами данных  (СУБД) – это комплекс программ, предназначенный для создания и  ведения (обслуживания) баз данных, а также для доступа к данным и для их обработки.

2.5.1.  Основные свойства БД и СУБД

Основными средствами СУБД, предназначенными для пользователей, являются:

·   средства описания структуры базы данных (средства описания структур таблиц, например,  в MS Access);

·   средства конструирования экранных форм, предназначенных для ввода  и  просмотра данных;

·   средства создания запросов для выборки данных;

·   средства формирования отчетов для вывода на печать результатов обработки данных;

·   языковые средства и средства разработки приложений (см. п. 2.5.2).

Таким образом, СУБД  выполняет роль посредника между пользователями приложений и данными  (рис 2.17).

Основными свойствами СУБД  и баз данных являются:

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

2. Непротиворечивость данных; целостность БД; возможность многоаспектного доступа.

3. Защита и восстановление данных при аварийных ситуациях, аппаратных и программных сбоях, ошибках пользователя.

4.Защита данных от несанкционированного доступа средствами разграничения доступа для различных пользователей.

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

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

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

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

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

В любом случае для восстановления БД нужно располагать некоторой дополнительной информацией. Наиболее распространенным методом поддержания такой избыточной информации является ведение журнала изменений БД.

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

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

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

2.5.2. Программные средства создания БД

Современная СУБД содержит в своем составе программные средства создания баз данных, средства работы с данными и дополнительные сервисные средства (рис. 2.18).

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

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

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

Сервисные средства позволяют при проектировании и использовании БД привлечь другие системы. Например, воспользоваться текстом из редактора Word или таблицей из табличного процессора Excel, или обратиться к сетевому серверу.

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

Язык SQL сочетает средства ЯОД и ЯМД, т.е. позволяет определять схему реляционной БД и манипулировать данными. Для «диалекта» SQL, разработанного компанией    Microsoft,  приведем небольшие примеры.

Пример 1. Создать таблицу «Сотрудник» с полями: Табельный номер, ФИО, Оклад, Дата приема на работу, используя инструкцию  CREATE TABLE. Это инструкция ЯОД формата:

CREATE TABLE ИмяТабл (Поле1 тип [(длина поля)], Поле2 тип [(длина поля)]…);

Для создания  таблицы «Сотрудник»:

CREATE TABLE Сотрудник (ТабНомер TEXT (6), ФИО TEXT (15), Оклад INTEGER, Дата DATETIME);

Пример 2.  Выбрать из таблицы «Сотрудник» сотрудника с табельным номером, равным 1251, используя инструкцию  SELECT. Это инструкция ЯМД формата:

SELECT <список полей>

FROM ИмяТабл

WHERE <условие отбора>;

В примере выбираются все поля таблицы, что обозначается знаком *, а условие отбора заключается в скобки:

SELECT *

FROM Сотрудник

WHERE (ТабНомер=1251);

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

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

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

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

2.5.3. Классификация современных СУБД

Современные СУБД могут быть классифицированы по ряду признаков:

I. По типу поддерживаемой в СУБД модели данных – реляционная или       объектно–ориентированная.

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

- мультимедийные БД, в которых хранятся связанные друг с другом упорядоченным образом звуковые и текстовые фрагменты, а также элементы изображений;

 - географические информационные системы, хранящие картографические и статистические данные с возможностью их группирования;

 - проектные БД.

Объектно-ориентированные СУБД (ООСУБД) – это системы баз данных, которые позволяют хранить объекты и совместно использовать их различными приложениями. ООСУБД  должна, как минимум, содержать следующие компоненты:

- язык баз данных, позволяющий декларировать классы объектов, а затем создавать, сохранять, извлекать и удалять объекты; 

- хранилище объектов, в котором каждому объекту присваивается уникальный идентификатор, и  по этому идентификатору к объекту могут получать доступ различные приложения.

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

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

II.   По типу использования ресурсов – локальные и сетевые.

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

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

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

Функции клиента и сервера приведены в табл. 2.6.

III.   По типу использования распределенных ресурсов: гомогенная, гетерогенная, мультибазовая.

Информация о работе Системы управления базами данных