Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диго С.М. Базы данных проектирование и использование.doc
Скачиваний:
720
Добавлен:
14.05.2016
Размер:
12.04 Mб
Скачать

Глава 10 распределенные банки данных 474

10.1. Основные понятия 474

10.2. Классификация РБнД 475

10.3. Транзакции 481

10.3.1. Понятие транзакции 481

10.3.2. Плоские транзакции 482

10.3.3. Контрольные точки 482

10.3.4. Многозвенные транзакции 483

10.3.5. Вложенные транзакции 483

10.4. Проблемы параллелизма и пути их решения 484

10.4.1. Параллелизм 484

10.4.2. Блокировки 485

10.4.3. Режимы доступа к информации 487

10.4.4. Уровни изоляции в SQL 488

10.4.5. Использование хранимых процедур и триггеров для контроля целостности БД 489

10.5. Тиражирование данных 490

10.5.1. Основные понятия 490

10.5.2. Преимущества и недостатки тиражирования 491

10.5.3. Виды тиражирования 491

10.6. Обеспечение целостности и безопасности данных в РБД 496

10.6.1. Особенности обеспечения целостности в РБД 496

10.6.2. Средства защиты данных 497

10.7. Работа в распределенной среде при использовании СУБД Access 503

10.7.1. Способы совместного использования данных в Access 503

10.7.2. Виды блокировок 507

10.7.3. Проекты Microsoft Access 508

10.7.4. Средства защиты Microsoft Access 511

На это следует обратить внимание 514

Контрольные вопросы 514

ПРИЛОЖЕНИЯ 516

1. Основные понятия реляционной модели данных 516

2. Сквозной пример использования ER-моделирования для проектирования БД 517

ГЛОССАРИЙ 521

ЛИТЕРАТУРА 527

СОКРАЩЕНИЯ 529

Предисловие

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

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

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

Предметом курса «Базы данных» являются базы данных как ядро банка данных, а также языковые средства банка данных (БнД) и средства проектирования баз данных. Цель курса - изучение теоретических основ проектирования баз данных, а также особенностей СУБД разных классов. Несмотря на то, что в книге не рассматривается ни одна конкретная СУБД в полном объеме, предполагается, что в учебном процессе будет выбрана одна (или несколько) СУБД, на примере которой студенты приобретут навыки практической работы. Предусматривается выполнение комплекса лабораторных работ, состав которых будет зависеть от конкретной специальности, а также от технического и программного обеспечения, имеющегося в распоряжении в учебном заведении.

Учебник имеет следующую структуру: предисловие, десять глав, список литературы, список сокращений, глоссарий, приложения.

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

Главу 2, посвященную концептуальному моделированию предметной области, следует рассматривать как центральную в учебнике. Концептуальная модель играет важнейшую роль в информационной системе:

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

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

  • служит основанием для дальнейшего проектирования баз данных;

  • используется как при ручном, так и при автоматизированном проектировании.

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

Тема концептуального моделирования в настоящее время достаточно широко освещена в литературе, имеются попытки стандартизации в этой области [4], динамично развивается рынок CASE-средств, сердцевиной которых является концептуальная модель. Однако автор учебника не счел целесообразным выбрать в качестве базовой одну из существующих методологий, а продолжает использовать для этих целей собственную методологию. Это объясняется несколькими причинами. Назовем некоторые из них.

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

  2. Ни одна методология и ни одно CASE-средство не являются явным лидером, чтобы отдать именно им пальму первенства.

  3. Алгоритм перехода от ER-модели к структуре базы данных в технической документации и литературе по CASE-системам практически никогда не излагается.

Кроме базовой ER-модели в учебнике подробно рассмотрены возможности построения ER-моделей в среде Design/IDEF и ERWin.

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

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

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

Завершается глава характеристикой средств проектирования структуры БД в современных CASE-системах.

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

В главе 4 обсуждены теоретические вопросы обеспечения целостности, баз данных: дана классификация ограничений целостности, показана их связь с ER-моделированием. Более конкретно вопросы реализации ограничений целостности рассмотрены в главах 5-7 и 10.

В главе 5 освещены некоторые проблемы создания и ведения баз данных. В нее включены вопросы, связанные с описанием БД, заданием ограничений целостности и обеспечением их соблюдения при обработке баз данных, организацией ввода информации в базы данных. Вопросы создания БД рассмотрены на примере СУБД Access 2000.

Главы 6 и 7 посвящены современным языкам запросов. В главе 6 описаны общие принципы задания запросов в табличном языке QBE, подробно рассмотрена реализация этого языка в системе Access, a также показаны отличия в форме представления запросов на QBE для некоторых других систем.

Глава 7 знакомит с языком SQL. Приведены общая характеристика языка и краткая информация о стандартах SQL. Описаны основные возможности языка в соответствии со стандартом SQL-92. Обращено внимание на вопросы задания ограничений целостности при использовании SQL. Рассмотрены особенности реализации SQL в СУБД Access.

В главе 8 отражены вопросы создания экранных форм ввода-вывода информации и страниц доступа с использованием соответству­ющих генераторов в среде СУБД Access 2000.

В главе 9 обсуждены вопросы создания отчетов с использованием современных СУБД на примере СУБД Access 2000.

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

Вопросы проектирования и использования баз данных включены в учебные планы практически для всех специальностей. В данном учебнике материалы изложены в соответствии с программой курса «Базы данных» для специальности 0603 «Информационные технологии в экономике». Учебные планы для разных и даже для одноименных специальностей в разных учебных заведениях могут иметь отличия. Это накладывает отпечаток на содержание и структуру учебника. Так, традиционно особенности логических моделей данных, способы физической организации данных, а также теория нормализации рассматриваются в дисциплине «Проектирование баз данных». В МЭСИ, где автор работает профессором, эти вопросы вынесены в курс «Теория экономических информационных систем». В связи с этим указанные вопросы не рассматриваются в данном учебнике.

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

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

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

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

  • изучение языков запросов разных классов позволяет понять их общность;

  • QBE часто используется как «построитель» запросов на SQL;

  • часто QBE является самым простым и быстрым способом формирования запроса;

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

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

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

Настоящее издание имеет существенные отличия от ранее вышедших книг (С.М. Диго. Проектирование баз данных, 1988, и Проектирование и использование баз данных, 1995). В нем, в частности, подробно рассмотрены вопросы использования CASE-систем Design/ IDEF и ERWin для проектирования баз данных; предложен алгоритм перехода от базовой ER-модели к ER-моделям, используемым в этих системах; вопросы создания БД, запросов, экранных форм и отчетов проиллюстрированы на примере СУБД Access (в предыдущем издании это была СУБД dBase IV); изложен стандартный SQL-92 и др.