- •Глава 1 введение в банки данных 12
 - •Глава 2 концептуальное проектирование 72
 - •Глава 3 даталогическое проектирование 184
 - •Глава 4 целостность базы данных 234
 - •Глава 5 создание и ведение баз данных 252
 - •Глава 6 язык запросов qbe 295
 - •Глава 7 язык sql 348
 - •Глава 8 создание экранных форм и страниц доступа 401
 - •Глава 9 создание отчетов 442
 - •Глава 10 распределенные банки данных 475
 - •Предисловие
 - •Глава 1 введение в банки данных
 - •1.1. Понятие банка данных
 - •1.2. Компоненты банка данных
 - •1.2.1. Информационный компонент
 - •1.2.2. Программные средства БнД
 - •1.2.3. Языковые средства БнД
 - •1.2.4. Технические средства БнД
 - •1.2.5. Организационно-методические средства
 - •1.2.6. Администраторы банка данных
 - •1.2.7. Взаимодействие компонентов БнД
 - •1.3. Классификация банков данных
 - •1.3.1. Классификация баз данных
 - •1.3.2. Классификации субд
 - •1.3.3. Классификационные группировки, относящиеся к БнД в целом
 - •1.4. Выбор субд
 - •1.4.1. Тенденции развития субд
 - •1.4.2. Общая характеристика проблемы выбора субд
 - •1.4.3. Факторы влияния на выбор субд
 - •1.4.4. Выбор субд
 - •1.5. Уровни моделей и этапы проектирования бд
 - •1.5.1. Уровни моделей
 - •1.5.2. Взаимосвязь этапов проектирования бд
 - •1.5.3. Факторы влияния на проектирование бд
 - •На это следует обратить внимание
 - •Контрольные вопросы
 - •Глава 2 концептуальное проектирование
 - •2.1. Общие сведения о моделировании предметной области
 - •2.1.1. Уточнение понятия концептуальной модели
 - •2.1.2. Основные компоненты концептуальной модели
 - •2.1.3. Требования, предъявляемые к концептуальной модели
 - •2.1.4. Преимущества использования er-моделирования
 - •2.2. Описание базовой er-модели
 - •2.2.1. Понятия «объект» и «класс объектов»
 - •2.2.2. Разновидности объектов
 - •2.2.3. Изображение простого объекта
 - •2.2.4. Описание свойств объекта. Разновидности свойств
 - •2.2.5. Алгоритмические зависимости
 - •2.2.6. Интегральные характеристики класса объектов
 - •2.2.7. Связи между объектами
 - •2.2.8. Сложные объекты
 - •2.2.9. Рекомендации по построению базовой er-модели
 - •2.3. Сравнение методик построения er-моделей
 - •2.3.1. Несущественные различия в использовании условных обозначений
 - •2.3.2. Различия в использовании и изобразительных средств, приводящие к изменениям в методике построения модели
 - •2.3.3. Пространственное размещение элементов er-модели
 - •2.3.4. Отсутствующие возможности
 - •2.3.5. Различия в классификации объектов и отношений между ними
 - •2.3.6. Терминологические различия
 - •2.3.7. Соглашения по именованию элементов er-модели
 - •2.3.8. Дополнительные характеристики case-средств
 - •2.3.9. Использование графических пп для изображения er-моделей
 - •2.4. Особенности методологии построения er-моделей
 - •2.5. Использование Design/idef для проектирования баз данных
 - •2.5.1. Построение er-модели при использовании Design/idef Общая характеристика
 - •Описание сущности
 - •Описание связи
 - •Описание обобщенного объекта
 - •2.5.2. Методология построения er-модели при использовании Design/idef
 - •2.6. Особенности моделирования в erWin
 - •2.6.1. Общие замечания Уточнение терминологии
 - •Нотации, используемые при построении концептуальной модели
 - •2.6.2. Построение логической модели Создание новой сущности
 - •Описание свойств сущности
 - •Дополнительные свойства атрибутов
 - •Описание обобщенных объектов
 - •Задание связей между сущностями
 - •2.6.3. Особенности методологии моделирования
 - •На это следует обратить внимание
 - •Контрольные вопросы
 - •Глава 3 даталогическое проектирование
 - •3.1. Общие сведения о даталогическом проектировании
 - •3.1.1. Исходные данные для даталогического проектирования
 - •3.1.2. Результат даталогического проектирования
 - •3.1.3. Подход к даталогическому проектированию
 - •3.1.4. Определение состава базы данных
 - •3.1.5. Введение искусственных идентификаторов
 - •3.1.6. Критерии оценки бд
 - •3.2. Особенности даталогических моделей
 - •3.2.1. Внутризаписная структура
 - •3.2.2. Межзаписная структура
 - •3.3. Проектирование логической структуры реляционной базы данных
 - •3.3.1. Вводные положения
 - •3.3.2. Алгоритм перехода от базовой er-модели к схеме реляционной базы данных
 - •Отображение простых объектов
 - •Отображение связи между объектами
 - •Отображение сложных объектов
 - •Использование дополнительных характеристик концептуальной модели
 - •Дополнительные рекомендации по проектированию бд
 - •3.4. Создание физической модели в erWin
 - •3.4.1. Выбор целевой субд
 - •3.4.2. Нотации, используемые при построении физической модели
 - •3.4.3. Уровни просмотра физической модели
 - •3.4.4. Сравнение логической и физической моделей
 - •3.4.5. Создание хранилищ данных
 - •3.4.6. Переход к даталогической модели
 - •На это следует обратить внимание
 - •Контрольные вопросы
 - •Глава 4 целостность базы данных
 - •4.1. Классификация ограничений целостности
 - •4.3. Задание ограничений целостности в erWin
 - •4.3.1. Обязательный атрибут
 - •4.3.2. Ограничения целостности связи
 - •4.3.3. Триггер ссылочной целостности
 - •На это следует обратить внимание
 - •Контрольные вопросы
 - •Глава 5 создание и ведение баз данных
 - •5.1. Описание структуры баз данных. Общие сведения
 - •5.2. Создание бд в Microsoft Access
 - •5.2.1. Создание новой таблицы путем описания ее структуры
 - •Описание полей таблицы
 - •Определение ключа таблицы
 - •Свойства полей
 - •Сохранение описания таблицы
 - •Создание таблиц для контрольного примера
 - •5.2.2. Изменение структуры таблиц
 - •5.2.3. Другие способы создания таблиц
 - •5.2.4. Связывание таблиц
 - •5.2.5. Просмотр связанных таблиц
 - •5.2.6. Задание ограничений целостности в Access
 - •Ограничения, относящиеся к полю
 - •Ограничения, относящиеся к записи
 - •Целостность связи
 - •5.3. Организация ввода и корректировки данных в бд
 - •5.3.1. Общие сведения
 - •5.3.2. Возможности ввода данных в Access
 - •На это следует обратить внимание
 - •Контрольные вопросы
 - •Глава 6 язык запросов qbe
 - •6.1. Общая характеристика языка qbe
 - •6.2. Реализация ове в Access
 - •6.2.1. Общие сведения
 - •Добавление таблиц в запросе
 - •Удаление таблицы из запроса
 - •6.2.4. Включение полей в запрос
 - •6.2.5. Поля, выводимые в ответ
 - •6.2.6. Управление выводом повторяющихся строк
 - •6.2.7. Простые запросы
 - •6.2.8. Сложные запросы
 - •6.2.9. Просмотр ответа
 - •6.2.10. Определение числа записей, выводимых в ответ
 - •6.2.11. Формирование запросов к связанным таблицам
 - •6.2.12. Выполнение агрегирующих операторов
 - •6.2.13. Вычисляемые поля
 - •6.2.14. Перекрестные запросы
 - •6.2.15. Создание запроса с параметрами
 - •6.2.16. Корректирующие запросы
 - •6.2.17. Запрос на создание таблицы
 - •6.2.18. Специальные запросы
 - •6.2.19. Режим сводной таблицы и сводной диаграммы
 - •На это следует обратить внимание
 - •Контрольные вопросы
 - •Глава 7 язык sql
 - •7.1. Общая характеристика sql
 - •7.2. Описание базы данных
 - •7.2.1. Описание таблиц
 - •7.2.2. Ограничения целостности
 - •7.3. Запросы на выборку
 - •7.4. Возможности корректировки хранимых данных
 - •7.5. Создание представлений (view)
 - •7.6. Создание и использование курсоров
 - •Управление транзакциями
 - •7.8. Стандартный sql-92
 - •7.8.1. Создание объектов Виды объектов
 - •Определение таблицы
 - •Определение домена
 - •7.8.2. Запросы Оператор select
 - •Запросы, затрагивающие несколько таблиц
 - •Корректирующие операторы
 - •7.8.3. Создание представлений (view) Оператор create view
 - •Цели использования представлений
 - •Ограничения при использовании представлений
 - •Создание представлений с использованием erWin
 - •7.8.4. Курсоры
 - •7.9.1. Оператор select Общая характеристика оператора
 - •Предложение select
 - •Предложение from
 - •Предложение where
 - •Предложение group by
 - •Предложение having
 - •Предложение order by
 - •7.9.2. Подчиненные запросы sql
 - •7.9.3. Корректирующие операторы Добавление
 - •Обновление
 - •Удаление записей
 - •7.9.4. Запрос к серверу
 - •На это следует обратить внимание
 - •Контрольные вопросы
 - •Глава 8 создание экранных форм и страниц доступа
 - •8.1. Понятие, классификация и роль экранных форм
 - •8.2. Рекомендации по созданию форм
 - •8.3. Создание экранных форм в субд Access
 - •8.3.1. Выбор способа создания формы
 - •8.3.2. Создание форм с помощью Мастера Создание простой связанной формы с помощью Мастера
 - •Создание многотабличной формы с помощью Мастера
 - •8.3.3. Корректировка формы в режиме Конструктор
 - •Изменения, связанные с уже включенными в форму элементами управления
 - •Включение новых элементов в форму
 - •Изменение типа элемента управления
 - •Создание форм, состоящих из нескольких страниц
 - •Последовательность обхода полей
 - •Свойства формы
 - •Задание ограничений целостности при создании форм
 - •Добавление кнопок в форму
 - •8.3.4. Кнопочная форма
 - •8.3.5. Возможные случаи возникновения ошибок
 - •8.3.6. Открытие формы в режиме сводной таблицы или в режиме диаграммы
 - •8.3.7. Создание страниц доступа
 - •На это следует обратить внимание
 - •Контрольные вопросы
 - •Глава 9 создание отчетов
 - •9.1. Общая характеристика отчетов
 - •9.2. Создание отчетов в системе Access
 - •9.2.1. Выбор способа создания отчета
 - •9.2.2. Создание отчетов с использованием Мастера отчетов
 - •9.2.3. Корректировка отчета в режиме Конструктор Переход в режим Конструктор
 - •Корректировка отчета
 - •Вычисления в отчете
 - •Ввод нового поля в отчет
 - •Группировка
 - •Использование графических элементов
 - •Задание номеров страниц
 - •9.2.4. Создание отчета, базирующегося на нескольких таблицах
 - •9.2.5. Создание сложных отчетов
 - •9.2.6. Свойства
 - •9.2.7. Создание отчета анкетной формы
 - •9.2.8. Совместная работа с другими приложениями ms Office
 - •На это следует обратить внимание
 - •Контрольные вопросы
 - •Глава 10 распределенные банки данных
 - •10.1. Основные понятия
 - •10.2. Классификация рБнД
 - •10.3. Транзакции
 - •10.3.1. Понятие транзакции
 - •10.3.2. Плоские транзакции
 - •10.3.3. Контрольные точки
 - •10.3.4. Многозвенные транзакции
 - •10.3.5. Вложенные транзакции
 - •10.4. Проблемы параллелизма и пути их решения
 - •10.4.1. Параллелизм
 - •10.4.2. Блокировки
 - •10.4.3. Режимы доступа к информации
 - •10.4.4. Уровни изоляции в sql
 - •10.4.5. Использование хранимых процедур и триггеров для контроля целостности бд
 - •10.5. Тиражирование данных
 - •10.5.1. Основные понятия
 - •10.5.2. Преимущества и недостатки тиражирования
 - •10.5.3. Виды тиражирования
 - •10.6. Обеспечение целостности и безопасности данных в рбд
 - •10.6.1. Особенности обеспечения целостности в рбд
 - •10.6.2. Средства защиты данных Способы защиты данных
 - •Создание и удаление пользователей
 - •Определение и отмена привилегий
 - •10.7. Работа в распределенной среде при использовании субд Access
 - •10.7.1. Способы совместного использования данных в Access
 - •10.7.2. Виды блокировок
 - •10.7.3. Проекты Microsoft Access
 - •10.7.4. Средства защиты Microsoft Access Управление правами доступа пользователей
 - •Средства защиты бд
 - •На это следует обратить внимание
 - •Контрольные вопросы
 - •Приложения
 - •1. Основные понятия реляционной модели данных
 - •1. Информационные единицы.
 - •2. Ключи.
 - •3. Связи.
 - •2. Сквозной пример использования er-моделирования для проектирования бд
 - •Глоссарий
 - •Литература
 - •Сокращения
 
1.4.2. Общая характеристика проблемы выбора субд
Выбор СУБД является чрезвычайно сложной проблемой, как в научно-методическом, так и в практическом плане. Осуществить строго формализованный выбор СУБД практически невозможно.
Факторы, влияющие на выбор СУБД, можно разделить на ряд групп. Прежде всего, можно выделить факторы, характеризующие саму СУБД и программные средства ее окружения. Другая группа факторов связана с инфраструктурой, сложившейся вокруг каждого из программных продуктов. Третья группа связана с особенностями предполагаемого использования СУБД.
Системы управления базами данных являются сложными языково-программными продуктами. Для их характеристики используется большое число разнообразных качественных и количественных параметров. Причем число и конкретный перечень параметров будут зависеть от класса СУБД (так, например, перечень параметров для характеристики клиент-серверных и настольных систем будет различным). Каждый из классификационных признаков БнД, рассмотренных выше, оказывает влияние на выбор СУБД.
Возможны разные подходы к выбору СУБД. Часто используется упрощенный подход, заключающийся в том, что определяется класс требуемой СУБД, а затем выбирается наиболее популярная на данный момент система данного класса.
Для более обоснованного выбора СУБД необходимо иметь список СУБД-претендентов с описанием их параметров. Желательно, чтобы начальный список был достаточно полным.
Характеристики СУБД рассматриваются с разной степенью детализации в зависимости от стоящих перед проектировщиком задач.
Необходимо определить набор свойств, которым обязательно должна соответствовать выбираемая СУБД (например, обеспечивать должный уровень безопасности, функционировать в определенной операционной среде, поддерживать заданные информационные технологии и др.). Чем более широким и конкретным будет этот список требований, тем уже будет круг выделенных СУБД-претендентов для дальнейшего выбора. Но, с другой стороны, априорное определение такого набора требований может быть не совсем обоснованным.
Обычно сначала осуществляется предварительный отбор СУБД-претендентов по качественным параметрам, а только потом - по количественным. Когда говорят о количественных показателях, чаще всего речь идет о времени выполнения тех или иных операций обработки данных, хотя количественные характеристики этим не ограничиваются.
Среди количественных характеристик можно указать и требуемый объем памяти, как для программного обеспечения, так и для собственно БД, и ограничения, налагаемые СУБД на максимальный объем БД, и максимальное число одновременно поддерживаемых транзакций и др. Часто используются и сложные показатели, такие, как стоимость хранения единицы информации, стоимость выполнения приведенной операции или стоимость «владения» информацией.
Количественные показатели можно определять как расчетным, так и экспериментальным путем.
При определении временных характеристик СУБД чаще всего речь идет о тестах на быстродействие. Формальное тестирование заключается в том, что на некотором заданном наборе данных выполняются некоторые операции или наборы операций. Эти операции задаются в терминах СУБД (индексация, чтение с произвольным поиском, удаление и т.п.). Чаще всего такое тестирование проводится либо самими разработчиками СУБД, либо, что лучше, независимыми тестовыми лабораториями. Опубликованные результаты такого тестирования могут помочь в выборе СУБД большому числу потенциальных пользователей.
Функциональное тестирование [37] состоит в том, что исследуются характеристики СУБД при решении определенной прикладной задачи, для реализации которой и выполняется выбор СУБД. При этом требуется реализовать заданные функции. Этот подход дает более точные результаты, однако он очень трудоемкий, что осложняет его практическое использование.
