Базы данных в корпоративных сетях и
Интернет
Классификация баз данных
Под базой данных (БД) понимают хранилище структурированных данных, при этом данные должны быть непротиворечивы, минимально избыточны и целостны. Что понимается под непротиворечивостью, минимальной избыточностью и целостностью информации в БД, мы рассмотрим ниже.
Обычно БД создается для хранения и доступа к данным, содержащим сведения о некоторой предметной области, то есть некоторой области человеческой деятельности или области реального мира. Всякая БД должна представлять собой систему данных о предметной области. БД, относящиеся к одной и той же предметной области, в различных случаях содержат более или менее детализированную информацию о ней. Степень детализации определяется рядом факторов, прежде всего целью использования информации из базы данных и сложностью производственных (деловых) процессов, существующих в пределах предметной области в конкретных условиях.
Реляционные БД представляют связанную между собой совокупность таблиц баз данных. Связь между таблицами может находить свое отражение в структуре данных, а может только подразумеваться, то есть присутствовать на неформализованном уровне.
Каждая таблица БД представляется как совокупность строк и столбцов, где строки соответствуют экземпляру объекта, конкретному событию или явлению, а столбцы – атрибутам (признакам, характеристикам, параметрам) объекта, события, явления.
В терминологии теории реляционных БД таблицам соответствуют отношения, столбцам – атрибуты, строкам – кортежи.
При практической разработке БД таблицы так и называются таблицами, строки – записями, столбцы – полями или столбцами ТБД.
Предшественниками реляционных БД были иерархические и сетевые базы данных. В иерархических БД информация хранилась в виде иерархий. На рис. 3.1 (см. след.стр.) приведен пример такой иерархии: из ее рассмотрения становится ясно, для того чтобы получить элемент данных А12, нужно сначала отыскать в БД узел А, спуститься к узлу А1 и затем – к узлу А12.
Сетевая БД характерна внутренними ссылками между структурами данных. Если от элемента В имеется ссылка на элемент А, возможен выбор элемента данных А (см. рис. 3.2).
Реляционные БД в 70-х годах практически вытеснили БД других видов. В качестве основной причины этого называют сложность представления данных в иерархической и сетевой моделях и необходимость определения связей между данными на этапе проектирования БД, в то время как в реляционных БД связи между таблицами могут устанавливаться непосредственно в момент выполнения запросов. Кроме того, разработчикам и пользователям значительно проще отображать сущности предметной области в табличных структурах данных.
Однако иерархический и сетевой подходы “продолжают жить”, они находят свое воплощение в отдельных специализированных БД и являются одним из “кирпичиков”, из которых строятся архитектуры так называемых “пост-реляционных” баз данных. Быстрыми темпами развиваются объектно-ориентированные БД, оперирующие категориями объектов, и так называемые полнотекстовые БД, позволяющие производить быстрые выборки из неструктурированной информации (например, текстов, изображений и т.д.). Мультимедийные и гипертекстовые базы данных получают в последнее время широкое распространение в Интернете. Однако и в настоящее время реляционные БД остаются наиболее используемыми.
Реляционные БД имеют мощный теоретический фундамент, основанный на математической теории отношений. Он был разработан доктором Эдгаром Коддом. Для построения запросов к реляционным БД был также разработан язык SQL (Structured Query Language, язык структуризированных запросов) – язык для СУБД, обеспечивающий загрузку, обновление и обработку данных. Он приобрел характер промышленного стандарта в реляционных системах управления базами данных (СУБД). Поэтому, переходя с одной реляционной базы на другую, пользователь и разработчик имеют дело с одним и тем же языком.
Другим важным плюсом SQL является то, что этот язык ориентирован на высокоуровневые операции с данными. Выдавая инструкцию SQL,– команду, написанную на языке SQL, называемую также запросом, – можно не беспокоиться о низкоуровневых проблемах доступа к данным, специфичных для каждой БД, поскольку интерпретация запросов в команды низкого уровня лежит в ведении конкретной СУБД.
Перечислим важнейшие характеристики баз данных:
Полнота базы данных – относительное число описаний объектов, хранящихся в базе данных, к общему числу объектов соответствующей предметной области или по отношению к числу объектов в аналогичных БД по той же предметной области. При использовании локальных частичных копий БД, например, в одном магазине, относящемся к разветвленной сети, в каждом магазине может храниться неполная БД, а вся информация представлена на центральном корпоративном сервере. С понятием полноты связаны частичные репликации баз данных (рассмотрены ниже).
Достоверность базы данных – степень соответствия данных об объектах в БД реальным объектам в соответствующей предметной области в данный момент времени. Понятие, как и три последующих, применяется к локальным копиям БД. Чем дольше локальная база не обновляется, и чем меньше объекты в ней соответствуют реальным (хранящимся на корпоративном сервере), тем ниже ее достоверность.
Идентичность базы данных– относительное число достоверных (не содержащих ошибок) описаний объектов, к общему числу описаний объектов в базе данных. Только что обновленная или реплицированная БД является полностью идентичной.
Актуальность базы данных– относительное число морально устаревших данных об объектах в базе данных к общему числу накопленных и обрабатываемых данных. Соответственно, актуальность БД теряется со времени обновления.
Оперативность базы данных– степень соответствия динамики изменения данных при обновлении базы данных состоянию объектов соответствующей предметной области или величина запаздывания между появлением или изменением характеристик реального объекта и их отображением в базе данных. Чем чаще происходит обновление БД, тем более оперативной она является.
Форматная совместимость базы данных– степень соответствия данных в БД требованиям стандартов на форматы представления данных для БД соответствующих типов. Современные СУБД, как правило, предлагают средства обеспечения форматной совместимости для обмена данными с таблицами других БД.