SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
/* Схема данных реализует систему учета транзакций(покупок) в магазинах. Состоит из следующих таблиц: 1. zlo_customer - таблица клиентов (id-имя-фамилия-дата регистрации) 2. zlo_plu - таблица товаров (id-название-категория-цена-скидка) 3. zlo_store - таблица магазинов (id-название-регион) 4. zlo_transactions - таблица транзакций (id-id клиента-id товара-количество-id магазина-дата) */ create table zlo_customer ( customer_id INT primary key, customer_name VARCHAR(15), customer_last_name VARCHAR(15) ); insert into zlo_customer values (123, 'Vyacheslav', 'Markov'), (213, 'Mark', 'Dmitrov'), (312, 'Valentin', 'Seleznev'), (321, 'Tatyana', 'Balabanova'), (132, 'Veronika', 'Petrova'); create table zlo_plu ( plu_id INT primary key, plu_name VARCHAR(40), category VARCHAR(30), price FLOAT, discout FLOAT ); insert into zlo_plu values (189, 'Vodka', 'Drinks', 460.7, 50.0), (276, 'Morkovka', 'Vegetables', 34.9, 5.0), (376, 'Baton', 'Bread', 45.5, 0.0), (493, 'Shokoladnyi vostorg 1kg', 'Candies', 300.8, 30.0), (523, 'Milk', 'Drinks', 65.4, 0.0); create table zlo_store ( store_id INT primary key, store_name VARCHAR(30), region_nm VARCHAR(30) ); insert into zlo_stores values (951, 'Big', 'Moscow'), (078, 'Great', 'Saint-Petersburg'), (586, 'Soul', 'Vladimir'), (693, 'FarFarAway', 'Vladivostok'), (478, 'Hot', 'Sochi'); create table zlo_transactions ( transaction_id INT primary key, customer_id INT references zlo_customer, plu_id INT references zlo_plu, amount FLOAT, store_id INT references zlo_store, datetime timestamp ); CREATE OR REPLACE FUNCTION random_between(low INT ,high INT) RETURNS INT AS $$ BEGIN RETURN floor(random()* (high-low + 1) + low); END; $$ language 'plpgsql' STRICT; insert into zlo_transactions select customer_id, plu_id, amount::float, store_id, datetime::timestamp from generate_series('2022-01-01'::date, '2022-03-01'::date, '1 day'::interval) datetime cross join generate_series(1, 10) amount cross join zlo_customer cross join zlo_plu cross join zlo_store order by random();
Stuck with a problem? Got Error? Ask ChatGPT!
Copy Clear