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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На втором этапе - с появлением ПК начали развиваться настольные СУБД с монопольным доступом. Большинство СУБД имели удобный пользовательский интерфейс. В них был предусмотрен интерактивный режим работы с БД, как для описания БД, так и для проектирования запросов. Многие СУБД имели развитый и удобный инструментарий для разработки готовых приложений без программирования. Инструментальная среда состояла из готовых элементов приложения в виде шаблонов экранных форм, отчетов, конструкторов запросов, которые достаточно просто могли быть собраны в единый комплекс. Наличие монопольного режима работы, фактически, привело к вырождению функций администрирования БД, и в связи с этим в них отсутствовали инструментальные средства администрирования БД. Яркие представители этого семейства СУБД, – очень широко использовавшиеся до недавнего времени СУБД DBASE(III+,IV),FoxPro, Clipper, Paradox.

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

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

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

Если БД распределена по нескольким компьютерам, расположенным в сети, и к ней возможен параллельный доступ, то мы имеем дело с параллельным доступом к распределенной БД. Такие системы называют системами распределенных БД .

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

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

К этому же этапу относится разработка ряда стандартов языков описания и манипулирования данными, начиная с SQL 89, SQL92, SQL99 и технологий обмена данными между различными СУБД, к которым можно отнести протокол ODBC, предложенный фирмой Microsoft. В этот же период были начаты работы, связанные с концепцией объектно-ориентированных БД, к числу которых относятся MS Access и все современные серверы БД: Oracle 7.3, Oracle 8.4, MS SQL 7.0, SYSTEM10, SYSTEM11, SQL Base и др.

Общепринятые обозначения

Введение

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

Учебное пособие содержит основные понятия, термины и опре­деления теории проектирования баз данных, компактное описание языка запросов SQL и сов­ре­мен­­ных СУБД Access, Visual FoxPro, Microsoft SQL Server, Oracle с при­ме­ра­ми и упражне­ни­ями и обзор других СУБД.

В кон­це каждой главы даны контрольные вопросы и вопросы для само­про­верки с ответами (прил. 1). По этим вопросам проводятся тес­ти­рование на компьютере.

В период изучения курса студенты выполняют лабо­ра­тор­ные работы (пункты 7.1, 7.2) ‑ по несколько задач из соответствующего пункта, одну кур­со­вую работу (п. 7.3, прил. 6) и сдают экзамен (прил. 2).

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

[...] ‑ не обязательная конструкция;

<...> ‑ конструкция, которая указывается пользователем;

{...|...|...} ‑ список конструкций возможных вариантов для выбора;

... ‑ повторение предыдущей конструкции требуемое число раз;

.../.../... ‑ команды подменю, страниц, кнопок и других элементов диалога;

<номер пункта>.<порядковый номер рисунка в пункте> ‑ нумерация рисун­ка в пункте (рисунок 1.3.5.2).

Значения, принятые по умолчанию, подчеркиваются.


Порядок изучения и классификация учебного материала

Главы Уровень изучения материала
Начальный Основной Углубленный
Глава 1. Проектиро­ва­ние баз данных 1.1, 1.2, 1.3.1-1.3.3,1.12 1.3.4‑1.3.8, 1.4.1, 1.4.2, 1.5.1., 1.5.2 1.3.9-1.3.11, 1.4.3-1.4.5, 1.5.3‑1.5.6, 1.6-1.11
Глава 2. СУБД Visual FoxPro 2.1-2.3, 2.4.1‑2.4.3, 2.4.5 2.8-2.10 2.4.4, 2.4.6‑2.4.17, 2.4.23, 2.11-2.15 2.4.18-2.4.22, 2.5-2.7, 2.16-2.23
Глава 3. СУБД Access 3.1, 3.2, 3.4, 3.5.1, 3.5.2, 3.6.1, 3.6.2, 3.7.2-3.7.4, 3.7.6 3.3 3.6.3-3.6.5, 3.7.1, 3.17, 3.18 3.5.3, 3.5.4, 3.6.6, 3.7.5, 3.7.7, 3.8-3.16
Глава 4. СУБД SQL Server 4.1, 4.2, 4.3.1-4.3.4, 4.3.9, 4.3.10 4.3.5, 4.3.6.1-4.3.6.3, 4.3.6.6, 4.3.6.7, 4.3.7 4.3.6.4-4.3.6.5, 4.3.6.8-4.3.6.13, 4.3.8, 4.4
Глава 5. СУБД Oracle 5.1, 5.2, 5.4.1-5.4.3, 5.4.4.1 5.3, 5.4.4.3, 5.4.6, 5.4.7, 5.4.9, 5.4.10 5.4.4.2, 5.4.4.4, 5.4.5, 5.4.8, 5.4.11
Глава 6. Обзор СУБД 6.7-6.9 6.2, 6.3 6.1, 6.4-6.6, 6.10-6.14
Глава 7. Практикум 7.1.1 7.1.2 7.1.3


Свои предложения и замечания можно посылать по электронной почте: [email protected].


Глава 1. Проектирование баз данных

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

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

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

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

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

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

Второй этап связан с появлением персональных компьютеров

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

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

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

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

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

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

В настольных СУБД отсутствовали средства поддержки ссылочной и структурной целостности базы данных. Э

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

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

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

Я сейчас довольно активно работаю с базами данных и с СУБД 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 .

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

Рост производительности персональных вычислительных машин спровоцировал развитие СУБД, как отдельного класса. К середине 60-х годов прошлого века уже существовало большое количество коммерческих СУБД. Интерес к базам данных увеличивался все больше, так что данная сфера нуждалась в стандартизации. Автор комплексной базы данных Integrated Data Store Чарльз Бахман (Charles Bachman) организовал целевую группу DTG (Data Base Task Group) для утверждения особенностей и организации стандартов БД в рамках CODASYL - группы, которая отвечала за стандартизацию языка программирования COBOL. Уже в 1971 году был представлен свод утверждений и замечаний, который был назван Подход CODASYL, и спустя некоторое время появились первые успешные коммерческие продукты, изготовленные с учетом замечаний вышеупомянутой рабочей группы. В 1968 году отметилась и компания IBM, которая представила собственную СУБД под названием IMS. Фактически данный продукт представлял собой компиляцию утилит, которые использовались с системами System/360 на шаттлах Аполлон. Решение было разработано согласно коцпетам CODASYL, но при этом была применена строгая иерархия для структуризации данных. В свою очередь в варианте CODASYL за базис была взята сетевая СУБД. Оба варианта, меж тем, были приняты сообществом позднее как классические варианты организации работы СУБД, а сам Чарльз Бахман в 1973 году получил премию Тьюринга за работу Программист как навигатор. В 1970 году сотрудник компании IBM Эдгар Кодд, работавший в одном из отделений Сан Хосе (США), в котором занимались разработкой систем хранения, написал ряд статей, касающихся навигационных моделей СУБД. Заинтересовавшись вопросом он разработал и изложил несколько инновационных подходов касательно оптимальной организаци систем управления БД. Работа Кодда внесла значительный вклад в развитие СУБД и является действительным основоположником теории реляционных баз данных. Уже 1981 году Э.Ф.Кодд создал реляционную модель данных и применил к ней операции реляционной алгебры.