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

История развития баз данных уходит корнями в 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.

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

Я сейчас довольно активно работаю с базами данных и с СУБД Oracle в частности. Но, чтобы качественно работать с различными СУБД – необходимо очень хорошо знать основы реляционных баз данных, и теорию всех баз данных.

Поэтому начнем с истории возникновения баз данных:

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


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

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

3.0. 1970 год – британский ученый Эдгар Кодд выпустил работу «A Relational Model of Data for Large Shared Data Banks». Данная работа считается первым трудом по реляционному хранению данных. После ее выпуска начинаются активные работы по разработке данной системы хранения информации.

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

Основы реляционных баз данных включают в себя три аспекта:

Структурный – данные представляют из себя наборы отношений;

Целостности – наборы отношений отвечают требованиям целостности;

Обработки – поддерживаются операторы манипулирования отношениями.

И, кроме того, еще в реляционных базах данных поддерживается принципы нормализации.

Достоинствами реляционного подхода являются:

Данный подход основан на небольшом числе законов (правил);

Эти правила точно определены;

В основе лежит мат.логика и теория множеств;

Для манипулирования данными необязательно знать, как эти данные организованы во внешней памяти.

4. В данное время активно разрабатываются Объектно-Ориентированные базы данных, Объектно-Реляционные. Но я их пока не рассматриваю, так что останавливаться подробно не буду.

Данное описание истории баз данных – это мой взгляд на нее, так что ругаться не надо. Реляционные СУБД сейчас используются повсеместно – это MSSQL Server от компании Microsoft , ORACEL от одноименной компании, DB /2 от IBM – это примеры коммерческих РСУБД. Всем веб-разработчикам, которые не используют таких РСУБД, известна MySQL – бесплатная РСУБД, которая разрабатывалась компанией Sun Microsystem . Различных реляционных СУБД много, но меня будет интересовать (пока) только продукция компании Oracle .

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

























1 из 24

Презентация на тему: История развития баз данных

№ слайда 1

Описание слайда:

№ слайда 2

Описание слайда:

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

№ слайда 3

Описание слайда:

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

№ слайда 4

Описание слайда:

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

№ слайда 5

Описание слайда:

2. Несогласованность данных. Учитывая, что одна и одна и та же информация может размещаться в разных файлах, технологически тяжело проследить за внесением изменений одновременно во все файлы. Из-за этого может возникнуть несогласованность данных, когда одно и одно и то же поле в разных файлах может иметь разные значения.

№ слайда 6

Описание слайда:

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

№ слайда 7

Описание слайда:

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

№ слайда 8

Описание слайда:

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

№ слайда 9

Описание слайда:

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

№ слайда 10

Описание слайда:

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

№ слайда 11

Описание слайда:

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

№ слайда 12

Описание слайда:

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

№ слайда 13

Описание слайда:

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

№ слайда 14

Описание слайда:

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

№ слайда 15

Описание слайда:

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

№ слайда 16

Описание слайда:

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

№ слайда 17

Описание слайда:

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

№ слайда 18

Описание слайда:

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

№ слайда 19

Описание слайда:

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

№ слайда 20

Описание слайда:

СУБД третьего этапа развития К этому этапу можно отнести разработку ряда стандартов в рамках языков описания и манипулирования данными (SQL89, SQL92, SQL99) и технологий по обмену данными между различными СУБД, к которым можно отнести и протокол ODBC (Open DataBase Connectivity), предложенный фирмой Microsoft. Так же к этому этапу можно отнести начало работ, связанных с концепцией объектно-ориентированных БД - ООБД. Представителями СУБД, относящимся ко второму этапу, можно считать MS Access 97 и все современные серверы баз данных Огас1е7.3, 0гас1е 8.4, MS SQL 6.5, MS SQL 7.0, System 10, System 11, Informix, DB2, SQL Base и другие современные серверы баз данных, которых в настоящий момент насчитывается несколько десятков.

№ слайда 21

Описание слайда:

Четвертый этап - перспективы развития систем управления базами данных Этот этап характеризуется появлением новой технологии доступа к данным- интранет. Основное отличие этого подхода от технологии клиент-сервер состоит в том, что отпадает необходимость использования специализированного клиентского программного обеспечения. Для работы с удаленной базой данных используется стандартный броузер Internet, например Microsoft InternetExplorer, и для конечного пользователя процесс обращения к данным происходит аналогично использованию Internet. При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языках Java, Java-script, Perl и других, отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к базе данных, выполняя, таким образом, ту работу, которой в технологии клиент-сервер занимается клиентская программа.

№ слайда 22

Описание слайда:

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

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

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

1. Файлы и файловые системы.

2. Базы данных на больших ЭВМ. Первые СУБД.

3. Эпоха персональных компьютеров. Настольные СУБД.

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

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

· распределение внешней памяти,

· отображение имен файлов в соответствующие адреса во внешней памяти,

· обеспечение доступа к данным.

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

Первые базы данных на больших ЭВМ (типа IBM 360/370, ЕС ЭВМ, разных моделях Hewlett Packard) появились в 70-х годах прошлого века. БД хранились во внешней памяти центральной ЭВМ. Пользователями БД были задачи, запускаемые, в основном, в пакетном режиме. Интерактивный режим доступа обеспечивался с помощью консольных терминалов, которые не обладали собственными вычислительными ресурсами (процессором, оперативной и внешней памятью) и служили только устройствами ввода-вывода для центральной ЭВМ. Программы доступа к БД писались на обычных языках программирования и запускались, как обычные числовые программы. СУБД этого периода работали с централизованной базой данных в режиме распределенного доступа, при этом функции управления распределением ресурсов выполнялись операционной системой. Кроме того, СУБД поддерживали языки манипулирования данными, администрирование данных. Именно в это время проводятся серьезные работы по обоснованию и формализации реляционной модели данных.

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

Основные отличительные черты этого этапа развития БД следующие:

1. Стандартизация высокоуровневых языков манипулирования данными – разработка и внедрение стандарта SQL92 во все СУБД.

2. Все СУБД были рассчитаны на создание баз данных с монопольным доступом.

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

4. Скромные требования к аппаратному обеспечения со стороны настольных СУБД.

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

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

2. Большинство СУБД могут работать на компьютерах с разной архитектурой и под разными операционными системами.

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

4. На этом этапе разработан ряд стандартов языков описания и манипулирования данными (SQL89, SQL92, SQL99) и технологий обмена данными между различными СУБД (протокол ODBC).

5. На этом же этапе начаты работы, связанные с концепцией объектно-ориентированных баз данных. Представителями этого этапа можно считать MS Access 2000, современные серверы баз данных Oracle 7.3, Oracle 8.4, MS SQL 6.5, SQL 7.0, Informix, DB2 и др.

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

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

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

· надежное хранение информации в памяти компьютера;

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

· Предоставление пользователям удобного и легко осваиваемого"интерфейса.

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

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

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

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

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

Файлы и файловые системы

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

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

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

· записать в файл на место текущей записи новую, добавить новую запись в конец файла.

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

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

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

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

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

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

Первый этап - базы данных на больших ЭВМ

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

В дальнейшее развитие теории баз данных большой вклад был сделан амери­канским математиком Э. Ф, Коддом, который является создателем реляционной модели данных. В 1981 году получил за создание реляционной моде­ли и реляционной алгебры престижную премию Тьюринга Американской ассо­циации по вычислительной технике.

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

Первый этап развития СУБД связан с организацией баз данных на больших ма­шинах типа 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,

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

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

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

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

Практически все современные СУБД обеспечивают поддержку полной реляционной модели, а именно:

· структурной целостности - допустимыми являются только данные, пред­ставленные в виде отношений реляционной модели;

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

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

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

· Необходимость поддержки многопользовательской работы с базой данных и возможность децентрализованного хранения данных потребовали развития средств администрирования БД с реализацией общей концепции средств за­щиты данных.

· Потребность в новых реализациях вызвала создание серьезных теоретиче­ских трудов по оптимизации реализаций распределенных БД и работе с рас­пределенными транзакциями и запросами с внедрением полученных результатов в коммерческие СУБД.

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

· Именно к этому этапу можно отнести разработку ряда стандартов в рамках языков описания и манипулирования данными начиная с SQL89, SQL92, SQL99 и технологий по обмену данными между различными СУБД, к кото­рым можно отнести и протокол ODBC (Open DataBase Connectivity), пред­ложенный фирмой Microsoft .

· Именно к этому этапу можно отнести начало работ, связанных с концепцией объектно-ориентированных БД - СЮБД. Представителями СУБД, относя­щимся ко второму этапу, можно считать MS Access 97 и все современные серверы баз данных Огас1е7ДОгас1е 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-за­просы к базе данных, выполняя, таким образом, ту работу, которой в технологии клиент-сервер занимается клиентская программа. Удобство данного подхода привело к тому, что он стал использоваться не только для удаленного доступа к базам данных, но и для пользователей локальной сети предприятия, Простые задачи обработки данных, не связанные со сложными алгоритмами, требующими согласованного изменения данных во многих взаимосвязанных объектах, достаточно просто и эффективно могут быть построены по данной ар­хитектуре. В этом случае для подключения нового пользователя к возможности использовать данную задачу не требуется установка дополнительного клиент­ского программного обеспечения. Однако алгоритмически сложные задачи ре­комендуется реализовывать в архитектуре «клиент-сервер» с разработкой спе­циального клиентского программного обеспечения.

время все подходы широко используются.

Рис. 1.1. Взаимодействие с базой данных в технологии интранет

© 2024 mygj.ru
Компьютерные советы и хитрости