Ю.А. Григорьев, Г.И. Ревунков
Банки данных
Допущено Министерством образования
Российской Федерации
в качестве учебника
для студентов высших учебных заведений,
обучающихся по направлению
подготовки дипломированных специалистов
«Информатика и вычислительная техника»
Москва
Издательство МГТУ имени Н.Э.Баумана
УДК 681.5 (075.8)
ББК 32.965
Г 82
Рецензенты:
кафедра «Автоматизированные системы управления»
Московского государственного автомобильного
дорожного института (технического университета)
(зав. кафедрой д-р техн. наук, профессор А.Б. Николаев);
д-р техн. наук, профессор В.В. Соломенцев (МГТУ ГА)
Григорьев Ю.А., Ревунков Г.И.
Г 82 Банки данных: Учеб. для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. – 320 с. (Сер. Информатика в техническом университете).
ISBN 5-7038-1779-Х
Приведены основные концепции построения банков данных. В первой части описаны методы построения локальных банков данных; основы инфологического подхода к проектированию информационных систем, методика информационного моделирования и построения моделей данных и знаний; иерархическая, сетевая, реляционная модели данных, семантические сети, фреймовые модели, системы продукций, логические модели, приемы проектирования локальных банков данных. Во второй части рассмотрены распределенные банки данных, архитектура распределенных систем обработки данных, задачи обеспечения функционирования распределенной базы данных, содержимое которых располагается в нескольких узлах информационной сети, модели доступа к данным: файлового сервера, сервера базы данных, сервера приложений, а также системы управления базами данных с архитектурой клиент/сервер.
|
Содержание учебника соответствует курсу лекций, который авторы читают в МГТУ им. Н.Э. Баумана.
Для студентов вузов, обучающихся по направлению подготовки дипломированных специалистов в области информатики и вычислительной техники.
УДК 681.5 (075.8)
ББК 32.965
ISBN 5-7038-1779-Х
© Ю.А. Григорьев, Г.И. Ревунков, 2002
© Московский государственный технический
университет им. Н.Э. Баумана, 2002
© Издательство МГТУ им. Н.Э. Баумана, 2002
ОГЛАВЛЕНИЕ
ПРЕДИСЛОВИЕ............................................................................................................................................................................................................ 4
СПИСОК ОСНОВНЫХ СОКРАЩЕНИИ................................................................................................................................................................ 5
Часть I. ЛОКАЛЬНЫЕ БАНКИ ДАННЫХ............................................................................................................................................................. 7
1. ОСНОВЫПОСТРОЕНИЯ БАНКОВ ДАННЫХ........................................................................................................................................... 7
1.1. Информация, данные, знания.................................................................................................................................................................... 7
1.2. Автоматизированные информационные системы.............................................................................................................................. 8
1.3. Банк данных как автоматизированная система............................................................................................................................... 11
1.4. Архитектура банка данных.................................................................................................................................................................... 15
1.5. Централизация и децентрализация процессов обработки данных............................................................................................. 20
|
1.6. Архитектура банков знаний................................................................................................................................................................... 22
Контрольные вопросы..................................................................................................................................................................................... 23
2. МОДЕЛИ ДАННЫХ.......................................................................................................................................................................................... 23
2.1. Инфологический подход к проектированию информационных систем..................................................................................... 23
2.2. Понятие модели данных.......................................................................................................................................................................... 27
2.3. Структуры, операции, ограничения..................................................................................................................................................... 29
2.4. Иерархическая и сетевая модели данных.......................................................................................................................................... 33
2.5. Реляционная модель данных.................................................................................................................................................................. 41
Контрольные вопросы..................................................................................................................................................................................... 56
3. ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ............................................................................................................................................................ 56
3.1. Моделирование локальных представлений...................................................................................................................................... 56
3.2. Объединение моделей локальных представлений........................................................................................................................... 63
Контрольные вопросы..................................................................................................................................................................................... 68
|
4. МЕТОДЫСПЕЦИАЛЬНОЙ ОБРАБОТКИ.................................................................................................................................................. 68
4.1. Обеспечение защиты данных в базе..................................................................................................................................................... 68
4.2. Обеспечение целостности данных........................................................................................................................................................ 71
4.3. Оптимизация запросов............................................................................................................................................................................. 72
4.4. Устранение тупиковых ситуаций при параллельной обработке запросов.............................................................................. 74
Контрольные вопросы..................................................................................................................................................................................... 76
5. МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ..................................................................................................................................................... 76
5.1. Способы представления знаний для обработки на ЭВМ.............................................................................................................. 76
5.2. Семантические сети.................................................................................................................................................................................. 78
5.3. Фреймы......................................................................................................................................................................................................... 81
5.4. Представление знаний с помощью логики предикатов.................................................................................................................. 83
5.5. Системы продукций.................................................................................................................................................................................. 86
Контрольные вопросы..................................................................................................................................................................................... 87
6. ПРОЕКТИРОВАНИЕ БАЗ ЗНАНИЙ............................................................................................................................................................. 88
6.1. Этапы проектирования баз знаний....................................................................................................................................................... 88
6.2. Методы проектирования баз знаний.................................................................................................................................................... 89
6.3. Автоматизация проектирования баз знаний...................................................................................................................................... 90
Контрольные вопросы..................................................................................................................................................................................... 92
7. ДАТОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ.................................................................................................................. 92
7.1. Модель данных субд MS ACCESS........................................................................................................................................................ 92
7.2. Создание информационных систем с помощью СУБД MS ACCESS.......................................................................................... 94
7.3. Создание новой базы данных................................................................................................................................................................ 95
7.4. Создание таблиц........................................................................................................................................................................................ 95
7.5. Создание формы......................................................................................................................................................................................... 96
7.6. Создание запроса...................................................................................................................................................................................... 96
7.7. Создание отчета......................................................................................................................................................................................... 97
Контрольные задания...................................................................................................................................................................................... 98
Часть II. СИСТЕМЫРАСПРЕДЕЛЕННОЙ ОБРАБОТКИ ДАННЫХ.......................................................................................................... 99
8. ТЕНДЕНЦИИ РАЗВИТИЯ СИСТЕМ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ ДАННЫХ.................................................................... 99
8.1. Переход к распределенной обработке данных................................................................................................................................. 99
8.2. Архитектура современных распределенных СУБД...................................................................................................................... 103
8.3. Распределенные базы данных и Internet.......................................................................................................................................... 105
8.4. Примеры систем распределенной обработки данных.................................................................................................................. 106
8.5. Перспективы развития систем распределенной обработки данных........................................................................................ 108
Контрольные вопросы................................................................................................................................................................................... 109
9. ПРОБЛЕМЫПРОЕКТИРОВАНИЯ СИСТЕМ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ ДАННЫХ.................................................. 110
9.1. Этапы проектирования распределенных систем........................................................................................................................... 110
9.2. Кризис проектирования......................................................................................................................................................................... 111
9.3. Макетирование системы....................................................................................................................................................................... 112
Контрольные вопросы................................................................................................................................................................................... 113
10. ВЫЯВЛЕНИЕ ИНФОРМАЦИОННЫХ ПОТРЕБНОСТЕЙ КОНЕЧНЫХ ПОЛЬЗОВАТЕЛЕЙ................................................. 113
10.1. Диаграммы потоков данных.............................................................................................................................................................. 113
10.2. Инструментальные средства описания диаграмм....................................................................................................................... 115
10.3. Пример разработки диаграммы потоков данных........................................................................................................................ 115
Контрольные вопросы................................................................................................................................................................................... 119
11. КОНЦЕПТУАЛЬНОЕ ПРОЕКТИРОВАНИЕ СИСТЕМ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ ДАННЫХ............................... 119
11.1. Особенности концептуального проектирования......................................................................................................................... 119
11.2. Разработка концептуальной схемы базы данных....................................................................................................................... 120
11.3. Способы описания спецификаций процессов............................................................................................................................... 125
Контрольные вопросы................................................................................................................................................................................... 128
12. ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ СИСТЕМ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ ДАННЫХ........................................... 128
12.1. Разработка логической схемы базы данных................................................................................................................................. 128
12.2. Разработка приложений...................................................................................................................................................................... 140
Контрольные вопросы................................................................................................................................................................................... 162
13. ВЫБОР ОБЩЕСИСТЕМНЫХ ПАКЕТОВ.............................................................................................................................................. 162
13.1. Сетевые операционные системы Netware, Windows NT, Unix.................................................................................................. 162
13.2. Варианты выбора распределенной СУБД.................................................................................................................................... 166
Контрольные вопросы................................................................................................................................................................................... 194
14. ПРОБЛЕМЫОБЕСПЕЧЕНИЯ ВЫСОКОЙ ПРОИЗВОДИТЕЛЬНОСТИ В СИСТЕМАХ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ ДАННЫХ................................................................................................................................................................................................................ 194
14.1. Факторы, влияющие на время выполнения запросов................................................................................................................. 194
14.2. Повышение производительности системы..................................................................................................................................... 195
14.3. Настройка СУБД в среде Solaris Дисковые операции ввода/вывода..................................................................................... 197
Контрольные вопросы................................................................................................................................................................................... 201
Список литературы................................................................................................................................................................................................. 202
ПРЕДИСЛОВИЕ
Успешная практическая деятельность человека все в большей степени зависит от эффективной организации обмена информацией. Установлено, что объем информации растет примерно пропорционально квадрату развития производительных сил. Информационные процессы реализуются в таких сферах деятельности людей, как экономика и техника, наука и технология, медицина и социальное обеспечение. Информацию и данные все чаще рассматривают как жизненно важные ресурсы, которые должны быть организованы так, чтобы ими можно было легко пользоваться.
Перерабатывать большой объем информации в заданные сроки без специальных средств обработки практически невозможно. К сожалению, большая часть информации еще находится вне ЭВМ, что объясняется отсутствием достаточного количества и номенклатуры технических средств обработки. Но если учесть, что стоимость ЭВМ снижается, то можно предположить, что в перспективе машинная обработка информации будет основной повсеместно. В ЭВМ могут храниться и обрабатываться не только печатные тексты, но и чертежи, фотографии, запись голоса и т.д. Таковы возможности безбумажной технологии обработки информации.
Методы организации процессов обработки информации, реализуемые в концепции банков данных и знаний, позволили принципиально по-новому подойти к их реализации в автоматизированных системах.
Банки данных и знаний являются одним из основных компонентов автоматизированных систем различных уровней и типов. Их создают для многих отраслей и сфер народного хозяйства: планирования, учета, управления предприятиями, статистики, здравоохранения и др.
Авторы выражают искреннюю благодарность академику Международной академии информатизации, заслуженному деятелю науки и техники РСФСР В.Н. Четверикову, которому принадлежит идея создания данной книги, а также А.Д. Плутенко, в соавторстве с которым написан § 1.2 второй части и Е.Г. Ревунковой, в соавторстве с которой написана глава 7 первой части данного учебника.
Считаем приятным долгом выразить благодарность коллективу кафедры «Автоматизированные системы управления МАДИ (ТУ) (зав. кафедрой д-р техн. наук, проф. А.Б. Николаев), проф. В.В. Соломенцеву за ценные замечания и рекомендации, которые были учтены авторами при работе над рукописью.
СПИСОК ОСНОВНЫХ СОКРАЩЕНИИ
АБД – администратор базы данных
АИС – автоматизированная информационная система
АС – автоматизированная система
АСУ – автоматизированная система управления
АСНПД – автоматизированная система нормативно-правовой документации
АСНМОУ – автоматизированная система нормативно-методического обеспечения управления
АСНТИ – автоматизированная система научно-технической информации
АСУТП – автоматизированная система управления технологическим процессом
АСУП – автоматизированная система организационного управления предприятием или организацией
АСНТИ – общегосударственная автоматизированная система научно-технической информации
БД – база данных
БЗ – база знаний
БнД – банк данных
БнЗ – банк знаний
БТИ – бюро научно-технической информации на предприятии
ВМД – внешняя модель данных
ВнМД – внутренняя модель данных
ВнС – внутренняя схема
ВС – внешняя схема
ЖЦ – жизненный цикл системы
ИПП – интерфейс прикладного программирования
ИС – информационная система
ИЛС – информационно-логическая система
ИПС – информационно-поисковая система
ИПЯ – информационно-поисковый язык
ИСМ – информационные системы мониторинга
ИСС – информационно-справочная система
ИТ – информационные технологии
КТ – конец транзакции
КМД – концептуальная модель данных
КС – концептуальная схема
КТС – комплекс технических средств
ЛС – логическая схема
ЛТ – логическая транзакция
МД – модель данных
МРЦ – Межбанковский расчетный центр
НТ – начало транзакции
ОАСУ – отраслевая автоматизированная система управления
ОГАС – общегосударственная автоматизированная система
ОНТИ – отдел научно-технической информации на предприятии
ОП – оперативная память
ОРБД – объектно-реляционные базы данных
ОС – операционная система
ПО – предметная область
ПП – прикладная программа
Пр_В-К – преобразователи данных, реализующие отображения «внешний–концептуальный»
Пр_Вн-П – преобразователи данных, реализующие отображения «внутренний–память»
Пр_ВнС – преобразователь внутренней схемы
Пр_ВС – преобразователь внешних схем
ПРЗ – процедуры реализации запросов
Пр_К-Вн – преобразователи данных, реализующие отображения «концептуальный–внутренний»
Пр_КС – преобразователь концептуальной схемы
ПС – подсхема
РО – рабочая область ввода–вывода прикладной программы
РСУБД – распределенная система управления базой данных
САПР БД – система автоматизированного проектирования баз данных
СД – словарь данных
СЕМС – семантические сети
СП – спецификация процесса
СППР – системы поддержки принятия решений
СРОД – системы распределенной обработки данных
СУБД – система управления базой данных
ФБД – физическая база данных
ЭС – экспертная система
ЭИС – экономические информационные системы
ЯМД – язык манипулирования данными
ЯОД – язык описания данных
ЯОД ПС – язык описания данных подсхемы
ЯОД С – язык описания данных схемы
4GL – язык четвертого поколения
АIO – асинхронный ввод/вывод
ATMI (Application Transaction Manager Interface) – специализированный интерфейс прикладного программирования
BPR (Business Process Reengineering) – бизнес-процессы
CGI – программы для Web-серверов (применяются языки Perl, С, TCL)
DFD (Data Flow Diagrams) – диаграмма потоков данных совместно со словарями данных и спецификациями процессов
DSS – поддержка принятия решений
DTP (Distributed Transaction Processing) – модель (стандарт) обработки распределенных транзакций X/Open
ERD (Entity-Relationship Diagrams) – диаграммы «сущность–связь» Чена или Баркера
ЕТР (Enterprise Transaction Processing) – корпоративная среда обработки транзакций
FML (Field Manipulation Language) – язык манипулирования полями
GID – в среде ОС Unix идентификатор группы
IT (Information Technology) – информационные технологии
JDBC – интерфейс Java Data Base Connectivity
NDS (NetWare Directory Services) – средство организации и управления системной базой данных
LTM – Log Transfer Manager – менеджер журнала транзакций
LVM – логическое управление томами
MIB (Management Information Base) – база данных управления
MOM (Message-Oriented Middleware) – система распространения сообщений
ODBC (Open DataBase Connectivity) – драйвер СУБД
OLTP (Online Transaction Processing) – обработка транзакций в режиме on–line (режиме реального времени) мониторами транзакций
OMG (Object Management Group) – консорциум производителей программного обеспечения
ORB (Object Request Broker) – брокер объектных запросов
RAD – фирма средств быстрой разработки проектов
RM (Resource Manager) – менеджер ресурсов
RPC (Remote Procedure Call) – системы, основанные на технологии удаленного вызова процедур
RS – репликационный сервер
PTPS (Proprietary Transaction Processing Servers) – mainframe-системы или компьютеры под управлением Unix с RISC-архитектурой процессоров
S – сервер
ТМ (Transaction Manager) – менеджер транзакций
ТРМ (Transaction Processing Monitor) – мониторы обработки транзакций
UID – в среде ОС Unix численный идентификатор
UTPS (Unix Transaction Processing Servers) – компьютеры под управлением ОС Unix
WS – рабочая станция
Часть I
ЛОКАЛЬНЫЕ БАНКИ ДАННЫХ