diff --git a/sql/init.sql b/sql/init.sql new file mode 100644 index 0000000..19ec0ab --- /dev/null +++ b/sql/init.sql @@ -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 diff --git a/sql/opis.txt b/sql/opis.txt new file mode 100644 index 0000000..59d2a8b --- /dev/null +++ b/sql/opis.txt @@ -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)