Создание и заполнение базы данных «Бакалея», страница 2

5.  Руководство пользователя

Основное рабочее окно:

1 – основная таблица bakaleya;

            2 – просмотр и работа со второстепенными таблицами;

            3 – выбор индивидуального задания;

            4 – ме9ню функций (добавление, редактирование, удаление данных в таблице).

Рис. 6. Основное окно – главная таблица

Текст запроса для получения читабельной таблицы bakaleya:

zapros = "SELECT bakaleya.id, tovary.name as tovar, proizvoditeli.name as firma, bakaleya.release_date as data, bakaleya.price, bakaleya.weight_volume as volume, bakaleya.count FROM bakaleya inner join tovary on tovary.id=bakaleya.id_tovar inner join proizvoditeli on proizvoditeli.id = bakaleya.id_proizvod;";

Добавление/изменение:

·  Заполнить и выбрать необходимые параметры

Рис. 7. Добавление/изменение таблицы

Код запроса на добавление в бакалею:

sql = "insert into bakaleya values (default, " + id_tovar + ", " + id_proizvod + ", '" + date.Date + "', '" + price + "', " + volume.Replace(',', '.') + ", " + count + ");";

Кодзапросаредактированиябакалеи:

sql = "update bakaleya set id_tovar=" + id_tovar + ", id_proizvod=" + id_proizvod + ", release_date='" + date.Date + "', price='" + price + "', weight_volume=" + volume.Replace(',', '.') + ", count=" + count + " where id="+id+";";

Обзор всех таблицы:

Рис. 8. Обзор всех таблиц

Обзор списка производителей:

Рис. 9. Обзор списка производителей

          Добавление/изменение производителя:

Рис. 10. Добавление/изменение производителей

Код запроса добавление производителя:

sql = "insert into proizvoditeli values (default, '" + name + "');";

Кодзапросаизмененияпроизводителя:

sql = "update proizvoditeli set name = '"+newname+"' where name ='"+oldname+"';";

Обзор списка типов товаров:

Рис. 11. Обзор списка типов товаров

          Добавление/изменение типов товаров:

Рис. 12. Добавление/изменение типов товаров

Код добавления типа товаров:

sql = "insert into type_bakaleya values (default,'" + name + "');";

Кодизменениятипатоваров:

sql = "update type_bakaleya set name = '" + newname + "' where name ='" + oldname + "';";

Обзор таблицы каталога товаров:

Рис. 13. Обзор таблицы каталога товаров

Добавление/изменение товаров:

Рис. 14. Добавление/изменение товаров

Код добавления товара:        

sql = "insert into tovary values (default,'" + name + "', "+ id + ", '"+shelf+" "+type_shelf+"');";

Кодизменениятовара:

sql = "update tovary set name='" + name + "', type_bak=" + id2 + ", shelf_life='" + shelf.ToString() + " "+ type_shelf + "' where id = " + id + ";";


6.  Индивидуальные задания. Примеры выполнения

1.  Для каждого вида бакалейных товаров выдать список, отсортированный:

·  По дате выпуска,

·  В алфавитном порядке,

·  По весу,

·  По стоимости

Текстызапросов:

string zapros = "SELECT bakaleya.id, tovary.name as tovar, proizvoditeli.name as firma, bakaleya.release_date as data, bakaleya.price, bakaleya.weight_volume as volume, bakaleya.count FROM bakaleya inner join tovary on tovary.id=bakaleya.id_tovar and tovary.type_bak="+id_type+" inner join proizvoditeli on proizvoditeli.id = bakaleya.id_proizvod  order by "+sort+";";

2.  Найти самый дорогой вид бакалеи, самый дешевый, среднюю стоимость по каждому виду и в целом.

Тексты запросов:

Средняя стоимость по виду:

zapros = "SELECT avg(bakaleya.price) FROM bakaleya inner join tovary on bakaleya.id_tovar=tovary.id inner join type_bakaleya on tovary.type_bak=type_bakaleya.id and type_bakaleya.name='" + type + "';";

общаясредняястоимость:

zapros = "SELECT avg(bakaleya.price) FROM bakaleya inner join tovary on bakaleya.id_tovar=tovary.id inner join type_bakaleya on tovary.type_bak=type_bakaleya.id;";

       максимальная средняя стоимость:

zapros = "SELECT max(sum) FROM  (select avg(bakaleya.price) as sum from bakaleya inner join tovary on bakaleya.id_tovar=tovary.id inner join type_bakaleya on tovary.type_bak=type_bakaleya.id group by type_bakaleya.id) a ;";              

       минимальная средняя стоимость: