ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

Термин «база данных» (БД) появился в начале 60-х гг. XX в., когда были сформулированы требования к организации данных в автоматизированных системах управления предприятиями. Суть этих требований сводилась к двум положениям:

  • 1) данные должны накапливаться и храниться централизованно, создавая динамически обновляемую модель предметной области;
  • 2) данные должны быть максимально независимы от программ их обработки.

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

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

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

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

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

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

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

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

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

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

Особенности I-zo этапа развития СУБД:

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

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

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

Особенности 2-го этапа развития СУБД:

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

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

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

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

Особенности 3-го этапа развития СУБД:

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

Именно к этому этапу относится разработка ряда стандартов в рамках языков описания и манипулирования данными, начиная с SQL89, SQL92, SQL99 и технологий по обмену данными между различными

СУБД, к которым можно отнести и протокол ODBC (Open DataBase Connectivity), предложенный фирмой Microsoft.

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

В разделе 2 в четырех главах рассматриваются технологии организации процессов обработки данных в базе данных. В главе 3 рассказывается о средствах создания базы данных в среде Visual FoxPro. Главы 4 и 5 раскрывают возможности обработки данных с помощью и языка SQL. В главе 6 изложены возможности разработки приложения с использованием визуальных средств среды Visual FoxPro.

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >