- •Введение в базы данных
- •Отношения между прикладными программами и субд
- •Системы обработки баз данных
- •История баз данных
- •Организационный контекст
- •Реляционная модель
- •Коммерческие субд для микрокомпьютеров
- •Клиент-серверные приложения баз данных
- •Базы данных с использованием Интернет-технологий
- •Распределенные базы данных
- •Объектно-ориентированные субд
- •Банк данных
- •Основные понятия и определения
- •Пользователи банков данных
- •База данных
- •Архитектура базы данных. Физическая и логическая независимость
- •Схемы и отображения
- •Независимость от данных
- •Система управления базами данных – субд
- •Процесс прохождения пользовательского запроса
- •Введение в разработку баз данных
- •Метаданные
- •Индексы
- •Метаданные приложений
- •Подсистема средств проектирования
- •Подсистема обработки
- •Ядро субд
- •Создание базы данных
- •Процесс разработки базы данных
- •Моделирование данных
- •Функции субд
- •Модели данных
- •Объектные или инфологические модели данных
- •Модели данных на основе записей или даталогические
- •Реляционная модель данных
- •Преподаватели
- •Сетевая модель данных
- •. Физические модели данных
- •Концептуальное моделирование
- •Реляционная модель
- •Структура реляционных данных
- •Кортежи
- •Внешний ключ
- •Альтернативная терминология
- •Математические отношения
- •Отношения в базе данных
- •Реляционные ключи
- •Реляционная целостность
- •Целостность сущностей
- •Ссылочная целостность
- •Реляционные языки
- •Реляционная алгебра
- •Учебный проект DreamHome
- •Реляционная алгебра (продолжение)
- •Выборка (или ограничение)
- •Проекция
- •Декартово произведение
- •Объединение
- •Разность
- •Операции соединения
- •Tema-соединение (θ-join)
- •Естественное соединение
- •Внешнее соединение
- •Полусоединение
- •Пересечение
- •Деление
- •Другие языки
- •Примеры применения реляционной алгебры
- •Обзор жизненного цикла информационных систем
- •Жизненный цикл приложения баз данных
- •Проектирование базы данных
- •Проектирование баз данных на основе восходящего подхода (Метод нормализации или декомпозиции)
- •Цель нормализации
- •Проблемы, вызываемые использованием единственного отношения (аномалии обновления)
- •Проблема вставки
- •Проблема обновления
- •Проблемы удаления
- •Функциональные зависимости
- •Процесс нормализации
- •Декомпозиция без потерь и функциональные зависимости
- •Первая нормальная форма (1 нф) (из Коннолли)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (знф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •4 И 5 нормальные формы (4нф и 5нф)
- •Пример нормализации
- •. Другая декомпозиция отношения консультант
- •Некоторые комментарии к декомпозиционному алгоритму проектирования
- •Некоторые модификации алгоритма проектирования Избыточные функциональные зависимости
- •Транзитивные зависимости
- •Добавление атрибутов в фз
- •Правила вывода
- •Алгоритм проектирования бд методом декомпозиции (восходящий метод)
- •Проверка отношений на завершающей фазе их проектирования
- •Задачи к текущему материалу
- •Пример аномалий для 2нф
- •Нормальная форма Бойса—Кодда (нфбк) с примером аномалий для 3 формы
- •Язык sql
- •Запрос одиночной таблицы
- •Проектирование в sql
- •Выборка в sql
- •Сортировка
- •Встроенные функции sql
- •Встроенные функции и группировка
- •Запрос нескольких таблиц
- •Вложенные запросы
- •Соединение с помощью sql
- •Сравнение вложенного запроса и соединения
- •Внешнее соединение
- •Операторы exists и not exists
- •Изменение данных
- •Insert into запись
- •Insert into запись
- •Insert into третьекурсник
- •Удаление данных
- •Модификация данных
- •Запрос на sql с exist и not exist (реализация реляционной операции Деления)
- •Операция внешнего соединения таблиц в access (Мои замечания)
- •Псевдонимы столбцов и таблиц
- •Уточнения запроса
- •Теоретико-множественные операции
- •Декартово произведение наборов записей
- •Объединение наборов записей (union)
- •Пересечение наборов записей (intersect)
- •Intersect corresponding (id_компонента, Тип_компонента)
- •Вычитание наборов записей (except)
- •Операции соединения
- •Естественное соединение (natural join)
- •Условное соединение (join... On)
- •Соединение по именам столбцов (join... Using)
- •Внешние соединения
- •Левое соединение {left outer join)
- •Правое соединение {right outer join)
- •Внешнее соединение Преподаватель-Изучение-Предмет. Создание в access. Пример
- •Операторы exists и not exists
- •Низходящее проектирование бд на основе er-модели Модель «сущность—связь» и ее варианты
- •Реализация низходящего проектирования бд на основе er-модели
- •Типы сущностей
- •Способы представления сущностей на диаграмме
- •Атрибуты
- •Типы связей
- •Представление связей на диаграммах
- •Атрибуты связей
- •. Структурные ограничения
- •Показатель кардинальности
- •Степень участия
- •Примеры er-проектирования
- •Модель «сущность—связь» в другом рассмотрении
- •Элементы модели «сущность—связь»
- •Сущности
- •Атрибуты
- •Идентификаторы
- •Три типа бинарных связей
- •Диаграммы «сущность—связь»
- •Изображение атрибутов в диаграммах «сущность—связь»
- •Слабые сущности
- •Представление многозначных атрибутов при помощи слабых сущностей
- •Подтипы сущностей
- •Пример er-диаграммы
- •Документирование делового регламента
- •Модель «сущность—связь» и case-средства
- •Диаграммы «сущность—связь» в стиле uml
- •Сущности и связи в uml
- •Представление слабых сущностей
- •Представление подтипов
- •Конструкции ооп, введенные языком uml
- •Роль uml в базах данных на сегодняшний день
- •Примеры
- •Вопросы группы I
- •Вопросы группы II
- •Литература по курсу «базы и банки данных»
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
Кафедра 303
Белобжеский Л.А.
БАЗЫ И БАНКИ ДАННЫХ
Конспект лекций
Специальность 200103 – Авиационные приборы и измерительно-вычислительные комплексы
МАИ – 200___г.
Содержание
ВВЕДЕНИЕ В БАЗЫ ДАННЫХ 5
Отношения между прикладными программами и СУБД 14
Системы обработки баз данных 17
История баз данных 21
Организационный контекст 21
Реляционная модель 22
Коммерческие СУБД для микрокомпьютеров 23
Клиент-серверные приложения баз данных 24
Базы данных с использованием Интернет-технологий 24
Распределенные базы данных 25
Объектно-ориентированные СУБД 26
БАНК ДАННЫХ 28
Основные понятия и определения 28
Пользователи банков данных 30
БАЗА ДАННЫХ 31
Архитектура базы данных. Физическая и логическая независимость 32
Схемы и отображения 34
Независимость от данных 36
Система управления базами данных – СУБД 37
Процесс прохождения пользовательского запроса 39
Введение в разработку баз данных 41
Метаданные 41
Индексы 43
Метаданные приложений 44
СУБД 45
Подсистема средств проектирования 45
Подсистема обработки 45
Ядро СУБД 46
Создание базы данных 46
Процесс разработки базы данных 47
Моделирование данных 49
Функции СУБД 51
Модели данных 54
Объектные или инфологические модели данных 56
Модели данных на основе записей или даталогические 57
Реляционная модель данных 57
ПРЕПОДАВАТЕЛИ 58
. Физические модели данных 60
Концептуальное моделирование 60
РЕЛЯЦИОННАЯ МОДЕЛЬ 61
Структура реляционных данных 61
Внешний ключ 64
Альтернативная терминология 65
Математические отношения 66
Отношения в базе данных 68
Реляционные ключи 70
Реляционная целостность 71
Целостность сущностей 72
Ссылочная целостность 73
РЕЛЯЦИОННЫЕ ЯЗЫКИ 74
РЕЛЯЦИОННАЯ АЛГЕБРА 75
Учебный проект DreamHome 76
Реляционная алгебра (продолжение) 80
Выборка (или ограничение) 84
Проекция 84
Декартово произведение 85
Объединение 86
Разность 87
Операции соединения 87
Tema-соединение (θ-join) 87
Естественное соединение 88
Внешнее соединение 89
Полусоединение 90
Пересечение 90
Деление 91
Другие языки 92
ПРИМЕРЫ ПРИМЕНЕНИЯ РЕЛЯЦИОННОЙ АЛГЕБРЫ 93
ОБЗОР ЖИЗНЕННОГО ЦИКЛА ИНФОРМАЦИОННЫХ СИСТЕМ 100
Жизненный цикл приложения баз данных 100
Проектирование базы данных 101
Резюме 104
ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ НА ОСНОВЕ ВОСХОДЯЩЕГО ПОДХОДА (Метод нормализации или декомпозиции) 107
Цель нормализации 107
Проблемы, вызываемые использованием единственного отношения (аномалии обновления) 109
Проблема вставки 110
Проблема обновления 110
Проблемы удаления 112
Функциональные зависимости 112
ПРОЦЕСС НОРМАЛИЗАЦИИ 115
Декомпозиция без потерь и функциональные зависимости 116
Первая нормальная форма (1 НФ) (из Коннолли) 118
Вторая нормальная форма (2НФ) 119
Третья нормальная форма (ЗНФ) 122
Нормальная форма Бойса-Кодда (НФБК) 123
4 и 5 нормальные формы (4НФ и 5НФ) 124
ПРИМЕР НОРМАЛИЗАЦИИ 124
. Другая декомпозиция отношения КОНСУЛЬТАНТ 129
Некоторые комментарии к декомпозиционному алгоритму проектирования 130
НЕКОТОРЫЕ МОДИФИКАЦИИ АЛГОРИТМА ПРОЕКТИРОВАНИЯ 132
Избыточные функциональные зависимости 132
Транзитивные зависимости 133
Добавление атрибутов в ФЗ 134
Правила вывода 135
Алгоритм проектирования БД методом декомпозиции (восходящий метод) 138
Проверка отношений на завершающей фазе их проектирования 138
Задачи к текущему материалу 139
Пример аномалий для 2НФ 141
Нормальная форма Бойса—Кодда (НФБК) с примером аномалий для 3 формы 142
ЯЗЫК SQL 144
Запрос одиночной таблицы 145
Проектирование в SQL 146
Выборка в SQL 147
Сортировка 149
Встроенные функции SQL 150
Встроенные функции и группировка 151
Запрос нескольких таблиц 153
Вложенные запросы 153
Соединение с помощью SQL 154
Сравнение вложенного запроса и соединения 156
Внешнее соединение 157
Операторы EXISTS и NOT EXISTS 158
Изменение данных 159
Удаление данных 160
Модификация данных 161
Запрос на SQL с EXIST и NOT EXIST (реализация реляционной операции Деления) 161
ОПЕРАЦИЯ ВНЕШНЕГО СОЕДИНЕНИЯ ТАБЛИЦ В ACCESS 162
ПСЕВДОНИМЫ СТОЛБЦОВ И ТАБЛИЦ 163
Уточнения запроса 165
ТЕОРЕТИКО-МНОЖЕСТВЕННЫЕ ОПЕРАЦИИ 166
Декартово произведение наборов записей 166
Объединение наборов записей (UNION) 168
Пересечение наборов записей (INTERSECT) 170
Вычитание наборов записей (EXCEPT) 171
Операции соединения 171
Естественное соединение (NATURAL JOIN) 172
Условное соединение (JOIN... ON) 173
Соединение по именам столбцов (JOIN... USING) 174
Внешние соединения 175
Левое соединение {LEFT OUTER JOIN) 175
Правое соединение {RIGHT OUTER JOIN) 177
Внешнее соединение Преподаватель-Изучение-Предмет. Создание в ACCESS. ПРИМЕР 177
Операторы EXISTS и NOT EXISTS 178
НИЗХОДЯЩЕЕ ПРОЕКТИРОВАНИЕ БД НА ОСНОВЕ ER-МОДЕЛИ 180
Модель «сущность—связь» и ее варианты 180
РЕАЛИЗАЦИЯ НИЗХОДЯЩЕГО ПРОЕКТИРОВАНИЯ БД НА ОСНОВЕ ER-МОДЕЛИ 181
Типы сущностей 183
Способы представления сущностей на диаграмме 184
Атрибуты 184
Ключи 186
Типы связей 187
Представление связей на диаграммах 188
Атрибуты связей 191
. Структурные ограничения 192
Показатель кардинальности 192
Степень участия 194
ПРИМЕРЫ ER-ПРОЕКТИРОВАНИЯ 213
Модель «сущность—связь» в другом рассмотрении 216
Элементы модели «сущность—связь» 216
Сущности 216
Атрибуты 217
Идентификаторы 217
Связи 218
Три типа бинарных связей 218
Диаграммы «сущность—связь» 220
Изображение атрибутов в диаграммах «сущность—связь» 221
Слабые сущности 222
Представление многозначных атрибутов при помощи слабых сущностей 224
Подтипы сущностей 225
Пример ER-диаграммы 227
Документирование делового регламента 228
Модель «сущность—связь» и CASE-средства 228
Диаграммы «сущность—связь» в стиле UML 229
Сущности и связи в UML 229
Представление слабых сущностей 230
Представление подтипов 231
Конструкции ООП, введенные языком UML 232
Роль UML в базах данных на сегодняшний день 233
Примеры 234
Резюме 243
Вопросы группы I 244
Вопросы группы II 245
ЛИТЕРАТУРА ПО КУРСУ «БАЗЫ И БАНКИ ДАННЫХ» 246
Введение в базы данных
Базы данных всегда были важной темой при изучении информационных систем. Но именно в последние годы, благодаря бурному развитию Интернета и связанному с этим технологическому прорыву, знание технологии баз данных стало одним из наиболее популярных путей к карьере. Технология баз данных позволяет сделать Интернет-приложение чем-то большим, чем просто средство для публикации брошюр, что было характерно для ранних приложений. В то же время Интернет-технологии обеспечивают стандартизированный и доступный способ доставки содержимого базы данных пользователям. Ни одно из этих новых обстоятельств не отменяет необходимости в классических приложениях баз данных, которые были незаменимы в бизнесе до появления Интернета, — они лишь усиливают важность знаний о базах данных.
Многие студенты находят этот предмет интересным и увлекательным, хотя порой он может быть трудным. Проектирование и разработка баз данных требуют одновременно и искусства, и инженерных навыков. Понимание требований пользователя и воплощение этих требований в эффективной логической структуре базы данных является искусством. Преобразование логической структуры в физическую базу данных с функционально завершенными, высокопроизводительными приложениями представляет собой инженерную задачу. Оба эти аспекта сулят множество трудных и увлекательных интеллектуальных головоломок.
Из-за крайне высокой востребованное™ технологии баз данных навыки и знания, полученные вами в процессе изучения этого курса, будут иметь огромный спрос. Цель этой книги — заложить в вас твердые знания основ технологии баз данных, чтобы вы могли начать успешную карьеру в этой области, если таков будет ваш выбор.
Четыре примера применения баз данных
Задача базы данных состоит в том, чтобы помочь людям в учете различного рода вещей. В классических приложениях баз данных ведется учет заказов, клиентов, выполненных работ, сотрудников, телефонных звонков и многих других вещей, представляющих интерес для предпринимателя. В последнее время технология баз данных используется в Интернете не только для этих традиционных нужд, но и для новых приложений, к которым относится, например, реклама, настроенная
на характеристики потребителей, и отслеживание предпочтений клиентов при просмотре веб-страниц и покупке товаров. Такие базы данных, наряду с традиционными числовыми данными — именами, датами и номерами телефонов, включают в себя картинки, а также аудио- и видеоинформацию. Следующие четыре примера иллюстрируют применение технологии баз данных в широком спектре областей.
Малярная фирма Мэри Ричардс
Мэри Ричардс — профессиональный маляр, владеет и управляет небольшой компанией, состоящей из нее самой, еще одного профессионального маляра и, когда это необходимо, наемных работников. Мэри занимается этим бизнесом уже 10 лет и приобрела за это время репутацию высококвалифицированного маляра, работающего за умеренную плату. Большую часть заказов она получает от постоянных клиентов, нанимающих ее для покраски домов, а также от их знакомых. Кроме того, некоторое количество заказов Мэри получает от строительных подрядчиков и профессиональных дизайнеров интерьера.
Клиенты помнят Мэри намного лучше, чем она их. Порою она бывает смущена, когда клиент звонит ей и говорит что-нибудь такое: «Здравствуйте, Мэри, это Джон Мэплз. Вы красили мой дом три года назад». При этом звонящий подразумевает, что Мэри вспомнит его и работу, которую она для него сделала; но если учесть, что Мэри красит более 50 домов в год, для нее это будет затруднительно. Ситуация становится еще хуже, когда клиент заявляет: «Моей соседке понравилось, как вы покрасили наш дом, и она хочет, чтобы вы и у нее сделали что-нибудь вроде этого».
Чтобы несколько разгрузить свою память и лучше организовать учет деятельности фирмы, Мэри наняла консультанта для разработки базы данных, которую она могла бы хранить на своем персональном компьютере. В базе данных должны храниться записи о клиентах, заказах и поставщиках клиентов, представленные в форме таблиц (рис. 1.1).
Записью и получением данных из этих таблиц занимается специальная программа, называемая системой управления базой данных (database management system), или СУБД (DBMS). К сожалению, эти данные, будучи представлены в форме таблиц, не слишком полезны для Мэри. Ей скорее хотелось бы знать, как клиенты и заказы связаны друг с другом, — например, какие работы были выполнены ею для конкретного клиента или какие клиенты были направлены к ней конкретным человеком.
Чтобы предоставить Мэри такую возможность, консультант создал прикладную программу (application program), которая обрабатывает формы (forms) для ввода данных и формирует отчеты (reports). Рассмотрим пример, представленный на рис. 1.2. В изображенную здесь форму Мэри вводит личные данные клиента — имя, телефон и адрес. Далее она вводит сведения о работах, выполненных для клиента, и указывает, кто направил этого клиента к ней. Эти данные могут быть затем отражены в отчете, пример которого показан на рис. 1.3. Другие функции этой базы данных включают оценку стоимости заказа, учет поставщиков клиентов и создание наклеек с адресом для рекламных буклетов, которые Мэри время от времени рассылает.
Рис. 1.1. Таблицы данных для малярной фирмы Мэри Ричардс
Рис. 1.2. Пример формы для ввода данных для малярной фирмы Мэри Ричардс
Рис. 1.3. Пример отчета для малярной фирмы Мэри Ричардс
Прикладная программа и СУБД обрабатывают заполненную форму и переписывают данные из нее в таблицы, подобные изображенным на рис. 1.1. Аналогичным образом прикладная программа и СУБД извлекают данные из этих таблиц для создания отчетов, таких как представленные на рис. 1.3.
Еще раз вернувшись к рис. 1.1, обратите внимание, что строки таблицы содержат перекрестные ссылки и поэтому оказываются связанными друг с другом. Для каждой работы (JOB) указан номер клиента (CUSTOMER_ID), заказавшего эту работу, и для каждого клиента (CUSTOMER) указан номер поставщика клиента (SOURCE_.ID), то есть человека, направившего этого клиента к Мэри. Эти ссылки используются для объединения данных в формы и отчеты.
Как вы можете догадаться, Мэри вряд ли имеет представление о том, как проектировать таблицы, создавать их с помощью СУБД и разрабатывать прикладную программу для создания форм и отчетов. Но ваших знаний технологии баз данных к моменту окончания этого курса должно хватить для того, чтобы суметь разработать такую базу данных и прикладную программу для работы с ней. Вы должны будете также уметь проектировать таблицы и манипулировать ими для создания довольно сложных форм и отчетов.
Бюро проката музыкальных инструментов Treble Clef Music
База данных Мэри Ричардс называется однопользовательской (single-user), по-;кольку в каждый конкретный момент времени к ней обращается только один пользователь. В некоторых случаях такое ограничение неприемлемо: иногда требуется, чтобы одновременно к базе данных могли обращаться несколько человек с различных компьютеров. Такие многопользовательские (multi-user) базы данных являются более сложными, поскольку СУБД и прикладные программы должны заботиться о том, чтобы действия одного пользователя не противоречили действиям другого.
Бюро проката Treble Clef Music использует базу данных для учета сдаваемых в аренду музыкальных инструментов. Для этого требуется многопользовательская база данных, поскольку в периоды наплыва клиентов выдачей музыкальных инструментов могут одновременно заниматься несколько служащих. Кроме того, менеджер также должен иметь доступ к базе данных, чтобы определить момент, когда необходимо будет заказать большее количество определенных инструментов. При этом менеджер не хочет мешать процессу выдачи инструментов.
Бюро Treble Clef Music имеет локальную сеть, соединяющую несколько персональных компьютеров с сервером, на котором находится база данных (рис. 1.4). У каждого из служащих есть доступ к прикладной программе, позволяющей работать с тремя видами форм. Форма CUSTOMER (рис. 1.5, а) содержит информацию о клиенте, форма RENTAL AGREEMENT (рис. 1.5, б) представляет договор аренды и используется для учета выдачи и возврата инструментов, а форма INSTRUMENT (рис. 1.5, в) содержит сведения об инструменте и историю его аренды.
Рис. 1.4. Локальная сеть бюро проката Treble Clef Music
Рис. 1.5. Формы, используемые бюро Treble Clef: a — информация о покупателе; б — договор аренды; в — сведения об инструменте
Чтобы уяснить проблемы, которые необходимо преодолеть в многопользовательской базе данных, представьте себе, что произойдет, если два клиента одновременно попытаются взять напрокат один и тот же кларнет си бемоль. СУБД и прикладная программа должны каким-то образом обнаружить эту ситуацию и сообщить служащим, что им следует выбрать другой инструмент.
Бюро лицензирования и регистрации
Рассмотрим теперь еще более обширное приложение технологии баз данных — государственное бюро регистрации автомобилей и выдачи водительских прав. В него входят 52 центра, где принимаются экзамены по вождению и осуществляется выдача и продление прав, а также 37 офисов, занимающихся регистрацией транспортных средств.
Персонал этих офисов использует в своей работе базу данных. Прежде чем конкретному лицу будут выданы или продлены права, в базе данных просматриваются сведения об этом лице на предмет наличия нарушений правил дорожного движения, ДТП или задержаний. На основе этих данных принимается решение, могут ли права быть продлены, и если да, то будут ли в них какие-либо ограничения. Аналогичным образом, персонал в отделе регистрации автомобилей обращается к базе данных, чтобы определить, был ли автомобиль зарегистрирован ранее, а если был, то на чье имя, и нет ли каких-либо из ряда вон выходящих причин, по которым в регистрации следует отказать.
У этой базы данных сотни пользователей, включая не только персонал, занимающийся регистрацией и выдачей прав, но и служащих финансового управления, а также сотрудников правоохранительных органов. Неудивительно, что база является большой и сложной и имеет более 40 таблиц, причем некоторые из них содержат сотни тысяч строк данных.
Большие организационные базы данных, подобные только что рассмотренной нами, были первыми приложениями технологии баз данных. Подобные системы находятся в эксплуатации уже в течение 20 или 30 лет и за этот период неоднократно модифицировались в соответствии с менявшимися требованиями времени. Существуют организационные базы данных, предназначенные для ведения счетов в банках и других финансовых институтах, учета готовой продукции и комплектующих на складах больших предприятий, обработки медицинской документации в госпиталях и страховых компаниях, а также для правительственных нужд.
Сегодня многие организации модифицируют прикладные программы своих баз данных, чтобы дать клиентам возможность обращаться к этим данным и даже вносить в них изменения через Интернет. Если вы работаете на большую организацию, то вас вполне могут подключить к подобному проекту.
Туристический информационный центр
Калверт-Айленд — это прекрасный, но малоизвестный остров на западном побережье Канады. Для продвижения острова на мировой туристический рынок Совет по коммерции Калверт-Айленда разработал сайт, преследующий три цели:
4- рекламу природных условий Калверт-Айленда, а также мест отдыха и развлечений;
+ запись имен и адресов посетителей сайта для последующей рассылки им рекламной информации;
4- прием запросов на бронирование мест в гостиницах, аренду коттеджей и туристическое обслуживание, а также направление этих запросов соответствующим фирмам.
Рис.
1.6. Web-страница
туристического информационного центра
Калверт-Айленда
Другой тип пользователей рекламной базы данных — это сотрудники Совета по коммерции, осуществляющие поддержку сайта. Сотрудники могут добавлять, изменять и удалять данные и мультимедийные файлы из базы данных, по мере того как сменяется реклама, фирмы присоединяются к программе и покидают ее, а также удовлетворяются пожелания пользователей.
Кроме рекламной базы данных, прикладные программы сайта обращаются к базе данных клиентов. В ней хранятся сведения, предоставляемые посетителями сайта при заполнении анкеты и при запросе на бронирование или обслуживание. Сюда относятся имя клиента, почтовый и электронный адреса, интересы, предпочтения и предмет запроса. Когда посетитель вводит запрос, прикладная программа пересылает его по электронной почте соответствующей фирме. Время от времени фирмам рассылаются сводки всех запросов, поступивших за определенный период, для контроля за их выполнением и других управленческих целей.
Есть три основных аспекта, отличающих базу данных острова Калверт-Айленд от рассмотренных нами ранее приложений. Во-первых, рекламная база данных в значительной своей части содержит не только структурированные данные, такие как имена и адреса фирм, но также неструктурированные потоки битов в мультимедийных файлах. Во-вторых, прикладная программа доставляет информацию пользователю посредством стандартного браузера. Вид форм, которые используются в малярной фирме Мэри Ричардс, бюро проката музыкальных инструментов и бюро лицензирования и регистрации, определяется проектировщиком и изменяется только при модификации приложения. То, в каком виде формы предстают перед пользователями базы данных Калверт-Айленда, определяется не только приложением, но и маркой, версией и локальными настройками их браузеров.
Третья характеристика, отличающая базу данных Калверт-Айленда, — это применение стандартной web-ориентированной технологии для передачи данных между браузером, приложением и базой данных. При этом используются протокол передачи гипертекста (HTTP), динамический язык разметки гипертекстовых документов (DHTML) и расширяемый язык разметки (XML). Использование этих стандартов означает, что доступ к этому приложению может получить любой пользователь, имеющий браузер. Предварительной установки какого-либо программного обеспечения не требуется. Следовательно, возможности для использования этого приложения практически не ограничены. В главах 14-16 мы обсудим роль, которую играют HTTP, DHTML и XML в работе с базами данных, в которых:
+ присутствуют как структурированные, так и мультимедийные данные;
+ формы и отчеты отображаются с помощью стандартного браузера;
+ для передачи данных применяются стандарты Интернета — HTTP, DHTML и XML.
Сравнение четырех типов баз данных
Приведенные примеры демонстрируют возможные варианты использования технологии баз данных. Есть сотни тысяч баз данных, похожих на ту, что имеется в малярной фирме Мэри Ричардс, — однопользовательские базы данных с относи-
тельно небольшим количеством данных, скажем, менее 10 Мбайт, Формы и отчеты для этих баз данных имеют обычно довольно простой вид.
У других баз данных, подобных той, что используется в бюро проката Treble Clef Music, несколько пользователей, но общее их количество обычно не превышает 20-30 человек. Они содержат умеренное количество данных — например, 50 или 100 Мбайт. Формы и отчеты должны быть достаточно сложными, чтобы поддерживать несколько различных деловых функций.
Самые большие размеры у баз данных, подобных той, что мы рассматривали для случая бюро регистрации автомобилей, — у них сотни пользователей и триллионы байтов данных. Для работы с этими базами данных используется множество различных приложений, у каждого из которых свои собственные формы и отчеты. Наконец, некоторые базы данных применяют Интернет-технологии и обрабатывают как символьные, так и мультимедийные данные — изображения, звуки, анимацию, видео и т. п. Сравнительные характеристики перечисленных типов баз данных приведены в табл. 1.1.
Прочтя книгу, вы сможете проектировать и реализовывать базы данных наподобие тех, что используются в малярной фирме Мэри Ричардс и в бюро проката Treble Clef Music. Возможно, вы будете еще не в состоянии создавать такие большие и сложные базы данных, как та, что используется в бюро регистрации транспортных средств, но, тем не менее, сможете быть полезным членом команды по разработке и созданию такой базы данных. Вы также сможете создавать небольшие или средних размеров базы данных, использующие Интернет-технологии.
