1 Введение в базы данных

 

1.1 Ограничения, присущие файловым системам

 

Можно выделить следующие ограничения, присущие файловым системам.

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

2.  Дублирование данных. Из-за децентрализованной работы с данными, накапливаемых в каждом подразделении предприятия независимо от других подразделений, в файловой системе фактически допускается  дублирование данных, и это, в принципе, неизбежно. Дублиро­вание данных нежелательно по следующим причинам: оно сопровождается неэкономным расходованием ресур­сов, поскольку на ввод избыточных данных требуется затрачивать допол­нительное время и для их хранения необходимо дополнительное место во внешней памяти. Дублирование данных может привести к на­рушению их целостности. Иначе говоря, данные в разных отделах могут стать противоречивыми. Поскольку не существует автоматического способа обновления дублированных данных одновременно в нескольких файлах, нетрудно предвидеть, что подобные противоречия время от времени будут неизбежно возникать.

3.  Зависимость от данных. Физическая структура и способ хранения запи­сей файлов данных жестко зафиксированы в коде приложений. Это значит, что изменить существующую структуру данных сложно, потребуется, как минимум, создать одноразовую программу, преобразующую уже существующий файл в новый формат. Помимо этого, все обращающиеся к файлу программы должны быть изменены с целью соответствия новой структуре файла. Выполнение этих действий требует затрат времени и может явиться причиной появления ошибок. Данная особенность файловых систем называется зависимостью программ от данных (program-data dependence).

4.  Несовместимость форматов файлов. Поскольку структура файлов определяется кодом приложений, она также за­висит от языка программирования этого приложения. Прямая несовмести­мость таких файлов затрудняет процесс их совместной обработки.

5.  Фиксированные запросы/быстрое увеличение количества приложений. Файловые системы требуют больших затрат труда программиста, поскольку все необходимые запро­сы и отчеты должны быть созданы именно им в коде программы. В результате типы применяемых запросов и отчетов имеют фиксированную фор­му, и нет никаких инструментов создания незапланированных или произвольных запросов. В любом случае, подобная организация работы с течением времени изживает себя, и требуется искать другие решения.

Все перечисленные выше ограничения файловых систем являются следствием двух факторов.

1.  определение данных содержится внутри приложений, а не хранится отдельно и независимо от них;

2.  помимо приложений не предусмотрено никаких других инструментов доступа к данным и их обработки.

Для повышения эффективности работы необходимо использовать новый подход, а  именно базу данных (database) и систему управления базами данных, или СУБД (Database Management System - DBMS).

 

 

1.2 Основные понятия и определения

 

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

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

 

Описание: Описание: Описание: Описание: IMAGE22

 

Рисунок 1.1 - Компоненты системы баз данных

 

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

Причем база данных хранит не собственно рабочие данные, но и их описания. В совокупности описание данных называется системным каталогом, или словарем данных, а сами элементы описания принято называть метаданными, т.е. "данными о данных". Именно наличие самоописания данных в базе данных обеспечивает принцип независимости программ от данных.

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

Сформулируем основные требования, которые предъявляются к БД:

- комплексное (коллективное) использование хранимой информации сложной структуры и значительного объема;

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

- минимизация избыточности данных и затрат памяти на внешних носителях. Каждый элемент данных вводится в БД один раз и хранится в ней в единственном экземпляре. При вводе данных осуществляется проверка на дублирование данных;

- открытость БД. Структура данных должна позволять легко включать новые и удалять устаревшие данные, а также вносить изменения в хранящиеся данные за счет наличия языков высокого уровня для взаимодействия пользователей с БД;

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

- целостность данных — их непротиворечивость и достоверность. Организация БД должна обеспечивать согласование времени выборки данных с частотой их использования прикладными программами;

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

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

Работоспособность и эффективность БД во многом определяется тем, насколько правильно организована структура данных и как она отражена в памяти ЭВМ.

 

 

1.3 Аспекты классификации баз данных

 

БД принято классифицировать по следующим аспектам.

1. По форме представления информации:

1.1. текстовые:

-     структурированные;

-     не структурированные;

-     частично структурированные;

1.2. видео;

1.3. аудио;

1.4. мультимедиа.

 

2. По типу модели данных:

2.1. сетевые;

2.2. иерархические;

2.3. реляционные;

2.4. постреляционные (многомерные - Cache, Teradata);

2.5. объектно-ориентированные (Cache, FastObjects , GemStone/S , Jasmine, ObjectStore , Objectivity/DB , Versant).

 

3. По типу хранимой информации:

3.1. документальные:

-     библиографические;

-     документальные;

-     полнотекстовые;

3.2. фактографические;

3.3. лексикографические:

-     словари;

-     классификаторы.

 

4. По характеру организации данных и способу обращения к ним:

4.1. персональные (локальные);

4.2. общие (интегрированные):

-     централизованные;

-     распределенные.

 

5. По предметной области:

5.1. сектор деловой информации (биржевые, финансовые, коммерческие);

5.2. сектор профессиональной информации (патентные, юридические, технологические);

5.3. сектор массовой потребительской информации (справочники, расписания).

 

6. По скорости изменения и времени хранения данных:

6.1. оперативные (транзакционные);

6.2. исторические (хранилища данных).