INF.03-01-25.01-SG/sql/init.sql

56 lines
1.8 KiB
MySQL
Raw Normal View History

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