Лекция 1. История возникновения СУБД направления использования вычислительной техники применение вычислительной техники для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную - интенсификация методов численного решения сложных математических задач - развитие класса языков программирования, ориентированных на удобную запись численных алгоритмов - становление обратной связи с разработчиками новых архитектур ЭВМ использование средств вычислительной техники в автоматических или автоматизированных информационных системах информационная система представляет собой программный комплекс, функции которого состоят в поддержке надежного хранения информации в памяти компьютера, выполнении специфических для данного приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса 1 банковские системы, системы резервирования авиационных или железнодорожных билетов, мест в гостиницах и т.д.
надежное и долговременное хранении информации наличие запоминающих устройств, сохраняющих информацию после выключения электрического питания магнитные ленты и барабаны CD, DVDHD гибкие магнитные диски системы управления данными во внешней памяти централизованные системы управления файлами (файловые системы) - распределение внешней памяти - отображение имен файлов в соответствующие адреса во внешней памяти - обеспечение доступа к данным 2 каждая прикладная программа, которой требовалось хранить данные во внешней памяти, сама определяла расположение каждой порции данных на магнитной ленте или барабане и выполняла обмены между оперативной и внешней памятью с помощью программно-аппаратных средств низкого уровня (машинных команд или вызовов соответствующих программ операционной системы)
С точки зрения прикладной программы файл - это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные. Правила именования файлов, способ доступа к данным, хранящимся в файле, и структура этих данных зависят от конкретной системы управления файлами Информационные системы хранение выбор модификация постоянно существующей информации Структура информации зачастую очень сложна, и хотя структуры данных различны в разных информационных системах, между ними часто бывает много общего. На начальном этапе использования вычислительной техники для управления информацией проблемы структуризации данных решались индивидуально в каждой информационной системе. Производились необходимые надстройки над файловыми системами (библиотеки программ). Поскольку информационные системы требуют сложных структур данных, эти дополнительные индивидуальные средства управления данными являлись существенной частью информационных систем и практически повторялись от одной системы к другой. Стремление выделить и обобщить общую часть информационных систем, ответственную за управление сложно структурированными данными, явилось первой побудительной причиной создания СУБД. 3
БД - это совокупность взаимосвязанных данных при такой их минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений в определенной предметной области человеческой деятельности Дж. Мартин динамическая информационная модель некоторой предметной области деятельности человека. БД данные интерфейс операции с данными поддержка структуры данных, обеспечение целостности данных, поиск, сортировка, фильтрация, добавление и удаление данных набор данных Ядро БД интерфейс программа обслуживания 4
Полный набор операций с данными предоставляют СУБД СУБД - совокупность языковых и программных средств, обеспечивающих создание, поддержание и доступ к данным как со стороны пользователей, так и со стороны приложений. СУБД развитый пользовательский интерфейс средства программирования высокого уровня средства администрирования средства обеспечения секретности и безопасности информации задачи СУБД: 1) непосредственное управление данными во внешней памяти; 2) управление буферами оперативной памяти; 3) управление транзакциями; 4) журнализация; 5) поддержка языков БД. 5
Непосредственное управление данными во внешней памяти: Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для убыстрения доступа к данным в некоторых случаях (обычно для этого используются индексы). В некоторых реализациях СУБД активно используются возможности существующих файловых систем, в других работа производится вплоть до уровня устройств внешней памяти. В развитых СУБД пользователи в любом случае не обязаны знать, использует ли СУБД файловую систему, и если использует, то как организованы файлы. В частности, СУБД поддерживает собственную систему именования объектов БД. Управление буферами оперативной памяти: Так как система работает со скоростью устройства внешней памяти, то единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. Управление транзакциями: Транзакция – последовательность операций над БД рассматриваемых СУБД как единое целое. Понятие транзакции необходимо для поддержания логической целостности БД. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает очень удобным использование понятия транзакции как единицы активности пользователя по отношению к БД. При соответствующем управлении параллельно выполняющимися транзакциями со стороны СУБД каждый из пользователей может в принципе ощущать себя единственным пользователем СУБД. 6
Журнализация: Под надежностью хранения понимают возможность СУБД восстановить последнее свое согласованное состояние после программных сбоев, аппаратных сбоев и т.д. При этом надо располагать некоторой дополнительной информацией. Наиболее распространенным методом поддержания избыточной информации является журнал изменений БД. Журнал – особая часть БД, недоступная пользователям СУБД и тщательно поддерживаемая. При ведении журнала используют стратегию упреждающей записи в журнал (протокол Write Ahead Log): запись об изменении любого объекта должна попасть во внешнюю память журнала раньше, чем измененный объект попадает во внешнюю память основной части БД. При мягком сбое во внешней памяти восстановление осуществляется самими транзакциями. Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД. Поддержка языков БД: Для работы с БД используются специальные языки, называемые языками баз данных. В ранней СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялось два языка: 1) язык определения схемы БД (SDL - Schema Definition Language); 2) язык манипулирования данными (DML - Data Manipulation Language). В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания и кончая пользовательским интерфейсом с БД. Наиболее распространенным сейчас в реляционных СУБД стандартным языком является SQL. 7
проектирование БД 1. определение структуры данных и имплементация ее с помощью некоторой СУБД 2. ввод данных 3.поиск информации либо ее выборка (осуществляется на основе критериев поиска) 4.оформление выбранных записей структура данных (таблица) форма запрос отчет программы, связывающие эти компоненты в единое приложение компоненты БД БД, предназначенные для хранения текстовой и числовой информации БД мультимедиа (Multimedia Databases); географические информационные системы (Geographic Information Systems - GIS), предназначенные для хранения карт, погодных данных и снимков со спутников; аналитическая обработка данных (Data Warehouses, Data Mining and On-line Analytical Processing - OLAP). Системы, использующиеся для выделения и анализа необходимой информации из очень больших БД для принятия решений; системы реального времени и активные БД (Real-time and Active Database Technology), использующиеся для контроля проектирования и производства; Интернет БД, включающий серверные БД и поисковые системы. 8