История развития баз данных. "история появления и развития субд. История возникновения и развития баз данных

История развития баз данных………………………………………………3-5

Начальные понятия. Этапы………………………………………………..6-8

Особенности и требования………………………………………………9-10

Заключение………………………………………………………………12-13

Используемые сайты………………………………………………………..14

История развития баз данных.

История развития баз данных уходит корнями в 1960-е годы. В те времена информация собиралась и хранилась в файлах. Каждый файл содержал определенные сведения и для охвата всей предметной области требовалось несколько файлов. Например, сведения о товарах хранились в одном файле, а сведения о клиентах - в другом. Информация о приобретении определенных товаров определенными клиентами - в третьем. Такая организация данных вносила свои сложности:

· представление данных в каждом файле было различным;

· необходимо было согласовывать данные в разных файлах для обеспечения непротиворечивости информации;

· необходимо было выбрать какие данные и в каком виде будут фигурировать в таких файлах, как файл приобретений товаров в примере;

· сложность разработки приложений и их обновления при изменении данных.

· Ситуация требовала улучшения и множество специалистов усердно работали над созданием чего-то более удобного в использовании. В начале 1970-х годов, спустя примерно 10 лет, ситуация начала улучшаться и появились первые базы данных.

В 1970 году Э. Ф. Кодд опубликовал статью, которая послужила основой для создания реляционной модели данных. Приемущество такой модели хранения данных заключается в минимальном дублировании данных и исключении некоторых типов ошибок, свойственных другим моделям. Согласно этой модели, данные хранятся в виде таблиц со столбцами и строками. Не все виды таблиц приемлемы для реляционной модели и нежелательные таблицы могут быть нормализованы для удовлетворения требованиям реляционной модели. В процессе нормализации таблица как-правило разбиваются на две или несколько более приемлемых таблиц.

В 1979 году небольшая компания Ashton-Tate выпустила продукт для микрокомпьютеров под названием dBase-II, назвав его реляционной СУБД. Благодаря успешной тактике, компании удалось распространить более 100 000 копий продукта среди пользователей компьютеров Osborne. Многие из пользователей компьютеров создавали программы для них и вскоре dBase стала очень популярной СУБД. В последствии Ashton-Tate была приобретена фирмой Borland. На самом деле продукт dBase не являлся реляционной СУБД, а представлял из себя язык программирования с расширенными функциями для обработки файлов. Пока развивалась dBase, другие производители начали перенос на микрокомпьютеры своих коммерческих СУБД для больших ЭВМ. Примерами таких СУБД являются Oracle, Ingress и Focus. Перенос СУБД на микрокомпьютеры послужил причиной улучшения пользовательского интерфейса, что повлекло за собой увеличение числа микрокомпьютеров, работающих с базами данных.

В середине 1980-х годов пользователи начали объединять свои компьютеры в локальные сети, что привело к возникновению клиент-серверной модели, а так же модели с совместным использованием файлов. Сеть позволяла совместно использовать дорогие принтеры и дисковые накопители большой емкости. В перспективе же пользователи хотели совместного использования их баз данных, что стимулировало развитие многопользовательских приложений баз данных для локальных сетей. Поскольку многопользовательская обработка данных в локальной сети отличается от многопользовательской обработки данных на мейнфрейме наличием нескольких вычислителей, возникали дополнительные сложности по координации действий вычислителей. Так появилась клиент-серверная архитектура обработки данных. Существует и более простая, но менее надежная архитектура, снованная на совместном использовании файлов.

В наши дни активно развиваются web-приложения баз данных, а так же базы данных с использованием Internet-технологий. Web-приложения баз данных делают данные доступными через обозреватель пользователя, в то время как базы данных с использованием Internet-технологий просто используют клиентские обозреватели и технологии типа XML и DHTML для работы с базой данных, не публикуя данные через Internet.

Существует еще две технологии баз данных, которые являются возможными, но пока не реализованы. Это объектно-ориентированные базы данных и распределенные базы данных. Распределенные базы данных представляют собой базу данных организации, распределенную по нескольким компьютерам локальной сети организации. Благодаря такой архитектуре возможно более гибкое разделение нагрузки по отделам предприятия, но реализация такой системой связана с радом проблем, некоторые из которых не решены до сих пор. Объектно-ориентированные базы данных позиционируются как средство для хранения структур данных, используемых

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

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

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

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

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

Начальные понятия. Этапы.

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

Физическое описание данных это способы представление информации на машинных носителях.

Логическое описание данных это представление информации с точки зрения пользователя.

Логическое представление данных не всегда строго соответствует физическому. Например, пользователь представляет файл как нечто целое и неделимое, однако на внешних носителях файл может представляться фрагментировано, по кластерам. Более того, некоторые поля, такие как тексты неопределенной длины или изображения, могут физически размещаться в других файлах.

Физическая независимость данных – возможность изменения физического размещения данных без изменения их логической структуры и прикладных программ.

Логическая независимость данных – возможность изменения логической структуры данных (добавление новых полей, изменение порядка полей и их размерости) с сохранением работоспособности приложений, использующих прежнее представление.

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

Концепция БД сложилась в конце 60-х годов прошлого столетия и с тех пор постоянно развивалась. Известный специалист в области БД Д. Мартин рассматривает несколько этапов в развитии технологии обработки данных.

Первый этап сложился к началу 60-х годов прошлого века и характеризуется следующими признаками:

· информация преимущественно хранится в последовательных файлах на магнитных лентах;

· физическая структура данных строго соответствует логической;

· в качестве архива хранятся несколько копий файлов;

· файлы предназначены для единственной программы;

· программист планирует не только логическую, но и физическую организацию данных;

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

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

Второй этап относится к середине 60-х годов и имеет следующие особенности:

· появились внешние устройства прямого доступа, позволившие осуществить произвольный доступ к записям (прямой, индексно-последовательный);

· вошли в употребление процедуры поиска записи по ключевому полю (обычно одному);

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

Несмотря на очевидный прогресс, сохранились многие недостатки первого этапа.

Третий этап начался с конца 60-х годов. Основным достижением можно считать осознание необходимости централизации данных для доступа к ним различных приложений. При этом уменьшается избыточность и противоречивость информации, приложения используют стандартные средства доступа к данным. На этом этапе возросла сложность организации данных, был реализован эффективный поиск записей по многим ключам.

Именно на этом этапе появились первые СУБД. Прежде всего развивались теория и практика построения иерархических и сетевых СУБД. В этих моделях связи данных описываются с помощью деревьев и графов общего вида.

Четвертый этап датируется второй половиной 70-х годов. На этом этапе были реализованы в той или иной степени следующие основные характеристики СУБД:

· логическая и физическая независимость данных;

· удобство развтия БД;

· безопасность, секретность, целостность данных;

· поиск информации по различным запросам;

· языковые средства для администратора, прикладного программиста, пользователя-непрофессионала.

Безопасность, секретность и целостность данных – понятия близкие, но, тем не менее, различные. Под безопасностью понимают защиту данных от неавторизованной модификации помимо администратора СУБД. Секретность в общем случае означает запрет доступа к некоторой информации определенных пользователей. Наконец, целостность данных – это в первую очередь их непротиворечивость. Нарушения целостности возможны в случаях некорректной работы пользователей и сбоев оборудования.

С начала 70-х годов после публикаций Э. Кодда начались активные исследования реляционной модели данных. Основу реляционной СУБД составляют таблицы. Вплоть до 80-х годов реляционные СУБД считались перспективными, но трудными для реализации.

Опыт использования первых СУБД позволил выделить такие важные требования к ним, как:

· естественное представление различных структур данных;

· производительность;

· минимальные затраты на создание и поддержку БД;

· разнообразие возможностей поиска, в том числе незапланированных заранее;

· простота и дружественность;

· наличие непроцедурных языков пользователя (что получить, а не как).

Таким образом, к концу 70-х годов сформировались основные концепции СУБД, в соответствии с которыми были созданы первые промышленные СУБД. Они были в основном ориентированы не на рядовых пользователей, а на программистов достаточно высокой квалификации.

Новый этап в развитии СУБД наступил при появлениии персональных компьютеров. На этом этапе на передний план вышли такие особенности СУБД, как:

· дружественность и удобство работы пользователя (развитые диалоги, меню, оконный интерфейс, контекстная помощь);

· упрощение громоздких схем СУБД за счет частичной реализации ряда свойств;

· почти полный переход на реляционные СУБД;

· ориентация не только на программиста, но и на пользователя-непрофессионала;

· наличие средств автоматизации программирования в виде генераторов форм, меню, отчетов, запросов.

Новые СУБД распространялись вместе с персональными компьютерами ограмными тиражами. Так для СУБД dBase III Plus компании Ashton-Tate в 1986 году было зарегистрировано более 2 миллионов продаж. Вообще, СУБД линии dBase оказались одними из самых популярных. Язык программирования xBase, лежащий в их основе, стал классикой жанра. Не случайно ряд СУБД также использовали диалекты этого языка. В России особо популярными стали СУБД FoxBase+ и впоследствии FoxPro компании Fox Software, обладающие новыми возможностями по сравнению с dBase и непритязательные к техническим характеристикам компьютера. Позднее компания Fox Software была поглощена компанией MicroSoft, и соответствующие продукты выходили уже под ее маркой. Распространение получили такие СУБД как Paradox фирмы Borland, Access фирмы MicroSoft, сетевая СУБД dB Vista фирмы Raima Incorporation и многие другие. В России появились русифицированные версии некоторых из этих продуктов.

Дальнейший этап развития СУБД связан с возрастанием информационных потребностей и развитием сетевых технологий. Естественно, с усложнением архитектуры потребовались новые теоретические исследования, во много раз усложнилось и программное обеспечение.

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

Клиент-серверные СУБД снижают трафик в сети. Клиент отправляет запрос к БД, который обрабатывается на сервере, возвращая полученный результат. Клиент-серверные СУБД могут масштабироваться до сотен и тысяч рабочих мест. Всеобщее распространение, подкрепленное стандартами, получил язык запросов SQL (Structured Query Language). Запрос к серверу формируется, как правило, на языке SQL, поэтому клиент-серверные СУБД стали называть SQL-серверами. Наиболее широко известны такие SQL-сервера как SQL Server, DB2, Oracle, Informix, Ingres, InterBase, MySQL.

Наконец, появились трехзвенные СУБД, в которых используется промежуточное звено – сервер приложений, являющийся посредником между клиентом и сервером БД. Сервер приложений призван полностью избавить клиента от забот по управлению данными. В результате получается "облегченный” клиент, не требующий больших ресурсов.

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

Основную часть рынка в настоящее время занимают реляционные СУБД. Вместе с тем многие приложения, такие как системы автоматизированного проектирования и управления, геоинформационные системы, системы хранения и поиска документов, системы мультимедиа и гипермедиа требуют более сложно организованных данных, которые не представимы в виде плоских таблиц. В связи с этим ведутся активные исследования и разработки в области создания объектно-ориентированных СУБД. Промежуточную позицию занимают объектно-реляционные СУБД, в которых прежние характеристики пытаются усилить новыми возможностями.

Заключение.

Хотя обработка баз данных всегда была важной темой, популярность Интернета сделала ее еще и одной из самых нужных специальностей. Навыки, которые вы разовьете, и знания, которые вы приобретете, будут чрезвычайно востребованы. Цель базы данных - помочь людям и организациям вести учет различных вещей. Хотя для этой цели можно использовать списки, они вызывают множество проблем. Их сложно изменять без возникновения несоответствий, удаления из списков могут иметь непредвиденные последствия, а неполные данные трудно записывать. Кроме того, вводя данные, легко вызвать их противоречивость. Наконец, различные части организации хотят поддерживать некоторые данные совместно, а некоторые - исключительным образом. Это трудно организовать при использовании списков.

Базы данных состоят из групп реляционных таблиц. В большинстве случаев каждая таблица содержит данные по определенной теме. Поддержка данных таким образом решает все проблемы, перечисленные для списков. Связи в таблицах представляются разными способами. В этой главе связи представлялись путем присвоения каждой строке уникального идентификатора и использования этого идентификатора для связи строки одной таблицы со строкой другой таблицы. Для представления связей использовались и внешние ключи. Таблицы можно создавать с помощью языка SQL, который является промышленным стандартом для обработки таблиц.

Система базы данных состоит из четырех основных элементов: пользователи, приложения базы данных, СУБД и сама база данных. Пользователи применяют базу данных для решения своих задач. Приложения производят формы, запросы и отчеты, выполняют логику приложения и управляют обработкой базы. СУБД создает, обрабатывает и администрирует базу данных. База данных - это самодокументированное собрание интегрированных записей. Она содержит пользовательские данные, метаданные, индексы, хранимые процедуры, триггеры и метаданные приложения. Хранимая процедура - это программа, которая обрабатывает участок базы данных и хранится в базе данных. Триггер - это процедура, которая вызывается при наступлении определенного события. На рис. 1.6 показаны функции компонентов базы данных.

Технология баз данных может использоваться в широком спектре приложений. Некоторые базы данных используются одним человеком, другие - группой людей, а третьи - большими организациями. В табл. 1.2 показаны некоторые характеристики этих разных типов баз данных.

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

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

Список сайтов.

http://www.pgtk.edu.ru/lections/doku.php?id=bd_history

http://citforum.ru/database/articles/temporal/

http://www.sql.ru/articles/mssql/2006/031701iintroductionindatabases.shtml


Похожая информация.


Базы данных

Основой банка данных является база данных.

База данных (БД) – именованная совокупность данных, отображающая состояние объектов и их отношений в рассматриваемой предметной области.

Создавая базу данных, стремятся упорядочить информацию по различным признакам и быстро извлекать выборку с произвольным сочетанием признаков. Это возможно, только если данные структурированы.

Структурирование – это введение соглашений о способах представления данных.

Таким образом,

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

В развитии технологии баз данных выделяют 4 этапа.

Первый этап связан с развитием баз данных на больших машинах типа IBM 360/370, ЕС ЭВМ.

История развития систем управления базой данных (СУБД) насчитывает более 30 лет. В 1968 г. была введена в эксплуатацию первая промышленная СУБД фирмы IBM. В 1975 г. появился первый стандарт ассоциации по языкам систем обработки данных Conference of Data System Languages (CODASYL), определивший ряд фундаментальных понятий в теории баз систем данных. В 1981 г. Э.Ф. Кодд получил премию Тьюринга за разработку реляционной модели и реляционной алгебры.

Базы данных хранились во внешней памяти центральной ЭВМ, пользователями этих баз были задачи, запускаемые в основном в пакетном режиме. Интерактивный режим доступа обеспечивался с помощью консольных терминалов, не обладавших собственными вычислительными ресурсами. Эти системы относят к системам распределенного доступа.

Второй этап связан с появлением и развитием персональных компьютеров. На этом этапе преобладают настольные СУБД в частности: Dbase, FoxPro, Clipper, Paradox.

Третий этап. Начался процесс интеграции. Этот этап связан с развитием компьютерных сетей, поэтому остро встает задача согласованности данных хранящихся и обрабатываемых в разных местах и логически друг с другом не связанных. Успешное решение этих задач приводит к появлению распределенных баз данных.

Особенности этого этапа:

Поддержка структурной и языковой целостности;

Возможность работы на компьютерах с различной архитектурой;

Поддержка многопользовательского режима и возможность децентрализованного хранения данных.

К этому этапу относятся СУБД Access`97, Oracle 7.3(8.4), MS SQL 6.5(7.0) System 10(11).

Четвертый этап определяет перспективы развития СУБД. Этот этап характеризуется появлением новой технологии доступа к данным – интранет. В этой технологии не используется специализированное клиентское программное обеспечение. Для работы с удаленной базой данных можно применить Internet Explorer и др.

1.1. История возникновения и этапы развития баз данных

Теория баз данных — сравнительно молодая область знаний, ей немногим более 30 лет. Однако изменился ритм времени, оно уже не бежит, а летит, и мы вынуждены подчиняться ему во всем. И действительно, современный мир информационных технологий трудно представить себе без использования баз данных. Практически все системы в той или иной степени связаны с функциями долговременного хранения и обработки информации. Фактически информация становится фактором, определяющим эффективность любой сферы деятельности. Увеличились информационные потоки и повысились требования к скорости обработки данных, и теперь уже большинство операций не может быть выполнено вручную, они требуют применения наиболее перспективных компьютерных технологий. Любые административные решения требуют четкой и точной оценки текущей ситуации и возможных перспектив ее изменения. И если раньше в оценке ситуации участвовало несколько десятков факторов, которые могли быть вычислены вручную, то теперь таких факторов сотни и сотни тысяч и ситуация меняется не в течение года, а через несколько минут, и обоснованность принимаемых решений требуется большая, потому что и реакция на неправильные решения более серьезная, более быстрая и более мощная, чем раньше. И, конечно, обойтись без информационной модели производства, хранимой в базе данных, в этом случае невозможно.

В истории вычислительной техники можно проследить развитие двух основных областей ее использования.

Первая область — применение вычислительной техники для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную. Развитие этой области способствовало интенсификации методов численного решения сложных математических задач, появлению языков программирования, ориентированных на удобную запись численных алгоритмов, становлению обратной связи с разработчиками новых архитектур ЭВМ. Характерной особенностью данной области применения вычислительной техники является наличие сложных алгоритмов обработки, которые применяются к простым по структуре данным, объем которых сравнительно невелик.

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

  • надежное хранение информации в памяти компьютера;
  • выполнение специфических для данного приложения преобразований информации и вычислений;
  • предоставление пользователям удобного и легко осваиваемого интерфейса.

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

Вторая область использования вычислительной техники возникла несколько позже первой. Это связано с тем, что на заре вычислительной техники возможности компьютеров по хранению информации были очень ограниченными. Говорить о надежном и долговременном хранении информации можно только при наличии запоминающих устройств, сохраняющих информацию после выключения электрического питания. Оперативная (основная) память компьютеров этим свойством обычно не обладает. В первых компьютерах использовались два вида устройств внешней памяти — магнитные ленты и барабаны. Емкость магнитных лент была достаточно велика, но по своей физической природе они обеспечивали последовательный доступ к данным. Магнитные же барабаны (они ближе всего к современным магнитным дискам с фиксированными головками) давали возможность произвольного доступа к данным, но имели ограниченный объем хранимой информации.

Можно предположить, что именно требования нечисловых приложений вызвали появление съемных магнитных дисков с подвижными головками, что явилось революцией в истории вычислительной техники.

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

Важным шагом в развитии именно информационных систем явился переход к использованию централизованных систем управления файлами. С точки зрения прикладной программы файл — это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные. Правила именования файлов, способ доступа к данным, хранящимся в файле, и структура этих данных зависят от конкретной системы управления файлами и, возможно, от типа файла. Система управления файлами берет на себя распределение внешней памяти, отображение имен файлов в соответствующие адреса во внешней памяти и обеспечение доступа к данным.

В разных файловых системах эти операции могли несколько отличаться, но общий смысл их был именно таким. Главное, что следует отметить, это то, что структура записи файла была известна только программе, которая с ним работала, система управления файлами не знала ее. И поэтому для того, чтобы извлечь некоторую информацию из файла, необходимо было точно знать структуру записи файла с точностью до бита. Каждая программа, работающая с файлом, должна была иметь у себя внутри структуру данных, соответствующую структуре этого файла. Поэтому при изменении структуры файла требовалось изменять структуру программы, а это требовало новой компиляции, т. е. процесса перевода программы в исполняемые машинные коды. Такая ситуация характеризовалась как зависимость программ от данных. Для информационных систем характерным является наличие большого числа различных пользователей (программ), каждый из которых имеет свои специфические алгоритмы обработки информации, хранящейся в одних и тех же файлах. Изменение структуры файла, которое было необходимо для одной программы, требовало исправления и перекомпиляции и дополнительной отладки всех остальных программ, работающих с этим же файлом. Это было первым существенным недостатком файловых систем, который явился толчком к созданию новых систем хранения и управления информацией.

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

Следующей причиной стала необходимость обеспечения эффективной параллельной работы многих пользователей с одними и теми же файлами. В общем случае системы управления файлами обеспечивали режим многопользовательского доступа. Если операционная система поддерживает многопользовательский режим, вполне реальна ситуация, когда два или более пользователя одновременно пытаются работать с одним и тем же файлом. Если все пользователи собираются только читать файл, ничего страшного не произойдет. Но если хотя бы один из них будет изменять файл, для корректной работы этих пользователей требуется взаимная синхронизация их действий по отношению к файлу.

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

В истории развития СУБД и БД можно выделить 4 основных этапа. Однако необходимо заметить, что все же нет жестких временных ограничений этих этапов: они плавно переходят один в другой и даже сосуществуют параллельно. Тем не менее выделение этих этапов позволит более четко охарактеризовать отдельные стадии развития технологии баз данных, подчеркнуть особенности, характерные для конкретного этапа.

Первый этап развития СУБД связан с организацией баз данных на больших машинах типа IBM 360/370, ЕС-ЭВМ и мини-ЭВМ типа PDP11 (фирмы Digital Equipment Corporation — DEC), разных моделях HP (фирмы Hewlett Packard).

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

Рис. 1.1. Мэйнфреймовая архитектура

Особенности этого этапа развития выражаются в следующем:

  • Все СУБД базируются на мощных мультипрограммных операционных системах (MVS, SVM, RTE, OSRV, RSX, UNIX), поэтому в основном поддерживается работа с централизованной базой данных в режиме распределенного доступа.
  • Функции управления распределением ресурсов в основном осуществляются операционной системой (ОС).
  • Поддерживаются языки низкого уровня манипулирования данными, ориентированные на навигационные методы доступа к данным.
  • Значительная роль отводится администрированию данных.
  • Проводятся серьезные работы по обоснованию и формализации реляционной модели данных, и создается первая система (System R), реализующая идеологию реляционной модели данных.
  • Проводятся теоретические работы по оптимизации запросов и управлению распределенным доступом к централизованной БД, введено понятие транзакции.
  • Результаты научных исследований открыто обсуждаются в печати, идет мощный поток общедоступных публикаций, касающихся всех аспектов теории и практики баз данных, и результаты теоретических исследований активно внедряются в коммерческие СУБД.
  • Появляются первые языки высокого уровня для работы с реляционной моделью данных. Однако отсутствуют стандарты для этих первых языков.

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

Конечно, это сказалось и на работе с базами данных. Появились программы, которые назывались системами управления базами данных и позволяли хранить значительные объемы информации, они имели удобный интерфейс для заполнения данных, встроенные средства для генерации различных отчетов. Эти программы позволяли автоматизировать многие учетные функции, которые раньше велись вручную. Постоянное снижение цен на персональные компьютеры сделало их доступными не только для организаций и фирм, но и для отдельных пользователей. Компьютеры стали инструментом для ведения документации и собственных учетных функций.

Это все сыграло как положительную, так и отрицательную роль в развитии баз данных. Кажущаяся простота и доступность персональных компьютеров и их программного обеспечения породила множество дилетантов. Эти разработчики, считая себя знатоками, стали проектировать недолговечные базы данных, которые не учитывали многих особенностей объектов реального мира. Много было создано систем-однодневок, которые не отвечали законам развития и взаимосвязи реальных объектов. Однако доступность персональных компьютеров заставила пользователей из многих областей знаний, которые ранее не применяли вычислительную технику в своей деятельности, обратиться к ним. И спрос на развитые удобные программы обработки данных заставлял поставщиков программного обеспечения поставлять все новые системы, которые принято называть настольными (desktop) СУБД. Значительная конкуренция среди поставщиков заставляла совершенствовать эти системы, предлагая новые возможности, улучшая интерфейс и быстродействие систем, снижая их стоимость. Наличие на рынке большого числа СУБД, выполняющих сходные функции, потребовало разработки методов экспорта-импорта данных для этих систем и открытия форматов хранения данных.

Но и в этот период появлялись любители, которые вопреки здравому смыслу разрабатывали собственные СУБД, используя стандартные языки программирования. Это был тупиковый вариант, потому что дальнейшее развитие показало, что перенести данные из нестандартных форматов в новые СУБД было гораздо труднее, а в некоторых случаях требовало таких трудозатрат, что легче было все разработать заново, но данные все равно надо было переносить на новую более перспективную СУБД. И это тоже было результатом недооценки тех функций, которые должна была выполнять СУБД.

Особенности этого этапа состоят в следующем:

  • Все СУБД были рассчитаны на создание БД в основном с монопольным доступом. И это понятно: компьютер персональный, он не был подсоединен к сети, и база данных на нем создавалась для работы одного пользователя. В редких случаях предполагалась последовательная работа нескольких пользователей, например сначала оператора, который вводил бухгалтерские документы, а потом главбуха, который определял проводки, соответствующие первичным документам.
  • Большинство СУБД имели развитый и удобный пользовательский интерфейс. В основном существовал интерактивный режим работы с БД как в рамках описания БД, так и в рамках проектирования запросов. Кроме того, большинство СУБД предлагали развитый и удобный инструментарий для разработки готовых приложений без программирования. Инструментальная среда состояла из готовых элементов приложения в виде шаблонов экранных форм, отчетов, этикеток (Labels), графических конструкторов запросов, которые достаточно просто могли быть собраны в единый комплекс.
  • Во всех настольных СУБД поддерживался только внешний уровень представления реляционной модели, т. е. только внешний табличный вид структур данных.
  • При наличии высокоуровневых языков манипулирования данными, вроде реляционной алгебры и SQL, в настольных СУБД поддерживались низкоуровневые языки манипулирования данными на уровне отдельных строк таблиц.
  • В настольных СУБД отсутствовали средства поддержки ссылочной и структурной целостности базы данных. Эти функции должны были выполнять приложения, однако скудость средств разработки приложений иногда не позволяла это сделать, и эти функции должны были выполняться пользователем, требуя от него дополнительного контроля при вводе и изменении информации, хранящейся в БД.
  • Наличие монопольного режима работы фактически привело к вырождению функций администрирования БД и в связи с этим — к отсутствию инструментальных средств администрирования БД.
  • И, наконец, последняя и в настоящий момент весьма положительная особенность — это сравнительно скромные требования к аппаратному обеспечению со стороны настольных СУБД. Вполне работоспособные приложения, разработанные, например, на Clipper, работали на PC 286.

В принципе, их даже трудно назвать полноценными СУБД. Яркие представители этого семейства — очень широко использовавшиеся до недавнего времени СУБД Dbase (DbaseIII+, DbaseIV), FoxPro, Clipper, Paradox (рис. 1.2).

Рис. 1.2. БД на персональных компьютерах

Хорошо известно, что история развивается по спирали, поэтому после процесса «персонализации» начался обратный процесс — интеграция. Множится количество локальных сетей, все больше информации передается между компьютерами, остро встает задача согласованности данных, хранящихся и обрабатывающихся в разных местах, но логически друг с другом связанных, возникают задачи, связанные с параллельной обработкой транзакций — последовательностей операций над БД, переводящих ее из одного непротиворечивого состояния в другое непротиворечивое состояние. Успешное решение этих задач приводит к появлению распределенных баз данных, сохраняющих все преимущества настольных СУБД и в то же время позволяющих организовать параллельную обработку информации и поддержку целостности БД.

Особенности данного этапа состоят в следующем.

  • Практически все современные СУБД обеспечивают поддержку полной реляционной модели, а именно:
    • структурной целостности — допустимыми являются только данные, представленные в виде отношений реляционной модели;
    • языковой целостности, т. е. языков манипулирования данными высокого уровня (в основном SQL);
    • ссылочной целостности, контроля за соблюдением ссылочной целостности в течение всего времени функционирования системы, и гарантий невозможности со стороны СУБД нарушить эти ограничения.
  • Большинство современных СУБД рассчитаны на многоплатформенную архитектуру, т. е. они могут работать на компьютерах с разной архитектурой и под разными операционными системами, при этом для пользователей доступ к данным, управляемым СУБД на разных платформах, практически неразличим.
  • Необходимость поддержки многопользовательской работы с базой данных и возможность децентрализованного хранения данных потребовали развития средств администрирования БД с реализацией общей концепции средств защиты данных.
  • Потребность в новых реализациях вызвала создание серьезных теоретических трудов по оптимизации реализаций распределенных БД и работе с распределенными транзакциями и запросами с внедрением полученных результатов в коммерческие СУБД.
  • Для того чтобы не потерять клиентов, которые ранее работали на настольных СУБД, практически все современные СУБД имеют средства подключения клиентских приложений, разработанные с использованием настольных СУБД, и средства экспорта данных из форматов настольных СУБД второго этапа развития.
  • Именно к этому этапу можно отнести разработку ряда стандартов в рамках языков описания и манипулирования данными начиная с SQL89, SQL92, SQL99 и технологий по обмену данными между различными СУБД, к которым можно отнести и протокол ODBC (Open DataBase Connectivity), предложенный фирмой Microsoft.
  • Именно к этому этапу можно отнести начало работ, связанных с концепцией объектно-ориентированных БД (ООБД). Представителями СУБД, относящимися ко второму этапу, можно считать MS Access 97 и все современные серверы баз данных Oracle7.3,Oracle 8.4, Oracle 10, MS SQL Server 6.5, MS SQL Server 7.0, MS SQL Server 2000, System 10, System 11, Informix, DB2, SQL Base и другие современные серверы баз данных, которых в настоящий момент насчитывается несколько десятков (рис. 1.3).

Рис. 1.3. Этап локальных сетей и архитектуры «клиент-сервер»

Следующий этап характеризуется появлением новой технологии доступа к данным — Интранет. Основное отличие этого подхода от технологии «клиент-сервер» состоит в том, что отпадает необходимость использования специализированного клиентского программного обеспечения. Для работы с удаленной базой данных используется стандартный броузер Интернета, например Microsoft Internet Explorer или Netscape Navigator, и для конечного пользователя процесс обращения к данным происходит аналогично скольжению по Всемирной паутине (рис. 1.4). При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языке Java, Java-script, Perl и др., отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к базе данных, выполняя, таким образом, ту работу, которой в технологии «клиент-сервер» занимается клиентская программа. Удобство данного подхода привело к тому, что он стал использоваться не только для удаленного доступа к базам данных, но и для пользователей локальной сети предприятия. Простые задачи обработки данных, не связанные со сложными алгоритмами, требующими согласованного изменения данных во многих взаимосвязанных объектах, достаточно просто и эффективно могут быть построены по данной архитектуре. В этом случае для подключения нового пользователя к возможности использовать данную задачу не требуется установка дополнительного клиентского программного обеспечения. Однако алгоритмически сложные задачи рекомендуется реализовывать в архитектуре «клиент-сервер» с разработкой специального клиентского программного обеспечения (рис. 1.5 и 1.6).

Рис. 1.4. Стандартный алгоритм взаимодействия Web-клиента и Web-сервера

Рис. 1.5. Запуск программ на Web -сервере

Рис. 1.6. Доступ к базам данных в архитектуре Интернет

1.2. Основные принципы, заложенные в методологию баз данных

Современные авторы часто употребляют термины «банк данных» и «база данных» как синонимы, однако в общеотраслевых руководящих материалах по созданию банков данных Государственного комитета по науке и технике (ГКНТ), изданных в 1982 г., эти понятия различаются. Там приводятся следующие определения банка данных, базы данных и СУБД.

Банк данных (БнД) — это система специальным образом организованных данных — баз данных, программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.

База данных (БД) — именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области.

Система управления базами данных (СУБД) — совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

Сухой канцелярский язык труден для восприятия, но эти определения четко разграничивают назначение всех трех базовых понятий, и мы можем принять их за основу.

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

1.3. Классификация баз данных

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

Рис. 1.7. Классификация БД по виду хранимых объектов

Классификация баз данных по допустимым операциям обработки информации приведена на рис. 1.8.

Рис. 1.8. Классификация баз данных по допустимым операциям обработки информации

1.4. Трехуровневая архитектура баз данных

Терминология в СУБД, да и сами термины «база данных» и «банк данных» частично заимствованы из финансовой области. Это заимствование не случайно и объясняется тем, что работа с информацией и работа с денежными массами во многом схожи, поскольку и там и там отсутствует персонификация объекта обработки: две банкноты достоинством в сто рублей столь же неотличимы и взаимозаменяемы, как два одинаковых байта (естественно, за исключением серийных номеров). Вы можете положить деньги на некоторый счет и предоставить возможность вашим родственникам или коллегам использовать их для иных целей. Вы можете поручить банку оплачивать ваши расходы с вашего счета или получить их наличными в другом банке, и это будут уже другие денежные купюры, но их ценность будет эквивалентна той, которую вы имели, когда клали их на свой счет.

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

Рис. 1.9. Трехуровневая модель системы управления базой данных, предложенная ANSI
  1. Уровень внешних моделей — самый верхний уровень, где каждая модель имеет свое «видение» данных. Этот уровень определяет точку зрения на БД отдельных приложений. Каждое приложение видит и обрабатывает только те данные, которые необходимы именно этому приложению. Например, система распределения работ использует сведения о квалификации сотрудника, но ее не интересуют сведения об окладе, домашнем адресе и телефоне сотрудника, и наоборот, именно эти сведения используются в подсистеме отдела кадров.
  2. Концептуальный уровень — центральное управляющее звено, здесь база данных представлена в наиболее общем виде, который объединяет данные, используемые всеми приложениями, работающими с данной базой данных. Фактически концептуальный уровень отражает обобщенную модель предметной области (объектов реального мира), для которой создавалась база данных. Как любая модель, концептуальная модель отражает только существенные, с точки зрения обработки, особенности объектов реального мира.
  3. Физический уровень — собственно данные, расположенные в файлах или в страничных структурах, расположенных на внешних носителях информации.

Эта архитектура позволяет обеспечить логическую (между уровнями 1 и 2) и физическую (между уровнями 2 и 3) независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же базой данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных. Это именно то, чего не хватало при использовании файловых систем.

Выделение концептуального уровня позволило разработать аппарат централизованного управления базой данных.

1.5. Классификация моделей в системах баз данных

Одними из основополагающих в концепции баз данных являются обобщенные категории «данные» и «модель данных».

Понятие «данные» в концепции баз данных — это набор конкретных значений, параметров, характеризующих объект, условие, ситуацию или любые другие факторы. Примеры данных: Петров Николай Степанович, $30 и т. д. Данные не обладают определенной структурой, данные становятся информацией тогда, когда пользователь задает им определенную структуру, т. е. осознает их смысловое содержание. Поэтому центральным понятием в области баз данных является понятие модели. Не существует однозначного определения этого термина, у разных авторов эта абстракция определяется с некоторыми различиями, но тем не менее, можно выделить нечто общее в этих определениях.

Модель данных — это некоторая абстракция, которая, будучи приложима к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, т. е. сведения, содержащие не только данные, но и взаимосвязь между ними.

На рис. 1.10 представлена классификация моделей данных.

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

Рис. 1.10. Классификация моделей данных

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

Кроме трех рассмотренных уровней абстракции, определенных в ANSI-архитектуре, при проектировании БД существует еще один уровень, предшествующий им. Модель этого уровня должна выражать информацию о предметной области в виде, независимом от используемой СУБД. Эти модели называются инфологическими, или семантическими, и отражают в естественной и удобной для разработчиков и других пользователей форме информационно-логический уровень абстрагирования, связанный с фиксацией и описанием объектов предметной области, их свойств и их взаимосвязей.

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

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

Модели, основанные на языках разметки документов, связаны прежде всего со стандартным общим языком разметки SGML (Standart Generalised Markup Language), который был утвержден ISO в качестве стандарта еще в 80-х гг. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тегов (ссылок), их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования тегов осуществляется при помощи специального набора правил, называемых DTD-описаниями, которые используются программой клиента при разборе документа. Для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки. С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но ввиду некоторой своей сложности SGML использовался в основном для описания синтаксиса других языков (наиболее известным из которых является HTML), и немногие приложения работали с SGML-документами напрямую.

Гораздо более простой и удобный, чем SGML, язык HTML позволяет определять оформление элементов документа и имеет некий ограниченный набор инструкций — тегов, при помощи которых осуществляется процесс разметки. Инструкции HTML в первую очередь предназначены для управления процессом вывода содержимого документа на экран программы-клиента и определяют этим самым способ представления документа, но не его структуру. В качестве элемента гипертекстовой базы данных, описываемой HTML, используется текстовый файл, который может легко передаваться по сети с использованием протокола HTTP. Эта особенность, а также то, что HTML является открытым стандартом и огромное количество пользователей имеет возможность применять этот язык для оформления своих документов, безусловно, повлияли на рост популярности HTML и сделали его сегодня главным механизмом представления информации в Интернете.

Однако HTML сегодня уже не удовлетворяет в полной мере требованиям, предъявляемым современными разработчиками к языкам подобного рода. И ему на смену был предложен новый язык гипертекстовой разметки, мощный, гибкий и одновременно удобный язык XML. В чем же заключаются его достоинства?

XML (Extensible Markup Language) — это язык разметки, описывающий целый класс объектов данных, называемых XML-документами. Он используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов, т. е. сам по себе XML не содержит никаких тегов, предназначенных для разметки, он просто определяет порядок их создания.

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

Дескрипторные модели — самые простые из документальных моделей, они широко использовались на ранних стадиях использования документальных баз данных. В этих моделях каждому документу соответствовал дескриптор — описатель. Этот дескриптор имел жесткую структуру и описывал документ в соответствии с теми характеристиками, которые требуются для работы с документами в разрабатываемой документальной БД. Например, для БД, содержащей описание патентов, дескриптор содержал название области, к которой относился патент, номер патента, дату выдачи патента и еще ряд ключевых параметров, которые заполнялись для каждого патента. Обработка информации в таких базах данных велась исключительно по дескрипторам, т. е. по тем параметрам, которые характеризовали патент, а не сам текст патента.

1.6. Жизненный цикл БД

Как любой программно-организационно-техничекий комплекс банк данных существует во времени и пространстве и проходит определенные стадии в своем развитии (рис. 1.11):

  • проектирование;
  • реализация;
  • эксплуатация;
  • модернизация и развитие;
  • полная реорганизация.

На каждом этапе своего существования с банком данных связаны разные категории пользователей. Так, на этапе проектирования работают разработчики, на этапе реализации к разработчикам может подключаться администратор БД, на этапе эксплуатации кроме администратора с БД работают уже и конечные пользователи. Этапы, связанные с модернизацией и развитием, требуют наряду с администратором БД подключения администраторов отдельных приложений. Однако следует отметить, что на всех этапах главным остается администратор БД. Под администратором БД понимают группу лиц, ответственных за бесперебойное функционирование БД, корректное восстановление после сбоев, поддержку требуемой функциональности и скорости обработки информации.

Рис. 1.11. Этапы жизненного цикла БД

1.7. Схема прохождения запроса в системах баз данных

Схема прохождения запроса в БД показана на рис. 1.12.

Рис. 1.12. Схема прохождения запроса в БД

Указанная процедура осуществляется в следующей последовательности.

  1. Пользователь посылает СУБД запрос на получение данных из БД.
  2. СУБД выявляет, обращаясь к базе метаданных (БМД), внешнюю модель пользователя, который сформировал запрос к БД.
  3. СУБД проводит анализ прав пользователя и внешней модели данных, соответствующих данному пользователю, подтверждает или запрещает доступ данного пользователя к запрошенным данным.
  4. В случае запрета на доступ к данным СУБД сообщает пользователю об этом (стрелка 12) и прекращает дальнейший процесс обработки данных, в противном случае СУБД определяет часть концептуальной модели, которая затрагивается запросом пользователя.
  5. СУБД получает информацию о запрошенной части концептуальной модели.
  6. СУБД запрашивает информацию о местоположении данных на физическом уровне (файлы или физические адреса).
  7. В СУБД возвращается информация о местоположении данных в терминах операционной системы.
  8. СУБД вежливо просит операционную систему предоставить необходимые данные, используя средства операционной системы.
  9. Операционная система осуществляет перекачку информации с устройств хранения и пересылает ее в системный буфер.
  10. Операционная система оповещает СУБД об окончании пересылки информации в системный буфер.
  11. СУБД выбирает из доставленной информации, находящейся в системном буфере, только то, что нужно пользователю, и пересылает эти данные в рабочую область пользователя.
  12. СУБД информирует пользователя о завершении обработки его запроса и пересылке найденных данных в его рабочую область.

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

Вопросы для самопроверки

  1. Укажите основные недостатки использования файловых систем в системах обработки данных.
  2. В чем выражалась зависимость программ от данных при работе с файлами?
  3. Чем четвертый этап развития баз данных сходен с первым?
  4. Укажите основные особенности первого этапа развития БД.
  5. Что дал в теории баз данных переход к персональным компьютерам, каковы его достоинства и недостатки?
  6. Что такое настольные СУБД, чем они характеризовались? Назовите наиболее характерных представителей.
  7. Почему произошел переход к третьему этапу, укажите его особенности, достоинства и недостатки. Сравните третий этап с двумя предыдущими.
  8. Что такое архитектура «Интернет-интранет», чем характерен четвертый этап развития, в чем его преимущества по сравнению с третьим этапом развития?
  9. В чем выражаются требования физической и логической независимости для трехуровневой модели БД?
  10. Какое место занимает инфологическая модель среди уровней модели ANSI?
  11. Какие признаки классификации выделены в базах данных, что такое оперативные БД и хранилища информации, или склады данных, в чем отличие обработки информации в этих базах, как называются технологии обработки информации, на которых они базируются?
  12. Что такое документальные БД, что в них хранится, как происходит обработка информации?
  13. Какие модели данных при классификации БД вы знаете, опишите их особенности?
  14. Что такое язык SGML, какие другие языки с ним связаны, какое отношение имеет этот язык к БД?
  15. Опишите этапы жизненного цикла БД и пользователей, которые работают на каждом этапе.



Базы данных лежат в основе практически всех современных информационных и информационно- телекоммуникационных систем, и это коренным образом изменило характер работы многих организаций. Развитие СУБД началось еще в 60-е годы, когда разрабатывался проект полета корабля Apollo на Луну


В середине 60-х годов корпорация IBM совместно с фирмой NAA (North American Aviation, в настоящее время - Rockwell International) разработали первую СУБД - иерархическую систему IMS (Information Management System). Несмотря на то, что IMS является самой первой из всех коммерческих СУБД, она до сих пор остается основной иерархической СУБД, используемой на большинстве крупных мейнфреймов.


Другим заметным достижением середины 60-х годов было появление системы IDS (Integrated Data Store) фирмы General Electric. Развитие этой системы привело к созданию нового типа систем управления базами данных - сетевых СУБД, что оказало существенное влияние на информационные системы того поколения. Сетевая СУБД создавалась для представления более сложных взаимосвязей между данными, чем те, которые можно было моделировать с помощью иерархических структур, и послужили основой для разработки первых стандартов БД.


Для создания стандартов структур хранения данных в 1965 году на конференции CODASYL (Conference on Data Systems Languages) была сформирована рабочая группа List Processing Task Force, переименованная в 1967 году в группу Data Base Task Group (DBTG). В компетенцию группы DBTG входило определение спецификаций среды, которая допускала бы разработку баз данных и управление данными.


Полный вариант отчета этой группы был опубликован в 1971 году и содержал следующие утверждения: cетевая схема - это логическая организация всей базы данных в целом (с точки зрения АДБ), которая включает определение имени базы данных, типа каждой записи и компонентов записей каждого типа подсхема - это часть базы данных, видимая конкретными пользователями или прикладными программами язык управления данными - инструмент для определения характеристик и структуры данных, а также для управления ими


Группа DBTG также предложила стандартизировать три различных языка: o язык определения данных DDL для схемы, который позволит администратору базы данных (АБД) описать ее o язык определения данных (также DDL) для подсхемы, который позволит определять в прикладных программах те части базы данных, доступ к которым будет необходим o язык манипулирования данными DML, предназначенный для управления данными


Несмотря на то, что отчет CODASYL официально не был одобрен Национальным Институтом Стандартизации США (ANSI), большое количество систем было разработано в полном соответствии с этими предложениями группы DBTG. Теперь они называются CODASYL-системами, или DBTG-системами. CODASYL-системы и системы на основе иерархических подходов представляют собой СУБД первого поколения.


Однако как сетевым, так и иерархическим моделям баз данных присущи приведенные ниже недостатки: o даже для выполнения простых запросов с использованием переходов и доступом к определенным записям необходимо создавать достаточно сложные программы o независимость от данных существует лишь в минимальной степени o отсутствуют теоретические основы


В 1970 году Э. Ф. Кодд, работавший в корпорации IBM, опубликовал статью о реляционной модели данных, позволявшей устранить недостатки прежних моделей. Появилось множество экспериментальных реляционных СУБД, а первые коммерческие продукты появились в конце 70-х - начале 80-х годов. Известен проект System R, разработанный в корпорации IBM в конце 70-х годов (Astrahan et al., 1976), задуман с целью доказать практичность реляционной модели, что достигалось посредством реализации предусмотренных ею структур данных и требуемых функциональных возможностей.


На основе этого проекта были получены важнейшие результаты: o был разработан структурированный язык запросов SQL, который с тех пор стал стандартным языком любых реляционных СУБД o в 80-х годах были созданы различные коммерческие реляционные СУБД - например, DB2 или SQL/DS корпорации IBM, Oracle корпорации Oracle, др.


Реляционные СУБД относятся к СУБД второго поколения, существует несколько сотен различных реляционных СУБД для мейнфреймов и персональных ЭВМ. Примеры многопользовательских реляционных СУБД: CA-OpenIngres фирмы Computer Associates, Informix фирмы Informix Software, Inc. Примеры реляционных СУБД для персональных компьютеров: Access фирмы Microsoft, FoxPro, R-Base фирмы Microrim и т.д. Реляционная модель обладает некоторыми недостатками: ограниченными возможностями моделирования. Для решения этой проблемы в 1976 году Чен предложил модель "сущность-связь" (Entity-relationship model - ER-модель), которая в настоящее время стала самой распространенной технологией и основой методологии проектирования баз данных.


В 1979 году Кодд сделал попытку устранить недостатки собственной основополагающей работы и опубликовал расширенную версию реляционной модели - RM/T (1979), затем еще одну версию - RM/V2 (1990). Попытки создания модели данных, позволяющей более точно описывать реальный мир, нестрого называют семантическим моделированием данных (semantic data modeling).


В ответ на все возрастающую сложность прикладных программ, работающих с базами данных появились два новых типа систем: объектно-ориентированные СУБД, или ОО СУБД, объектно-реляционные СУБД, или ОР СУБД. Попытки реализации подобных моделей представляют собой СУБД третьего поколения. В СССР в середине 70-х годов была разработана информационно-поисковая система, основу которой составляла универсальная объектно-ориентированная иерархическая СУБД, нашедшая широкое применение при решении задач проектирования и управления и предвосхитившая многие более поздние разработки такого рода.


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


Файловые системы - это набор программ, которые выполняют для пользователей некоторые операции (например, создание отчетов), причем каждая программа определяет свои собственные данные и управляет ими. Ограничения, присущие файловым системам: o разделение и изоляция данных. o дублирование данных. o зависимость от данных. o несовместимость форматов файлов. o фиксированные запросы (быстрое увеличение количества прикладных программ).


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


База данных хранит не только рабочие данные, но и их описания. По этой причине базу данных еще называют набором интегрированных записей с самоописанием. В совокупности, описание данных называется системным каталогом (system catalog), или словарем данных (data dictionary), а сами элементы описания – метаданными (meta-data), т.е. данными о данных.


Преимущество подхода абстрагирования данных (data abstraction) - возможность изменить внутреннее определение объекта без каких-либо последствий для его пользователей, при условии, что внешнее определение объекта остается неизменным. В подходе с использованием баз данных, структура данных отделена от прикладных программ и хранится в базе данных.


В базах данных используется термин "логически связанные данные", когда при анализе информационных потребностей организации следует выделить: o сущность (entity)- отдельный тип объекта, который нужно представить в базе данных o атрибут (attribute)- свойство, которое описывает некоторую характеристику рассматриваемого объекта o связь (relationship) это то, что объединяет несколько сущностей







СУБД - это программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ. Составляющие СУБД: o Подсистема средств проектирования. o Подсистема обработки. o Ядро СУБД


Возможности СУБД: o позволяет определять базу данных с помощью языка определения данных (DDL – Data Definition Language). o позволяет вставлять, обновлять, удалять и извлекать информацию из базы данных с помощью языка управления данными (DML – Data Manipulation Language).


Возможности СУБД: o СУБД предоставляет контролируемый доступ к базе данных с помощью перечисленных ниже средств: - системы обеспечения безопасности - системы поддержки целостности данных - системы управления параллельной работой прикладных программ - системы восстановления - доступного пользователям каталога


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


Достоинства представлений: o обеспечивают дополнительный уровень безопасности o предоставляют механизм настройки внешнего интерфейса базы данных. o позволяют сохранять внешний интерфейс базы данных непротиворечивым и неизменным даже при внесении изменений в ее структуру. o представление обеспечивает полную независимость программ от реальной структуры данных




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




Данные База данных содержит: рабочие данные и метаданные. Интеграция данных - возможность представить базу данных как объединение нескольких отдельных файлов данных Разделяемость данных - возможность использования несколькими различными пользователями отдельных элементов, хранимых в базе данных.


Процедуры Процедуры - инструкции и правила, которые должны учитываться при проектировании и использовании базы данных. Пользователи Различают четыре группы: o администраторы данных и баз данных o разработчики баз данных o прикладные программисты o конечные пользователи.




Администратор базы данных (Database Administrator) отвечает за: o физическую реализацию базы данных, включая физическое o проектирование и воплощение проекта o обеспечение безопасности и целостности данных o сопровождение операционной системы o обеспечение максимальной производительности приложений пользователей


Разработчик логической базы данных Занимается идентификацией данных, связей между данными и устанавливает ограничения, накладываемые на хранимые данные. Должен быть всесторонним и в полном объеме понимать структуры данных организации и ее бизнес-правил. Работа разработчика делится на два этапа: o концептуальное проектирование базы данных o логическое проектирование базы данных


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


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


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



Преимущества: o контроль за избыточностью данных o непротиворечивость данных o больше полезной информации при том же объеме хранимых данных o совместное использование данных o поддержка целостности данных o повышенная безопасность o применение стандартов.


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



реляционной алгебры престижную премию Тьюринга Американской ассоциации по вычислительной технике.

Менее двух десятков лет прошло с этого момента, но стремительное развитие вычислительной техники, изменение ее принципиальной роли в жизни общества, обрушившийся бум персональных ЭВМ и, наконец, появление мощных рабочих станций и сетей ЭВМ повлияло также и на развитие технологии баз данных. Можно выделить четыре этапа в развитии данного направления в обработке данных. Однако необходимо заметить, что все же нет жестких временных ограничений в этих этапах: они плавно переходят один в другой и даже сосуществуют параллельно, но тем не менее выделение этих этапов позволит более четко охарактеризовать отдельные стадии развития технологии баз данных, подчеркнуть особенности, специфичные для конкретного этапа.

Первый этап развития СУБД связан с организацией баз данных на больших машинах типа IBM 360/370, ЕС-ЭВМ и мини-ЭВМ типа PDP11 (фирмы Digital Equipment Corporation - DEC ), разных моделях HP (фирмы Hewlett Packard).

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

Особенности этого этапа развития выражаются в следующем:

  • Все СУБД базируются на мощных мультипрограммных операционных системах ( MVS , SVM, RTE, OSRV, RSX , UNIX), поэтому в основном поддерживается работа с централизованной базой данных в режиме распределенного доступа.
  • Функции управления распределением ресурсов в основном осуществляются операционной системой (ОС).
  • Поддерживаются языки низкого уровня манипулирования данными, ориентированные на навигационные методы доступа к данным.
  • Значительная роль отводится администрированию данных.
  • Проводятся серьезные работы по обоснованию и формализации реляционной модели данных, и была создана первая система (System R), реализующая идеологию реляционной модели данных.
  • Проводятся теоретические работы по оптимизации запросов и управлению распределенным доступом к централизованной БД, было введено понятие транзакции.
  • Результаты научных исследований открыто обсуждаются в печати, идет мощный поток общедоступных публикаций, касающихся всех аспектов теории и практики баз данных, и результаты теоретических исследований активно внедряются в коммерческие СУБД.

Появляются первые языки высокого уровня для работы с реляционной моделью данных. Однако отсутствуют стандарты для этих первых языков.

Эпоха персональных компьютеров

Персональные компьютеры стремительно ворвались в нашу жизнь и буквально перевернули наше представление о месте и роли вычислительной техники в жизни общества. Теперь компьютеры стали ближе и доступнее каждому пользователю. Исчез благоговейный страх рядовых пользователей перед непонятными и сложными языками программирования. Появилось множество программ, предназначенных для работы неподготовленных пользователей. Эти программы были просты в использовании и интуитивно понятны: это прежде всего различные редакторы текстов, электронные таблицы и другие. Простыми и понятными стали операции копирования файлов и перенос информации с одного компьютера на другой, распечатка текстов, таблиц и других документов. Системные программисты были отодвинуты на второй план. Каждый пользователь мог себя почувствовать полным хозяином этого мощного и удобного устройства, позволяющего автоматизировать многие аспекты деятельности. И, конечно, это сказалось и на работе с базами данных. Появились программы, которые назывались системами управления базами данных и позволяли хранить значительные объемы информации, они имели удобный интерфейс для заполнения данных, встроенные средства для генерации различных отчетов. Эти программы позволяли автоматизировать многие учетные функции, которые раньше велись вручную. Постоянное снижение цен на персональные компьютеры сделало их доступными не только для организаций и фирм, но и для отдельных пользователей. Компьютеры стали инструментом для ведения документации и собственных учетных функций. Это все сыграло как положительную, так и отрицательную роль в области развития баз данных. Кажущаяся простота и доступность персональных компьютеров и их программного обеспечения породила множество дилетантов. Эти разработчики, считая себя знатоками, стали проектировать недолговечные базы данных , которые не учитывали многих особенностей объектов реального мира. Много было создано систем-однодневок, которые не отвечали законам развития и взаимосвязи реальных объектов. Однако доступность персональных компьютеров заставила пользователей из многих областей знаний, которые ранее не применяли вычислительную технику в своей деятельности, обратиться к ним. И спрос на развитые удобные программы обработки данных заставлял поставщиков программного обеспечения поставлять все новые системы, которые принято называть настольными (desktop) СУБД . Значительная конкуренция среди поставщиков заставляла совершенствовать эти системы, предлагая новые возможности, улучшая интерфейс и быстродействие систем, снижая их стоимость . Наличие на рынке большого числа СУБД , выполняющих сходные функции, потребовало разработки методов экспорта-импорта данных для этих систем и открытия форматов хранения данных.

Но и в этот период появлялись любители, которые вопреки здравому смыслу разрабатывали собственные СУБД , используя стандартные языки программирования. Это был тупиковый вариант, потому что дальнейшее развитие показало, что перенести данные из нестандартных форматов в новые СУБД было гораздо труднее, а в некоторых случаях требовало таких трудозатрат, что легче было бы все разработать заново, но данные все равно надо было переносить на новую более перспективную СУБД . И это тоже было результатом недооценки тех функций, которые должна была выполнять СУБД .

Особенности этого этапа следующие:

  • Все СУБД были рассчитаны на создание БД в основном с монопольным доступом. И это понятно. Компьютер персональный, он не был подсоединен к сети, и база данных на нем создавалась для работы одного пользователя. В редких случаях предполагалась последовательная работа нескольких пользователей, например, сначала оператор, который вводил бухгалтерские документы, а потом главбух, который определял проводки, соответствующие первичным документам.
  • Большинство СУБД имели развитый и удобный пользовательский интерфейс. В большинстве существовал интерактивный режим работы с БД как в рамках описания БД, так и в рамках проектирования запросов. Кроме того, большинство СУБД предлагали развитый и удобный инструментарий для разработки готовых приложений без программирования. Инструментальная среда состояла из готовых элементов приложения в виде шаблонов экранных форм, отчетов, этикеток (Labels), графических конструкторов запросов, которые достаточно просто могли быть собраны в единый комплекс.
  • Во всех настольных СУБД поддерживался только внешний уровень представления реляционной модели, то есть только внешний табличный вид структур данных.
  • При наличии высокоуровневых языков манипулирования данными типа реляционной алгебры и SQL в настольных СУБД поддерживались низкоуровневые языки манипулирования данными на уровне отдельных строк таблиц.
  • В настольных СУБД отсутствовали средства поддержки ссылочной и структурной целостности базы данных. Эти функции должны были выполнять приложения, однако скудость средств разработки приложений иногда не позволяла это сделать, и в этом случае эти функции должны были выполняться пользователем, требуя от него дополнительного контроля при вводе и изменении информации, хранящейся в БД.
  • Наличие монопольного режима работы фактически привело к вырождению функций администрирования БД и в связи с этим - к отсутствию инструментальных средств администрирования БД.
  • И, наконец, последняя и в настоящий момент весьма положительная особенность - это сравнительно скромные требования к аппаратному обеспечению со стороны настольных СУБД. Вполне работоспособные приложения, разработанные, например, на Clipper, работали на PC 286.
  • В принципе, их даже трудно назвать полноценными СУБД. Яркие представители этого семейства - очень широко использовавшиеся до недавнего времени СУБД Dbase (DbaseIII+, DbaseIV), FoxPro, Clipper, Paradox.

Распределенные базы данных

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

Особенности данного этапа:

  • Практически все современные СУБД обеспечивают поддержку полной реляционной модели, а именно:
    • О структурной целостности - допустимыми являются только данные, представленные в виде отношений реляционной модели;
    • О языковой целостности, то есть языков манипулирования данными высокого уровня (в основном SQL);
    • О ссылочной целостности, контроля за соблюдением ссылочной целостности в течение всего времени функционирования системы, и гарантий невозможности со стороны СУБД нарушить эти ограничения.
  • Большинство современных СУБД рассчитаны на многоплатформенную архитектуру, то есть они могут работать на компьютерах с разной архитектурой и под разными операционными системами, при этом для пользователей доступ к данным, управляемым СУБД на разных платформах, практически неразличим.
  • Необходимость поддержки многопользовательской работы с базой данных и возможность децентрализованного хранения данных потребовали развития средств администрирования БД с реализацией общей концепции средств защиты данных.
  • Потребность в новых реализациях вызвала создание серьезных теоретических трудов по оптимизации реализаций распределенных БД и работе с распределенными транзакциями и запросами с внедрением полученных результатов в коммерческие СУБД.
  • Для того чтобы не потерять клиентов, которые ранее работали на настольных СУБД, практически все современные СУБД имеют средства подключения клиентских приложений, разработанных с использованием настольных СУБД, и средства экспорта данных из форматов настольных СУБД второго этапа развития.
  • Именно к этому этапу можно отнести разработку ряда стандартов в рамках языков описания и манипулирования данными начиная с SQL89, SQL92, SQL99 и технологий по обмену данными между различными СУБД, к которым можно отнести и протокол ODBC (Open DataBase Connectivity), предложенный фирмой Microsoft.
  • Именно к этому этапу можно отнести начало работ, связанных с концепцией объектно-ориентированных БД - ООБД. Представителями СУБД, относящимся к второму этапу, можно считать MS Access 97 и все современные серверы баз данных Oracle7.3,Oracle 8.4 MS SQL6.5, MS SQL7.0, System 10, System 11, Informix, DB2, SQL Base и другие современные серверы баз данных, которых в настоящий момент насчитывается несколько десятков.

Перспективы развития систем управления базами данных

Этот этап характеризуется появлением новой технологии доступа к данным - интранет .Основное отличие этого подхода от технологии клиент-сервер состоит в том, что отпадает необходимость использования специализированного клиентского программного обеспечения. Для работы с удаленной базой данных используется стандартный браузер Интернета, например Microsoft Internet Explorer или Netscape Navigator, и для конечного пользователя процесс обращения к данным происходит аналогично скольжению по Всемирной Паутине (см. рис. 1.1). При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языке Java , Java -script, Perl и других, отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к базе данных, выполняя, таким образом, ту работу, которой в технологии клиент-сервер занимается клиентская программа . Удобство данного подхода привело к тому, что он стал использоваться не только для удаленного доступа к базам данных, но и для пользователей локальной сети предприятия. Простые задачи обработки данных, не связанные со сложными алгоритмами, требующими согласованного изменения данных во многих взаимосвязанных объектах, достаточно просто и эффективно могут быть построены по данной архитектуре. В этом случае для подключения нового пользователя к возможности использовать данную задачу не требуется установка дополнительного клиентского программного обеспечения. Однако алгоритмически сложные задачи рекомендуется реализовывать в архитектуре " клиент-сервер " с разработкой специального клиентского программного обеспечения.



Понравилась статья? Поделиться с друзьями: