- •Глава 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-моделирования для проектирования бд
- •Глоссарий
- •Литература
- •Сокращения
9.2.3. Корректировка отчета в режиме Конструктор Переход в режим Конструктор
Полученный в результате проведенных выше действий отчет имеет вид, представленный на рис. 9.15. Естественно, что он нуждается в корректировке. В нашем случае прежде всего следует изменить название отчета13, а также подписи для итоговых показателей.
Для того чтобы изменить полученный документ, необходимо перейти в режим конструктора отчетов. Для этого в пункте меню Вид можно выбрать команду Конструктор либо соответствующую кнопку на панели инструментов.
В режиме Конструктор полученный документ имеет вид, показанный на рис. 9.16.
При работе в режиме Конструктор на экране появляются три панели, используемые при создании/корректировке отчетов: «Конструктор отчетов», «Формат (форма/отчет)» и «Панель инструментов». Каждая из этих панелей может быть отключена. На рис. 9.16 отсутствует панель «Формат».
Часть кнопок «Конструктора отчетов» является общей для многих офисных Windows-приложений и знакома большинству пользователей. Поэтому рассмотрим назначение только тех кнопок, которые являются специфическими, предназначенными именно для построения отчетов:
Сортировка и группировка - выводит на экран соответствующее окно, в котором указываются поля, используемые для группировки и сортировки данных в отчете;
Панель элементов - включает и выключает режим показа в конструкторе отчетов панели инструментов;
Автоформат - выводит на экран диалоговое окно, позволяющее изменить внешний вид всего отчета в целом;
Свойства — выводит на экран окно свойств выделенного в данный момент в Конструкторе элемента. Каждое поле отчета обладает большим числом свойств. Некоторые из них будут рассмотрены ниже;
Построить - используется для вызова нужного построителя (выражений, макросов или программ).
Панель инструментов, которая отображена на рис. 9.16, полностью совпадает с одноименной панелью, используемой при создании экранных форм. Как отмечалось выше, отчеты могут выводиться не только на печать, но и на экран. В связи с этим надо обратить внимание на то, что некоторые кнопки, включенные в данную панель, имеет смысл использовать только при создании экранных отчетов (это прежде всего относится к раскрывающимся спискам, управляющим кнопкам и т.п.). Эти кнопки уже рассматривались при описании экранных форм, и в данном разделе мы к ним обращаться не будем.
Наиболее часто при создании/корректировке отчетов используются кнопки:
элементы надписи - попадают в отчет в том виде, в каком они представлены в «Конструкторе отчетов»;
элементы поля - указываются имена тех полей таблицы или запроса, данные из которых выводятся в отчете.
Корректировка отчета
Позиционируясь на соответствующем месте отчета и воспользовавшись кнопкой Надписи, изменим название отчета и сделаем его «Ведомость на выдачу зарплаты».
Далее изменим выражение
="Итоги для " & ""Код__ кафедры" = " & "" & [Код_ кафедры] & " (" & Count(*) & " " & 11f(Count(*)=1;"запись";"записей") & ")",
Sum =Sum([Оклад])
записанное в зоне «примечание для группы», на
="Итоги для кафедры"&" " & [Код_ кафедры]
=Sum([Оклад]).
Тем самым мы откорректировали подписи и отказались от подсчета числа записей в группе. Отчет в режиме Конструктор теперь имеет вид, представленный на рис. 9.17, а в режиме предварительного просмотра - на рис. 9.18.
Еще раз обратимся к отчету в режиме конструктора. Поскольку мы при формировании отчета запросили получение одной степени итогов, то в нашем отчете имеем следующие разделы (области):
Заголовок отчета;
Верхний колонтитул;
Заголовок группы «Код кафедры»;
Область данных;
Примечание группы «Код кафедры»;
Нижний колонтитул;
Примечание отчета.
Высоту области можно изменять, используя маркеры, расположенные на вертикальной линейке. Для этого подводят указатель мыши к маркеру и, когда он принимает вид двусторонней стрелки, при нажатой левой кнопке мыши перетаскивают его в нужном направлении.
Если в окне находится меньшее количество областей, чем вам нужно, то в пункте меню Вид следует отметить строки, соответствующие нужным областям отчета. Аналогичным образом могут быть удалены из отчета ненужные области.
Данные, находящиеся в области заголовка отчета, выводятся в начале первой страницы отчета. Как правило, в этой области помещают название отчета.
Данные, находящиеся в области верхнего колонтитула, выводятся в начале каждой страницы многостраничного отчета. На первой странице данные из области верхнего колонтитула выводятся вслед за данными из области заголовка отчета. В этой области при создании отчетов табличной формы обычно размещают названия столбцов, которые определяют содержание выводимых в отчете данных.
В области данных в режиме конструктора отображаются названия полей базовой таблицы (запроса). В самом отчете вместо них будут выводиться данные, хранящиеся в этих полях. Данные, размещенные в этой области, выводятся в отчете строка за строкой. В области данных, как, впрочем, и в любой другой области, также могут быть размещены вычисляемые поля.
Элементы, размещенные в области нижнего колонтитула, выводятся внизу каждой страницы отчета. Часто это бывают номера страниц либо какие-то элементы оформления.
В рассматриваемом нами примере в конце каждой страницы помещается текущая дата (см. зону «Нижний колонтитул» на рис. 9.16), а также номер страницы и общее число страниц в отчете. На рис. 9.17 эти данные просто не видны, поскольку на них изображена не вся страница, а только ее фрагмент.
В примечании отчета помещают, как правило, итоговые значения (в нашем примере - суммарный размер выплаченной зарплаты), подписи и другую информацию, которую вы хотите поместить в конце отчета. Данные из этой области выводятся на последней странице отчета.
Для облегчения создания отчета справа и сверху выводятся линейки, позволяющие установить размер соответствующего элемента. Размер области можно изменять, если подвести указатель мыши к границе области, и, когда он примет вид двусторонней стрелки, при нажатой левой кнопке мыши перетаскивать границу области в нужном направлении.
Продолжим корректировку полученного отчета, демонстрируя тем самым другие возможности генератора отчетов. Прежде всего перенесем название поля «Код_кафедры» в зону «Заголовок_группы». Для этого необходимо активизировать данный элемент отчета, подведя указатель мыши к любому месту выбранного элемента, и один раз щелкнуть левой кнопкой мыши (вокруг активных элементов появляются маркеры - маленькие черные квадратики по углам и в центре каждой из сторон), после чего добиться, чтобы указатель мыши принял форму «ладошки», нажать левую клавишу мыши и, не отпуская ее, перенести элемент на нужное место (предварительно передвинув вправо элемент-поле «Код_кафедры» в этой зоне чуть правее, чтобы освободить место для расположения надписи). После этого изменим размер обоих элементов в зоне заголовка группы, чтобы они отображались более компактно. Изменить размер элемента можно следующим образом: выделить элемент; позиционировать указатель мыши так, чтобы он принял форму двунаправленной стрелки, нажать левую клавишу мыши и перетащить стрелку в нужном направлении до достижения требуемого размера элемента. Наш отчет в режиме конструктора теперь имеет вид, представленный на рис. 9.19, а в режиме предварительного просмотра - на рис. 9.20.