-- 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
