Введение
Развитие
вычислительной техники и появление
емких внешних запоминающих устройств
прямого доступа предопределило интенсивное
развитие автоматических и автоматизированных
систем разного назначения и масштаба,
в первую очередь заметное в области бизнес
приложений. Такие системы работают с
большими объемами информации, которая
обычно имеет достаточно сложную структуру,
требует оперативности в обработке, часто
обновляется и в то же время требует длительного
хранения. Примерами таких систем являются
автоматизированные системы управления
предприятием, банковские системы, системы
резервирования и продажи билетов и т.
д.
Другими
направлениями, стимулировавшими развитие,
стали, с одной стороны, системы
управления физическими экспериментами,
обеспечивающими сверхоперативную
обработку в реальном масштабе времени
огромных потоков данных от датчиков,
а с другой — автоматизированные
библиотечные информационно поисковые
системы.
Это привело
к появлению новой информационной
технологии интегрированного хранения
и обработки данных — концепции
баз данных, в основе которой лежит
механизм предоставления обрабатывающей
программе из всех хранимых данных
только тех, которые ей необходимы,
и в форме, требуемой именно этой
программе.
Новые информационные
технологии значительно расширяют
возможности использования информационных
ресурсов в различных отраслях промышленности,
а так же в образовании.
1. Понятие базы данных и банка
данных
Одним
из важнейших понятий теории
базы данных является понятие
информации. Здесь под информацией
понимают любые сведения о
каком-либо событии, процессе, объекте.
С понятием информации тесно
связано понятие данных. Данные
– это информация, представленная
в определенном виде, позволяющем
автоматизировать ее сбор, хранение
и обработку.
Банк
данных - это одна из форм
информационных систем. Банком данных
называют систему специальным образом
организованных баз данных, программных,
технических, языковых и организационно
- методических средств, предназначенных
для обеспечения централизованного накопления
и коллективного многоцелевого использования
данных.
База
данных – совокупность специальным
образом организованных данных,
хранимых в памяти компьютера
и отражающих состояние объектов
и их отношений в рассматриваемой
предметной области. Предметной
областью принято называть ту
часть реального мира, объекты
которой описаны в базе данных.
База данных состоит из множества
связанных файлов.
Логическую
структуру хранимых в базе
данных называют моделью данных. К
основным моделям представления данных
относят следующие: иерархическую, сетевую,
реляционную, постреляционную, многомерную
и объектно-ориентированную.
Информацию
о данных, хранимых в базе, принято
называть метаданными (данными
о данных). Совокупность всех метаданных
образует словарь данных.
База
данных должна обладать определенными
свойствами:
1. Восстанавливаемость
– возможность восстановления
базы данных после сбоя системы
(проверка наличия файлов, дублирование
базы данных).
2. Безопасность
– предполагает защиту данных
от преднамеренного и непреднамеренного
доступа, защита от копирования,
запрещение несанкционированного
доступа.
3. Целостность.
В каждый момент времени существования
базы данных сведения, содержащиеся
в ней, должны быть полными,
непротиворечивыми и адекватно
отражающими предметную область.
В этом и заключается ее
целостность. Целостность базы
данных достигается вследствие
введения ограничения целостности
(указание диапазона допустимых
значений, соотношение между значениями
данных, ограничение на удаление
информации и т.д.). Ограничения
реализуются различными средствами
СУБД, например, при помощи декларативных
(объявленных при разработке базы
данных ее разработчиком) ограничений
целостности.
4. Эффективность
– минимальное время реакции
на запрос пользователя. Система
управление базами данных (СУБД)
– совокупность языковых и
программных средств, предназначенных
для создания, ведения и совместного
использования базы данных многими
пользователями. Обычно СУБД различают
по используемой модели данных. Так, например,
СУБД, основанные на использовании реляционной
модели данных, называют реляционными
СУБД.
Основные
функции СУБД :
1. Администрирование
базы данных.
СУБД
имеют развитые средства администрирования
базы данных (определение доступа
к базе, ее архивация). В связи
с тем, что базы данных приникают
сегодня во многие сферы деятельности
человека, появилась новая профессия
– администратор базы данных,
человек, отвечающий за проектирование,
создание, использование и сопровождение
базы данных. В процессе эксплуатации
БД администратор обычно следит
за ее функционированием, обеспечивает
защиту от несанкционированного
доступа к хранимым данным, вносит
изменения в структуру базы, контролирует
достоверность информации в ней.
2. Непосредственное
управление данными во внешней
памяти.
Эта
функция предоставляет пользователю
возможность выполнения основных
операций с данными – хранение,
извлечение и обновление информации.
Она включает в себя обеспечение
необходимых структур внешней
памяти как для хранения данных,
непосредственно входящих в БД,
так и для служебных целей,
например, для убыстрения доступа
к данным. СУБД поддерживает собственную
систему именования объектов
БД.
3. Управление
буферами оперативной памяти.
СУБД
обычно работают с БД значительного
размера; по крайней мере, этот
размер обычно существенно больше
доступного объема оперативной
памяти. Понятно, что если при
обращении к любому элементу
данных будет производиться обмен
с внешней памятью, то вся
система будет работать со
скоростью устройства внешней
памяти. Практически единственным
способом реального увеличения
этой скорости является буферизация
данных в оперативной памяти.
Однако этого недостаточно для
целей СУБД. Поэтому в развитых
СУБД поддерживается собственный
набор буферов оперативной памяти.
4. Управление
транзакциями
Транзакция
– это последовательность операций
над БД, которые рассматриваются
СУБД как единое целое и
позволяют добавлять, удалять
или обновлять сведения о некотором
объекте в базе (по существу
это некоторый программный код,
написанный на одном из языков
управления данными). Либо транзакция
успешно выполняется, и СУБД
фиксирует изменения БД, произведенные
этой транзакцией, либо ни одно
из этих изменений никак не
отражается на состоянии БД. Например,
если в результате транзакции
произошел сбой компьютера, база
данных попадает в противоречивое
положение – некоторые изменения
уже внесены, остальные нет.
Транзакция позволяет вернуть базу
в первоначальное непротиворечивое состояние
(отменить все выполненные изменения).
5. Журнализация
Одним
из основных требований к СУБД
является надежность хранения
данных во внешней памяти. Под
надежностью хранения понимается
то, что СУБД должна быть в
состоянии восстановить последнее
состояние БД после любого
аппаратного или программного
сбоя (аварийное выключение питания,
аварийное завершение работы
СУБД или аварийное завершение
пользовательской программы). Понятно,
что в любом случае для восстановления
БД нужно располагать некоторой
дополнительной информацией. Наиболее
распространенным методом поддержания
надежности хранения является
ведение журнала изменений БД.
Журнал
– это особая часть БД, недоступная
пользователям и поддерживаемая
с особой тщательностью (иногда
поддерживаются две копии журнала,
располагаемые на разных физических
дисках), в которую поступают записи
обо всех изменениях основной
части БД. Изменения БД журнализуются
следующим образом: запись в журнале соответствует
некоторой операции изменения БД (например,
операции удаления строки из таблицы реляционной
БД). С помощью журнала можно решить все
проблемы восстановления БД после любого
сбоя.
6. Поддержка
языков БД
СУБД
включает язык определения данных, с помощью
которого можно определить структуру
базы, тип данных в ней, указать ограничения
целостности (это язык, с помощью которого
задаются различные имена, свойства объектов).
Кроме того, СУБД позволяет вставлять,
удалять, обновлять и извлекать информацию
из базы данных посредством языка управления
данными – языка запросов, который позволяет
выполнять различные действия с данными,
осуществлять их поиск и выборку. Он содержит
набор различных операторов (заносить
данные, удалять, модифицировать, выбирать
и т.д.). Процесс извлечения данных и их
обработка скрыты от пользователя.
Стандартным
языком наиболее распространенных
в настоящее время СУБД является
язык SQL (Structured Query Language). Он имеет сразу
два компонента: язык определения данных
и язык управления данными. Кроме того,
одним из языков управления данными является
язык QBE – язык запросов по образцу. Подробно
о реализаций функций СУБД с помощью языка
SQL будет рассказано на отдельных лекциях,
посвященных языку SQL.
2. Классификация СУБД.
1. По
степени универсальности все
СУБД делятся на СУБД общего
назначения и специализированные
СУБД. СУБД общего назначения
не ориентируются на информационные
потребности конкретной группы
пользователей. Они могут быть
использованы для создания и
использования баз данных в
любой предметной области (документоведение,
образование, риэлтерская деятельность
и т.д.). К ним относят MS Access,
MS FoxPro. Однако в некоторых случаях доступные
СУБД общего назначения не позволяют добиться
требуемых результатов. С этой целью используют
специализированные СУБД,которые позволяют
осуществить работу с данными, описывающими
информационные потребности узкого круга
пользователе. К таким СУБД можно отнести
Lotus.
2. По
функциональности все СУБД делятся
на полнофункциональные СУБД, серверы
баз данных, клиенты баз данных.
Полнофункциональные СУБД представляют
собой традиционные СУБД, которые
изначально создавались для больших
ЭВМ, затем для ПЭВМ. Они являются
наиболее многочисленными и мощными
по своим возможностям. К ним
относят MS Access, MS FoxPro, Paradox, dBase IV. Такие
СУБД имеют развитый интерфейс, для создания
отчетов и запросов используются мастера.
Многие СУБД имеют встроенные языки программирования
для профессиональных разработчиков.
Серверы БД предназначены для организации
центров обработки данных в локальной
(или глобальной) сети. Они обладают скудным
интерфейсом, однако, их основное назначение
– организация хранения баз данных удаленных
пользователей, защита данных от несанкционированного
доступа, ограничение доступа к данным,
возможность одновременной работы с базой
нескольким пользователям. Данная группа
менее многочисленна, однако их количество
постоянно растет за счет того, что сегодня
практически в любой организации, на любом
предприятии все компьютеры соединяются
в локальную сеть. Следовательно, возникает
необходимость организации централизованного
хранения базы и создания удаленного многопользовательского
доступа к ней. Примером такой СУБД является
СУБД MS SQL Server. В роли клиентов баз данных
могут использоваться любые полнофункциональные
СУБД. здесь их роль сводится к тому, чтобы
обеспечить доступ к данным, их просмотр,
поиск и выборку.
3. По
характеру использования СУБД
делят на персональные и многопользовательские.
Персональные
СУБД обычно обеспечивают возможность
создания персональных баз данных.
Такие СУБД могут выступать
в роли клиентов БД. К ним
относят MS Access, MS FoxPro, Paradox, Clipper. Многопользовательские
СУБД включают в себя сервер базы данных
и клиентскую часть, могут работать в с
различными операционными системами,
с различными типами ЭВМ. К таким СУБД
относят Oracle, Informix.
Компоненты
среды СУБД
В
СУБД можно выделить несколько
основных компонентов: данные, пользователи,
аппаратное обеспечение, программное
обеспечение, процедуры.
Данные
являются наиболее важным компонентом.
Для
хранения данных и функционирования
базы необходимо аппаратное обеспечение
– набор физических устройств
(ПК, сеть), на которых существует
база и СУБД.
Для
того, чтобы можно было работать с данными,
кроме аппаратного обеспечения необходимо
иметь операционную систему, сетевое программное
обеспечение, программное обеспечение
самой СУБД и прикладные программы-приложения.
Прикладные программы пишутся программистами
на одном из языков высокого уровня (Pascal,
C, VB) для нужд конкретной организации.
Такие программы используют средства
СУБД для обращения к данным в базе и их
обработки, создавая различные свойственные
данной организации формы, отчеты. Среди
пользователей базой данной можно выделить
4 категории лиц: администраторы данных,
администраторы баз данных, разработчики
баз данных, непосредственно сами пользователи.
Администраторы
данных работают с данными
с самого начала процесса ее
создания. Отвечают за сбор информационных
потребностей данной организации,
проектирование будущей базы.
Администратор
базы данных отвечает за физическую
реализацию базы, обеспечение безопасности,
сопровождает базу в процессе
ее эксплуатации, следит за достоверностью
информации в базе и т.д.
Разработчики
баз данных – категория лиц,
которые работают с ней только
в процессе ее разработки по
проекту, созданному администратором
данных.
Пользователи
– это конечные пользователи,
ради которых база проектировалась,
создавалась и будет работать.
Их часто называют клиентами.
СУБД
является достаточно сложным
видом программного обеспечения,
поэтому в составе СУБД можно
выделить ряд программных компонентов:
–
ядро СУБД, которое отвечает за
управление данными во внешней
памяти, управление буферами оперативной
памяти, транзакциями, журнализацию. Это
главная часть СУБД. Ядро обладает
собственным интерфейсом, недоступным
пользователю напрямую.