Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Базы данных. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
604 Кб
Скачать

зависимость реализуется на счет тех же механизмов, что и "логическая".

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

Еще одним аспектом независимости данных и про-

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

1.6. История развития СУБД

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

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

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

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

11

До появления ЭВМ 3-го поколения обработка данных осуществлялась при помощи операций ввода - вывода. Файлы в ЭВМ 2-го поколения были файлами последовательного дос- тупа. При этом физическая структура данных и логическая структура файла совпадали. Пользователям файл в этой си- туации представляется как линейная последовательность за- писей, где структура записи файла известна только програм- ме, которая работает с файлом, поскольку структура содер- жится только в ней. Если структура файла меняется, то при- ходится вносить изменения в саму программу. Это фатально,

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

1.6.1. Ранние СУБД (1 поколение)

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

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

В середине 60-х годов XX века корпорация IBM совме- стно с фирмой NAA разработали первую СУБД - иерархиче-

скую систему IMS (Information Management System). Несмот-

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

Другим заметным достижением середины 60-х годов было появление системы IDS (Integrated Data Store) фирмы General Electric. Развитие этой системы привело к созданию нового типа систем управления базами данных - сетевых

12

СУБД, что оказало существенное влияние на информацион- ные системы того поколения.

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

Для создания таких стандартов в 1965 году на конфе-

ренции CODASYL (Conference on Data Systems Languages)

была сформирована рабочая группа List Processing Task Force, которая должна была определить спецификацию среды, ко- торая допускала бы разработку баз данных и управление дан- ными. Полный вариант отчета этой группы был опубликован в 1971 году и содержал следующие утверждения:

Сетевая схема - это логическая организация всей базы данных в целом (с точки зрения АДБ), которая включает оп- ределение имени базы данных, типа каждой записи и компо- нентов записей каждого типа.

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

Язык управления данными (DML) - инструмент для определения характеристик и структуры данных, а также для управления ими. Было предложено стандартизировать три различных языка.

1.Язык определения данных DDL для описания схемы БД.

2.Язык определения данных (также DDL) для подсхемы,

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

3.Язык манипулирования данными DML, предназначен-

ный для управления данными.

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

го поколения.

13

Достоинства ранних СУБД:

развитые средства управления данными во внешней памяти на низком уровне;

возможность построения вручную эффективных при- кладных систем;

возможность экономии памяти за счет разделения по- добъектов (в сетевых системах).

Недостатки:

слишком сложно пользоваться;

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

их логика перегружена деталями организации доступа

кБД, поскольку отсутствуют теоретические основы.

1.6.2.Реляционные СУБД (2 поколение)

В1970 году Э. Ф. Кодд, работавший в корпорации IBM, опубликовал статью о реляционной модели данных, позво- лявшей устранить недостатки прежних моделей. Вслед за

этим появилось множество экспериментальных реляционных СУБД, но первые коммерческие продукты появились в конце 70-х - начале 80-х годов. Особенно следует отметить проект System R, разработанный в корпорации IBM в конце 1976 го- ду (Astrahan et al., 1976). На основе этого проекта были полу- чены важнейшие результаты.

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

В 80-х годах были созданы различные коммерческие реляционные СУБД - например, DB2 или SQL/DS корпорации

IBM, Oracle корпорации Oracle , др.

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

14

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

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

В настоящее время существует несколько сотен различ-

ных реляционных СУБД для мейнфреймов и персональных ЭВМ.

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

В качестве примера многопользовательских СУБД мо- жет служить система CA-OpenIngres фирмы Computer Associates и система Informix фирмы Informix Software, Inc.

Примерами реляционных СУБД для персональных компью-

теров являются Access и FoxPro фирмы Microsoft, Paradox и Visual dBase фирмы Borland, а также R-Base фирмы Microrim.

Реляционные СУБД относятся к СУБД второго поколе- ния. Однако реляционная модель также обладает некоторыми недостатками - в частности, ограниченными возможностями моделирования.

Для решения этой проблемы был выполнен большой объем исследовательской работы. В 1976 году Чен предложил модель "сущность-связь" (Entity-Relationship model - ER-

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

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

15

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

родействие и мощность реляционных баз удается держать на весьма высоком уровне.

Достоинства реляционных СУБД:

эффективность;

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

наличие простого и в то же время мощного математи- ческого аппарата, опирающегося, главным образом, на тео-

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

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

Недостатки реляционных СУБД:

некоторая ограниченность (прямое следствие просто- ты) при использовании в так называемых нетрадиционных областях (например, САПР), в которых требуются предельно сложные структуры данных.

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

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

1.6.3. Постреляционные СУБД (3 поколение)

3 поколение СУБД - это постреляционные системы, т.е. системы, относящиеся к следующему поколению, в настоя- щее время они находятся в стадии разработки. Основные принципы этой разработки:

16

1.Помимо традиционных услуг по управлению данны- ми, СУБД обеспечат поддержку гораздо более богатых струк- тур объектов и правил. Более богатая структура объектов ха- рактеризует средства, необходимые для хранения и манипу- лирования нетрадиционными элементами данных (тексты, пространственные данные, графика). Помимо этого, создате-

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

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

3.СУБД должны быть открыты для других подсистем. Любая СУБД должны быть оснащена языком 4 поколения (4 GL), разнообразными инструментами поддержки принятия решений, интерфейсами с графическими бизнес - пакетами,

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

П р и м е ч а н и е. Языки 4GL. Аббревиатура "4GL" пред- ставляет собой сокращенный английский вариант написания терми-

на "язык четвертого поколения"(Fourth-Generation Language). He

существует четкого определения этого понятия, хотя, по сути, речь идет о некотором стенографическом варианте языка программиро- вания. Если для организации некоторой операции с данными на языке третьего поколения (3GL) типа COBOL потребуется написать сотни строк кода, то для реализации этой же операции на языке чет- вертого поколения будет достаточно нескольких строк.

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

процедурными, языки 4GL выступают как непроцедурные. Предполагается, что реализация языков четвертого поколения будет в значительной мере основана на использовании ком- понентов высокого уровня, которые часто называют "инстру-

17

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

упомянутые выше инструменты автоматически осуществят генерацию прикладного приложения.

Вкачестве примеров языков четвертого поколения можно указать упоминавшиеся выше языки SQL и QBE.

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

1.7.Роль и место баз данных в информационных системах

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

предназначены для хранения и обработки больших объемов информации.

Это могут быть самые разные по своей предметной об- ласти, по мощности, по масштабу и т. д. программы. Например, бухгалтерские программы (1С и подобные ей), программы ме- дицинской диагностики, электронные каталоги библиотеки и т. д.

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

18

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

Запросы по данным. В системе должна существовать возможность находить и просматривать отдельные части на- копленной информации.

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

Подавляющее большинство информационных систем ра- ботает в режиме диалога с пользователем.

В наиболее общем случае типовые программные компо-

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

ют:

ü диалоговый ввод-вывод (пользовательский интер-

фейс);

üлогику обработки данных, которая позволяет решать задачи, ради которых, собственно, и создано конкретное прило- жение;

üлогику управления данными;

üбазу данных;

üоперации манипулирования файлами и (или) база- ми данных, т. е. СУБД.

Последние 2 компонента обязательны для информацион- ной системы, поскольку предоставляют саму информацию и возможность её обработки. Собственно, именно база данных яв- ляется целью и средством работы информационной системы.

Вопросы для самопроверки

1.Объясните своими словами смысл терминов:

база данных;

предметная область;

19

информационная система;

банк данных;

информация;

данные.

2.Из каких основных частей состоит банк данных?

3.Что такое база данных?

4.Как вы понимаете разницу между понятиями «инфор- мация» и «данные»?

5.Какими свойствами обладает информация?

6.Каково назначение информационной системы?

7.Что такое принцип независимости программ и данных?

8.Дайте ретроспективный анализ развития СУБД.

9.Что характерно для СУБД 1 и 2 поколений?

10.Назовите основные направления развития СУБД (СУБД 3-го поколения).

11.Приведите примеры СУБД разных поколений.

12.Назовите основные компоненты информационной сис- темы.

13.Каковы преимущества использования СУБД?

14.Как вы понимаете принцип независимости программ и данных?

15.В чем смысл физической и логической независимости данных?

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]