Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Базы данных

Предисловие

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

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

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

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

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

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

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

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

Замечания и пожелания по содержанию книги направлять по адресу: 127994, Москва, ГСП-4, Неглинная ул., д. 29/14, издательство "Высшая школа".

Авторы

Введение

Основные теоретические разработки по базам данных относятся к 1983-1987 гг.

Оми нашли свое отражение в публикациях [7–13], среди которых выделяются такие фундаментальные работы, как [11 – 13].

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

Потребовались, таким образом, работы с системным изложением материала от теории до практики, что особенно актуально в силу сложности материала по базам данных. Такие заслуживающие внимания работы появились в конце 90-х годов XX в. [1–6, 17].

Работа [4] посвящена преимущественно теории централизованных реляционных баз данных, характеризуется большим количеством упражнений и опирается при проектировании БД на специфические ER-диаграммы. Из других многочисленных аспектов баз данных в работе конспективно освещены лишь особенности объектно- ориентированных языков запросов.

Только централизованным реляционным БД посвящена и работа [6] с акцентом в проектировании на ER-диаграммы и CASE-технологию.

В публикации [17] четко методически изложены отдельные теоретические аспекты баз данных (хранилища данных, параллельные БД).

Работа [3] носит обзорно-теоретический характер. Она полезна скорее преподавателям и научным сотрудникам для систематизации имеющихся знаний по базам данных. Начальное изучение вопросов, связанных с БД, с помощью такой книги проблематично.

Работы [3, 4, 6, 17] не могут, по нашему мнению, претендовать на роль системного изложения материалов по базам данных. К "системным" работам следует отнести публикации [1,2, 5].

В работе [5], отличающейся хорошим терминологическим сопровождением, изложено современное состояние теории баз данных. В то же время, на наш взгляд, порядок изложения методически недостаточно продуман, а прикладной материал практически отсутствует.

Наиболее фундаментальной в теоретическом плане является работа [2], рассчитанная на разработку – с использованием ER-диаграмм – концептуальной и логической моделей, в том числе в рамках хранилища данных.

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

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

Работа состоит из введения, 15 глав, заключения, и приложений. В главах 1 – 13 рассмотрены теоретические вопросы, главы 14, 15 посвящены прикладным вопросам реализации баз данных.

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

Главы 1–4 посвящены общим положениям, связанным с базами данных.

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

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

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

Рассмотрена блок-схема БД, в которой выделены основные составляющие: собственно база данных, интерфейс пользователя, алгоритм приложения.

Показано, что при рассмотрении БД следует выделить три основные процедуры: создание (проектирование) БД; использование (эксплуатация) БД; функционирование БД (взаимодействие составляющих).

Описана методология использования (с процедурой запроса).

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

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

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

В главе 3 описана теория БД безотносительно к используемой модели данных. Рассмотрены основные варианты математического представления данных (модели): с помощью таблиц; с помощью аппарата теории графов; с использованием овал-диаграмм и ER-диаграмм (диаграмм "сущность-связь"). Указаны типы отношений между элементами данных. Отмечено, что перечисленные модели слабо ориентированы на использование компьютеров при проектировании БД.

Для автоматизации проектирования как небольших, так и сверхбольших БД предназначена CASE-технология.

В ней выделены и кратко описаны методы построения ER-диаграмм (собственно баз данных), диаграмм потоков связей (интерфейсы пользователей) и диаграмм переходов состояний (алгоритмов приложений).

Реализация CASE-технологии осуществляется CASE-средства- ми, которые могут быть встроены в СУБД (например, Oracle) или выполняться отдельно (например, CASE*Diclionary, CASE*Designer, CASE*Generator). Дана краткая характеристика автономных CASE- средств.

Глава 4 посвящена теории реляционных БД. Уточнены понятия "отношение", "ключ", являющиеся основными в реляционной модели данных.

Для теории создания БД использован математический аппарат реляционной алгебры (РА) и реляционного исчисления (РИ), отражающий процессы преобразования таблиц и нормализации данных. Описаны математические операции в РА и РИ. Приведены система аксиом РА для F- и MV-зависимостей между элементами данных и пример процедуры нормализации (от первой до пятой нормальных форм) при создании концептуальной и логической моделей. Показана связь РА и РИ как взаимодополняющих математических методов.

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

Теория использования БД при создании запросов опирается на РА и РИ. Показано, что РА "выходит" па алгоритмические языки программирования, которые неудобны для пользователей-непрофессионалов (ПН) в программировании. В то же время РИ является основой для декларативных языков программирования SQL, служащего средством связи между различными реляционными СУБД, и QBL (запрос по примеру). Последний является визуальным языком, понятным ПН и потому широко используемым в СУБД (например, Access). Рассмотрены теоретические предпосылки оптимизации запросов.

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

Главы 5–10 посвящены прикладным вопросам централизованных (локальных) баз данных.

В главе 5 рассмотрены терминология, процедуры построения и использования реляционных БД. Подробно рассмотрен язык SQL при использовании его в обеих перечисленных процедурах. Представлены три разновидности языка SQL: интерфейсный, вложенный и встроенный. Описан пример использования языка QBE.

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

Глава 7 посвящена объектно-ориентированным базам данных (ООБД). Рассмотрена суть объектно-ориентированного подхода, объектно-ориентированного проектирования и объектно-ориентированного программирования, состояние и перспективы развития ООБД. Описана многомерная модель данных (как основа построения собственно ООБД), разновидности ее реализации: многомерная (MOLAP), реляционная (ROLAP), гибридная (HOLAP). Определено понятие "киоск (магазин, витрина) данных". Рассмотрены элементы структуры и их связи для многомерной модели, специфическая терминология этой разновидности моделей данных на примерах ООБД РОЕТ и CACHE. Показана связь ООБД с реляционными БД. Рассмотрены перспективы развития ООБД.

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

Глава 9 посвящена сравнению свойств моделей данных, описанных в главах 5–9. Рассмотрены варианты взаимопреобразования моделей данных. Описывается процесс выбора СУБД, состоящий из выбора модели данных и СУБД в рамках выбранной модели. Приводятся сравнительные характеристики ряда реляционных СУБД как наиболее часто используемых в прикладных целях. Обсуждается физическая модель БД (физическая БД), что важно при рассмотрении сетевой и в еще большей степени – иерархической моделей данных. Рассмотрены методы записи (размещения) и доступа (поиска) данных в памяти компьютера. Отмечено, что в суперЭВМ чаще всего используются быстродействующие иерархические СУБД, тогда как в персональных компьютерах – реляционные СУБД.

Главы 10–13 посвящены распределенным базам данных (РБД).

В главе 10 рассмотрены общие характеристики таких систем. Сформулированы новые требования, предъявляемые к вновь проектируемым БД и вызвавшие потребность в РБД. Дастся определение РБД, ее состав и описание работы. Выделяются основные разновидности структуры РБД: одноранговая (наиболее сложная по структуре), клиент-сервер и смешанная. Приволен пример-описание одноранговой РБД, дана сравнительная характеристика стратегий хранения данных в РБД. Описаны особенности и варианты структуры клиент-сервер. Рассмотрены особенности реализации этой структуры н СУБД Paradox и InterBase (в рамках программного продукта Delphi).

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

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

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

Рассмотрены процессы преобразования "реляционная – сетевая", "реляционная – иерархическая" модели данных.

В главе 12 рассматриваются особенности и методы обеспечения одновременного доступа (разновидности блокировки, многоверсионность БД, отложенные (кэшированные) изменения данных). Описаны варианты защиты данных, специфика резервного копирования и восстановления данных. Обсуждены способы оптимизации запросов в РБД.

В главе 13 обсуждаются вопросы Web-публикаций баз данных в Internet. Определяется понятие "публикация", рассматриваются основы используемого для публикации языка программирования HTML и приводится прикладной пример с использованием программного продукта Delphi.

Главы 14, 15 освещают вопросы реализации баз данных с помощью различных СУБД. Рассмотрены общие вопросы реализации баз данных и традиционный подход на примере базы данных "Учебный процесс".

Обсуждаются два варианта реализации. В локальном варианте используется СУБД Access, для режима клиент-сервер – СУБД InterBase. В обоих вариантах процесс проектирования и реализации рассматривается в полном объеме.

Глава 15 посвящена современному подходу с использованием СУБД InterBase на примере процедуры приема на работу. Компьютер выдает руководителю решения-советы, которые могут быть руководителем приняты или отвергнуты (с корректировкой решений). Процедура проектирования по-прежнему рассматривается в полном объеме. Описываются как локальный, так и удаленный варианты режима клиент-сервер, вопросы реализации одно- и многоуровневой структуры с использованием программного продукта Delphi.

В заключении подводятся итоги изучения баз данных.

В приложении 1 приведены основные характеристики БД "Учебный процесс". Приложения 2 и 3 содержат программы, используемы при работе с СУБД InterBase в рамках приложения Delphi.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы