Базы данных
Тема 13. Базы данных
БД – совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения данных и манипулирования данными, обработки данных.
Виды БД:
фактографические (содержат фактические сведения, на раннем этапе это была в основном статистика);
библиографические (включают сведения о документах);
полнотекстовые (содержат полные тексты книг, статей из газет, журналов, сборников);
режим онлайн доступа;
коммерческие.
БД должно отвечать следующим признакам:
Рекомендуемые материалы
1. БД содержит некоторое множество данных необходимых (желательно и достаточных) для решения конкретных информационных задач многих пользователей (в том числе как реальных, так и потенциальных);
2. Данные или информационные элементы в БД определенным образом структурированы и связаны между собой (т.е. организованы), при этом структура, состав данных и их содержание в БД не зависят от особенностей прикладных программ, используемых для управления БД;
2.
3. Данные (информационные элементы) представлены на машиночитаемых носителях в форме пригодной для оперативного использования их с применением средств вычислительной техники, включая и систем управления базами данных (СУБД).
Модель (структура) данных
1. Иерархическая БД [hierarchical database] – Модель организации данных, представляющая собой древовидный граф, состоящий из ряда типов записей (типов данных) и связей между ними (отношений или характеристик отношений), причем один из типов записей определяется как корневой или входной, а остальные связаны с ним или друг с другом отношениями "один-ко-многим" или (реже) "один-к-одному". При этом запись, идентифицируемая элементом "один", рассматривается как исходная, а соответствующая элементу "много", как порожденная. Каждая запись может быть порожденной только в одной связи, следовательно ей соответствует только одна исходная запись. Однако каждая запись может быть исходной во многих связях. Корневая запись может быть только исходной. Граф [graph от греч. grapho – пишу, изображаю] – графическое представление математической модели системы связей между объектами любой природы. Объекты задаются в графе точками – вершинами, связи - линиями, соединяющими вершины, которые называются ребрами или дугами графа. Каждое ребро может быть ориентированным (т.е. иметь определенное направление от одной вершины к другой) либо неориентированным (двунаправленным). Ребро, соединяющее вершину с нею самой, называется петлей. Вершины, которым не соответствует ни одно ребро, являются изолированными. Число ребер, соединяющих две фиксированные вершины, может быть произвольным, поскольку оно определяется количеством и характером связей между соответствующими этим вершинам объектами. В то же время каждому ребру соответствует не более двух вершин. Раздел математики, изучающий свойства различных геометрических схем, образованных множеством точек и соединяющих их линий (графов), называется Теорией графов.
2. Сетевая БД [network database] – Модель организации данных, подобная иерархической, но отличающаяся от нее тем, что каждая запись может вступать в любое количество поименованных связей с другими записями как исходная или порожденная, или как то и другое.
3. Реляционная БД [relational database] – Реляционная модель данных была предложена в 1969 г. сотрудником фирмы IBM Е.Ф. Коддом. Она представляет собой набор плоских файлов - таблиц, называемых отношениями, к которым применимы операции реляционной алгебры для реализации автоматизированного ответа на запросы пользователей системы. Весьма распространенной ошибкой является употребление термина реляционная БД по отношению к любым массивам данных, имеющих табличную форму организации, однако не обеспечивающим выполнение указанного условия. Потенциально в реляционной модели может быть организовано очень большое количество связей между данными, значительная часть которых является избыточными (т.е. не используемыми). Поэтому разработаны формы (варианты) нормализации отношений: первая (1НФ), вторая (2НФ), третья (ЗНФ) и четвертая (4НФ).
4. Квазиреляционная БД [quasirelational database] – БД, обобщающая традиционные реляционные БД;
5. Псевдореляционная БД [pseudorelational database] – реляционная БД, в любом отношении (таблице) которой допускается дублирование кортежей;
6. Нормализованная БД [normalized database] – реляционная БД, все отношения (таблицы) в которой находятся в одной из нормальных форм (1НФ, 2НФ, ЗНФ или 4НФ);
7. Интегрированная база данных [integrated database].
В зависимости от общего назначения или принадлежности различаются:
· служебная БД – БД, предназначенная для решения внутрисистемных функциональных задач персонала автоматизированной системы;
· пользовательская БД [user database] – БД, предназначенная для решения задач пользователей автоматизированной системы;
· персональная (личная) БД [personal database] – БД, обслуживающая одного пользователя и содержащая его личную информацию;
· частная (закрытая) БД [private database] – БД, доступная для использования только ее владельцу (пользователю);
· БД общего пользования [public database] – БД, доступная всем пользователям автоматизированной, вычислительной системы или сети;
· общая БД [shareable database].
С понятием БД тесно связано понятие система управления БД. СУБД – это комплекс программных средств, предназначенных для создания структуры новой базы, наполнения ее содержимым, редактирования содержимого и визуализации информации.
СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ, СУБД [Data Base Management System, DBMS] – комплекс программных и лингвистических средств, предназначенных для создания, хранения и управления одной или несколькими базами данных. Современные СУБД обеспечивают логическую и физическую целостность данных (включая их защиту от несанкционированного доступа и разрушения), надежное и эффективное использование ресурсов (включающих собственно данные, пространство памяти и вычислительные ресурсы системы), поддержку функций администрирования базами данных, а также ряд сервисных функций, включая онлайновую аналитическую обработку данных (OLAP). СУБД составляет основу (ядро) программного обеспечения автоматизированной информационной системы.
Организация разных СУБД определяется поддерживаемыми ими моделей (структур) данных. По этому признаку СУБД могут быть подразделены на иерархические, сетевые, (пост) реляционные и т.п. В зависимости от ориентации на условия использования они могут подразделяться на локальные (предназначенные для работы с ограниченным кругом пользователей) и корпоративные (предназначенные для обращения к ним широкого круга пользователей через корпоративные Web-серверы, мобильные устройства и т.п.). В корпоративных СУБД реализуются такие архитектуры хранения данных, как SAN (Storage Area Network), DAS (Direct Attached Storage) и NAS29 (Network Attached Storage). В качестве модели данных, поддерживаемой корпоративными СУБД, преимущественно используется их реляционная или постреляционная структура.
Основными требованиями к СУБД являются:
· масштабируемость – отсутствие существенного снижения скорости выполнения пользовательских запросов при росте их количества, а также аппаратных ресурсов, используемых в данной АИС;
· доступность – состояние высокой готовности к выполнению запросов;
· надежность – минимальная вероятность сбоев, наличие средств восстановления данных после сбоев, резервного копирования и дублирования данных;
· управляемость – простота администрирования;
· наличие средств защиты данных от потери и несанкционированного доступа;
· поддержка стандартных механизмов доступа к данным, позволяющих создавать приложения для расширения функций при разработке ПО конкретных АИС;
· поддержка сетевого доступа к данным с использованием локальных и Web-ориентированных программных средств.
Основные функции СУБД:
· создание пустой структуры БД;
· предоставление средств ее заложения;
· доступ к данным, средствам доступа, фильтрации и поиска данных.
Электронные БД представляют собой упорядоченные информационные массивы на машиночитаемых носителях.
Многие библиотеки самостоятельно создают БД по различным направлениям, а также используют БД других библиотек в режиме он-лайн.
Согласно данным аналитических фирм (например Gartner Research) за 2004 г, мировыми лидерами на рынке СУБД являются: IBM DB2 Universal Database, Oracle 10g, Microsoft SQL Server 2000 и Microsoft SQL Server 2005, Adaptive Server Enterprise и Adaptive Server 1Q (компании Sybase), Teradata Database V2R6.0 (компании Teradata) и Netezza Performance Server 8000 Series (компании Netezza) и др. В апр. 2006 г. корпорация IBM начала открытое ?-тестирование следующей версии DB2, получившей название Viper. Главными достоинствами программы являются способность хранить данные в оригинальном формате XML, а также возможность эффективно управлять как структурированными, так и неструктурированными данными.
Некоторые разновидности СУБД:
· настольная СУБД [desktop DBMS] – предназначена для работы в автономном (локальном) режиме. Наиболее распространенное программное обеспечение настольных СУБД: dBase, Paradox, FoxPro, Access, MSDE (Microsoft Systems Data Engine).
· серверная СУБД [server DBMS] – предназначена для работы в системах типа "клиент-сервер". Наиболее распространенные СУБД этого типа - Oracle, Informix, DB2, Sybase, Microsoft SQL Server.
Рекомендуем посмотреть лекцию "Требования к шиберу".
· объектная СУБД [Object DataBase Management System, ODBMS] – построена на так называемом "объектном" подходе к структуре БД, который предполагает использование их моделей, близких к реальным представлениям их сущности у разработчиков. Типы данных определяются разработчиком и не ограничиваются каким-либо набором предопределенных типов. При этом данные о каждом объекте и методе его описания помещаются в хранилище как единое целое. В основе разработки объектных СУБД лежит использование объектного программирования. В 1992 г. ведущие разработчики объектных СУБД образовали группу по выработке и согласованию стандартов – ODMG (Object Database Management Group).
· система управления распределенными базами данных, СУРБД [distributed data base management system] – СУБД, предназначенная для организации доступа пользователей к распределенной базе данных;
· интегрированная система обработки данных, ИСОД [integrated data processing system] – функциональная подсистема "интегрированной информационной системы";
· система переработки текста [text processing (revision) system] – автоматическая или автоматизированная система, предназначенная для преобразования текста на естественном языке в текст на этом же или другом языке, связанный семантическими отношениями с исходным текстом. Типичными функциями системы переработки текстов являются "машинный перевод", индексирование (автоматическое), установление семантического соответствия при информационном поиске и др.;
· система сбора данных [data collection system] – система телеобработки данных (см. далее), обеспечивающая прием данных и их обработку без выдачи результатов в обратном направлении;
· система телеобработки данных [teleprocessing system] – взаимосвязанный комплекс технических, программных средств и процедур обмена данными, обеспечивающий телеобработку данных, т.е. их обработку на расстоянии, удаленном от источника их получения или дальнейшего использовании.