feat: add database initialization script and description for shoe store

Co-authored-by: aider (openrouter/qwen/qwen3-coder) <aider@aider.chat>
This commit is contained in:
baiobelfer 2025-09-08 15:24:31 +02:00
parent 2e8961f0cb
commit 459b13f5d8
2 changed files with 76 additions and 0 deletions

55
sql/init.sql Normal file
View File

@ -0,0 +1,55 @@
-- Inicjalizacja bazy danych dla sklepu z obuwiem
-- Autor: [Twoje Imię/Nazwa Projektu]
-- Data: [Data]
-- Usuń istniejące tabele (jeśli istnieją) — dla czystego startu
DROP TABLE IF EXISTS obuwie_produkty;
DROP TABLE IF EXISTS obuwie_buty;
DROP TABLE IF EXISTS obuwie_kategorie;
-- Tabela: Kategorie butów
CREATE TABLE obuwie_kategorie (
id_kat INT(3) PRIMARY KEY AUTO_INCREMENT,
nazwa_kat VARCHAR(30) NOT NULL UNIQUE
);
-- Tabela: Buty (modele)
CREATE TABLE obuwie_buty (
model VARCHAR(20) PRIMARY KEY,
id_kat INT(3) NOT NULL,
nazwa VARCHAR(30) NOT NULL,
cena DECIMAL(7,2) NOT NULL,
opis TEXT,
FOREIGN KEY (id_kat) REFERENCES obuwie_kategorie(id_kat)
ON DELETE CASCADE
ON UPDATE CASCADE
);
-- Tabela: Produkty (konkretne egzemplarze butów w różnych rozmiarach i kolorach)
CREATE TABLE obuwie_produkty (
id_prod INT(5) PRIMARY KEY AUTO_INCREMENT,
model VARCHAR(20) NOT NULL,
rozmiar DECIMAL(3,1) NOT NULL,
kolor VARCHAR(20),
ilosc INT(4) DEFAULT 0 CHECK (ilosc >= 0),
FOREIGN KEY (model) REFERENCES obuwie_buty(model)
ON DELETE CASCADE
ON UPDATE CASCADE
);
-- Wstaw przykładowe dane (opcjonalnie, dla testów)
INSERT INTO obuwie_kategorie (nazwa_kat) VALUES
('Sportowe'), ('Klasyczne'), ('Zimowe');
INSERT INTO obuwie_buty (model, id_kat, nazwa, cena, opis) VALUES
('NIKE-AIR-01', 1, 'Nike Air Max', 499.99, 'Buty sportowe z amortyzacją Air'),
('ADIDAS-CL-02', 1, 'Adidas Cloudfoam', 349.00, 'Wygodne buty do codziennego użytku'),
('DERBY-BLACK', 2, 'Derby Czarny', 599.50, 'Klasyczne buty męskie');
INSERT INTO obuwie_produkty (model, rozmiar, kolor, ilosc) VALUES
('NIKE-AIR-01', 42.0, 'Czarny', 15),
('NIKE-AIR-01', 43.0, 'Biały', 8),
('ADIDAS-CL-02', 41.0, 'Szary', 20),
('DERBY-BLACK', 44.0, 'Czarny', 5);
-- Koniec inicjalizacji

21
sql/opis.txt Normal file
View File

@ -0,0 +1,21 @@
Baza danych: Sklep z obuwiem
Tabele:
1. obuwie_kategorie
- id_kat (PK) — unikalny identyfikator kategorii
- nazwa_kat — nazwa kategorii (np. "Sportowe", "Klasyczne")
2. obuwie_buty
- model (PK) — kod/model buta
- id_kat (FK → obuwie_kategorie) — przypisanie do kategorii
- nazwa, cena, opis — szczegóły produktu
3. obuwie_produkty
- id_prod (PK) — unikalny ID egzemplarza
- model (FK → obuwie_buty) — odniesienie do modelu
- rozmiar, kolor, ilosc — konkretne cechy dostępnej pary
Relacje:
- obuwie_buty → obuwie_kategorie (każdy but należy do jednej kategorii)
- obuwie_produkty → obuwie_buty (każdy produkt to konkretna para danego modelu)