Отбор данных с помощью запросов
Запросы являются основным средством просмотра, отбора, изменения и анализа информации, которая содержится в одной или нескольких таблицах базы данных. Существуют различные виды запросов, но наиболее распространенными являются запросы на выборку, с них и начнем наше знакомство.
1. Откройте базу данных «Фирма», созданную ранее.
2. Выполните команду: вкладка ленты Создание → Мастер запросов → Простой запрос.
3. В появившемся диалоговом окне (рис. 3) укажите таблицу Сотрудники и выберите поля Фамилия, Имя, Телефон. Нажмите кнопку Далее.
Рисунок 3 — Создание простого запроса
4. Введите имя запроса – Телефоны – и нажмите кнопку Готово. Перед вами появится запрос, в котором можно просмотреть телефоны сотрудников.
5. Следующий запрос попробуйте создать с помощью Конструктора, для этого выполните команду: вкладка ленты Создание → Конструктор запросов.
Рисунок 4 — Создание запроса в режиме Конструктора
8. Чтобы отсортировать записи в поле Название компании в алфавитном порядке, необходимо в раскрывающемся списке строки Сортировка выбрать пункт по возрастанию.
9. Сохраните запрос с именем «Адреса клиентов».
10. Самостоятельно создайте запрос «Дни рождения», в котором можно будет просмотреть дни рождения сотрудников.
11. Допустим, мы хотим узнать, у кого из сотрудников день рождения в текущем месяце, например в апреле. Для этого откройте запрос в режиме Конструктора.
12. В строке Условие отбора для поля «Дата рождения» введите значение *.04.*.
В выражениях для условий отбора допускается использование операторов шаблона. Приведем некоторые символы шаблона.
Звездочка (*)— заменяет любую группу любых символов; может быть первым или последним символом в шаблоне. Имея условием «Вас*», будут отобраны и «Василиса», и «Василий», и «Васька». Имея условием «*ова», можно отобрать все фамилии, оканчивающиеся на «ова» — «Иванова», «Петрова» и т. д.
Знак вопроса (?) — заменяет любой один символ. Если иметь в качестве условия «М?ша», то будут отобраны и «Миша», и «Маша».
Знак номера (#) — заменяет любую одну цифру. Задав условие «1#3», найдете «103», «113», «123».
В данной записи * означают, что дата и год рождения могут быть любыми, а месяц 4-м (т. е. апрель). После этого окно запроса должно выглядеть так, как оно представлено на рис. 5.
Рисунок 5 — Создание запроса
13. Закройте Конструктор и просмотрите полученный результат. Если в запросе Дни рождения нет ни одной записи, значит, в таблице Сотрудники нет ни одного человека, родившегося в апреле. Добавьте в таблицу Сотрудники несколько человек, родившихся в апреле, и посмотрите, как изменится запрос. Запросы автоматически обновляются при каждом открытии.
14. Если нам нужно узнать, кто из сотрудников родился в мае, то придется создать новый запрос или изменить условие в существующем запросе Дни рождения. Данная процедура является неудобной и занимает много времени. Если приходится часто выполнять запрос, но каждый раз с новыми значениями условий используют запрос с параметром. При запуске такого запроса на экран выводится диалоговое окно для ввода значения в качестве условия отбора. Чтобы создать запрос с параметром, пользователю необходимо ввести текст сообщения в строке Условие отбора бланка запроса (рис. 6).
Рисунок 6 — Создание запроса с параметром
15. Запись Like[Введите дату] означает, что при открытии запроса появится диалоговое окно (рис. 7) с текстом «Введите дату» и полем для ввода условия отбора. Если ввести условие *.04.*, то в запросе появится список сотрудников, родившихся в апреле. Запустите запрос еще раз и введите значение *.05.*, посмотрите, как изменился запрос.
Рисунок 7 — Окно для ввода условия отбора
18. Самостоятельно создайте запрос «Выполненные заказы», содержащий следующие сведения: фамилия и имя сотрудника, название компании, с которой он работает, отметка о выполнении и сумма заказа. Данные запроса возьмите из нескольких таблиц.
19. В условии отбора для логического поля Отметка о выполнении введите Да, чтобы в запросе отображались только выполненные заказы.
20. Сделайте так, чтобы столбец Отметка о выполнении не выводился на экран.
21. Создайте запрос Сумма заказа, в котором будут отображаться заказы на сумму более 50 000 руб.
22. Измените запрос, чтобы сумма заказа была от 20 000 до 50 000 руб. Для данных запросов в условии отбора можно использовать операторы сравнения >, =, и логические операторы And, Or, Not и др.
Источник
ИНФОФИЗ — мой мир.
Весь мир в твоих руках — все будет так, как ты захочешь
Весь мир в твоих руках — все будет так, как ты захочешь
Как сказал.
Вопросы к экзамену
Для всех групп технического профиля
Список лекций по физике за 1,2 семестр
Урок 37. Лабораторная работа № 24. Создание связей в базе данных
Лабораторная работа № 24
Тема: Создание связей в базе данных.
Цель работы: изучение приемов установки связей между таблицами базы данных.
Оборудование: ПК, Windows XP Professional, MS Access 2007.
1 В соответствие с заданием создать и заполнить таблицы БД «Фирма», установить связи между ними.
2 Продемонстрировать на компьютере заполненные таблицы, схему данных.
3 Ответить на контрольные вопросы.
4 Сделать вывод о проделанной работе.
Порядок выполнения:
1. Запустите Microsoft Access.
2. Создайте базу данных Фирма . Сотрудники данной организации работают с клиентами и выполняют их заказы.
Для этого запустите Access, создайте новую базу данных, задайте имя базы данных Фирма, выберите место сохранения Вашей базы данных (диск Х:) и нажмите кнопку Создать. (подробный порядок действий описан в лабораторной работе № 23)
3. Создайте в режиме Конструктор 3 таблицы: Сотрудники, Клиенты и Заказы . Если все сведения поместить в одной таблице, то она станет очень неудобной для работы. В ней начнутся повторы данных. Всякий раз, когда сотрудник Иванов будет работать с какой-либо фирмой, придется прописывать данные о сотруднике и клиенте заново, в результате чего можно допустить множество ошибок. Чтобы уменьшить число ошибок, можно исходную таблицу разбить на несколько таблиц и установить связи между ними. Это будет более рационально.
Таблица Сотрудники
Таблица Клиенты
Таблица Заказы
4. Установите ключевые поля.
Отдельные таблицы, содержащие информацию по определенной теме, необходимо связать в единую структуру базы данных. Для связывания таблиц следует задать ключевые поля.
Ключ состоит из одного или нескольких полей, значения которых однозначно определяют каждую запись в таблице. Наиболее подходящим в качестве ключевого поля является Счетчик, так как значения в данном поле являются уникальными (т. е. исключают повторы).
При создании таблиц в режиме конструктора ключевое поле устанавливается автоматически. Откройте созданные Вами таблицы в режиме Конструктор и проверьте установленные ключевые поля:
1) в таблице Сотрудники ключевое поле Код сотрудника
2) в таблице Клиенты ключевое поле Код клиента
3) в таблице Заказы ключевое поле Код заказа
Если значение Ключевых полей не задалось автоматически, то задайте их вручную. Для этого откройте таблицу Сотрудники в режиме Конструктора. Нажмите правой кнопкой мыши на поле Код сотрудника и в появившемся контекстном меню выберите команду Ключевое поле. Если в таблице необходимо установить несколько ключевых полей, то выделить их можно, удерживая клавишу Ctrl. Для таблицы Клиенты установите ключевое поле Код клиента, а для таблицы Заказы — Код заказа.
5. Создайте раскрывающиеся списки с помощью Мастера подстановок.
Таблица Заказы содержит поля Код сотрудника и Код клиента. При их заполнении могут возникнуть некоторые трудности, так как не всегда удается запомнить все предприятия, с которыми работает фирма, и всех сотрудников с номером кода. Для удобства можно создать раскрывающиеся списки с помощью Мастера подстановок.
Откройте таблицу Заказы в режиме Конструктора. Для поля Код клиента выберите тип данных Мастер подстановок.
В появившемся окне выберите команду Объект «столбец подстановки» будет использовать значения из таблицы или запроса и щелкните на кнопке Далее.
В списке таблиц выберите таблицу Клиенты и щелкните на кнопке Далее.
В списке Доступные поля выберите поле Код клиента и щелкните на кнопке со стрелкой >>, чтобы ввести поле в список Выбранные поля. Таким же образом добавьте поле Название компании и щелкните на кнопке Далее.
Выберите порядок сортировки списка по полю Название компании и нажмите кнопку Далее.
В следующем диалоговом окне задайте необходимую ширину столбцов раскрывающегося списка, установите флажок Скрыть ключевой столбец и нажмите кнопку Далее.
На последнем шаге Мастера подстановок замените при необходимости надпись для поля подстановок и щелкните на кнопке Готово.
Сохраните полученный результат.
6. Аналогичным образом создайте раскрывающийся список для поля Код сотрудника.
Теперь в списке таблиц выберите таблицу Сотрудники
В списке Доступные поля выберите поля Код сотрудника, Фамилия, Имя.
Порядок сортировки списка выберите по полю Фамилия.
Все остальные действия проводятся аналогично пункту 6.
7. Создайте связей между таблицами.
Существует несколько типов отношений между таблицами:
— при отношении «один-к-одному» каждой записи ключевого поля в первой таблице соответствует только одна запись в связанном поле другой таблицы, и наоборот. Отношения такого типа используются не очень часто. Иногда их можно использовать для разделения таблиц, содержащих много полей, для отделения части таблицы по соображениям безопасности;
— при отношении «один-к-многим» каждой записи в первой таблице соответствует несколько записей во второй, но запись во второй таблице не может иметь более одной связанной записи в первой таблице;
— при отношении «многие-к-многим» одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице могут соответствовать несколько записей в первой.
Закройте все открытые таблицы, так как создавать или изменять связи между открытыми таблицами нельзя.
Выполните команду вкладки Лента Работа с базами данных кнопка Схема данных
Если ранее никаких связей между таблицами базы не было, то при открытии окна Схема данных одновременно открывается окно Добавление таблицы, в котором выбираются нужные таблицы. Для добавления в схему данных новой таблицы необходимо щелкнуть правой кнопкой мыши на схеме данных и в контекстном меню выбрать пункт Добавить таблицу.
Если связи между таблицами уже были заданы, то откроется окно Схема данных, на котором будут отображены таблицы и связи между ними.
Отредактируйте связь между таблицами Сотрудники и Заказы , для этого щелкните правой кнопкой мыши (ПКМ) на линию связи и в открышемся контекстном меню выберите команду Изменить связь.
Откроется диалоговое окно Изменение связей, в котором включите флажок Обеспечение целостности данных . Это позволит предотвратить случаи удаления записей из одной таблицы, при которых связанные с ними данные других таблиц останутся без связи. Обратите внимение на тип отношений: один-ко-многим.
Флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей обеспечивают одновременное обновление или удаление данных во всех подчиненных таблицах при их изменении в главной таблице.Параметры связи можно изменить, нажав на кнопку Объединение. После установления всех необходимых параметров нажмите кнопку ОК.
Аналогично измените связь между таблицами Клиенты и Заказы.
В результате должна получиться схема данных, представленная на рисунке.
На схеме данных связи отображаются в виде соединительных линий со специальными значками около таблиц. Связь «один-к-многим» помечается «1» вблизи главной таблицы (имеющей первичный ключ) и «∞» вблизи подчиненной таблицы (имеющей внешний ключ). Связь «один-к-одному» помечается двумя «1» (оба поля таблиц имеют первичные ключи). Неопределенная связь не имеет никаких знаков. Если установлено объединение, то его направление отмечается стрелкой на конце соединительной линии (ни одно из объединенных полей не является ключевым и не имеет уникального индекса).
7. В таблицу Сотрудники внесите данные о 7 работниках.
8. В таблицу Клиенты внесите данные о 7 предприятиях, с которыми работает данная фирма.
9. В таблице Заказы оформите 5 заявок, поступивших на фирму.
10. Покажите работу преподавателю.
11. Ответьте на контрольные вопросы.
Контрольные вопросы:
1 С помощью чего можно создавать таблицы?
2 Что такое ключевое поле?
3 Как установить несколько ключевых полей?
4 Как установить связи между таблицами?
5 Какие существуют отношения между таблицами?
6 Что означают на схеме данных «1» и «∞»?
7 Зачем нужен Мастер подстановок?
8 Для чего нужен механизм запросов?
Методические указания к лабораторной работе № 24 Создание связей в базе данных
Источник