[МУЗЫКА] [МУЗЫКА] Здравствуйте! Давайте начнем рассказ про базы данных с информационных систем, которые в наш век всемирной информатизации окружают нас повсюду. Вы сталкиваетесь с информационной системой, когда вы используете социальные сети, делаете звонки с мобильного телефона, резервируете номера в гостинице или авиабилеты, расплачиваетесь кредитной картой или делаете покупки в Интернете, используете банкомат, когда ищете информацию в поисковой системе, и примеры можно было бы приводить еще в огромном количестве. Что такое информационная система? Это сложный многофункциональный программно-аппаратный комплекс, обеспечивающий выполнение следующих функций. В первую очередь, это надежное хранение информации в памяти компьютера. Во-вторых, это выполнение специфических для данного приложения преобразований информации и вычислений, реализующих функции бизнес-логики. И в-третьих, любая информационная система предоставляет пользователям удобный и легко осваиваемый интерфейс, в котором они могут вводить информацию и получать результат. В отличие от фундаментальных наук, например, математика, физика или литература, история которых исчисляется веками, история информационных систем включает в себя лишь несколько десятилетий. В 60-е годы информация, полученная от информационных систем, стала применяться для периодической отчетности уже по множеству параметров. И в те годы у информационных систем появился очень крупный заказчик — это были банки. В те годы разрабатывались банковские информационные системы. В 70-е годы предприятия начинают использовать информационные системы в качестве средства управления производством, которое могло поддержать и ускорить процесс подготовки и принятия решений, в том числе управленческих. В большинстве своем информационные системы того времени создавались для решения определенного круга задач, которые четко определялись на начальном этапе и не изменялись в процессе жизни информационной системы. В те же годы появляются первые персональные компьютеры, доступные уже не только крупным предприятиям и отдельным организациям, а обычным простым пользователям. Для персональных компьютеров разрабатывается множество различных информационных систем, и базы данных создаются для решения разных взаимосвязанных задач, когда данные поставляются из различных источников. Укажем основные черты информационных систем того поколения. Во-первых, в основе информационных систем лежат базы данных. Для базы данных создается специальное программное обеспечение, то есть все программное обеспечение информационной системы делится на составные части, или на крупные модули. Это модули, решающие прикладные задачи, так называемую бизнес-логику, и специальная часть, комплекс программ, который будет обслуживать исключительно хранение и обработку данных. С технической точки зрения, основой информационных систем того времени — это были и большие ЭВМ, тогда это назывались ЭВМ третьего и четвертого поколения, и персональные компьютеры. В те времена развивалось множество языков программирования. Это были языки уже достаточно высокого уровня, в частности, разрабатывались такие языки и для баз данных. Что касается архитектуры информационных систем, то в тот момент были популярны две модели. Первая — это модель локальной информационной системы, которая размещена на персональном компьютере, и обычно ею пользовался один конкретный пользователь. И вторая модель — это многопользовательские системы, многопользовательские версии, расположенные на больших ЭВМ, а пользователи подключались к этим системам в терминальном режиме. Что привело к интенсивному развитию баз данных? В первую очередь, это понимание, что данные важнее, чем программы, которые их обрабатывают. Ранее считалось, что компьютер в основном создан для выполнения числовых расчетов, и жизнь начиналась, когда начинала работать программа. Любая программа получала какие-то данные на входе, обрабатывала эти данные, выдавала результат и заканчивалась. Но жизнь заканчивалась вместе с окончанием работы программы. А потом появилось ощущение, что данные должны жить долго, должны быть надежно защищены, к ним нужно организовать доступ множества пользователей, а программы как раз могут меняться, могут исчезать, появляться новые, но на первый план выходит именно хранение и обработка данных. Следующая причина — это появление мощных вычислительных систем. потому что для обработки больших объемов данных требуются вычислительные мощности. Можно вспомнить про эмпирический закон Гордона Мура, одного из основателей компании Intel, который сказал, что производительность любого компьютера удваивается каждые два года. Также причиной интенсивного развития баз данных был рост объемов носителей информации и изменение их типа. До 1960 года устройства для хранения данных были последовательными. Это были барабаны или ленты, к которым доступ можно было получить, перематывая эту ленту до определенного места, и после этого считывать данные. В более поздний период появились устройства прямого доступа к данным, что позволило совершать выборочные обновления и организовывать хранение достаточно сложных структур данных. Рост объемов носителей информации. Можно вспомнить фразу, неосторожно оброненную Биллом Гейтсом в 1981 году. Он сказал, что 640 килобайт должно хватить всякому. Но мы сейчас понимаем, что такого объема недостаточно даже для сохранения простой фотографии в памяти вашего компьютера. И сейчас диск объемом в 500 гигабайт уже не кажется нам большим. Также причиной распространения баз данных стало развитие сети Интернет, которая появилась в 1969 году, называлось она тогда ARPANET. Но в поздний период это была уже огромная информационная сеть, в которой непрерывно циркулировали огромные объемы данных. Пользователи получили доступ к этой информации и могли ее использовать для решения различных задач. Развитие информационных систем и баз данных способствовало также развитию языков программирования высокого уровня, которые создавались в частности и для управления данными. И последнее, что стоит упомянуть, это методы искусственного интеллекта. Пионером в этой области можно считать Алана Тьюринга, который в 1950 году написал статью под названием «Может ли машина мыслить?». Итак, базы данных — что же это такое? Базы данных появляются, когда нам нужно хранить и обрабатывать большие объемы информации. Информация хранится и обрабатывается в вычислительной системе. Но этого еще недостаточно. Кроме больших объемов информация должна быть хорошо структурирована. То есть в ней должны быть выделены составные части, и прослеживаться связи между этими данными. И структура базы данных должна быть такой, чтобы обеспечивать нам удобный поиск и обработку этих данных. Какие этапы можно проследить в развитии архитектуры баз данных? Первый этап — это развитие баз данных на больших ЭВМ, этап появления первых СУБД. Второй этап — это СУБД, разработанные для персональных компьютеров. И последний этап — это распределенные базы данных. Если мы говорим про базы данных на больших ЭВМ, то они в качестве основы для хранения данных использовали обычные файлы. Что такое файл? С точки зрения прикладной программы, файл — это именованная область во внешней памяти, в которой можно записывать информацию и из которой можно эту информацию считывать. Но следует отметить, что структура записи файлов была известна лишь прикладной программе, которая с этим файлом работала. И получается, что каждая программа, работающая с файлом, должна была внутри себя хранить структуру данных, которая соответствовала структуре этого файла. Поэтому при попытке изменений структуры файла требовалось перезаписывать или пересоздавать заново работающие с этой информацией программы. В эпоху больших ЭВМ компанией IBM был инициирован проект, исследовательский проект, по исследованию возможностей реляционной базы данных, и на основе этого исследования была создана первая реляционная СУБД, которая называлась System R. В то время в прессе появилось множество публикаций, касающихся всех аспектов реляционной теории, на основе которой была разработана эта система, и по аналогии с этой системой также были созданы другие коммерческие СУБД, также основанные на реляционной модели данных. И для этой реляционной модели данных появляются языки программирования высокого уровня, направленные непосредственно на работу с данными. В эпоху персональных СУБД появлялось множество программ, предназначенных для работы неподготовленных пользователей. Эти программы были очень просты и интуитивно понятны. Это были текстовые редакторы, электронные таблицы и другие файлы с понятной и ясной структурой, с удобным интерфейсом, который позволял пользователям вводить информацию и формировать какие-то отчеты. Конечно, появление множества программ сказалось и на базах данных, которые разрабатывались для персональных компьютеров и позволяли хранить достаточно большие объемы информации. И в тот момент компьютеры стали удобным инструментом для собственных учетных функций для обычных пользователей. И доступность персональных компьютеров дала возможность пользователям из многих областей знаний, которые ранее не использовали компьютеры в своей деятельности, обратиться к ним. И спрос на развитые и удобные программы по обработке данных заставил поставщиков программного обеспечения разрабатывать и создавать все новые и новые системы. Эти системы принято называть настольными СУБД, или десктопными моделями. Хорошо известно, что история развивается по спирали, поэтому от процесса персонализации пошел обратный процесс — интеграции. Множится количество локальных сетей, развиваются глобальные сети, и все больше информации передается между компьютерами. Эта информация может быть доступна различным пользователям для решения различных прикладных задач. И сейчас остро встает вопрос согласованности данных, которые обрабатываются различными пользователями. И успешное решение этих задач привело в появлению распределенных СУБД, которые сохраняют все преимущества ранее существовавших настольных СУБД, и в то же время позволяют организовывать параллельную обработку информации и надежную поддержку целостности в базах данных. [БЕЗ_ЗВУКА]