Существует огромное количество разновидностей баз данных, отличающихся по различным критериям (например, в «Энциклопедии технологий баз данных» М. Р. Когаловского определяются свыше 50 видов БД).
Укажем только основные классификации.
Классификация БД по модели данных.
Примеры:
Иерархические
Сетевые
Реляционные
Объектные
Объектно-ориентированные
Объектно-реляционные
Классификация БД по содержимому:
Примеры:
Географические
Исторические
Научные
Мультимедийные.
Классификация БД по степени распределённости:
Централизованные (сосредоточенные). Вся информация в централизованной БД хранится на одном компьютере. Это может быть автономный ПК или сервер сети, к которому имеют доступ пользователи-клиенты
Распределённые. Распределенные БД используются в локальных и глобальных компьютерных сетях. В таком случае разные части базы хранятся на разных компьютерах
База данных предполагает наличие некоторого программного обеспечения, позволяющего пользователям работать с базой данной. Это программное обеспечение разрабатывается с помощью инструментальных программных средств, называемых системой управления базами данных(СУБД).
Если сама база данных предназначена только для хранения информации и практически не может быть использована для работы в «сыром» виде, то СУБД берет на себя все остальные функции:
обеспечивает описание и сжатие данных;
манипулирование данными;
физическое размещение и сортировку записей;
защиту от сбоев, поддержку целостности данных и их восстановление;
работу с транзакциями и файлами;
безопасность данных.
Главная «внешняя» функция СУБД — предоставление информации в понятном и удобном виде.
Опр. Система управления базами данных – это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.
4. Основные функции системы управления базами данных.
1. Обеспечивать работу пользователя (оператора) по извлечению и модификации данных. . Механизм реализации этих возможностей может и должен быть скрыт от пользователя, то есть пользователь просто нажимает некоторую кнопку (например, “Зарезервировать билет”), а уж как это реализовано внутри - это должно быть скрыто.
2. Обеспечивать одновременный доступ нескольких пользователей к базе данных. При одновременной работе нескольких операторов по резервированию авиабилетов не должны возникать конфликты типа того, что оба видят на экране своих терминалов свободное место под номером “4F” и оба выписывают на него билеты. С другой стороны, недопустима ситуация, когда один оператор, работая с тем или иным рейсом, делает невозможной работу других операторов с этим же рейсом.
3.Предоставлять возможность выполнения административных действий по поддержанию работоспособности информационной системы. В реальной информационной системе очень важно обеспечить технологичность, то есть информационная система позволять добавлять или удалять пользователей, настраиваться на новые аппаратные ресурсы и т.д.
4.Обеспечивать разграничение прав доступа разных пользователей к разным данным.
Какие-то пользователи могут и читать и модифицировать данные, какие-то пользователи могут только читать, а кто-то вообще может только вводить данные, а читать не имеет право. Например, любой посетитель в аэропорту может иметь возможность просмотреть список коммерческих рейсов и количество свободных мест на них. Изменять эти данные он не имеет право, это должен делать кассир, предварительно получив деньги. Доступ же к информации по грузовым и заказным рейсам для обычного посетителя вообще должен быть закрыт.
5.Обеспечивать целостность и непротиворечивость данных в случае аппаратных и программных сбоев. В случае внезапного выключения и последующего включения компьютера, на котором работает сервер базы данных, информация не должна быть искажена. Также информационная система должна быть максимально устойчива к программным ошибкам (или к злому умыслу). Например, следует исключить возможность выдачи билета на несуществующий рейс. В случае выхода аппаратуры из строя, должна существовать возможность восстановить работоспособность системы с минимальными потерями информации.
6.Защищать данные от несакционированного доступа. В современных информационных системах большое количество данных является конфиденциальной. Помимо разграничения доступа для разных категорий пользователей, информационная система должна обеспечивать защиту от попыток получить доступ к данным тем лицам, которые не являются пользователями информационной системы.
Т.о. с помощью СУБД можно создавать базы данных, модифицировать данные в базе данных, вносить новые данные, разрабатывать пользовательские приложения, не заботясь при этом о способе физического представления данных. Кроме того, СУБД должна выполнять некоторые задачи по администрированию и поддержанию непротиворечивости данных. То есть СУБД - это инструмент, с помощью которого создается та или иная конкретная база данных. В примере про систему резервирования билетов к СУБД относятся как средства, с помощью которых разработаны программа, с которой работают операторы, сидящие в авиакассах, так и программа, с помощью которой администратор меняет список рейсов. Утилита, с помощью которой по ночам создается резервная копия всей базы, также относится к СУБД.