Краткая история развития баз данных. История развития программных средств разработки баз данных История бд

Историю развития баз данных можно разделить на четыре периода.

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

Осознание этих фактов, а также появление больших компьютеров с магнитными дисками в качестве носителей данных привело к появлению в середине 60-х гг. первых систем управления базами данных, из которых наиболее развитой оказалась система IMS фирмы IMB, которая поддерживала иерархическую структуру данных. Бахман в 1963 г. разработал первую промышленную систему баз данных IDS. СистемаIDSподдерживала сетевую организацию данных на магнитных носителях.

Ассоциация CODASYL, являющаяся органом, разработавшим язык программирования Кобол, в 1967 г. организо­вала рабочую группу по базам данных. Эта группа обобщила языковые спецификации систем баз данных и в 1969 и 1971 гг. издала соответствующие отчеты, которые по наименованию рабочей группы (DataBaseTaskGroup) получили названиеDBTG69,DBTG71. Основой избранного Рабочей группой подхода послужила сетевая структура данных и способы навигации по ней, разработанные в системе IDS, однако сетевая модель данных в отчетах DBTG получила существенное развитие и обоснование.

Типичным представителем системы, поддерживающей предложения DBTGCODASYLявилась Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем.

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

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

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

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

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

    Язык описания данных ЯОД (Data Definition Language - DDL). Представляет собой описание концептуальной схемы в терминах сетевой структуры данных.

    Средства базы данных языка Кобол . Представляет собой средства обеспечения интерфейса языка Кобол с базой данных, описанной в DDL. В Кобол включены средства языка манипулирования данными.

    Средства базы данных языка Фортран . Представляет собой средства обеспечения интерфейса языка Фортран с базой данных, описанной в DDL. В Кобол включены средства языка манипулирования данными.

    Средства конечного пользователя . Определяет интерфейс пользователя случае, когда такой пользователь управляет базой данных, описанной в DDL.

    Язык описания хранения данных ЯОХД (Data Stored Definition Language - DSDL). Представляет собой язык, который отображает концептуальную схему, описанную в DDL, во внутреннюю схему.

В 1975 г. появился отчет рабочей группы ANSI/X3/SPARCАмериканского Национального Института Стандартов, который явился значительной вехой в развитии проблематики баз данных. Перед группой была поставлена задача исследовать, в какой мере целесообразно ставить вопрос о стандартизации баз данных и СУБД и что именно может быть подвержено стандартизации. Группа пришла к выводу, что если и ставить вопрос о стандартизации, то только относительно интерфейсов, которые могут существовать между различными компонентами СУБД, сами програм­мные компоненты ни в коем случае подвергаться стандартизации не могут. В связи с этим они направили свои последующие усилия на выявление таких интерфейсов и, в конце концов, пришли к формулировке трехуровневой архитектуре баз данных, которая стала классической и не потеряла свою актуальность до сих пор.

Однако этот период в большей мере характеризуется появлением реляционной модели данных, предложенной в 1970 г. сотрудником института фирмы ИБМ в Сан-Хосе Э.Ф. Коддом, всесторонними исследованиями теоретичес­ких и прикладных вопросов этой модели, разработкой экспериментальных реляционных СУБД. Теоретические исследования привели, в конце концов, к созданию формальной теории баз данных, которая до этого носила описательный характер. На протяжении многих лет многие ведущие формы проводили эксперимента­ль­ные исследования по созданию прототипов реляционных СУБД, повышению их эффективности и функциональ­ности. В конце 70-х гг. появляются первые промышленные реляционные СУБД.

Период зрелости – 80-е годы . Реляционная модель получила полное теоретическое обоснование. Разработаны крупные реляционные СУБД Oracle, Informix, и другие. Промышленные реляционные системы получают широкое распрост­ране­ние во всех сферах человеческой деятельности. Реляционные системы практически вытеснили с мирового рынка ранние СУБД иерархического и сетевого типа.

Дальнейшее развитие реляционных СУБД шло в следующих направлениях:

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

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

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

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

Особое место в развитии проблематики объектно-ориентированных СУБД занимает деятельность группы по управлению объектными базами данных ODMG(ObjectDataManagementGroup), - неприбыльным консорциумом производителей объектных баз данных и других организаций, заинтересованных в выработке стандартов по хранению объектов в базах данных.ODMGбыла создана в 1991 г. В 1993 г. группа выпустила свой первый стандарт –ODMG-93. В 1995 г. был опубликован усовершенствованный вариант этого стандарта.

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

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

Базы данных и знаний 9

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

История развития СУБД насчитывает более 30 лет.

В 1968 году была введена в эксплуатацию первая промышленная СУБД IMS фирмы IBM.

В 1975 году появился первый стандарт ассоциации по языкам систем обработки данных – Conference of Data System Languages (CODASYL), который определил ряд фундаментальных понятий в теории систем баз данных, которые и до сих пор являются основополагающими для сетевой модели данных.

В дальнейшее развитие теории баз данных большой вклад был сделан американским математиком Э.Ф. Коддом, который является создателем реляционной модели данных.

Развитие персональных ЭВМ и появление мощных рабочих станций и сетей ЭВМ повлияло также и на развитие технологии баз данных.

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

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

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

Программы доступа к БД писались на различных языках и запускались как обычные «числовые программы».

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

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

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

    функции управления распределением ресурсов в основном осуществляются операционной системой;

    поддерживаются языки низкого уровня манипулирования данными, ориентированные на навигационные методы доступа к данным;

    значительная роль отводится администрированию данных;

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

    проводятся теоретические работы по оптимизации запросов и управлению распределённым доступом к централизованной БД, было введено понятие транзакции;

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

Второй этап – «эпоха персональных компьютеров»

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

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

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

Эти программы позволяли автоматизировать многие учётные функции, которые раньше велись вручную.

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

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

Кажущаяся простота и доступность персональных компьютеров и их программного обеспечения породила множество дилетантов.

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

Было создано много систем-однодневок, которые не отвечали законам развития и взаимосвязи реальных объектов.

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

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

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

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

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

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

    все СУБД были рассчитаны на создание БД в основном с монопольным доступом (т.к. компьютер – персональный и не подсоединён к сети);

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

    большинство СУБД имели развитый и удобный пользовательский интерфейс;

    большинство СУБД предлагали развитый и удобный инструментарий для разработки готовых приложений без программирования;

    инструментальная среда состояла из готовых элементов приложения в виде шаблонов экранных форм, отчётов, графических конструкторов запросов, которые достаточно просто могли быть собраны в единый комплекс;

Вам это всё ничего не напоминает?

Да-да, Microsoft Access.

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

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

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

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

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

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

Также по непонятным причинам до сих пор используется уже упомянутый MS-Access, на котором, по хорошему, можно построить именно однопользовательскую БД или БД на «отдел из 2-3 человек» (и то уже могут быть проблемы).

Третий этап – распределённые базы данных

После процесса «персонализации» начался обратный процесс – интеграция.

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

Возникли задачи, связанные с параллельной обработкой транзакций последовательностей операций над БД, переводящих её из одного непротиворечивого состояния в другое непротиворечивое состояние .

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

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

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

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

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

    потребность в реализации новых СУБД вызвала создание серьёзных теоретических трудов по оптимизации распределённых БД и работе с распределёнными транзакциями и запросами;

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

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

    именно к этому этапу можно отнести начало работ, связанных с концепцией объектно-ориентированных БД – ООБД.

Первыми представителями СУБД, относящимся к этому этапу, можно считать Oracle7.3, Oracle 8.4 MS SQL6.5, MS SQL7.0, System 10, System 11, Informix, DB2, SQL Base и т.п.

Четвёртый этап – дальнейшее развитие

Этот этап характеризуется появлением новой технологии доступа к данным – «интернет/интранет-доступ».

Основное отличие этого подхода от технологии клиент-сервер состоит в том, что отпадает необходимость использования специализированного клиентского программного обеспечения.

Для работы с удалённой БД используется стандартный веб-браузер.

При этом код, написанный обычно на т.н. «языках веб-программирования» (Java, PHP, Perl, C#, ASP.Net) отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к базе данных, выполняя, таким образом, ту работу, которой в технологии клиент-сервер занимается клиентская программа.

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

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

Наибольшую популярность среди настольных систем, функционирующих в среде DOS, завоевали реляционные СУБД Dbase (компания Ashton-Tate), Paradox (Borland), R:base (Mierorim), FoxPro (Fox Software), Clipper 5.0 (Nantucket), db_VISTA (Raima) с сетевой моделью данных.

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

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

Реляционная СУБД Paradox (версии 3.5, 4.0, 5.0) появилась на рынке в 1985г. Она отличается от семейства Xbase-продуктов запросами по образцу (QBE), генератором приложений на основе объектного подхода, настраиваемым меню пользователя, диалоговыми средствами и автоматическим формированием макросов, в которых можно запомнить все отлаженные пользователем процессы. В Paradox используется, кроме языка запросов QBE, базовый язык программирования PAL (Paradox Application Language) -- язык для разработки приложений. Paradox, как и семейство Xbase, хранит свои объекты (таблицы, формы, отчеты, макросы) в отдельных файлах и обладает достаточной гибкостью, что позволяет модифицировать базу данных без перезагрузки данных. Обеспечивается создание сложных форм для нормализованных таблиц, через которые можно однократно вводить данные с внемашинных документов. Создание форм, запросов, отчетов, макросов легко выполняет пользователь-непрограммист. Для выполнения запроса в Paradox достаточно заполнить бланки запроса, которые на экране отображаются структурой таблицы базы данных.

К мощным реляционным СУБД профессионального класса относится PROGRESS (фирмы Progress Software Co., USA). Она имеет встроенный язык SQL и собственный язык 4GL, может работать на разнообразных программно-аппаратных платформах, поддерживает архитектуру клиент-сервер.

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

С 1996 г. операционная система Windows 95 стала стандартом для настольных ПК. Для использования преимуществ этой операционной системы необходим переход к использованию 32-разрядных СУБД нижнего уровня. Наиболее известными и популярными СУБД такого типа являются: Access (Microsoft), Paradox 7 for Windows 95 and Windows NT (Borland) и Approach for Windows 95 (Lotus).

Относительно простой в изучении и использовании считается Approach for Windows 95, которая ориентирована на разработку несложных приложений. Более совершенными, обладающими мощным языком разработки приложений пользователя являются две первые из названных СУБД -- Paradox и Access.

К общим свойствам СУБД Approach, Paradox и Access относятся:

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

Специальные средства, автоматизирующие работу, -- многочисленные мастера (Wizards) в Access, ассистенты (Assistants) в Approach и эксперты (Experts) в Paradox;

Возможность работы в локальном режиме или в режиме клиента на рабочей станции (Windows NT 3.51, Novell NetWare 4.1);

Использование объектной технологии OLE2 для внедрения в базу данных разной природы (текстов, электронных таблиц, изображений и т. п.);

Наличие собственного языка программирования.

Особенности СУБД Approach, Paradox, Access:

В Approach, в отличие от Paradox и Access, не обеспечивается полная поддержка языка запросов SQL, что ограничивает ее возможности в многопользовательских системах только просмотром данных;

В Access предусмотрена автоматическая генерация кода SQL при создании запроса пользователем;

В Approach язык для разработки приложений Lotus Script уступает по интеграционным возможностям и удобству работы объектноориентированным языкам (в Paradox -- ObjectPAL, в Access -- Visual Basic);

Visual Basic в Access является наиболее мощным языком программирования, которым обладает свойством автономности от СУБД и переносимости в другие приложения Microsoft Office, обеспечивая хорошую интеграцию данных;

В Access имеется Мастер анализа таблиц, с помощью которого можно выполнить нормализацию таблицы.

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

Следует отметить, что современные реляционные СУБД уже способны интегрировать данные, однако нетрадиционные данные недоступны для внутренней обработки. «Универсальные» СУБД должны выполнять такую обработку. В таких системах не нужны разнородные программы, которыми сложно управлять. По пути создания объектно-реляционных СУБД пошли такие фирмы, как IBM, Informix и Oracle. В IBM разработана объектно-реляционная СУБД DB2 для ОС AIX и OS, 2. На начальном этапе фирма Oracle выпустила реляционный продукт Oracle Universal Server, интегрирующий СУБД Oracle 7.3 и специализированные серверы (Web, пространственных данных, текстов, видеосообщений), поддерживающие данные в разных хранилищах. В объекто-реляцпонной Oracle 8 должны быть интегрированы реляционные и нетрадиционные типы данных. Informix создала объектно-реляционную СУБД Universal Server.

Корпорация Microsoft сделала ставку на объектно-ориентированный интерфейсOLE DB, который обеспечивает доступ к данным Microsoft SQL Server (реляционная СУБД).

Фирма Sybase ориентирована на использование специализированных серверов, а интеграцию данных намеревается проводить другими средствами, то есть идет по пути создания объектно-реляционной СУБД (Adaptive-Server).

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

Примерами СУБД без разделения ресурсов являются: DB2 (IBM), Informix Online Dynamic (Informix), Navigation Server (Sybase). СУБД с совместным использованием памяти является AdabasD версия 6.1 (Software AG). В СУБД Oracle 7.2 обеспечивается лучшая переносимость на различные платформы. Следует заметить, что выбор СУБД целесообразно осуществлять не только по типу архитектуры и качеству внешнего интерфейса, но прежде всего исходя из функциональных возможностей. Важными критериями выбора являются способность обработки сложных запросов (и скорость обработки), возможность переноса между платформами. Хорошей скоростью обработки сложных запросов отличается СУБД DB2 (IBM), а также DSA (Informix).

Классификация современных СУБД

К важным признакам классификации современных СУБД относятся:

Среда функционирования -- класс компьютеров и операционных систем (платформа), на которых работает СУБД, в том числе разрядность операционной системы, на которую ориентирована СУБД (16- или 32-разрядные);

Тип поддерживаемой в СУБД модели данных -- сетевая, иерархическая или реляционная;

Возможности встроенного языка СУБД, его переносимость в другие приложения (SQL, Visual Basic, ObjectPAL и т. п.);

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

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

Используемая концепция работы с нетрадиционными данными -- объектно-реляционные, объектные;

Уровень использования -- локальная (для настольных систем), архитектура клиент-сервер, с параллельной обработкой данных (многопроцессорная);

Использование объектной технологии OLE 2.0;

Возможности интеграции данных из разных СУБД;

Степень поддержки языка SQL и возможности работы с сервером баз данных (SQL-сервером);

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

История развития СУБД насчитывает более 30 лет. В 1968 году была введена в эксплуатацию первая промышленная СУБД система 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), реализующая идеологию реляционной модели данных.

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

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

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

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

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

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

    Большинство СУБД имели развитый и удобный пользовательский интерфейс. В большинстве существовал интерактивный режим работы с БД как в рамках описания БД, так и в рамках проектирования запросов. Кроме того, большинство СУБД предлагали развитый и удобный инструментарий для разработки готовых приложений без программирования. Инструментальная среда состояла из готовых элементов приложения в виде шаблонов экранных форм, отчетов, этикеток (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, и для конечного пользователя процесс обращения к данным происходит аналогично скольжению по Всемирной Паутине. При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языке Java , Java -script, Perl и других, отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к базе данных, выполняя, таким образом, ту работу, которой в технологии клиент-сервер занимается клиентская программа . Удобство данного подхода привело к тому, что он стал использоваться не только для удаленного доступа к базам данных, но и для пользователей локальной сети предприятия. Простые задачи обработки данных, не связанные со сложными алгоритмами, требующими согласованного изменения данных во многих взаимосвязанных объектах, достаточно просто и эффективно могут быть построены по данной архитектуре. В этом случае для подключения нового пользователя к возможности использовать данную задачу не требуется установка дополнительного клиентского программного обеспечения. Однако алгоритмически сложные задачи рекомендуется реализовывать в архитектуре "клиент-сервер " с разработкой специального клиентского программного обеспечения.

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

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

Контрольные вопросы

    Найдите сходства первого и четвертого этапов развития.

    Найдите отличия первого и третьего этапов развития.

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