
- •Содержание
- •Введение
- •1 Организация систем управления базами данных
- •1.1 Базы данных и системы управления базами данных
- •1.2 Модели данных
- •1.3 Реляционная база данных
- •1.4 Связи между таблицами
- •1.4 Манипулирование реляционными данными
- •2 Объекты базы данных ms access
- •2.1 Таблицы
- •2.2 Запросы
- •2.3 Формы
- •2.4 Отчеты
- •2.5 Макросы
- •2.6 Модули
- •2.7 Web-страницы
- •2.8 Sql – запросы
- •2.8.1 Структура языка sql
- •Dcd (Data Control Language) – язык управления данными состоит из операторов контроля данных, защиты и управления данными:
- •2.8.2 Выборка данных из таблиц
- •2.8.3 Операторы sql
- •3 Лабораторный практикум
- •3.1 Применение кейс-метода при создании реляционной базы данных ms access
- •1. Кейс-компонент Открытие бд
- •2. Кейс-компонент Закрытие бд
- •3. Кейс-компонент Создание бд
- •4. Кейс-компонент Создание таблиц
- •5. Кейс-компонент Формирование связей между таблицами
- •6. Кейс-компонент Создание форм
- •7. Кейс-компонент Ввод данных
- •8. Кейс-компонент Организация данных
- •9. Кейс-компонент Создание запросов
- •10. Кейс-компонент Представление информации
- •11. Кейс-компонент Изменение структуры объектов бд
- •12. Кейс-компонент Импорт данных
- •3.2 Иллюстративные учебные кейсы
- •1. Работа с субд Microsoft Access на примере бд «Борей»
- •Задания и алгоритм реализации кейс-ситуации
- •Задания для самостоятельной работы
- •2. Создание однотабличной бд и работа с ней в различных режимах
- •Задания и алгоритм реализации кейс-ситуации
- •3. Создание и работа по запросам с двухтабличной бд «Авто»
- •Задания и алгоритм реализации кейс-ситуации
- •4. Разработка составной формы на основе двух таблиц для бд «Авто»
- •Задания и алгоритм реализации кейс-ситуации
- •Задания и алгоритм реализации кейс-ситуации
- •6. Создание структуры реляционной бд торговой фирмы
- •Задания и алгоритм реализации кейс-ситуации
- •7. Редактирование и обработка данных. Формирование сложных запросов
- •8. Создание форм для работы с данными. Разработка кнопочной формы
- •Задания и алгоритм реализации кейс-ситуации
- •9. Формирование отчетов и почтовых наклеек
- •Задания и алгоритм реализации кейс-ситуации
- •10. Интеграция баз данных ms Access и SharePoint
- •Задания и алгоритм реализации кейс-ситуации
- •3.3 Учебные кейсы. Создание запросов к бд «Фирма» с использованием языка sql
- •1. Создание простых запросов
- •2. Получение обобщенных данных для формирования отчетов и создание запросов с данными из нескольких таблиц и подзапросами
- •3. Создание объединения запросов и запросов с соотнесенными подзапросами для учебной и индивидуальной бд
- •4. Создание запросов на модификацию данных
- •1. Гостиница
- •2. Прокат спортивного оборудования
- •3. Платный абонемент
- •4. Подписка
- •5. Реклама в газете
- •6. Справочная сети аптек
- •7. Фирма добрых услуг
- •8. Продажа музыкальных альбомов
- •9. Транспортные перевозки
- •10. Ремонт компьютеров
- •Лебедева Татьяна Фёдоровна солопова Алла Николаевна
- •650942, Г. Кемерово, пр. Кузнецкий, 39. Тел. 75-75-00
3.3 Учебные кейсы. Создание запросов к бд «Фирма» с использованием языка sql
Кейс-ситуация: Вы – менеджер торговой фирмы (иллюстративный учебный кейс 6). Оперативная работа с БД «Фирма» ставит перед Вами задачи выборки различных данных из таблиц. Для создания запросов наиболее рационально использовать язык SQL.
Цель учебного кейса: приобрести навыки создания запросов различной степени сложности на языке SQL
1. Создание простых запросов
Напишите команду SELECT, которая выводит только код заказа, сумму и дату размещения заказа для всех строк из таблицы Заказы.
Напишите запрос, который выводит все строки из таблицы Клиенты, для которых код сотрудника равен 1001.
Напишите запрос, который выводит таблицу Сотрудники со столбцами фамилия сотрудника, имя, адрес и телефон.
Напишите команду SELECT, которая выводит факс, сопровождаемый названием компании каждого клиента в Кемерово.
Напишите запрос, который выводит значения кодов клиентов всех сотрудников из таблицы Заказы без повторений.
Напишите запрос, который выводит все заказы со значениями суммы заказа выше, чем 7000.
Напишите запрос, который выводит поля фамилия и адрес для всех сотрудников в Кемерово с должностью менеджер.
Напишите запрос к таблице Клиенты, который выводит всех клиентов с формой предприятия ООО, если они не находятся в Кемерово.
Напишите запрос к таблице Сотрудники, который выводит данные о сотрудниках с фамилией, на букву «К».
Что может быть выведено в результате следующего запроса? SELECT * FROM Заказы WHERE (сумма < 6000 OR NOT дата размещения > 16/12/2009 AND код клиента > 2003 );
Как можно проще переписать такой запрос? SELECT код сотрудника, сумма FROM Заказы WHERE ( сумма >0.12 and сумма < 0.1);
Напишите запрос, который выводит все заказы на 10 или 18 ноября 2009, для которых сумма превышала бы 7000.
Напишите запрос, который выберет все заказы, обслуживаемые сотрудниками Кроль или Сенченко. (Подсказка: нужно связать две таблицы Сотрудники и Заказы )
Напишите запрос, который выводит всех клиентов, электронные адреса которых начинаются с букв, попадающих в диапазон от «a» и до «k» и которые живут в городах Кемерово, Мыски, Белово.
2. Получение обобщенных данных для формирования отчетов и создание запросов с данными из нескольких таблиц и подзапросами
Напишите запрос, который вычисляет все суммы заказов на 10 ноября.
Напишите запрос, который выбирает наименьшую сумму заказа для каждого клиента.
Напишите запрос, который выводит данные о клиентах, названия компаний которых начинаются с буквы «К». Вывод упорядочить по возрастанию дат.
Напишите запрос, который вычисляет число клиентов, регистрирующих свои заказы, для каждого дня.
Напишите запрос, который формирует отчет со следующими данными: код сотрудника, фамилия, имя, отчество, сумма комиссионных, полученная этим сотрудником при оформлении всех заказов (заголовки столбцов должны отражать их содержимое)
Напишите запрос к таблице Заказы, который находит наибольшую сумму приобретений на каждую дату размещения заказа. Вывод должен иметь вид: для даты (дата размещения), наибольшая сумма - : (сумма).
Напишите запрос, который выводит список сотрудников в алфавитном порядке (по фамилии). Вывод поля фамилии должен сопровождаться именем сотрудника и его адресом электронной почты.
Напишите запрос, который выводит сумму заказа на каждый день (дата исполнения) и размещает результаты в порядке убывания даты.
Напишите запрос, который выводит список кодов заказов, сопровождающихся фамилией сотрудника, который оформлял эти заказы.
Напишите запрос, который формирует вывод со следующими данными: код заказа, фамилия, имя сотрудника и название компании клиента для каждого заказа.
Напишите запрос, который выводит всех клиентов, обслуживаемых сотрудниками с комиссионными выше 11%. Выведите название компании, фамилия сотрудника и комиссию сотрудника.
Напишите запрос, который вычисляет сумму комиссионных сотрудника для каждого заказа.
Напишите запрос, который выводит все пары сотрудников, живущих в одном и том же городе. Исключите комбинации сотрудников с ними же, а также дубликаты строк, выводимых в обратным порядке.
Напишите запрос, который выводит все пары заказов по данным клиентам, название компании, и исключал дубликаты из вывода, как в предыдущем вопросе.
Напишите запрос, который использует подзапрос для получения всех заказов для клиента с названием компании «ООО ВИТА». Предположим, что код этого клиента неизвестен.
Напишите запрос, который вычисляет общую сумму всех заказов для каждого сотрудника, и выводит только тех сотрудников, у которого эта общая сумма больше, чем сумма наибольшего заказа в таблице.