- •Глава 1 введение в банки данных 12
- •Глава 2 концептуальное проектирование 72
- •Глава 3 даталогическое проектирование 183
- •Глава 4 целостность базы данных 233
- •Глава 5 создание и ведение баз данных 251
- •Глава 6 язык запросов qbe 294
- •Глава 7 язык sql 347
- •Глава 8 создание экранных форм и страниц доступа 400
- •Глава 9 создание отчетов 441
- •Глава 10 распределенные банки данных 474
- •Предисловие
- •Глава 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.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.2. Er-модели и ограничения целостности
- •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. Ms Jet Access sql
- •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-моделирования для проектирования бд
- •Глоссарий
- •Литература
- •Сокращения
Глоссарий
2РС - см. Фиксация двухфазная
ER-модель - модель предметной области, отражающая объекты и связи между ними (синонимы: модель «сущность-связь», модель «объект-свойство-связь», концептуальная модель)
SQL-сервер - собирательный термин, относящийся ко всем серверам баз данных, основанных на SQL
Администратор банка данных (АБД) - группа специалистов, обеспечивающих создание, функционирование и развитие БнД
База данных - поименованная совокупность взаимосвязанных данных, находящихся под управлением СУБД
База данных иерархическая - структурированная БД, реализующая иерархическую модель данных
База данных интегрированная - централизованная база данных, предназначенная для многопользовательского обращения
База данных источника - база данных, расположенная на одном из узлов вычислительной сети, после внесения некоторых изменений, в которую возникает необходимость отразить эти изменения на других узлах сети
База данных коммерческая - база данных, предназначенная для продажи
База данных неструктурированная - БД, не требующая предварительного проектирования и описания структуры БД
База данных персональная - база данных, предназначенная для локального использования одним пользователем
База данных приемника - база данных, на которую распространяются изменения в базе данных источника
База данных распределенная (DDB - Distributed DataBase) - совокупность множества взаимосвязанных баз данных, распределенных в компьютерной сети
База данных реляционная - структурированная БД, реализующая реляционную модель данных
База данных сетевая - структурированная БД, реализующая сетевую модель данных
База данных структурированная - БД, требующая предварительного проектирования и описания структуры БД
Банк данных - система специальным образом организованных данных (баз данных), программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных
Банк данных коммерческий - банк данных, основной целью создания которого является получение прибыли от информационной деятельности.
Банк данных распределенный (РБнД) - БнД, в котором распределен хотя бы какой-либо один компонент БнД (не обязательно БД)
Блокировка - запрещение некоторых операций над данными (чаще - корректировки информации), если их обрабатывает (корректирует) другой пользователь
Владелец информационных ресурсов, информационных систем, технологий и средств их обеспечения - субъект, осуществляющий владение и пользование указанными объектами и реализующий полномочия распоряжения в пределах, установленных законом
Группа пользователей - пользователи, наделенные одинаковым набором привилегий
Идентификатор - уникальное имя объекта
Источник - узел, содержащий базу данных источника
Источник информации - субъект, который порождает информацию
Категории - объекты, составляющие обобщенный объект
Класс объектов - совокупность объектов, обладающих одинаковым набором свойств
Ключ - атрибут или совокупность атрибутов, однозначно идентифицирующих кортеж
Ключ внешний - атрибут или группа атрибутов, которая в рассматриваемом отношении не является ключом, а в другом отношении является первичным ключом
Метаинформация - информация, описывающая базу данных, а также другие части БнД
Модель «объект-свойство-связь» - ER-модель (синоним)
Модель «сущность-связь» - ER-модель (синоним)
Модель внешняя - логическая структура БД с точки зрения конкретного пользователя (синонимы: подсхема, «взгляд»/представление/view)
Модель даталогическая (datalogical) (ДЛМ) - логическая модель БД в терминах конкретной СУБД; отображение логических связей между элементами данных
Модель инфологическая (ИЛМ) - формализованное СУБД-независимое описание предметной области (синоним - концептуальная модель)
Модель концептуальная - см. Модель инфологическая
Модель физическая — описание способа хранения данных в запоминающей среде
Нотация - система обозначений, принятая в конкретной модели
Область предметная - часть реального мира, представляющая интерес для данного исследования
Объект - сущность (синоним)
Объект агрегированный - объект, отражающий объединение других объектов при совершении какого-либо действия (соответствует какому-либо процессу, в который оказываются вовлеченными другие объекты)
Объект обобщенный - объект, включающий подклассы (отражает наличие связи «род-вид» между объектами предметной области)
Объект простой - объект, рассматриваемый в данном исследовании как неделимый
Объект сложный - объект, объединяющий другие объекты, простые или сложные, также отображаемые в информационной системе
Объект составной - объект, включающий в себя в качестве составляющих другие объекты (соответствует отображению отношения «целое-часть» между объектами ПО)
Ограничения целостности - набор специальных предложений, обеспечивающих целостность данных; утверждения о допустимых значениях отдельных информационных единиц и связях между ними
Организационно-методические средства банка данных - инструкции, методические и регламентирующие материалы, предназначенные для пользователей разных категорий, взаимодействующих с банком данных
Подсхема - описание внешней модели
Пользователь - лицо или группа лиц, взаимодействующих с банком данных в процессе его создания и функционирования
Пользователь конечный - пользователи, для нужд которых создается банк данных
Потребитель информации (пользователь) - субъект, обращающийся к информационной системе или посреднику за получением необходимой ему информации и пользующийся ею
Привилегия - право пользователей на выполнение определенных операций над объектами данных некоторого типа
Приемник - узел, содержащий базу данных приемника
Продукты информационные - информационные ресурсы и программы для их обработки
Проектирование даталогическое - этап проектирования БД, включающий работы по созданию ДЛМ
Проектирование инфологическое - этап проектирования БД, включающий работы по созданию ИЛМ
Проектирование физическое - этап проектирования БД, включающий работы по созданию физической модели БД
Процедура хранимая - процедура, хранимая в оттранслированном виде на сервере
Публикация - совокупность данных, которые могут подвергаться тиражированию
Разрешение конфликтов при тиражировании - процесс согласования параллельных изменений в нескольких тиражируемых копиях
Резервирование (архивирование) - создание резервных копий файлов БД
Реорганизация - изменение физического расположения данных на носителе
Реплика - копия базы данных, являющаяся членом набора других копий, которые могут быть синхронизированы между собой
Репликация - см. Тиражирование
Репозиторий - централизованная база данных проекта (см. Словарь данных)
Ресурсы информационные - отдельные документы и отдельные массивы документов, документы и массивы документов в информационных системах (библиотеках, архивах, фондах, банках данных, других информационных системах)
Свойство - характеристика, описывающая состояние каждой сущности
Связь (Relationship) - ассоциация между сущностями, при которой каждый экземпляр одной сущности ассоциирован с произвольным (в том числе нулевым) количеством экземпляров другой сущности
Сеанс (sessions) - работа интерактивного пользователя с системой, выполняемая в промежутке между подключением его к системе и отключением от системы
Сервер баз данных - СУБД, основанная на архитектуре «клиент-сервер»
Сервер подписки - поддерживает базы данных, с которыми имеют дело конечные пользователи информации. Эти БД принимают публикуемые данные
Сервер публикации - сервер, который предоставляет данные для тиражирования
Сервер репликаций - сервер, хранящий базу данных репликаций. В БД репликаций хранятся все изменения публикуемых данных, и по мере необходимости (по плану диспетчирования или другим настройкам) сервер пересылает данные серверам подписки
Сериализуемость - критерий корректности для управления одновременным доступом, который требует, чтобы эффект множества одновременно выполняемых транзакций был эквивалентен эффекту от их последовательного выполнения при каком-либо упорядочении
Синхронизация данных - процесс обновления реплик (в распределенных системах баз данных с тиражированием), обеспечивающий тождественность дублирующихся данных
Система управления распределенной базой данных - программная система, которая позволяет управлять базой данных таким образом, чтобы ее распределенность была прозрачна для пользователей
Словарь данных - централизованное хранилище метаинформации
Снимок базы данных моментальный (Snapshot) - состояние базы данных в целом или ее фрагмента на момент получения снимка
Собственник информационных ресурсов, информационных систем, технологий и средств их обеспечения - субъект, в полном объеме реализующий полномочия владения, пользования, распоряжения указанными объектами
Создание реплики - создание копий баз данных или объектов, допускающих синхронизацию
Статья - наименьший возможный элемент публикации
СУБД - совокупность программных и языковых средств, предназначенных для создания баз данных, поддержания их в актуальном состоянии и организации доступа к ним различных пользователей в условиях принятой технологии данных
СУБД замкнутые - СУБД, имеющие собственные языки общения с пользователями БнД
СУБД иерархическая - СУБД, поддерживающая иерархическую модель данных
СУБД открытые - СУБД, в которых для обращения к базам данных используются универсальные языки программирования
СУБД реляционная - СУБД, поддерживающая реляционную модель данных
СУБД сетевая - СУБД, поддерживающая сетевую модель данных
Сущность - любой реальный либо абстрактный объект, представляющий интерес для рассматриваемой предметной области
Сущность, зависимая от идентификации, - сущность, идентификация которой зависит от идентификации других объектов
Схема - описание логической структуры базы данных
Схема хранения - описание физической структуры базы данных
Технология информационная - совокупность методов, навыков применения всего многообразия вычислительной техники и средств связи в области сбора, обработки, хранения и передачи информации
Тиражирование - используемая в РБнД технология, предусматривающая поддержку копий всей БД или ее фрагментов в нескольких узлах сети
Тиражирование апериодическое - тиражирование, момент выполнения которого определяется каким-либо событием
Тиражирование асинхронное (тиражирование с промежуточным хранением) - схема тиражирования, при которой обновление всех копий баз данных может проводиться неодновременно
Тиражирование периодическое - тиражирование, выполняемое через заданные интервалы времени
Тиражирование синхронное - схема тиражирования, при которой предполагается завершение транзакции только после успешной модификации всех копий
Транзакция - законченная совокупность действий над БД, которая переводит БД из одного целостного в логическом смысле состояния в другое целостное состояние
Триггер - специфицированное в схеме базы данных действие, которое активизируется при наступлении указанного события
Тупик - ситуация, когда множество транзакций образует цикл, ожидая снятия блокировок, установленных другими транзакциями из этого множества
Услуга информационная - услуга по предоставлению в распоряжение пользователя информационных продуктов или самой требуемой информации
Фиксация двухфазная (2РС) - механизм обеспечения целостности при выполнении запроса в распределенной БД, при котором основная система связывается с подчиненными базами данных и одновременно вносит в них изменения, блокируя соответствующие записи. Если одна из таких БД недоступна, изменения не выполняются
Фрагментация - разбиение единой логической БД по каким-либо признакам на составные части (фрагменты), хранящиеся в разных узлах сети
Целостность — актуальность и непротиворечивость базы данных, ее защищенность от разрушения и несанкционированного изменения
Шлюзы (gateways) - программные средства, позволяющие совместно обрабатывать информацию, различающуюся по форме представления