Многотабличные базы данных. Связывание таблиц.
-796290-284480Государственное автономное образовательное
учреждение среднего профессионального образования
Калининградской области
«Колледж сервиса и туризма»
Методическая разработка
(для преподавателей и студентов I и II курсов колледжа)
По теме: Многотабличные базы данных. Связывание таблиц
Преподавателя информатики и ИКТ
Юдиной Л. И.
111823525400
Калининград 2013
Составитель: преподаватель высшей категории ГАУ СПО КСТ Юдина Л. И.
Методическая разработка по теме: Многотабличные базы данных. Связывание таблиц.
Издание включает: теорию по данной теме, перечень практических заданий для выполнения самостоятельных работ, примеры создания многотабличных баз данных.
Издание составлено на основе Государственного образовательного стандарта среднего профессионального образования по дисциплине: Информатика и информационно – коммуникативные технологии.
Пособие предназначено для преподавателей и студентов учреждений среднего профессионального образования.
Оглавление
TOC \o "1-3" \h \z \u Многотабличные базы данных PAGEREF _Toc351563471 \h 4Оптимизация структуры БД PAGEREF _Toc351563473 \h 7Оптимизация быстродействия БД PAGEREF _Toc351563474 \h 9Поиск информации в бд PAGEREF _Toc351563475 \h 9Фильтры PAGEREF _Toc351563478 \h 14Запросы PAGEREF _Toc351563479 \h 15Конструктор PAGEREF _Toc351563480 \h 17Многотабличные запросы PAGEREF _Toc351563481 \h 19Итоговые запросы PAGEREF _Toc351563482 \h 20Модифицирующие запросы PAGEREF _Toc351563483 \h 20Перекрестные запросы PAGEREF _Toc351563484 \h 23Формы PAGEREF _Toc351563485 \h 24Конструктор форм PAGEREF _Toc351563486 \h 25Отчеты PAGEREF _Toc351563488 \h 30Построение сложных запросов к многотабличной базе данных PAGEREF _Toc351563491 \h 39Простые запросы PAGEREF _Toc351563492 \h 39Создание запросов в конструкторе PAGEREF _Toc351563493 \h 40Вопросы для повторения PAGEREF _Toc351563494 \h 45Практические задания PAGEREF _Toc351563495 \h 46Используемые источники…………………………………..48
Многотабличные базы данных
Возможно создание БД, информация в которых содержится в нескольких таблицах. При этом между таблицами должны быть установлены связи (отношения). Связь устанавливается на основании данных в совпадающих полях. Поля могут иметь и разные имена, но тип данных должен совпадать (допускается связь через поля Счетчик-Числовое/Длинное целое).
MS Access поддерживает четыре типа отношений:
- один к одному;
- один ко многим;
- многие к одному;
- многие ко многим.
Отношение один к одному означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице.
Отношение один ко многим и многие к одному означает, что каждая запись в одной таблице соответствует нескольким записям в другой таблице.
Отношение многие ко многим означает, что одна запись в первой таблице может быть связана с несколькими записями во второй таблице и одна запись во второй таблице может быть связана с несколькими записями в первой таблице. Такую связь можно создать только через третью (промежуточную) таблицу.
Связь устанавливается заданием общего поля.
Первые три вида связей формируются одинаково. Создание связей выполняется в окне Схема данных (рис. 1) при выполнении команды Сервис/Схема данных или при нажатии одноименной кнопки. Таблицы должны быть закрыты. В окне надо указать таблицы командой Связи/Добавить таблицу или кнопкой на панели инструментов (через окно Добавление таблицы). Имя поля в первой таблице схемы данных надо «перетащить» мышью во вторую таблицу на связываемое поле. В результате появится линия и окно диалога Изменение связей. Необходимо проверить правильность связи и подтвердить ее создание. Также в этом окне важно определиться с опцией Обеспечение целостности данных. При выборе этой опции, правильном задании ключевого поля и индекса (в Конструкторе таблиц) на линии связи возникает соответствующие значки типа связи.
Многотабличные базы данныхОдно из полей связи обязательно должно быть ключевым.
В окне Схема данных можно выполнять следующие действия:
- изменить структуру таблицы (правая кнопка мыши на обозначении таблицы);
- изменить связь (двойное нажатие кнопки мыши на линии связи);
- удалить связь (двойное нажатие кнопки мыши на линии связи);
- удалить таблицу из схемы данных (кнопка Delete).
В результате установления связей при просмотре таблицы возникает специальный значок (крест), нажатие на который открывает связанные записи подчиненной таблицы. Повторное нажатие закрывает эту всплывающую информацию. Такая процедура не позволяет полностью просмотреть информацию в БД со связью многие ко многим.
556260365760Рис. 1. Схема данных
Связь можно установить и в Конструкторе таблиц. Необходимо в зоне описания имен полей и их типов нажать правую кнопку мыши и в появившемся меню выбрать опцию Свойства. В строке Имя подтаблицы из всплывающего списка можно выбрать имя подчиненной таблицы. Однако такой способ не отражается в схеме данных и обладает более высоким приоритетом по сравнению со связью через Схему данных. Поэтому с ним надо обращаться осторожно.
Оптимизация структуры БДMS Access предоставляет широкие возможности улучшения структуры БД. Возможно или автоматическое разбиение БД на связанные таблицы, или вручную с подсказкой MS Access. Для запуска этой функции надо выполнить команды меню Сервис/Анализ/Таблица. В последовательности окон надо выбрать (рис. 2) ручное или автоматическое разделение таблиц.
762000243840
Рис. 2. Окно анализа таблиц
В последнем случае Мастер предложит вариант разбиения (рис. 3). Схему можно корректировать, перетаскивая мышью поля между изображениями таблиц.
При ручном разбиении действия аналогичны. Новую таблицу здесь можно создать, перетащив имя поля на пустое место схемы данных. Ключевые поля создаются нажатием соответствующих кнопок управления.
При оптимизации создаются новые таблицы. Исходная таблица не меняется. Все другие объекты БД остаются связанными с ней. Если надо связать их с новыми таблицами, то результат оптимизации надо сохранить
Оптимизация быстродействия БДДля ускорения работы БД надо выполнить команды Сервис/Анализ/Быстродействие. Запуск этой процедуры через систему окон не вызывает затруднений.
Рис. 3. Вариант разбиения таблиц
Поиск информации в БД
Поиск информации является одной из основных задач СУБД. В MS Access возможны следующие способы поиска:
- использование команд Поиск/Замена;
- использование фильтров;
- применение запросов.
Ускорение поиска достигается при задании индекса. Индекс представляет собой конструкцию, определяющую порядок сортировки по одному полю (простой индекс) или по нескольким полям (составной индекс). Для его создания в окне Конструктора таблицы надо нажать кнопку Индекс. В появившемся окне (рис. 4) в столбце Индекс указывается имя индекса (любое), в столбце Имя поля перечисляются поля (выбираются из всплывающего списка), в столбце Порядок сортировки указывается ее тип (возрастание/убывание). Составной индекс необходим, если сортировка по одному полю не позволяет однозначно упорядочить записи в таблице.
121920102870Рис. 4. Конструктор индексов
Индекс сохраняется в структуре таблицы.
Аналогичного результата сортировки можно достичь путем выделения нужных полей в режиме таблицы и запуске процедуры сортировки через кнопку панели инструментов, но запоминания этой процедуры в дальнейшем не произойдет.
Команда Поиск/ЗаменаЭтот метод является простейшим. Необходимо нажать кнопку Найти на панели инструментов или выбрать команду основного меню Правка/Найти. В диалоговом окне (рис. 5) надо задать параметры поиска и образец.
Рис. 5. Окно задания условий поиска
Возможно использование специальных символов для задания условий неточного совпадения образца и данных в БД:
- * – любое количество любых символов;
- ? – любой текстовый символ;
- [ ] – любой один символ из заключенных в скобки;
- ! – любой один символ, кроме заключенных в скобки;
- – – любой символ из диапазона;
- # – любая цифра.
Дополнительными возможностями обладает функция поиска и замены. Ее можно запустить командой меню Правка/Заменить. Появившееся окно очень похоже на окно поиска.
ФильтрыВозможности фильтров шире, чем поиска. Фильтр используется для того, чтобы видеть только значения, соответствующие условиям. Фильтр можно создать в любом режиме работы с таблицей. Существуют следующие типы фильтров:
- фильтр по выделенному;
- фильтр для;
- фильтр по исключенному;
- расширенный фильтр;
- универсальный фильтр.
Любой фильтр можно создать или через команду главного меню Записи/Фильтр, или нажатием соответствующей кнопки панели инструментов, или, находясь в таблице, нажатием правой кнопки мыши. Фильтр можно сохранить. Возможно применение фильтра к фильтру.
Фильтр по выделенномуПростейший фильтр. Выделив нужную информацию в соответствующей записи нужного поля таблицы, надо нажать кнопку (выполнить команду) Применить фильтр. Для возврата в таблицу можно нажать ту же кнопку панели инструментов (теперь она называется Удалить фильтр).
Фильтр дляАналогичен вышерассмотренному. Однако нет необходимости искать запись в таблице. Достаточно ввести критерий поиска в текстовое поле (рис. 6) и нажать Enterили Применить фильтр.
739775861060Фильтр по исключенному. Аналогичен фильтру по выделенному, но исключает выделенную информацию из просмотра.
Рис. 6. Запуск фильтра дляУниверсальный фильтр
Для задания критерия поиска надо выполнить команду Изменить фильтр.Фильтр позволяет использовать выражения и операторы И и ИЛИ. При нажатии кнопки возникает Конструктор фильтра (рис. 7). Для каждого поля таблицы здесь имеется всплывающий список значений, которые можно выбрать. Кроме того, в соответствующей строке можно написать условие поиска с использованием операций >, < и т. п., операций И (обязательное совпадение обоих условий), ИЛИ (выполнение хотя бы одного критерия поиска).
ФильтрыРасширенный фильтр
Этот фильтр позволяет выполнять и сортировку данных. Окно диалога представлено на рис. 8. В верхней части окна указана структура таблицы, откуда можно переместить нужное поле в бланк фильтра мышью. Возможности фильтра приближаются к простейшему запросу.
30797529845
Рис. 7. Конструктор универсального фильтра
377190-308610
Рис. 8. Конструктор расширенного фильтра
ЗапросыХотя запросы позволяют искать информацию в БД, по сравнению с фильтрами и, особенно, с операцией Поиск/Замена запросы обладают значительно большими возможностями. С помощью запросов можно реализовать и другие операции с БД.
Рассмотрим возможности поиска информации.
1238252400300При создании запроса в основном окне БД (рис. надо активировать категорию Запросы и нажать кнопку Создать. Откроется окно диалога (рис. 9). Первые две позиции непосредственно используются для поиска данных. Простой запрос является Мастером запросов. Последовательно возникающие окна позволяют создать запрос и посмотреть результат. Полезной функцией является возможность создания итоговых запросов с вычислением различных функций.
Рис. 9. Окно создания нового запроса
Однако Мастер запросов имеет ограниченные возможности, например, здесь невозможно задавать критерии поиска и другие параметры.
КонструкторПри выборе опции Конструктор появляются диалоговое окно выбора таблицы в запрос и окно Конструктора запросов (рис. 10).
590550136525
Рис. 10. Окно конструктора запроса на выборку
В основном меню
добавится команда Запросы. На панели инструментов добавятся кнопки. По умолчанию создается Запрос на выборку. В верхней части окна должны быть указаны таблицы и другие элементы – источники данных. В бланке запроса в нижней части окна необходимо указать поля (например, «перетягиванием» мышью поля из таблицы в верхней части окна) и имя таблицы данных запроса, задать требование вывода/невывода информации на экран. При желании можно задать условие отбора (по аналогии с фильтром).
При задании условия можно воспользоваться Построителем выражения, нажав соответствующую кнопку.
После завершения создания запроса и его сохранения нужно запустить запрос или соответствующей кнопкой панели инструментов или в основном окне БД выполнить его через выбор и запуск (двойной щелчок мышью). Результат выведется в табличном виде.
Вычисляемые поля
Возможно создание в запросе на выборку нового поля со значениями, получаемыми из значений других полей, например, произведением. Для этого в пустом поле бланка запроса надо в строке Поле создать нужную формулу (самостоятельно или через Построитель). Название поля присваивается автоматически, но его можно отредактировать здесь же по желанию. Затем нужно запустить запрос.
Многотабличные запросыДля создания таких запросов надо включить в него все используемые таблицы со связями.
По умолчанию формируется результат, в котором выводятся только записи из таблиц с совпадающими значениями. Это внутренние связи. Для получения внешних связей надо изменить тип связи в схеме данных запроса двойным нажатием мышью на линию связи и нажатия кнопки Объединение. В соответствующем окне (рис. 11) надо выбрать вид связи. В результате поиска содержание выводимой информации выборки изменится.
Рис. 11. Изменение параметров связи
Запрос на записи, не имеющих подчиненных
Для вывода только записей, не имеющих соответствия в связанных таблицах, можно воспользоваться опцией Записи без подчиненных Мастера запросов.
Итоговые запросыОни используются для вычислений в группах записей (нахождение суммы по всему столбцу таблицы или по группе записей, среднего значения и т. п.).
Для его создания в запросе необходимо включить операцию Групповые операции. В бланке появится одноименная строка. Для поля, по значениям которого надо выполнить вычисления, указывается тип операции из всплывающего окна. Для других полей (объединяемых записей) остается параметр Группировка. Наименование итогового поля присваивается автоматически, но его можно изменить и по желанию (см. выше).
Модифицирующие запросыК ним относятся:
- запросы создания таблиц;
- запросы удаления;
- запросы добавления;
- запросы замены.
Для их создания необходимо войти вКонструктор запросов и выбрать его соответствующий тип (рис. 12) кнопкойТип запроса.
-654051217930Изменения в таблицах после выполнения запроса необратимы.
Рис. 12. Выбор типа запроса
Запросы создания таблиц
Первоначально надо создать обычный запрос на выборку. Затем выбрать его тип Создание таблицы. В окне диалога задается имя новой таблицы. После запуска запроса и подтверждения операции таблица будет создана. Эта таблица не наследует свойства полей (маска ввода, поле подстановки и т. п.) и первичные ключи.
Запросы удаления
При его выполнении из таблицы безвозвратно исчезают записи.
В окне Конструктора запросов выбирается этот тип запроса, формируется условие отбора записей в бланке запроса и запускается запрос. При его применении к связанным таблицам необходимо обратить внимание на ранее установленные опции Каскадное удаление связанных записей, так как при выполнении запроса предупреждения об этом не будет.
Запросы добавления
Производится добавление записей из одной таблицы в другую. При выборе этого типа в бланке запроса появляется строка Добавление. Необходимо в диалоговых окнах указать таблицу-источник данных и таблицу-приемник. Данные добавятся в таблицу после запуска запроса и открытия таблицы.
Запросы замены (обновления)
Здесь возможно изменение значений в выбранном поле (например, умножение на определенное значение). В Конструкторе запросов после выбора этого типа запроса в появившейся строке Добавление бланка запроса надо ввести формулу вычисления нового значения. Можно воспользоваться Построителем.
Перекрестные запросыВажным классом таблиц являются перекрестные. В ней информация группируется в соответствии со значениями нескольких полей. Частный случай – одномерная перекрестная таблица (например, сумма значений по полю (стоимость товаров), сгруппированная по значениям другого поля (имя клиента). Такую таблицу можно создать через итоговый запрос (см. выше). Более сложный случай – двумерная перекрестная таблица (зарплата нескольких людей по нескольким месяцам). Можно также использовать итоговый запрос, но существует Мастер перекрестных запросов. Для его включения в категории Запросы надо выполнить Создать/Новый запрос/Перекрестный запрос. В диалоговых окнах задается имя исходной таблицы (только одна), поля этой таблицы, которые будут расположены в результирующей таблице по горизонтали и вертикали и их заголовки, выполняемое действие при заполнении таблицы, имя результирующей таблицы. После запуска запроса можно просмотреть результат.
Перекрестную таблицу можно экспортировать, например, в MS Excel (Файл/Экспорт).
ФормыФорма – это особый вид представления данных БД. Можно обеспечить представление информации в виде, привычном пользователю. Кроме того, форма дает и дополнительные возможности при вводе и просмотре данных.
Простейший способ создания формы –Автоформа, вызываемая в категорииТаблицы командой меню Вставка/Автоформа. Автоматически появится форма стандартного вида с кнопками перемещения по таблице в нижней части окна.
Другие способы создания формы следующие:
- Конструктор форм;
- Мастер форм;
- Автоформа: в столбец;
- Автоформа: ленточная;
- Автоформа: табличная;
- Диаграмма;
- Сводная таблица.
Выбор любого действия производится в категории Форма кнопкой Создать.
Наиболее просты Автоформы.
Мастер форм позволяет выбирать поля для вывода в форме и задавать стиль оформления (рис. 13).
Рис. 13. Выбор данных для формы через Мастер форм
Конструктор формОбладает наибольшими возможностями.
Форма состоит из объектов, которые имеют характерные свойства. Для каждого объекта можно задать действие. Процесс создания формы и заключается в размещении объектов в форме и задании для них действий.
При выборе опции Создание формы в режиме конструктора возникает соответствующее окно. Изменяется панель инструментов и может появиться всплывающее окно Панели элементов(эта панель может включаться/выключаться соответствующей кнопкой панели инструментов). Существуют следующие области формы (рис. 14):
- Заголовок;
- Верхний колонтитул;
- Область данных;
- Нижний колонтитул;
Примечание формы.
Рис. 14. Области формы и панель элементов
Области можно включать/убирать командой Вид главного меню.
Панель элементов
Панель элементов служит для размещения объектов в форме. Она содержит следующие кнопки:
- Выбор объекта (выделение элемента, раздела);
- Мастера (включение какого-либо мастера);
- Надпись (создание текста в форме);
- Поле (размещение поля таблицы в форме);
- Переключатели (размещение групп переключателей);
- Выключатель;
- Переключатель;
- Флажок;
- Поле со списком;
- Список;
- Кнопка;
- Рисунок (общий для всей формы);
- Свободная рамка объекта (объект OLE, общий для всей формы);
- Присоединенная рамка объекта (объект OLEдля каждой записи);
Формы- Разрыв страницы;
- Набор вкладок (форма с вкладками);
- Подчиненная форма (создание);
- Линия (рисование);
- Прямоугольник;
- Другие элементы.
При создании формы можно пользоваться свойствами создаваемых элементов (Команда Вид/Свойства, кнопка Свойства панели инструментов, контекстное меню) (рис. 15).
Окно диалога содержит здесь ярлыки:
- Макет (оформление объекта);
- Данные (свойства источника данных);
- События (их список);
- Другие;
- Все (общий перечень).
Объекты в форме можно перемещать, удалять, менять размеры и свойства. Первоначально их надо выделить или кнопкой Shift и мышью или кнопкойВыбор объектов панели элементов и мышью с помощью рамки. Появится объединение в виде прямоугольников. Изменение размера достигается перемещением этих фигур. Перемещение объекта производится мышью после появления символа руки.
Рис. 15. Окно свойств формы
Процесс создания формы может включать все или некоторые ниже перечисленные процедуры:
- Размещение текста;
- Размещение полей;
- Создание кнопок;
- Размещение линий, рисунков;
- Размещение групп переключателей;
- Размещение флажков;
- Создание списков и полей со списком;
- Создание других элементов;
- Перемещение объектов.
Размещение текста
Надо выбрать элемент Надпись на панели элементов, встать мышью в нужное место области формы, набрать текст, нажать Enter. С помощью выделения объекта и функции Формат можно отредактировать текст.
Размещение полей ввода
Выбирается элемент Поле, размещается в форме. Затем необходимо связать этот объект с полем запроса или таблицы через функцию Свойства/Данные/Список полей (Построитель выражений). На вкладке Другие можно задать свойство Всплывающая подсказка (этот текст будет появляться через некоторое время в самой форме при размещении на поле мыши). Можно задать надпись к полю (вкладка Макет). Перечень полей можно вызвать и командой панели инструментов, а затем перетащить нужное поле мышью, при этом надпись поля появится автоматически.
ОтчетыОтчет – это форматированное представление данных, выводимое на экран, принтер или в файл.
Простейший способ создания отчета –Автоотчет. (Вставка/Автоотчет или кнопка Новый объект/Автоотчет).
Более гибкими возможностями обладают способы:
- Автоотчет: ленточный;
- Автоотчет: в столбец;
- Мастер отчетов;
- Конструктор отчетов;
- Диаграмма;
- Почтовые наклейки.
Любая процедура запускается после открытия БД, выбора вкладки Отчеты и нажатия кнопки Создать.
Использование Мастера отчетованалогично применению вышерассмотренных Мастеров. Важная функция здесь – группировка данных.
При движении по окнам Мастера необходимо выбрать таблицу или запрос, по которой (которым) создается отчет, задать поля, включаемые в отчет. В следующем окне (рис. 16) можно задать уровни группировки (указать поля, по записям которых будет производиться объединение информации – например, в поле Фамилия записи с одинаковыми фамилиями будут печататься рядом и с отступом, а также указать иерархию полей). Поля для группировки выделяются синим цветом. Затем задается порядок сортировки. В отчет можно добавить поля с итоговыми вычислениями, нажав кнопку Итоги (рис. 17). После задания стиля отчет можно посмотреть.
Созданный таким образом отчет можно отредактировать в режиме Конструктора.
В этом режиме в отчет можно добавлять элементы управления, аналогичные элементам управления форм.
Возможно создание отчетов по нескольким таблицам. Это можно сделать через Мастер отчетов, указав все включаемые таблицы и их поля. При правильной последовательности действий структура отчета имеет вложенный вид (рис. 18). Альтернативный способ – использование функции Подчиненный отчет панели элементов в Конструкторе отчета.
ОтчетыВ Конструкторе возможно добавление полей для вывода даты печати и подобной служебной информации, итоговых значений, нумерации записей. Для этого необходимо включить в отчет несвязанное поле и задать для него реализуемую функцию (правая кнопка мыши и функция Свойства, вкладкаДанные, строка Данные). Для нумерации в этой строке пишется = 1, в строке Сумма
-1346202280920560705-193675с накоплением указывается Для всего (Для группы).
Рис. 17. Задание уровней группировки данных
Рис. 18. Варианты итоговых значений в отчете
Рис. 19. Мастер подчиненных отчетов
Пример создания многотабличной базы данных. Связывание таблицСоздать базу данных "Библиотека", состоящую из следующих таблиц:
"Авторы": Фамилия_автора, Имя, , Отчество, Год_рождения, Год_смерти, Особенности_жанра_произведений.
"Произведения": Код_произведения, Фамилия_автора, Название_произведения, Год_создания, Жанр.
"Читатели": Номер_чит_билета, Фамилия_читателя, Имя, Отчество, Дата_рождения, Класс.
"Формуляры": Номер_чит_билета, Название_произведения, Дата_выдачи, Дата_возврата.
Организовать связи между таблицами и удобные формы ввода. Заполнить все таблицы данными.
Создадим таблицу «Авторы». Для этого запустите Microsoft Access (ПускПрограммы> Microsoft Access). В появившемся диалоговом окне необходимо указать, что у Вас будет новая база данных. Затем следует указать имя создаваемой базы данных и нажать кнопку «Создать». После чего в появившемся главном диалоговом окне СУБД Access (окне базы данных) выберите закладку таблица, где необходимо нажать кнопку «Создать». Для создания таблицы будем использовать режим конструктора, который позволяет самостоятельно описать структуру будущей таблицы. Таким образом, сначала в «конструкторе» мы опишем структуру всех таблиц, установим нужные связи, а уже потом будем вносить какие-то данные.
В таблице Произведения в поле «Фамилия_автора» сделаем с помощью мастера подстановок. Таким образом, чтобы сделать поле «Фамилия_автора» подставным из таблицы Авторы при помощи матера подстановок, необходимо выбрать соответствующую команду в раскрывающемся списке типов полей.После чего в появившемся диалоговом окне необходимо поставить переключатель рядом с надписью, говорящей о том, что ваше поле – новый объект, будет использовать значения из таблицы или запроса. После чего нажимается кнопка «Далее». Указывается имя необходимой таблицы «Авторы», а затем в новом диалоговом окне с помощью стрелок перекидываются нужные поля (см. рис.1).
рис.1
Затем после нажатия кнопки «Далее» проверьте, чтобы ключевое поле было скрыто и нажмите кнопку «Готово». В результате у вас будет создано поле подстановки, которое требует определенной связи между таблицами, поэтому Access запросит создание связи, а Вы должно согласиться с этим запросом.
Структуры остальных таблиц опишите самостоятельно. Учтите, что в таблице Формуляры поле «Номер_чит_билета» будет подстановка из таблица Читатели.
В итоге у вас должна получится следующая схема данных (см. рис.2).
Рис. 2.
В схеме данных показаны связи ключевых полей. Щелкните два раза ЛКМ по линии связи и установите переключатели в соответствии с рисунком 3.
рис.3
563880-192405Обратите внимание на то, что при создании новой связи связываемое поле переносится на связуемое при нажатой левой клавише мыши. Затем в свойствах указывается обеспечение целостности данных. Связь один к одному организуется, когда ключевое поле связывается с ключевым. Связь один ко многим организуется, когда ключевое поле связывается с неключевым.
Построение сложных запросов к многотабличной базе данныхПростые запросы1. Создать запрос, отражающий следующую информацию: ФИО читателя, дату его рождения, класс, название произведения, фамилия автора.
Для того, чтобы создать запрос на выборку определенных полей необходимо в окне баз данных щелкнуть по закладке запросы, где выбрать команду создать. Создаваемый запрос будет простым, что необходимо отметить в появившемся диалоговом окне. Первоначально простой запрос будет иметь следующую структуру (см. рис. 1Рис. 1
В появившемся диалоговом окне необходимо выбирать нужную таблицу и выбирать с помощью кнопок со стрелками нужные поля. Сначала выберем таблицу «Читатели» и «перекинем» нужные поля: фамилия, имя, дата рождения, класс; затем таблицу «Произведения» и поля фамилия автора, название произведения. После этого нажимается кнопка «Готово».
2. Создать запрос, вычисляющий общее количество книг у учащегося на данный момент.
Для того, чтобы создать простой запрос с подведением итогов после выбора поля "Код произведения" в таблице «Формуляр» необходимо нажать кнопку «Далее», определить, что запрос будет с подведением итогов и подвести необходимый итог суммирования (Sum).
Создание запросов в конструктореЗапросы на выборку с условием
1. Создать запрос, отбирающий учащихся, чья фамилия начинается с буквы «С» и кто учиться или в 9 или в 10 классах.
Для этого щелкните по закладке Запросы, выберите команду Создать и укажите, что будете создавать запрос в режиме конструктора. После этого необходимо добавить те таблицы, по которым будет создаваться запрос (в нашем случае источником будет таблица «Читатели») и нажать кнопку «Закрыть». Итак, перед вами конструктор запросов. Сначала необходимо выставить все нужные поля (см. рис. 2)
рис.2
Далее, когда все нужные поля выставлены, определим вывод их на экран (наличие флажка в соответствующей строке) и зададим нужное условие. Первое условие касается фамилии. Следовательно, условие должно быть прописано в столбце «Фамилия» в строке «Условие отбора:». Наше условие заключается в том, чтобы первая буква фамилии была «С», а затем следовали любые другие. Любой символ заменяется в Access на значок *.
Второе условие касается класса учащегося, следовательно, должно быть записано в столбце класс. Само условие заключается в том, что должны быть выбраны из всех читателей, или 9-классники или 10-классники. Для этого будем использовать логическую функцию Or (Или) (см. рис. 3).
Рис.3
Запрос с параметром
1. Создать запрос, который бы выводил всю информацию о имеющихся книгах, после введенной фамилии читателя.
рис.4
Параметром в запросе считается любая информация, вводимая пользователем с клавиатуры во время выполнения запроса. Запросы с параметром создаются в конструкторе. Обращение к параметру внутри запроса идет по имени, которое пишется в квадратных скобках. Обратите внимание на то, что если параметр не текстового типа, то его необходимо дополнительно определить в меню Запрос Параметр.
В нашем случае параметр – это фамилия читателя – текстовое поле, причем оно является условием отбора, следовательно, запрос будет выглядеть следующим образом (см. рис. 4).
Запросы с использованием встроенных функций
1. Создать запрос, который бы выдавал информацию, о количестве дней пребывания книги у читателя.
Для организации этого запроса добавим в конструктор таблицу «Формуляр». Выставим поле «Фамилия» из таблицы читатели, и построим поле Количество дней. Для этого будем использовать встроенную функцию Date(), которая определяет текущую дату (см. рис. 5).
рис.5
В результате выполнения запроса будет выведено количество дней пребывания книги в руках читателя.
Вопросы для повторения1. Почему в некоторых случаях целесообразно использовать многотабличные, а не однотабличные базы данных?
2. Какие типы связей между таблицами возможны в реляционных базах данных?
Практические задания0. База данных «Каталог компьютерных компакт дисков»Состав базы данных (обязательные элементы)- Таблицы: списки дисков по видам.- Запросы: диски по видам и типам, новые диски- Формы: главная кнопочная форма, каталог, списки- Отчеты: каталог, списки по видам
1. База данных «Продажа недвижимости в Калининграде»Источник данных – газета Калининградская РекламаСостав базы данных (обязательные элементы)- Таблицы: списки предлагаемых квартир (3-4 агентства).- Запросы: квартиры по районам, по стоимости и качеству, и т.п.- Формы: главная кнопочная форма, квартиры по типам и т.д.- Отчеты: списки квартир по типам, общие списки по агентствам2. База данных «Книги»Состав базы данных (обязательные элементы)- Таблицы: издатели (книги), поставщики, клиенты- Запросы: книги по тематике- Формы: главная кнопочная форма, каталог, формы по тематике.- Отчеты: заказ, каталог, список, списки по тематике3. База данных «Кондитерские изделия»Состав базы данных (обязательные элементы)- Таблицы: товары, поставщики (не менее 5), клиенты (не менее 10)- Запросы: товары по видам, десять самых дорогих, десять самых дешевых- Формы: главная кнопочная форма, каталог, форма заказа- Отчеты: заказ, прайс-лист4.База данных «Автомобили ВАЗ»Состав базы данных (обязательные элементы)- Таблицы: автомобили, крупные продавцы- Запросы: дорогие автомобили, дешевые автомобили, старые автомобили, новые автомобили- Формы: главная кнопочная форма, каталог.- Отчеты: каталог, списки, характеристики.Используемые источники:
http://ru.wikipedia.orghttp://www.codenet.ruhttp://www.sql.ruhttp://citforum.ru