Тема 6. Базы и банки данных, их использование в информационных системах коммерческого назначения Базы и банки данных Понятие «база данных» Виды баз данных Понятие базы знаний Понятие системы управления базами данных (СУБД) Функции и виды (СУБД) Применение СУБД в коммерческой деятельности База данных Термин «база данных» в настоящее время применяется, когда речь идет о задаче хранения и переработке информации с помощью компьютера. Под этим термином обычно понимают совокупность информации, организованную определенным образом и объединенную в одно целое по некоторому признаку. Системы управления базами данных Конкретный способ организации базы данных определяется тем программным продуктом, который специально создается для обработки информации, объединенной в БД. Программные средства, предназначенные для указанной цели, называются «системами управления базами данных» (СУБД). СУБД осуществляют: ввод данных в БД, коррекцию данных в БД, удаление ненужной информации из БД, поиск требуемой информации и отображение ее на экране дисплея (либо вывод на печатающее устройство). Виды СУБД 1) Специализированные СУБД создаются для управления базами данных конкретного назначения - бухгалтерские, складские, банковские и т.д. 2) Универсальные СУБД не имеют четко очерченных рамок применения, они рассчитаны “на все случаи жизни” и, как следствие, достаточно сложны и требуют от пользователя специальных знаний. 3) Разрабатываемые для конкретного заказчика. Основные функции СУБД 1. Непосредственное управление данными во внешней памяти 2. Управление буферами оперативной памяти 3. Управление транзакциями 4. Журнализация 5. Поддержание языков БД 1. Непосредственное управление данными во внешней памяти Эта функция включает обеспечение необходимых структур внешней памяти как для хранения непосредственных данных, входящих в БД, так и для служебных целей, например, для убыстрения доступа к данным в некоторых случаях (обычно для этого используются индексы). 2. Управление буферами оперативной памяти СУБД обычно работают с БД значительного размера; по крайней мере этот размер обычно существенно превышает доступный объем оперативной памяти. Понятно, если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Единственным же способом реального увеличения этой скорости является буферизация данных в оперативной памяти. Поэтому в развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов. 3. Управление транзакциями Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется, и СУБД фиксирует (COMMIT) изменения БД, произведенные ею, во внешней памяти, либо ни одно из этих изменений никак не отражается в состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД. При соответствующем управлении параллельно выполняющимися транзакциями со стороны СУБД каждый пользователь может в принципе ощущать себя единственным пользователем СУБД (на самом деле, это несколько идеализированное представление, поскольку пользователи многопользовательских СУБД порой могут ощутить присутствие своих коллег). 4. Журнализация Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая особо тщательно (иногда поддерживаются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД. В разных СУБД изменения БД журнализуются на разных уровнях: иногда запись в журнале соответствует некоторой логической операции изменения БД (например, операции удаления строки из таблицы реляционной БД), а порой запись соответствует минимальной внутренней операции модификации страницы внешней памяти. В некоторых системах одновременно используются оба подхода. 5. Поддержание языков БД Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В современных СУБД поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language).