Главная страница
Навигация по странице:

  • .выбрать

  • Вид - Групповые операции

  • Работа 2.4. Расширение базы данных Цель работы

  • Используемые программные средства

  • Имя поля Тип поля Длина (формат)

  • УРОВЕНЬ 2: задания на самостоятельную разработку Описаны отношения реляционной базы данных для информационной системы в определенной предметной области.

  • Заполнить таблицы конкретными данными 5) Используя конструктор запросов, реализовать указанные запросы к базе данных Вариант 1

  • Модели систем


    Скачать 0.89 Mb.
    НазваниеМодели систем
    Дата28.09.2022
    Размер0.89 Mb.
    Формат файлаdoc
    Имя файлаkl11pr1.doc
    ТипОтчет
    #703609
    страница3 из 4
    1   2   3   4

    .выбрать ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, ОЦЕНКИ.ДАТА, ОЦЕНКИ.ОЦЕНКА где ОЦЕНКИ.НОМЕР_УЧ=5 сортировать ОЦЕНКИ.НАЗВ_ПРЕДМЕТА по возрастанию, ОЦЕНКИ.ДАТА по возрастанию
    1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:

    2. Исполнить запрос. Результат будет следующим:



    3. Сохранить запрос с именем «Оценки Волегова»


    ЗАДАНИЕ 3

    Получить список всех оценок, полученных по алгебре всеми учениками класса. Отсортировать по фамилиям учеников и по датам получения оценок.
    Команда на учебном языке запросов:

    .выбрать УЧЕНИКИ.ФАМИЛИЯ, ОЦЕНКИ.ДАТА, ОЦЕНКИ.ОЦЕНКА где ОЦЕНКИ.НАЗВ_ПРЕДМЕТА=”Алгебра” сортировать УЧЕНИКИ.ФАМИЛИЯ по возрастанию, ОЦЕНКИ.ДАТА по возрастанию


    1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:





    1. Исполнить запрос. Результатом будет следующая таблица:




    3. Сохранить запрос с именем «Оценки по алгебре»

    ЗАДАНИЕ 4
    Вывести список всех двоек, полученных учениками класса, с указанием фамилии ученика, даты получения двойки, предмета и учителя. Отсортировать по фамилиям учеников
    Команда на учебном языке запросов:

    .выбрать УЧЕНИКИ.ФАМИЛИЯ, ОЦЕНКИ.ДАТА, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, ПРЕДМЕТЫ_УЧИТЕЛЬ где ОЦЕНКИ.ОЦЕНКА=2 сортировать УЧЕНИКИ.ФАМИЛИЯ по возрастанию

    Для реализации этого запроса используются все три связанные таблицы.


    1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:






    1. Исполнить запрос. Результатом будет следующая таблица:




    3. Сохранить запрос с именем «Двоечники»

    ЗАДАНИЕ 5

    Вывести список всех учеников класса получивших пятерки по алгебре и по истории, указав фамилию, имя, предмет и дату получения оценки
    Команда на учебном языке запросов:

    .выбрать УЧЕНИКИ.ФАМИЛИЯ, УЧЕНИКИ.ИМЯ, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, ОЦЕНКИ.ДАТА где (ОЦЕНКИ.НАЗВ_ПРЕДМЕТА=”Алгебра” или ОЦЕНКИ.НАЗВ_ПРЕДМЕТА=”История”) и ОЦЕНКИ.ОЦЕНКА=5 сортировать УЧЕНИКИ.ФАМИЛИЯ по возрастанию
    1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:


    Обратите внимание на то, как реализовано сложное логическое выражение в условии отбора. Условия отбора, записанные в одной строке, объединяются операцией «и». Условия во второй строке объединяются с условием первой строки операцией «или». Такая реализация условия отбора в этом запросе равносильна раскрытию скобок в логическом выражении в команде на учебном языке:

    (НАЗВ_ПРЕДМЕТА=”Алгебра” или НАЗВ_ПРЕДМЕТА=”История”) и ОЦЕНКА = 5 тождественно выражению:

    НАЗВ_ПРЕДМЕТА=”Алгебра” и ОЦЕНКА = 5 или НАЗВ_ПРЕДМЕТА=”История” и ОЦЕНКА = 5
    2. Исполнить запрос. Результатом будет следующая таблица:



    3. Сохранить запрос с именем «Пятерки по алгебре и истории»
    ЗАДАНИЕ 6

    Вычислить средние оценки для всех учеников по всем предметам. Вывести фамилию ученика, название предмета, среднюю оценку, ФИО учителя по этому предмету.
    Команда на учебном языке запросов:

    .выбрать УЧЕНИКИ.ФАМ, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, Avg(ОЦЕНКИ.ОЦЕНКА), ПРЕДМЕТЫ.УЧИТЕЛЬ группировать УЧЕНИКИ.ФАМ, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, ПРЕДМЕТЫ.УЧИТЕЛЬ сортировать УЧЕНИКИ.ФАМ по возрастанию, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА по возрастанию
    1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:


    Для того чтобы в конструкторе запросов появилась строка «Групповая операция», нужно через главное меню окна Access отдать команду Вид - Групповые операции. Во всех полях новой строки установится слово «Группировка». Функция вычисления среднего Avg выбирается из списка, который открывается после щелчка по кнопке в этой строке в ячейке для поля ОЦЕНКА.
    2. Исполнить запрос. Результатом будет следующая таблица:




    3. Сохранить запрос с именем «Средние оценки»
    ЗАДАНИЕ 7

    Получить список учеников, имеющих среднюю оценку по алгебре выше четырех. Вывести фамилию ученика и среднюю оценку по алгебре. Отсортировать список по фамилиям
    Команда на учебном языке запросов:
    .выбрать УЧЕНИКИ.ФАМ, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА, Avg(ОЦЕНКИ.ОЦЕНКА) группировать УЧЕНИКИ.ФАМ, ОЦЕНКИ.НАЗВ_ПРЕДМЕТА где ОЦЕНКИ.НАЗВ_ПРЕДМЕТА = “Алгебра” и Avg(ОЦЕНКИ.ОЦЕНКА) >4 сортировать УЧЕНИКИ.ФАМ по возрастанию
    1. Построить запрос в конструкторе запросов в виде, показанном на рисунке:

    2. Исполнить запрос. Результатом будет следующая таблица:


    3. Сохранить запрос с именем «Средние оценки больше 4»
    Работа 2.4. Расширение базы данных
    Цель работы: Закрепление навыков создания таблиц, освоение приемов реализации запросов на выборку с использованием групповых операций и вычисляемых полей..

    Используемые программные средства: MSAccess.
    ЗАДАНИЕ 1

    Дополнить БД данными с четвертными оценками учеников.


    1. Создать в БД новую таблицу ИТОГИ следующей структуры:




    Имя поля

    Тип поля

    Длина (формат)

    НОМЕР_УЧ

    Числовой

    Целое

    НАЗВ_ПРЕДМЕТА

    Текстовый

    30

    1_ЧЕТВ

    Числовой

    Целое

    2_ЧЕТВ

    Числовой

    Целое

    3_ЧЕТВ

    Числовой

    Целое

    4_ЧЕТВ

    Числовой

    Целое

    ГОД

    Числовой

    Целое




    1. Связать эту таблицу с таблицами УЧЕНИКИ и ПРЕДМЕТЫ через общие поля. В результате получится следующая схема:





    1. Заполнить таблицу ИТОГИ следующими данными:




    ЗАДАНИЕ 2

    Получить список отличников по отдельным предметам. Указать фамилию, имя ученика и предмет, по которому он имеет все четвертные пятерки.
    Команда на учебном языке:

    .выбрать УЧЕНИКИ.ФАМИЛИЯ, УЧЕНИКИ.ИМЯ, ПРЕДМЕТЫ.НАЗВ_ПРЕДМЕТА где ИТОГИ.1_ЧЕТВ=5 и ИТОГИ.2_ЧЕТВ=5 и ИТОГИ.3_ЧЕТВ=5 и ИТОГИ.4_ЧЕТВ=5 сортировать УЧЕНИКИ.ФАМИЛИЯ по возрастанию



    В результате выполнения запроса получим таблицу:

    ЗАДАНИЕ 3

    Вычислить суммы оценок по информатике у всех учеников и вывести список в прядке убывания суммы.
    В запросе в списке выводимых полей можно определить новое поле, для которого будет задано имя и формула вычисления его значений. Назовем такое поле СУММА. Команда выборки на учебном языке:
    .выбрать УЧЕНИКИ.ФАМИЛИЯ, СУММА: [ИТОГИ].[1_ЧЕТВ]+ [ИТОГИ].[ 2_ЧЕТВ]+ [ИТОГИ].[3_ЧЕТВ]+ [ИТОГИ].[4_ЧЕТВ] где ПРЕДМЕТЫ.НАЗВ_ПРЕДМЕТА= ”Информатика” сортировать СУММА по убыванию




    Обратите внимание на двоеточие после имени вычисляемого поля и квадратные скобки в выражении для вычисления суммы. Имя поля, заключенное в скобки, обозначает значение этого поля. В результате получим следующую таблицу:



    УРОВЕНЬ 2: задания на самостоятельную разработку
    Описаны отношения реляционной базы данных для информационной системы в определенной предметной области.

    1. выбрать типы для атрибутов

    2. Используя конструктор таблиц Access, создать соответствующие таблицы, организовать связи и построить схему

    3. Создать формы для просмотра и заполнения таблиц

    4. Заполнить таблицы конкретными данными

    5) Используя конструктор запросов, реализовать указанные запросы к базе данных

    Вариант 1. Кухня.

    Повар (Номер, ФИО, Место_работы, Разряд)

    Продукты (Шифр, Наименование, Цена, Количество)

    Блюдо (Шифр, Наименование, Номер_рецепта)

    Изготовление (Номер_повара, Шифр_продукта, Шифр_блюда, Расход_продукта)

    Изготовление показывает, какой повар, какой продукт в каком количестве использует для изготовления какого блюда.
    Реализовать следующие запросы к БД:

    1. – выведите наименование самого дорогого блюда;

    2. – выведите названия блюд, в которых используются все продукты;

    3. – выведите ФИО всех поваров, которые изготовляют все блюда;

    4. выведите наименования продуктов, которые не используются для приготовления указанного блюда;

    5. – выведите ФИО поваров, которые готовят те же блюда, что и указанный повар;

    6. – выведите наименования продуктов, которых не хватит для приготовления указанного блюда указанным поваром.



    Вариант 2. Поликлиника.

    Врач (Номер, ФИО, Категория, Специализация)

    Больной (Шифр, ФИО, Дата_рождения, Вес, Рост)

    Лекарство (Шифр, Название, Изготовитель)

    Назначение (Номер_врача, Шифр_больного, Шифр_лекарства, Дозировка)

    Назначение показывает, какому больному, какой врач какое лекарство в какой дозировке выписал.
    Реализовать следующие запросы к БД:

    1. вывести ФИО больных, которым разные врачи выписали одно и то же лекарство в разной дозировке;

    2. вывести ФИО врачей, которые не выписывали указанное лекарство;

    3. вывести названия лекарств, которые выписывались всем больным;

    4. вывести специализации врачей, у которых лечился указанный больной;

    5. вывести ФИО самого высокого больного указанного врача;

    6. вывести названия лекарств, которые чаще всего выписывает указанный врач.


    Вариант 3. Библиотека.

    Книга (Номер, Название, Издательство, Год_издания, Количество_страниц)

    Автор (Номер, ФИО, Город_проживания)

    Полка (Шифр, Название, Место_нахождения)

    Расстановка (Номер_книги, Номер_автора, Шифр_полки, Количество)

    Расстановка показывает, на какой полке, какого автора, какая книга стоит в каком количестве экземпляров.
    Реализовать следующие запросы к БД:

    1. вывести ФИО авторов, книги которых стоят на разных полках;

    2. вывести названия полок, на которых стоят книги, изданные в указанном году;

    3. вывести ФИО автора, книг которого больше всего в библиотеке;

    4. вывести название города, в котором живет автор, книга которого имеет больше всего страниц на данной полке;

    5. вывести ФИО авторов, книг которых нет на указанной полке;

    6. вывести перечень издательств, книги которых есть библиотеке.


    Вариант 4. Парикмахерская.

    Клиент (Шифр, ФИО, Возраст, Тип волос)

    Мастер (Шифр, ФИО, Квалификация)

    Прически (Шифр, Название, Цена, Время)

    Заказы (Шифр клиента, Шифр мастера, Шифр прически, дата, время)

    Заказы показывают, какая прическа, какому клиенту, кем из мастеров была или будет сделана.
    Реализовать следующие запросы к БД:

    1. вывести список клиентов с указанием суммы заказа для указанного мастера;

    2. вывести список квалификаций мастеров для указанного клиента;

    3. вывести список названий причесок выполненных указанным мастером для указанного клиента;

    4. вывести список причесок для указанного типа волос или возраста;

    5. вывести ФИО и квалификацию мастера выполнившего заказов на наибольшую сумму;

    6. вывести мастера, умеющего делать все прически;

    7. вывести клиентов, которые делали прически у всех мастеров;

    8. вывести прически, которые не делались указанному клиенту;

    9. вывести мастеров, которые больше всего загружены в указанный дель;

    10. вывести ФИО и возраст клиента потратившего наибольшее количество


    Вариант 5. Производство.

    Рабочий (Шифр, ФИО, Разряд, Место работы)

    Детали (Шифр, Наименование, Цена)

    Изделие (Шифр, Наименование, Номер проекта)

    Изготовление (Шифр рабочего, Шифр детали, Шифр изделия, Количество деталей)

    Реализовать следующие запросы к БД:

    1. вывести рабочих, которые не участвовали в изготовлении указанного изделия;

    2. вывести детали, которые используются во всех изделиях;

    3. вывести изделия, в которых используются все детали;

    4. вывести рабочих, которые не участвовали в изготовлении указанных изделий;

    5. вывести цену указанного изделия;

    6. вывести названия изделий, в которых используется указанная деталь;

    7. вывести ФИО рабочих, которые собирали указанное изделие;

    8. вывести список деталей используемых для сборки указанного изделия;

    9. вывести наименования изделий, собранных указанным рабочим;

    10. вывести список деталей используемых для сборки изделий в указанном месте работы.


    Вариант 6. Станция технического обслуживания автомашин.

    Мастер (Шифр, ФИО, квалификация)

    Машины (Шифр, Марка, Цвет, Пробег)

    Услуги (Шифр, Наименование, Цена, Время выполнения)

    Заказы (Шифр мастера, Шифр машины, Шифр услуги, Дата)

    Реализовать следующие запросы к БД:

    1. вывести список услуг, выполненных для указанной машины;

    2. вывести мастеров, которые оказывали все услуги;

    3. вывести машины, которые ремонтировали все мастера;

    4. вывести мастеров, которые не оказывали заданной услуги машинам заданной марки;

    5. вывести мастеров, которые не ремонтировали машин ни одной из заданных марок;

    6. вывести сумму, на которую оказал услуги указанный мастер в указанное число;

    7. вывести список услуг, выполненных мастерами указанной квалификации;

    8. вывести список услуг, выполненных для машин указанной марки и указанного пробега;

    9. вывести марку машины, на ремонт которой было затрачено максимальное время или сумма;

    10. вывести список услуг оказанных в указанное число.



    Вариант 7. Магазин.

    Товары (Шифр, Наименование, Стоимость единицы измерения, Вид единицы измерения)

    Отделы (Шифр, Наименование, Этаж)

    Продавцы (Шифр, ФИО, Возраст, Пол, Шифр отдела {где работает})

    Продажи (Шифр товара, Шифр продавца, Количество, Дата)

    Продажи показывают, какой товар, в каком количестве, когда и кем из продавцов был продан.
    Реализовать следующие запросы к БД:

    1. вывести продавцов, работающих в самом высоко расположенном отделе;

    2. вывести этаж, где находится отдел с наибольшим количеством сотрудников;

    3. вывести дату с наибольшим количеством продаж;

    4. вывести продавцов, которые продают все товары;

    5. вывести отделы, где работают продавцы, не продающие товары;

    6. вывести товары, которые не продаются;

    7. вывести товары, которые не продаются заданными продавцами;

    8. вывести ФИО продавца продавшего за указанный диапазон времени наибольшее количество товара;

    9. вывести информацию об указанном товаре {где, когда, кем и в каком количестве был продан};

    10. вывести информацию об указанном отделе на указанное число {список товаров, список работников};

    11. вывести информацию о продажах по каждому дню за указанный диапазон времени для магазина в целом.

    1   2   3   4


    написать администратору сайта