Автор работы: Пользователь скрыл имя, 12 Августа 2014 в 16:44, контрольная работа
Краткое описание
СУБД являются посредниками между логической структурой данных, необходимых разным приложениям, и физическими хранилищами данных (обычно это файловая система персонального компьютера или сервера, хотя последнее время хранилища могут распределяться между многими серверами). Физическая структура данных (в частности, файловая) должна быть скрыта от программистов. СУБД должны хранить логическую структуру (метаданные), предотвращая несогласованные изменения данных, нарушающие эту структуру.
Содержание
Введение. 3 Общее представление о СУБД 4 Функции СУБД 5 Классификация СУБД 8 Архитектура СУБД 8 Виды СУБД 11 Модели организации данных 13 Заключение. 18 Используемая литература: 19
Между физической базой данных
(т.е. данными, которые реально хранятся)
и пользователями системы располагается
уровень программного обеспечения - система
управления базами данных. Все запросы
пользователей на доступ к базе данных
обрабатываются СУБД; все имеющиеся средства
добавления файлов данных, выборки и обновления
данных в этих файлах также обеспечивает
СУБД.
Основная задача СУБД - предоставить
пользователю базы данных возможность
работать с ней, не вникая в детали на уровне
аппаратного обеспечения (пользователь
более отстранен от этих деталей, чем прикладной
программист, использующий среду программирования).
Иными словами, СУБД позволяет конечному
пользователю рассматривать базу данных
как объект более высокого уровня по сравнению
с аппаратным обеспечением, а также предоставляет
в его распоряжение набор операций, выражаемых
в терминах языка высокого уровня (например,
набор операций, которые можно выполнять
с помощью языка SQL).
Общее представление
о СУБД
База данных (БД) представляет собой
совокупность структурированных данных, хранимых в памяти
вычислительной системы и отображающих состояние
объектов и их взаимосвязей в рассматриваемой предметной
области.
Логическую структуру
данных, хранимых в базе, называют моделью
представления данных. К основным моделям
представления данных (моделям данных)
относятся иерархическая, сетевая, реляционная.
Система управления базами данных (СУБД) — это комплекс языковых и программных средств,
предназначенный для создания, ведения и совместного использования
БД многими пользователями. Обычно СУБД
различают по используемой модели данных.
Для работы с базой
данных зачастую достаточно средств СУБД. Однако если требуется обеспечить
удобство работы с БД неквалифицированным пользователям
или интерфейс СУБД не устраивает пользователей,
то могут быть разработаны приложения.
Их создание требует программирования.
Приложение представляет собой программу
или комплекс программ,
обеспечивающих автоматизацию решения
какой-либо прикладной
задачи. Приложения могут создаваться
в среде или вне среды СУБД — с помощью
системы программирования, использующей
средства доступа к БД, к примеру, Delphi или С++
Вuildег. Приложения, разработанные
в среде СУБД, часто называют приложениями
СУБД, а приложения, разработанные вне
СУБД, — внешними приложениями.
Использование языков.
Для работы с данными,
хранящимися в базе, используются следующие типы языков:
язык описания данных
— высокоуровневый непроцедурный язык
декларативного
типа, предназначенный для описания логической
структуры данных;
язык манипулирования данными
— совокупность конструкций, обеспечивающих
выполнение основных операций по работе
с данными: ввод, модификацию и выборку
данных по запросам.
Названные языки
в различных СУБД могут иметь отличия.
Наибольшее распространение получили
два стандартизованных языка: QBE — язык запросов по образцу
и SQL — структурированный
язык запросов. QBE восновном обладает
свойствами языка манипулирования данными, SQL сочетает в себе
свойства языков обоих типов.
Функции
СУБД
СУБД реализует
следующие основные функции низкого уровня:
Управление
данными во внешней памяти.
Управление данными включает
обеспечение необходимых структур внешней
памяти как для хранения данных, непосредственно
входящих в БД, так и для служебных целей.
В некоторых реализациях СУБД активно
используются возможности существующих
файловых систем, в других работа производится
вплоть до уровня устройств внешней памяти.
Но, в развитых СУБД пользователи в любом
случае не обязаны знать, использует ли
СУБД файловую систему, и если использует,
то, как организованы файлы. В частности,
СУБД поддерживает собственную систему
именования объектов БД.
Реализация функции
управления данными во внешней памяти
обеспечивает организацию управления
ресурсами в файловой системе ОС.
Управление буферами
оперативной памяти.
Необходимость буферизации
данных обусловлена тем, что объем оперативной
памяти меньше объема внешней памяти.
Буферы представляют собой области оперативной
памяти, предназначенные для ускорения обмена
между внешней и оперативной памятью.
В буферах временно хранятся
фрагменты БД, данные из которых предполагается
использовать при обращении к СУБД или
планируется записать в базу после обработки.
Управление
транзакциями.
Механизм транзакций
используется в СУБД для поддержания целостности
данных в базе. Транзакцией
называется некоторая неделимая последовательность
операций над данными БД, которая отслеживается
СУБД от начала и до завершения. Если по
каким-либо причинам (сбои и
отказы оборудования, ошибки в программном
обеспечении, включая
приложение) транзакция остается незавершенной, то она отменяется.
Транзакции присущи
три основных свойства:
атомарность (выполняются
все входящие в транзакцию операции или ни одна);
сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время
транзакций);
долговечность (даже крах системы
не приводит к утрате результатов зафиксированной
транзакции).
С управлением транзакциями
в многопользовательской СУБД связаны
важные понятия сериализации транзакций
и сериального плана выполнения смеси
транзакций. Под сериализацией параллельно
выполняющихся транзакций понимается
такой порядок планирования их работы,
при котором суммарный эффект смеси транзакций
эквивалентен эффекту их некоторого последовательного
выполнения. Сериальный план выполнения
смеси транзакций - это такой план, который
приводит к сериализации транзакций. Понятно,
что если удается добиться действительно
сериального выполнения смеси транзакций,
то для каждого пользователя, по инициативе
которого образована транзакция, присутствие
других транзакций будет незаметно (если
не считать некоторого замедления работы
по сравнению с однопользовательским
режимом).
Ведение
журнала изменений в БД.
Ведение журнала
изменений выполняется СУБД для обеспечения
надежности хранения данных в базе при
наличии аппаратных и программных сбоев. Одним из основных требований
к СУБД является надежность хранения данных
во внешней памяти. Под надежностью хранения
понимается то, что СУБД должна быть в
состоянии восстановить последнее согласованное
состояние БД после любого аппаратного
или программного сбоя. Обычно рассматриваются
два возможных вида аппаратных сбоев:
так называемые мягкие сбои, которые можно
трактовать как внезапную остановку работы
компьютера (например, аварийное выключение
питания), и жесткие сбои, характеризуемые
потерей информации на носителях внешней
памяти.
Журнал - это особая часть БД,
недоступная пользователям СУБД и поддерживаемая
с особой тщательностью (иногда поддерживаются
две копии журнала, располагаемые на разных
физических дисках), в которую поступают
записи обо всех изменениях основной части
БД. В разных СУБД изменения БД журнализируются
на разных уровнях: иногда запись в журнале
соответствует некоторой логической операции
изменения БД (например, операции удаления
строки из таблицы реляционной БД), иногда
- минимальной внутренней операции модификации
страницы внешней памяти; в некоторых
системах одновременно используются оба
подхода. Во всех случаях придерживаются
стратегии "упреждающей" записи в
журнал (так называемого протокола Write
Ahead Log - WAL). Грубо говоря, эта стратегия
заключается в том, что запись об изменении
любого объекта БД должна попасть во внешнюю
память журнала раньше, чем измененный
объект попадет во внешнюю память основной
части БД. Известно, что если в СУБД корректно
соблюдается протокол WAL, то с помощью
журнала можно решить все проблемы восстановления
БД после любого сбоя.
Обеспечение целостности
и безопасности БД.
Обеспечение целостности
БД составляет необходимое условие успешного
функционирования БД, особенно при ее
сетевом использовании. Целостность БД — это
свойство базы данных, означающее, что в ней содержится
полная, непротиворечивая и адекватно
отражающая предметную
область информация. Целостное состояние
БД описывается с помощью ограничений
целостности в виде условий, которым должны удовлетворять
хранимые в базе данные.
Обеспечение безопасности достигается
в СУБД шифрованием данных, парольной
защитой, поддержкой уровней доступа к
базе данных и отдельным ее элементам
(таблицам, формам, отчетам и др.).
Классификация
СУБД
Архитектура СУБД
Архитектура баз данных предложенная
исследовательской группой ANSI/SPARC включает
три уровня: внутренний, концептуальный
и внешний. В общих чертах они представляют
собой следующее:
Внешний уровень
Внешний уровень - это индивидуальный
уровень пользователя. У каждого пользователя
есть свой язык общения.
Для прикладного программиста
это либо один из распространенных языков
программирования.
Для конечного пользователя
это или специальный язык запросов, или
язык специального назначения, возможно,
основанный на формах и меню, созданный
специально с учетом требований и поддерживаемый
некоторым оперативным приложением.
Концептуальный уровень
Концептуальное представление
- это представление всей информации БД
в несколько более абстрактной форме (как
и случае внешнего представления) по сравнению
с физическим способом хранения данных.
Однако концептуальное представление
существенно отличается от способа представления
данных какому-либо отдельному пользователю.
Вообще говоря, концептуальное представление
- это представление данных такими, какие
"они есть на самом деле", а не такими,
какими вынужден их видеть пользователь
в рамках, например, определенного языка
или используемого аппаратного обеспечения.
Внутренний уровень
Внутреннее представление -
это представление нижнего уровня всей
БД; оно состоит из многих экземпляров
каждого типа внутренней записи.
Термин "внутренняя запись"
принадлежит терминологии ANSI/SPARC и означает
конструкцию, называемую хранимой записью.
Внутреннее представление так же, как
внешнее и концептуальное, не связано
с физическим уровнем, так как в нем не
рассматриваются физические области устройства
хранения, такие как цилиндры и дорожки.
Другими словами, внутреннее представление
предполагает бесконечное линейное адресное
пространство; подробности того, как адресное
пространство отображено на физическое
устройство хранения, очень зависят от
системы и умышленно не включены в общую
архитектуру.
Приложения, использующие базы
данных, обычно принято относить к одной
из программных архитектур, имеющих свои
плюсы и минусы.
Локальная архитектура.
И программа, и база данных расположены
на одном компьютере. В такой архитектуре
работает большинство настольных приложений.
Файл - серверная
архитектура.
База данных расположена на
мощном выделенном компьютере (сервере),
а персональные компьютеры подключены
к нему по локальной сети. На этих компьютерах
установлены клиентские программы, обращающиеся
к базе данных по сети. Преимущество такой
архитектуры заключается в возможности
одновременной работы нескольких пользователей
с одной базой данных.
Недостаток такого подхода
- большие объемы информации, передаваемые
по сети. Вся обработка выполняется на
клиентских местах, где фактически формируется
копия базы данных. Это приводится к ограничению
максимально возможного числа пользователей
и большим задержкам при работе с базой.
Клиент - серверная
архитектура.
В такой архитектуре на сервере
не только хранится БД, но и работает программа
СУБД, обрабатывающая запросы пользователей
и возвращающая им наборы записей. При
этом программы пользователей уже не работают,
например, с БД как набором физических
фалов, а обращаются к СУБД, которая выполняет
операции. Нагрузка с клиентских мест
при этом снимается, так как большая часть
работы происходит на сервере. СУБД автоматически
следит за целостностью и сохранностью
БД, а также контролирует доступ к информации
с помощью службы паролей. Клиент - серверные
СУБД допускают блоки на уровне записи
и даже отдельного поля. Это означает,
что с таблицей может работать любое число
пользователей, но доступ к функции изменения
конкретной записи или одного из ее полей
обеспечен только одному из них.
Основной недостаток этой архитектуры
не очень высокая надежность. Если сервер
выходит из строя, вся работа останавливается.
Распределенная архитектура.
В сети работает несколько серверов,
и таблицы баз данных распределены между
ними для достижения повышенной эффективности.
На каждом сервере функционирует своя
копия СУБД. Кроме того, в подобной архитектуре
обычно используются специальные программы,
так называемые серверы приложений. Они
позволяют оптимизировать обработку запросов
большого числа пользователей и равномерно
распределить нагрузку между компьютерами
в сети.
Недостаток распределенной
архитектуры заключается в довольно сложном
и дорогостоящем процессе ее создания
и сопровождения (администрирования),
а также в высоких требованиях к серверам.
Интернет-архитектура.
Доступ к базе данных и СУБД
(распространенных на одном компьютере
или в сети) осуществляется из браузера
по стандартному протоколу. Это предъявляет
минимальные требования к клиентскому
оборудованию. Такие программы называют
"тонкими клиентами", потому что они
способны работать даже на слабых ПК, например,
можно не организовывать локальную сеть,
а обращаться к серверу через Интернет
в локальной сети. В этом случае не требуется
разрабатывать специальные клиентские
программы или придумывать собственные
спецификации обмена данными между сервером
и клиентскими местами. Достаточно использовать
готовые браузеры и программные решения.