SQLize
Online
/
PHPize Online
/
SQLtest Online
A
A
A
Share
Donate
Blog
Popular
Donate
A
A
A
Share
Blog
Popular
SQLize.online is a free online SQL environment for quickly running, experimenting with and sharing code.
You can run your SQL code on top of the most popular RDBMS including MySQL, MariaDB, SQLite, PostgreSQL, Oracle and Microsoft SQL Server.
SQL code:
Upload
Copy
Format
Clear
/* База данных использует star schema: В качестве таблицы фактов имеет таблицу чеков checks - store_id(integer), card_id(integer), loyality_id(integer), total(integer) В качестве таблиц-справочников: -таблицу магазинов bas_store - store_id(serial), регион(text) и размер('S', 'M', 'L'), -таблицу банковских карт, использовавшихся при оплате - card_id(serial), платежная система('Master', 'Visa', 'Mir'), банк(text), год окончания действия(integer) -таблицу карт лояльности - loyality_id(serial), статус('Silver', 'Bronze', 'Gold'), год выпуска(integer) Чтобы задать количество генерируемых строк в checks, нужно поменять параметр n=500 в цикле 1...n */ create table bas_store ( store_id serial primary key, region text not null default 'unknown', size_ text not null default 'unknown'); create table bas_card ( card_id serial primary key, sys text not null default 'unknown', bank text not null default 'unknown', exp_year integer not null default 0 ); create table bas_loyality ( loyality_id serial primary key, status text not null default 'unknown', issue_year integer not null default 0); INSERT INTO bas_store (region, size_) values ('Москва', 'L'), ('Москва', 'M'), ('Московская обл.', 'S'), ('Москва', 'S'), ('Московская обл.', 'S'), ('Самара', 'M'), ('Московская обл.', 'L'), ('Москва', 'L'), ('Москва', 'S'), ('Москва', 'L'), ('Самара', 'L'), ('Московская обл.', 'L'), ('Москва', 'L'), ('Самара', 'S'), ('Москва', 'M'), ('Санкт-Петербург', 'L'), ('Москва', 'M'), ('Москва', 'S'), ('Москва', 'S'), ('Московская обл.', 'S'), ('Самара', 'M'), ('Москва', 'S'), ('Санкт-Петербург', 'M'), ('Москва', 'L'), ('Москва', 'S'), ('Москва', 'M'), ('Самара', 'M'), ('Санкт-Петербург', 'M'), ('Санкт-Петербург', 'S'), ('Москва', 'L'), ('Москва', 'L'), ('Санкт-Петербург', 'L'), ('Московская обл.', 'S'), ('Санкт-Петербург', 'L'), ('Санкт-Петербург', 'S'), ('Московская обл.', 'L'), ('Москва', 'M'), ('Москва', 'M'), ('Москва', 'M'), ('Москва', 'S'), ('Санкт-Петербург', 'M'), ('Москва', 'S'), ('Санкт-Петербург', 'M'), ('Санкт-Петербург', 'M'), ('Санкт-Петербург', 'S'), ('Москва', 'M'), ('Санкт-Петербург', 'S'), ('Московская обл.', 'M'), ('Москва', 'L'), ('Москва', 'S'); INSERT INTO bas_card (sys, bank, exp_year) values ('Master', 'Sber', 2023), ('Mir', 'Sber', '2025'), ('Mir', 'Tinkoff', '2025'), ('Visa', 'Raiffeisen', '2025'), ('Visa', 'Alfa', '2024'), ('Master', 'Alfa', '2025'), ('Visa', 'Sber', '2025'), ('Visa', 'Alfa', '2025'), ('Mir', 'Sber', '2025'), ('Mir', 'Sber', '2023'), ('Mir', 'Tinkoff', '2025'), ('Mir', 'Tinkoff', '2023'), ('Visa', 'Tinkoff', '2023'), ('Mir', 'Alfa', '2023'), ('Mir', 'Sber', '2024'), ('Mir', 'Alfa', '2025'), ('Mir', 'Alfa', '2025'), ('Mir', 'Alfa', '2024'), ('Visa', 'Raiffeisen', '2023'), ('Mir', 'Sber', '2024'), ('Visa', 'Alfa', '2023'), ('Mir', 'Sber', '2023'), ('Visa', 'Tinkoff', '2024'), ('Visa', 'Sber', '2023'), ('Visa', 'Sber', '2025'), ('Mir', 'Alfa', '2025'), ('Visa', 'Sber', '2023'), ('Mir', 'Tinkoff', '2025'), ('Mir', 'Alfa', '2023'), ('Mir', 'Sber', '2024'), ('Master', 'Tinkoff', '2024'), ('Mir', 'Sber', '2025'), ('Master', 'Sber', '2023'), ('Visa', 'Sber', '2025'), ('Master', 'Sber', '2024'), ('Mir', 'Alfa', '2023'), ('Master', 'Sber', '2025'), ('Master', 'Sber', '2024'), ('Mir', 'Alfa', '2025'), ('Visa', 'Tinkoff', '2023'), ('Mir', 'Alfa', '2023'), ('Mir', 'Sber', '2024'), ('Mir', 'Tinkoff', '2025'), ('Master', 'Raiffeisen', '2025'), ('Mir', 'Sber', '2025'), ('Mir', 'Sber', '2024'), ('Mir', 'Sber', '2025'), ('Mir', 'Raiffeisen', '2023'), ('Visa', 'Alfa', '2024'), ('Visa', 'Sber', '2025'); INSERT INTO bas_loyality (status, issue_year) values ('Gold', 2022), ('Silver', '2021'), ('Gold', '2022'), ('Bronze', '2022'), ('Bronze', '2020'), ('Bronze', '2020'), ('Bronze', '2020'), ('Silver', '2020'), ('Gold', '2020'), ('Silver', '2020'), ('Bronze', '2020'), ('Silver', '2020'), ('Silver', '2020'), ('Bronze', '2022'), ('Bronze', '2022'), ('Silver', '2022'), ('Bronze', '2022'), ('Bronze', '2020'), ('Silver', '2020'), ('Silver', '2022'), ('Bronze', '2020'), ('Bronze', '2020'), ('Bronze', '2020'), ('Bronze', '2021'), ('Bronze', '2022'), ('Bronze', '2020'), ('Silver', '2022'), ('Gold', '2022'), ('Bronze', '2021'), ('Bronze', '2020'), ('Bronze', '2022'), ('Bronze', '2021'), ('Bronze', '2021'), ('Bronze', '2021'), ('Bronze', '2020'), ('Bronze', '2021'), ('Silver', '2020'), ('Gold', '2021'), ('Silver', '2020'), ('Bronze', '2020'), ('Silver', '2021'), ('Silver', '2020'), ('Bronze', '2022'), ('Bronze', '2021'), ('Silver', '2022'), ('Silver', '2020'), ('Gold', '2021'), ('Bronze', '2020'), ('Bronze', '2022'), ('Gold', '2022'); create table bas_checks ( check_id serial primary key, store_id integer references bas_store, card_id integer references bas_card, loyality_id integer references bas_loyality, total integer default 0 ); DO $do$ BEGIN FOR i IN 1..500 LOOP INSERT INTO bas_checks (store_id, card_id, loyality_id, total) -- declare target columns! SELECT store_id, card_id, loyality_id, trunc(random() * 7777 + 1) FROM generate_series(1,1) i CROSS JOIN LATERAL ( SELECT store_id FROM bas_store ORDER BY random() LIMIT 1 ) s CROSS JOIN LATERAL ( SELECT card_id FROM bas_card ORDER BY random() LIMIT 1 ) c CROSS JOIN LATERAL ( SELECT loyality_id FROM bas_loyality ORDER BY random() LIMIT 1 ) l; END LOOP; END $do$; SELECT * FROM bas_checks join bas_card on bas_card.card_id = bas_checks.card_id limit 10
SQL
Server:
MariaDB 11.4
MariaDB 11.5
MariaDB 10
MariaDB 10 Sakila (ReadOnly)
MySQL 5.7
MySQL 5.7 Sakila (ReadOnly)
MySQL 8.0
MySQL 8.0 Sakila (ReadOnly)
SQLite 3
PostgreSQL 10 Bookings (ReadOnly)
PostgreSQL 11
PostgreSQL 12
PostgreSQL 13
PostgreSQL 14
PostgreSQL 15
MS SQL Server 2017
MS SQL Server 2019
MS SQL Server 2022
MS SQL Server 2022 AdventureWorks (ReadOnly)
Firebird 4.0
Firebird 4.0 (Employee)
Oracle Database 19c (HR)
Oracle Database 21c
Oracle Database 23c Free
SOQOL
Version
ER Diagram
Preserve result
Stuck with a problem?
Got Error?
Ask ChatGPT!
Result:
Copy
Clear