ТЕМА: ПОНЯТИЕ О БАЗАХ ДАННЫХ
ТЕМА: ПОНЯТИЕ О БАЗАХ ДАННЫХ
1.1. Введение в базы данных
В настоящий момент информационные технологии повсеместно внедряются во все сферы человеческой деятельности. Одной из самых распространенных современных информационных технологий является использование баз данных (БД).
За последние 30 лет в области теории БД была проведена серия исключительно продуктивных исследований. Полученные результаты вполне можно считать наиболее важным достижением информатики. БД стали основой информационных систем и в корне изменили методы работы многих организаций. В частности, развитие данной технологии в последние годы привело к созданию весьма мощных и интуитивно понятных систем.
Таким образом, появление БД стало самым важным достижением в области программного обеспечения. В силу все более широкого распространения персональных компьютеров важность организации информации в виде БД непрерывно возрастает.
В теории БД можно выделить три составляющие:
- теорию построения БД (проектирование);
- теорию использования БД (эксплуатация);
- теорию функционирования БД (взаимодействие составляющих).
Развитие экономики и других сфер человеческой деятельности в наше время связано с применением вычислительной техники, созданием информационных систем различного назначения.
Эти системы работают с информацией.
Любая система представляет собой совокупность взаимосвязанных объектов (элементов), функционирующих совместно для достижения общей цели.
Информационная система (ИС) представляет собой программный комплекс, функции которого состоят в поддержке надежного хранения информации в памяти компьютера, выполнения специфических для данного приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса. Обычно объемы информации, с которыми приходится иметь дело таким системам, достаточно велики, а сама информация имеет достаточно сложную структуру.
Классическими примерами ИС являются банковские системы, системы резервирования авиационных или железнодорожных билетов, мест в гостиницах, банк данных метеорологического управления, картотека дорожного движения и т.д. Все эти ИС являются банками данных. Особенностями этих систем являются реальный масштаб времени и изменение БД практически при каждом запросе.
Одним из основных свойств ИС является делимость на подсистемы. Обычно выделяют функциональные и обеспечивающие подсистемы. Функциональные подсистемы информационно обслуживают определенные виды деятельности, характерные для структурных подразделений ИС. Интеграция функциональных подсистем в единую систему достигается за счет создания и функционирования обеспечивающих подсистем.
Ядром ИС является банк данных (БнД).
1.2. Понятие банка данных, его роль в системе обработки информации. Предметная область
Банк данных – это система специальным образом организованных данных (баз данных), программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных. Т.е., с одной стороны, БнД – это автоматизированная система хранения и обработки данных, а, с другой стороны, БнД – это совокупность интерфейсов между пользователями и хранимыми данными.
БнД является современной формой организации хранения и доступа к информации. С функционально-организационной точки зрения БнД является сложной человеко-машинной системой, служащей для надежного, эффективного и продолжительного во времени функционирования.
В окружающем нас мире выделяются материальные системы различного назначения. Все, что происходит в процессе функционирования материальных систем, может быть описано в форме сообщений. Появление сообщений о событиях, происходящих в материальной системе, представляет собой информационное отображение материальных процессов.
Сообщение может быть выражено на естественном языке, однако часто применяют форматированные сообщения, когда выделяются опорные свойства (параметры) происходящего события и в сообщении приводятся названия свойств и их значения.
Пример. На склад №2 01.02.07 поступили станки от завода «Динамо» в количестве 50 шт. по цене 200 тыс.руб.
Форматированный вариант сообщения:
Название параметра | Значение параметра |
Получатель | Склад №2 |
Отправитель | Завод «Динамо» |
Изделие | Станок |
Дата | 01.02.07 |
Цена | 200 тыс.руб. |
Количество | 50 шт. |
Таких сообщений о поступлении изделий на склады предприятия появляется достаточно много. Они совпадают по названиям параметров и различаются по значениям параметров. В этом случае удобно представление в виде таблицы:
Многие сообщения легко разделяются на компоненты и представляются в форматированном виде. Форматированные сообщения – это наиболее массовый вид сообщений, хранимых и обрабатываемых в ЭИС. Вместе с тем существует экономическая информация, которую практически невозможно форматировать, например, приказы по предприятию.
Таким образом, данные в ЭИС могут храниться в свободном и фиксированном форматах. Сообщения в фиксированном формате наиболее удобно хранить в виде базы данных (БД).
База данных – набор сообщений, удовлетворяющих требованиям:
- являются истинными для соответствующей материальной системы;
- непротиворечивы по отношению друг к другу и к концептуальной схеме.
Концептуальная схема (от слова concept – понятие) – представляет собой описание структуры всех единиц информации, хранящихся в БД.
Любая система представляет собой совокупность связанных ресурсов и процессов. К ресурсам относятся, например, рабочие и служащие, сырье и материалы, станки, деньги, изделия и полуфабрикаты. Процесс – это преобразование одного набора ресурсов в другой набор ресурсов. Одновременно могут происходить многие процессы. Так, процесс производства изделий использует входные ресурсы – рабочую силу, материалы и оборудование, а на выходе процесса получаются готовые изделия или полуфабрикаты. Завершение процесса производства позволяет выполнить другие процессы, например, передачу продукции на склад.
Взаимосвязанные ресурсы и процессы любой системы можно описать в терминах предметной области.
Предметной областью называются элементы материальной системы, информация о которых хранится и обрабатывается в ЭИС.
Информационным отображением всей предметной области какого-либо объекта служит информационная база ЭИС. Информационная база состоит из одной или нескольких БД.
2.1. Основные компоненты банка данных
БнД включает в себя следующие компоненты:
БД (database), которая является ядром БнД. БД – это совокупность взаимосвязанных именованных данных, описание, хранение и манипуляция которыми проводится по общим правилам.
СУБД (или диспетчер БД) (DBMS – Database Management System) – это специальный пакет программ, который централизованно обеспечивает контролируемый доступ к данным и управление ими.
Вычислительная система – это весь комплекс технических средств, задействованных в автоматизированном БнД (сервер, телекоммуникации и т.д.).
Словарь данных (data dictionary) (репозиторий), или системный каталог (system catalog) - централизованное хранилище метаинформации. Метаинформацией (или метаданными (meta-data)) называется описание структуры БД (схема БД), модель предметной области, информация о пользователях и их правах, описание формы входных и выходных документов, т.е. «информация об информации», «данные о данных».
Персонал БнД – это специалисты, которые обеспечивают создание, работу и развитие БнД. Особое место среди персонала БнД отводится администрации БнД.
Администрация БнД (АБД) (Database Administrator (DBA)) – лицо или группа лиц, реализующих управление информационными процессами в БнД, поддержание целостности (непротиворечивости) и защиту данных, координацию деятельности пользователей.
2.2. Функциональное назначение компонентов АБнД
2.2.1. База данных
Первой попыткой компьютеризировать ручные картотеки было создание файловых систем. Файловые системы были разработаны в ответ на потребность в получении более эффективных способов доступа к данным. Однако, вместо организации централизованного хранилища всех данных предприятия, был использован децентрализованный подход, при котором сотрудники каждого отдела работали со своими собственными данными. Т.е. файлы с дублирующей информацией создавались для каждой отдельной задачи. Например, приложения, связанные с кадровым учетом, с начислением заработной платы и с планированием учебной нагрузки, могут содержать одни и те же данные о преподавателе: фамилию, должность, ученую степень, ученое звание, подразделение. При этом значительную часть данных приходилось вводить многократно.
Разделение и изоляция данных. Когда данные изолированы в отдельных файлах, доступ к ним весьма затруднителен.
Значительная избыточность, дублирование данных. Дублирование данных сопровождается неэкономным расходованием ресурсов, поскольку на ввод избыточных данных требуется затрачивать дополнительные время, деньги и память. Противоречивость содержимого одноименных полей, нарушение целостности данных.
Зависимость от данных. Физическая структура и способ хранения записей файлов данных жестко зафиксированы в коде программ приложений. Изменить существующую структуру данных достаточно сложно.
Трудности в соблюдении стандартов разного уровня, необходимых для обмена данными между вычислительными центрами. Неполная автоматизация приводила к разнообразным нестыковкам и дополнительным затратам на параллельные технологии.
Несовместимость форматов данных. Все перечисленные выше ограничения файловых систем являются следствием двух факторов:
- Определение данных содержится внутри приложений, а не хранится отдельно и независимо от них.
- Помимо приложений не предусмотрено никаких других инструментов доступа к данным и их обработки.
Для повышения эффективности работы необходимо использовать новый подход, а именно БД и СУБД.
Под БД понимается некоторая совместно используемая совокупность логически связанных данных (и описание этих данных), предназначенная для удовлетворения информационных потребностей пользователей.
На сегодня наиболее общее и полное определение БД дается в Законе «О правовой охране программ и электронно-вычислительных машин и баз данных». Согласно ст.1 этого закона «БД – это объективная форма представления и организации совокупности данных, систематизированных таким образом, чтобы эти данные могли быть найдены и обработаны с помощью ЭВМ».
В нестрогом смысле слова БД – совокупность данных и связей между ними, хранящихся в виде одного или более файлов данных с произвольной организацией доступа.
Задача БД состоит в хранении всех представляющих интерес данных в одном или нескольких местах, причем таким способом, который заведомо исключает ненужную избыточность. В хорошо спроектированной БД избыточность данных исключается, и вероятность сохранения противоречивых данных минимизируется. Таким образом, создание БД преследует две основные цели:
- понизить избыточность данных;
- повысить их надежность.
2.2.2. СУБД
БД создаются и функционируют под управлением специальных программных комплексов, называемых системами управления базами данных (СУБД). Основная особенность СУБД - это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. СУБД может содержать утилиты, приложения, сервисы, библиотеки, средства создания приложений и другие компоненты.
Функции СУБД
Хранение, извлечение и обновление данных. СУБД должна предоставлять пользователям возможность сохранять, извлекать и обновлять данные в БД. Это самая фундаментальная функция СУБД.
Наличие системного каталога. СУБД должна иметь доступный конечным пользователям каталог, в котором хранится описание элементов данных.
Поддержка транзакций. СУБД должна иметь механизм, который гарантирует выполнение либо всех операций обновления данной транзакции, либо ни одной из них.
Сервисы управления параллельностью. СУБД должна иметь механизм, который гарантирует корректное обновление БД при параллельном выполнении операций обновления многими пользователями.
Сервисы восстановления. СУБД должна предоставлять средства восстановления БД на случай какого-либо ее повреждения или разрушения.
Сервисы контроля доступа к данным. СУБД должна иметь механизм, гарантирующий возможность доступа к БД только санкционированных пользователей.
Поддержка обмена данными. СУБД должна обладать способностью к интеграции с коммуникационным программным обеспечением.
Службы поддержки целостности данных. СУБД должна обладать инструментами контроля за тем, чтобы данные и их изменения соответствовали заданным правилам.
Службы поддержки независимости от данных. СУБД должна обладать инструментами поддержки независимости программ от физической структуры БД.
Вспомогательные службы. СУБД должна предоставлять некоторый набор различных вспомогательных служб:
- средства мониторинга, предназначенные для отслеживания характеристик функционирования и использования БД;
- программы статистического анализа, позволяющие оценить производительность или степень использования БД;
- инструменты сборки мусора и перераспределения памяти для физического устранения удаленных записей с запоминающих устройств, объединения освобожденного пространства и перераспределения памяти в случае необходимости.
Транзакции
При работе СУБД возникает необходимость защиты БД от возможных случайных или преднамеренных ситуаций, когда существует вероятность потери данных. Например, при доступе к БД сразу нескольких пользователей возможно повреждение или неправильная запись данных. Очевидно, что из таких ситуаций СУБД должна уметь корректно выходить.
Одним из способов решения этих проблем является механизм транзакций.
Поддержание механизма транзакций – показатель уровня развитости СУБД.
Корректное поддержание транзакций одновременно является основой обеспечения целостности БД. Транзакции также составляют основу изолированности пользователя в многопользовательских системах.
Под транзакцией (транзитное действие) понимается неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, вставки, удаления, модификации) такая, что возможны два итога:
- результаты всех операторов, входящих в транзакцию, соответствующим образом отображаются в БД;
- воздействие всех этих операторов полностью отсутствует.
Транзакции представляют такие события реального мира, как, например, перевод денег с одного счета на другой, прием на работу нового сотрудника, регистрация нового клиента и т.п. С точки зрения программы эти действия состоят из нескольких операций, а с точки зрения пользователя эти операции представляют собой единое задание.
Рассмотрим БД СЕССИЯ.
Добавим в таблицу КАДРОВЫЙ СОСТАВ столбец НАГРУЗКА для решения дополнительной задачи – расчета общей годовой нагрузки преподавателей. Тогда любая операция по внесению изменений или по добавлению данных в столбец ПРЕПОДАВАТЕЛЬ таблицы УЧЕБНЫЙ ПЛАН должна сопровождаться соответствующими изменениями данных в столбце НАГРУЗКА. Если после внесения изменений в столбец ПРЕПОДАВАТЕЛЬ произойдет сбой, то БД окажется в нецелостном состоянии.
Для обеспечения контроля целостности каждая транзакция должна начинаться при целостном состоянии БД и должна сохранить это состояние целостным после своего завершения.
Возможны два варианта завершения транзакции. Если все операторы выполнены успешно, и в процессе транзакции не произошло никаких сбоев программного или аппаратного обеспечения, транзакция фиксируется.
Фиксация транзакции – это действие, обеспечивающее запись на диск изменений в БД, которые были сделаны в процессе выполнения транзакции.__
До тех пор пока транзакция не зафиксирована, допустимо аннулирование этих изменений, восстановление БД в то состояние, в котором она была на момент начала транзакции. Фиксация транзакции означает, что все результаты выполнения транзакции становятся постоянными.
Если в процессе выполнения транзакции случилось нечто такое, что делает невозможным ее нормальное завершение, БД должна быть возвращена в исходное состояние.
Откат транзакции – это действие, обеспечивающее аннулирование всех изменений данных, которые были сделаны в процессе текущей незавершенной транзакции.
Каждый оператор в транзакции выполняет свою часть работы, но для успешного завершения всей работы в целом требуется безусловное завершение всех операторов.
2.2.3. Словарь данных
Словарь данных (или системный каталог) помогает унифицировать и централизовать описание структур данных, уменьшить избыточность и предупредить противоречивость данных, своевременно и единообразно корректировать описания данных и удалять устаревшие. Он обеспечивает единую терминологию.
Словарь включает в себя сведения:
- об объектах, свойствах и отношениях для данной предметной области;
- о данных, хранимых в БД (их наименование, смысл, структура, связи с другими
данными);
- о формате и допустимых значениях данных;
- об источниках получения данных;
- о кодах защиты и разграничения доступа к данным.
Основные назначения словаря данных:
- Централизованное ведение и управление данными как ресурсом на всех этапах проектирования, реализации и эксплуатации системы.
- Обеспечение эффективного взаимодействия между всеми участниками проекта.
2.2.4. Персонал БнД
В состав персонала БнД входят разные специалисты:
- администраторы БнД;
- операторы БД;
- системные и прикладные программисты;
- проектировщики структур данных и технологических процессов их обработки;
- проектировщики информационного обеспечения;
- системные аналитики;
- специалисты по техническим средствам, по маркетингу.
Основные функции и задачи, решаемые персоналом при разработке и эксплуатации базы данных:
- анализ предметной области (определение потребностей конечных пользователей, построение информационной модели предметной области, выявление ограничений целостности);
- проектирование структуры БД (определение состава и структуры файлов БД, описание ее схемы на языке описания данных);
- задание ограничений целостности и процедур обработки БД;
- первоначальная загрузка и ведение БД (разработка технологии загрузки и ведения (изменения, удаления и добавления записей); проектирование форм ввода данных;
создание программных модулей, подготовка исходных данных, ввод и контроль данных);
- защита данных от несанкционированного доступа (разграничение пользователей (определение прав доступа к данным, обеспечение парольного входа в систему), выбор или создание, проверка программно-технологических средств защиты данных, фиксация попыток несанкционированного доступа к информации, шифрование информации) и от разрушений (резервирование);
- обеспечение восстановления БД (разработка программно-технологических средств восстановления БД, организация ведения системных журналов);
- анализ эффективности функционирования БнД и развитие системы (сбор статистики обращений пользователей к БД, время выполнения запросов, анализ причин безуспешных обращений к БД, изменение состава БД, развитие программных и технических средств);
- работа с пользователями (сбор информации об изменениях в предметной области, откликов пользователей о работе БнД, определение регламента работы пользователей с БнД, обучение и консультирование пользователей);
- сопровождение системного программного обеспечения (приобретение программных средств, их установка, проверка работоспособности, поддержание системных библиотек, развитие программных средств);
- организационно-методическая работа (выбор или создание методики проектирования БД, определение целей и направлений развития системы, планирование этапов развития БнД, разработка и выпуск документации, организационно-методических материалов).
БнД являются сложными системами, и их классификация может быть произведена как для всего БнД в целом, так и для каждой его компоненты отдельно. Классификация для каждой компоненты может быть проведена по множеству разных признаков.
3.1. Классификация банков данных
Банки данных, как целое, обычно классифицируют по экономико-правовым признакам:
- По условиям предоставления услуг различают бесплатные и платные (коммерческие и бесприбыльные (научные, библиотечные или социально-значимые)) БнД.
Бесприбыльные БД функционируют на принципе самоокупаемости и не ставят своей целью получения прибыли. Основной целью создания коммерческих БнД является получение прибыли от информационной деятельности.
- По форме собственности БнД делятся на государственные и негосударственные (частные, групповые, личные).
- По степени доступности различают общедоступные и с ограниченным кругом пользователей.
- По охвату предметной области БнД могут классифицироваться в разных «разрезах»:
территориальный (всемирный, страна, город и т.д.);
временной (год, месяц, с начала века и т.п.);
ведомственный;
проблемный (тематический).
- По характеру взаимодействия с пользователем БнД делятся на активные и пассивные. В пассивных БнД ведущая роль принадлежит пользователю. В активных – система может самостоятельно менять поведение.
Другие виды классификации связаны с отдельными компонентами БнД. Рассмотрим далее классификациюБнД по виду базы данных и по типу СУБД.
3.2. Классификация баз данных
- По форме представления информации различают визуальные и аудио системы, а также системы мультимедиа. Эта классификация показывает, в каком виде информация хранится в БД и выдается пользователям: в виде изображения (символьный текст, рисунки, чертежи, фотографии и т.д.), звука или дается возможность использования разных форм отображения информации.
- По характеру структуризации данных БД могут быть разделены на неструктурированные (например, семантические сети), частично структурированные (например, БД в виде обычного текста или гипертекстовые системы) и структурированные.
- Структурированные БД по типу используемой модели данных делятся на иерархические, сетевые, реляционные, смешанные и мультимодельные. Развитие технологий обработки данных привело к появлению постреляционных, объектно-реляционных или гибридных, объектно-ориентированных, многомерных БД.
- По характеру данных БД делятся на документальные и лексикографические. Среди документальных баз различают библиографические, реферативные и полнотекстовые. К лексикографическим БД относятся различные словари, классификаторы, рубрикаторы и т.д. Они обычно используются в качестве справочных совместно с документальными или фактографическими БД. В документальных БД единицей хранения является документ (например, текст закона или статьи). Поиск и выдача документов происходит по их содержанию. Простейший метод поиска базируется на использовании дескрипторов – ключевых слов из проблемной области, характеризующих содержание документа. Их совокупность, выделенная из запроса, сопоставляется с дескрипторами документа («поисковым образцом»). В ответ на запрос пользователя выдается либо ссылка на документ, либо сам документ, в котором он может найти интересующую его информацию. В системах фактографического типа в БД хранится информация об интересующих пользователя объектах предметной области в виде «фактов» (например, биографические данные о сотрудниках, данные о выпуске продукции производителями и т.п.). В ответ на запрос пользователя выдается требуемая ему информация или сообщение о том, что искомая информация отсутствует в БД.
- По характеру организации хранения данных и обращения к ним различают локальные (персональные), общие (интегрированные, централизованные) и распределенные БД. Персональная БД – это БД, предназначенная для локального использования одним пользователем. Интегрированные и распределенные БД предполагают возможность одновременного обращения нескольких пользователей к одной и той же информации (многопользовательский, параллельный режим доступа).
- По характеру изменения данных различают статические и динамические БД. В статических БД частота обновления данных много ниже частоты их считывания. Данные напрямую не связаны со временем. Например, анкетные данные, которые используются гораздо чаще, чем изменяются. В последнее время все чаще обращаются к динамическим БД, в которых частоты считывания и обновления данных соизмеримы. В динамических БД время выступает явно в виде понятий момента времени (дата) или интервала времени (семестр, месяц, год). Например, данные об успеваемости студентов групп за время обучения (по семестрам). Для таких БД более характерно не изменение, а добавление данных.
- По характеру преобладающей обработки информации различают OLTP – системы (On-Line Transaction Processing) – системы оперативной обработки транзакций (они реализуют большое число достаточно простых запросов) и OLAP – системы (On-Line Analytical Processing) – системы аналитической обработки данных (реализуют сложную анналитическую обработку данных) или системы поддержки принятия стратегических решений (СППР). До середины 90-х годов ХХ в. Под БД понимали статические БД (OLTP). К середине 90-х годов в БД класса OLTP скопилось столько хронологической информации, что объем БД резко возрос, а быстродействие начало падать. Например, в работе деканата чаще всего требуются детальные данные о текущем учебном годе. В то же время в БД хранятся ретроспективные данные и за предыдущие годы. Такие данные необходимы значительно реже и чаще всего в агрегированном виде. Например, выдать фамилии студентов, которые три последних семестра получали только отличные оценки.
- По охвату предметной области различают прикладные и предметные БД. Отдельные БД могут объединять все данные, необходимые для решения одной или нескольких прикладных задач, или данные, относящиеся к какой-либо предметной области (например, финансам, студентам, преподавателям и т.п.). Первые обычно называют прикладными БД, а вторые – предметными БД (соотносящимся с предметами организации, а не с ее информационными приложениями). Предметные БД позволяют обеспечить поддержку любых текущих и будущих приложений, поскольку набор их элементов данных включает в себя наборы элементов данных прикладных БД.
Вследствие этого предметные БД создают основу для обработки неформализованных, изменяющихся и неизвестных запросов и приложений (приложений, для которых невозможно заранее определить требования к данным). Такая гибкость и приспособляемость позволяет создавать на основе предметных БД достаточно стабильные информационные системы, т.е. системы, в которых большинство изменений можно осуществить без вынужденного переписывания старых приложений.
Вся представленная выше классификация БД представленна в форме единой схемы на рисунке 3.1.
3.3. Классификация СУБД
- По языкам общения СУБД делятся на открытые (используют универсальные языки программирования), замкнутые (собственные языки общения с пользователями) и смешанные.
- По выполняемым функциям СУБД делятся на информационные и операционные. Информационные СУБД позволяют организовать хранение информации и доступ к ней. Операционные СУБД выполняют достаточно сложную обработку, например, автоматически позволяют получать агрегированные показатели, не хранящиеся непосредственно в БД, и т.д.
- По сфере возможного применения различают универсальные и специализированные, обычно проблемно-ориентированные СУБД.
- По «мощности» СУБД делятся на настольные и корпоративные. Характерными чертами настольных СУБД являются сравнительно невысокие требования к техническим средствам, ориентация на конечного пользователя, низкая стоимость. Корпоративные СУБД обеспечивают работу в распределенной среде, высокую производительность, поддержку коллективной работы при проектировании систем, имеют развитые средства администрирования и более широкие возможности поддержания целостности. Эти системы сложны, дороги, требуют значительных вычислительных ресурсов.
- По ориентации на преобладающую категорию пользователей можно выделить СУБД для разработчиков и для конечных пользователей.
Системы, ориентированные на разработчиков, должны:
иметь качественные компиляторы;
позволять создавать «отчуждаемые» программные продукты;
обладать развитыми средствами отладки;
включать средства документирования проекта;
обладать возможностями, позволяющими создавать эффективные сложные системы.
Основными требованиями, предъявляемыми к системам, ориентированным на конечного пользователя, являются:
удобство интерфейса;
высокий уровень языковых средств;
наличие интеллектуальных модулей подсказок;
повышенная защита от непреднамеренных ошибок («защита от дурака») и т.д.
3.4. Преимущества и недостатки банков данных
Преимущества банков данных
Основные требования, предъявляемые к БнД, выявили ряд преимуществ, способствующих широкому распространению этих систем:
- Адекватность отображения предметной области:
минимальное дублирование информации (интегрированность данных). Наличие функции контроля за избыточностью данных;
полнота, целостность и непротиворечивость данных;
актуальность информации, т.е. ее соответствие состоянию отображаемой реальной системы на данный момент времени;
независимость данных от процесса обработки;
хранение взаимосвязанных данных, что наиболее полно отражает сложную взаимосвязь объектов реальной предметной области;
содержание большего объема полезной информации при том же объеме хранимых данных.
- Возможность взаимодействия пользователей разных категорий, высокая эффективность доступа к данным.
- Оперативность обработки запросов, поиск информации по произвольной совокупности признаков.
- Дружелюбность интерфейсов, малое время на обучение.
- Применение стандартов.
- Повышение эффективности с ростом масштабов системы.
- Возможность нахождения компромисса при противоречивых требованиях.
- Надежность хранения и защита данных:
защита данных от случайного и преднамеренного разрушения;
обеспечение секретности и разграничение доступа к данным для разных пользователей;
возможность быстрого и полного восстановления данных в случае их разрушения.
- Упрощение сопровождения системы за счет независимости от данных.
- Улучшенное управление параллельностью.
Недостатки банков данных
Недостатки БнД вытекают из их достоинств.
- Создание интегрированной системы сложнее, чем создание множества локальных систем.
- Высокие требования к квалификации разработчиков БнД.
- Для управления данными требуется специализированное программное обеспечение, которое может быть сравнительно дорогим, предъявляющим повышенные требования к техническим средствам.
- Более серьезные последствия при выходе системы из строя.
3.5. Этапы развития БД
Предшественницами СУБД были файловые системы. Однако появление СУБД не привело к полному исчезновению файловых систем. Для выполнения некоторых специализированных задач подобные файловые системы используются до сих пор.
В конце 60-х годов прошлого века появились БД для БЭВМ (meinfraimов), основным принципом организации которых была централизация хранения и обработки данных.
Первые настольные СУБД появились около 20 лет назад (с появлением и использованием персональных компьютеров (ПК)). Они как таковые не содержали специальных приложений и сервисов, управляющих данными, — взаимодействие с ними осуществлялось с помощью файловых сервисов операционной системы. Нередко подобные СУБД имели в своем составе и средства разработки, ориентированные на работу с данными формата, характерного для этой СУБД, и позволяющие создать более или менее комфортный пользовательский интерфейс. Что же касается обработки данных — она целиком и полностью осуществлялась в пользовательском (клиентском) приложении.
Следующим шагом в развитии настольных СУБД было появление их сетевых многопользовательских версий, позволяющих обрабатывать данные, находящиеся в общедоступном хранилище (например, на сетевом диске) нескольким пользователям одновременно. От чисто настольных СУБД их многопользовательские версии отличаются наличием механизма блокировок частей файлов данных (содержащих одну или несколько записей таблицы), что позволяет обращаться к одному и тому же файлу нескольким пользователям одновременно.
Недостатки настольных СУБД не очевидны и становятся заметны, как правило, при росте хранимых объемов данных и увеличении числа пользователей. Обычно они проявляяются в снижении производительности и в возникновении сбоев при обработке данных после некоторого времени использования клиентских приложений. Причина подобных проблем кроется в основном принципе работы таких СУБД и основанных на них информационных систем, заключающемся в обработке данных внутри пользовательского приложения. Например, если с помощью такой системы требуется выполнить запрос согласно какому-либо критерию (например, выбрать заказы, обработанные за последние два часа, из таблицы заказов), то, в лучшем случае (если эта таблица проиндексирована по времени поступления заказа), приложение должно прочесть с сетевого диска весь индекс, найти в нем сведения о местоположении записей в файлах, содержащих таблицу, и затем прочесть эти части файлов. В общем же случае, когда таблица не проиндексирована по данному полю, ее необходимо загрузить с сетевого диска и проанализировать.__
Еще одна проблема настольных СУБД заключается в возможности нарушения ссылочной целостности данных, так как единственным механизмом, контролирующим ее, является пользовательское приложение. Поэтому все пользовательские приложения должны содержать соответствующий код, и доступ к файлам БД из любых других приложений должен быть запрещен. В наиболее популярных настольных СУБД (например, Microsoft Access, Corel Paradox) код, контролирующий стандартную ссылочную целостность, содержится в библиотеках, используемых всеми приложениями, работающими с этой БД, а сама БД при этом может содержать описание правил ссылочной целостности.
Следующим этапом развития СУБД для персональных компьютеров были так называемые серверные СУБД. Архитектура «клиент/сервер», для которой предназначены серверные СУБД, основана на модели, в которой хранение и обработка данных централизованы на одном выделенном компьютере, где функционирует специальное приложение или сервис, называемый сервером БД. Сервер БД отвечает за работу с файлами БД, поддержку ссылочной целостности, резервное копирование, обеспечение авторизованного доступа к данным, протоколирование операций и, конечно, за выполнение пользовательских запросов на выбор и модификацию данных и метаданных. Клиентские приложения, являющиеся источниками этих запросов, функционируют на ПК в сети. При использовании серверных СУБД выполнение запросов производится самим сервером, поэтому клиентские приложения получают от сервера только результаты самого запроса и не требуют передачи всего индекса или всей таблицы, что существенно снижает сетевой трафик при обработке запросов.
БД подразделяются на централизованные и распределенные.
Централизованная БД хранится в памяти одной вычислительной системы. Распределенная БД состоит из нескольких пересекающихся частей, хранимых в различных ЭВМ вычислительной сети.
14