четверг, 27 октября 2011 г.

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

Пост написан исключительно в помощь мне и студентам курса "SQL для тестировщиков", чтобы избавить меня от произношения, а их - от прослушивания большого количества теоретической информации. Информация бралась из открытых источников, срочно найденных лекций по теории баз данных, книг и собственной головы. Авторов (кроме собственной головы) не помню. Но если кто узреет знакомые строки - пишите, добавлю копирайты :))



Некоторые источники рассматривают историю возникновения баз данных начиная с древних времен и всех тех подручных средств, при помощи которых хранились и обрабатывались данные. Так, к первичным базам данных причисляются: узелковая письменность инков или средства хранения и учета казны у Шумеров. Хотя, скорее всего, такие средства можно причислить к собственно "письменности" или "архиву", но не к базам данных.

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


Сам термин "базы данных" (database) был введен на симпозиумах ,организованных фирмой System Development Corporation (SDC).

Собственно же история активного развития баз данных начинается с одного из самых значительных и неоднозначных событий: полета на Луну.
Тогда для участия в проекте Apollo правительством США была привлечена компания Rockwell. Для того, чтобы построить космический корабль, как многие, наверное, догадываются, нужно собрать несколько миллионов деталей. И в те далекие времена была создана система управления файлами, которая отслеживала информацию о каждой детали. Но когда решили проверить эту систему, то обнаружили, что данные в ней повторяются по нескольку раз. Налицо была огромная избыточность.
К сотрудничеству была привлечена и небезызвестная IBM, и в 1968 году была разработана автоматизированная система заказов (Information Management System - IMS), которая и заложила основную концепцию СУБД. Кардинальным нововведением было разделение функций деловой логики и данных, т.е. программисты смогли работать с информацией на логическом уровне, при этом база данных выполнянла функцию физического хранения. Это позволило существенно повысить производительность труда.
Эта СУБД существует и до сих пор, в ней реализована иерархическая модель данных. Такая модель данных имеет только один путь от корня к каждой ветви (записи). Она не только стала основой для систем управления данными, но и в последующем послужила причиной многих усовершенствований ввиду своей ограниченности.

Следующий большой шаг в истории развития баз данных сделал доктор Эдгар Кодд (Edgar Codd) - научный сотрудник все той же самой небезызвестной IBM. В 1970 году он опубликовал свою работу "Реляционная модель для больших банков совместно используемых данных", которая в корне изменила теорию баз данных. А еще принесла доктору Кодду премию Тьюринга.
В реляционной модели, придуманной Коддом, данные можно было свободно описывать в их естественном виде, без каких-либо ограничений, которые накладываются средой физического хранения. Это позволило создать язык высокого уровня, который может работать с данными вне зависимости от того, как именно они хранятся.
Первыми СУБД с реализацией реляционного модуля стали System R от уже неоднократно известной IBM и Ingres от Калифорнийского университета.
В это же время появился и структурированный язык запросов, но это уже совсем другая история. :)


3 комментария:

  1. а есть план?
    предпосылки возникновения и первые реализации ты рассмотрела, что будет в следующих выпусках?
    предполагаю, что ты не забудешь вспомнить основные вехи типа DBF, Paradox, MS Access, MS SQL Server, Oracle, MySQL, noSql, MS SQL Compact. Не забудешь рассказать о модели совместного доступа, транзакциях, уровнях блокировки (записи, блока, таблицы, базы), логах транзакций.
    О языках запросов тоже не забудешь, хотя имеет ли смысл вспоминать о Foxpro, если уже никто не вспомнит, как в нем или Clipper Summer'87 выглядел запрос? поэтому сразу переходи к стандарту ANSI на PL-SQL и его реализации, например, T-SQL.
    Ой, совсем забыл, что надо же не забыть о нормальных формах, объединениях, пересечениях, дополнениях. О процедурах, функциях, вьюшках, триггерах, курсорах, временных таблицах.

    по-моему, меня уже понесло не по-детски...

    ОтветитьУдалить
  2. Конечно, план есть! Хороший и голландский )))
    Все остальное (почти все, что ты описал) будет в самом курсе ))) Это просто не влезло уже ))))

    ОтветитьУдалить
  3. голландский? фу, это же гидропоника, он же солнышка не видел, как им пользоваться можно?

    ОтветитьУдалить