Файл: Отчет По Курсовой работе По дисциплине Базы данных Тема Фотоаппараты.docx
Добавлен: 11.12.2023
Просмотров: 159
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ«НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» Кафедра вычислительной техники ОтчетПо Курсовой работеПо дисциплине: «Базы данных»Тема: «Фотоаппараты»Факультет: АВТФГруппа: АВТ-043 Студент: Логутов Р.Ю.Преподаватель: Трошина Г.В.Новосибирск 2022.Оглавление
1.Введение 3
2.Задание 4
6
2 Ход работы 6
Руководство пользователя (описание функций) 32
Вывод 35
Список использованных источников 36
Рис.1. UML диаграмма БД.
По стоимостиCREATE OR REPLACE FUNCTION by_cost() RETURNS TABLE (id integer, firm char(50), name char(50), cost int, country char(50), date_out date, date_sell date, supplyer char(50))AS $$BEGINRETURN QUERY SELECT cameras.id, firm.name, model.name, cameras.cost, countries.name, cameras.date_out, cameras.date_sell, supp.nameFROM cameras, firm, model, countries, suppWHERE cameras.model_id = model.id AND cameras.sup_id = supp.id AND cameras.country = countries.id AND model.firm_id = firm.idORDER BY cameras.cost;END;$$ LANGUAGE plpgsql;Рис.8. Результат выполнения функции by_cost().По дате продажиCREATE OR REPLACE FUNCTION by_sell() RETURNS TABLE (id integer, firm char(50), name char(50), cost int, country char(50), date_out date, date_sell date, supplyer char(50))AS $$BEGINRETURN QUERY SELECT cameras.id, firm.name, model.name, cameras.cost, countries.name, cameras.date_out, cameras.date_sell, supp.nameFROM cameras, firm, model, countries, suppWHERE cameras.model_id = model.id AND cameras.sup_id = supp.id AND cameras.country = countries.id AND model.firm_id = firm.idORDER BY cameras.date_sell;END;$$ LANGUAGE plpgsql;Рис.9. Результат выполнения функции by_sell().
firm.id AND cameras.cost BETWEEN $1 AND $2;END;$$ LANGUAGE plpgsql;Рис.12. Результат выполнения функции task3.
1.Введение 3
2.Задание 4
6
2 Ход работы 6
Руководство пользователя (описание функций) 32
Вывод 35
Список использованных источников 36
-
Введение
, обновляя в ней хранимую информацию, обеспечивая оперативный доступ к ней для просмотра и поиска информации.
Цель:
Реализовать базу данных «Фотоаппараты» с использованием СУБД PostgreSQL и процедурного языка pgplsql, и сделать различные выборки по этой базе.
-
Задание
-
Для каждого фотоаппарата указать сведения о нем (наименование, дату выпуска, поставщик, цена и другие функции). -
Для каждого фотоаппарата выдать список, отсортированный:-
По дате выпуска -
В алфавитном порядке -
По стоимости -
По дате продажи
-
-
Найти самый дорогой фотоаппарат, самый дешевый, среднюю стоимость. -
Найти фотоаппараты с ценой в заданных пределах (предусмотреть ввод цены с клавиатуры). -
Найти все фотоаппараты заданного производителя (выбор). -
Найти все фотоаппараты с заданной датой выпуска (ввод даты). -
Найти все фотоаппараты, чья стоимость находится в заданных пределах (ввод интервала) для заданного производителя (выбор). -
Найти долю фотоаппаратов, проданных за определенный период (ввод периода) от общего времени продажи. -
Найти самую популярную модель фотоаппарата (продано наибольшее количеств). -
Найти все фотоаппараты, поступившие от заданного поставщика (выбор поставщика), чья стоимость больше, чем средняя стоимость заданного фотоаппарата (ввод марки фотоаппарата), поступившего из заданной страны (ввод наименования страны). -
Найти долю дешевых фотоаппаратов (чья стоимость меньше заданной, ввод стоимости), поступивших от заданного поставщика (выбор поставщика) из заданной страны (выбор страны) и в целом. -
Найти количество бракованных фотоаппаратов, поступивших из заданной страны (выбор страны) для заданного поставщика (выбор поставщика) за определенный промежуток времени (ввод интервала). -
Найти среднюю стоимость фотоаппаратов, проданных за определенный промежуток времени (ввод интервала). -
Найти все фотоаппараты, чья стоимость выше, чем средняя стоимость фотоаппаратов заданного производителя (выбор производителя). -
Найти виды запасных частей, поступающих для ремонта фотоаппаратов, отсортировать по наименованиям, по стоимости, по поставщику. -
Найти поставщиков заданного вида запасных частей (выбор) для заданного вида фотоаппаратов (выбор модели).
2 Ход работы
-
Создание базы данных в среде postgresql:
-
Создание необходимых таблиц и их заполнение:
-
Выполнение заданий:
-
Для каждого фотоаппарата выдать список, отсортированный:
По стоимостиCREATE OR REPLACE FUNCTION by_cost() RETURNS TABLE (id integer, firm char(50), name char(50), cost int, country char(50), date_out date, date_sell date, supplyer char(50))AS $$BEGINRETURN QUERY SELECT cameras.id, firm.name, model.name, cameras.cost, countries.name, cameras.date_out, cameras.date_sell, supp.nameFROM cameras, firm, model, countries, suppWHERE cameras.model_id = model.id AND cameras.sup_id = supp.id AND cameras.country = countries.id AND model.firm_id = firm.idORDER BY cameras.cost;END;$$ LANGUAGE plpgsql;Рис.8. Результат выполнения функции by_cost().По дате продажиCREATE OR REPLACE FUNCTION by_sell() RETURNS TABLE (id integer, firm char(50), name char(50), cost int, country char(50), date_out date, date_sell date, supplyer char(50))AS $$BEGINRETURN QUERY SELECT cameras.id, firm.name, model.name, cameras.cost, countries.name, cameras.date_out, cameras.date_sell, supp.nameFROM cameras, firm, model, countries, suppWHERE cameras.model_id = model.id AND cameras.sup_id = supp.id AND cameras.country = countries.id AND model.firm_id = firm.idORDER BY cameras.date_sell;END;$$ LANGUAGE plpgsql;Рис.9. Результат выполнения функции by_sell().
-
Найти самый дорогой фотоаппарат, самый дешевый, среднюю стоимость
-
Найти фотоаппараты с ценой в заданных пределах (предусмотреть ввод цены с клавиатуры)
firm.id AND cameras.cost BETWEEN $1 AND $2;END;$$ LANGUAGE plpgsql;Рис.12. Результат выполнения функции task3.
-
Найти все фотоаппараты заданного производителя (выбор).
-
Найти все фотоаппараты, с заданной датой выпуска (ввод даты).
-
Найти все фотоаппараты, чья стоимость находится в заданных пределах (ввод интервала) для заданного производителя (выбор).
-
Найти долю фотоаппаратов, проданных за определенный период (ввод периода) от общего времени продажи
-
Найти самую популярную модель фотоаппарата (продано наибольшее количество)