CREATE DATABASE IF NOT EXISTS myjnia_samochodowa
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

USE myjnia_samochodowa;

DROP TABLE IF EXISTS rezerwacje;
DROP TABLE IF EXISTS pojazdy;
DROP TABLE IF EXISTS klienci;
DROP TABLE IF EXISTS uslugi;

CREATE TABLE klienci (
    id_klienta INT AUTO_INCREMENT PRIMARY KEY,
    imie VARCHAR(50) NOT NULL,
    nazwisko VARCHAR(50) NOT NULL,
    telefon VARCHAR(20) NOT NULL,
    email VARCHAR(100)
);

CREATE TABLE pojazdy (
    id_pojazdu INT AUTO_INCREMENT PRIMARY KEY,
    id_klienta INT NOT NULL,
    marka VARCHAR(50) NOT NULL,
    model VARCHAR(50) NOT NULL,
    nr_rejestracyjny VARCHAR(20) NOT NULL,
    kolor VARCHAR(30),
    FOREIGN KEY (id_klienta) REFERENCES klienci(id_klienta)
        ON DELETE CASCADE
        ON UPDATE CASCADE
);

CREATE TABLE uslugi (
    id_uslugi INT AUTO_INCREMENT PRIMARY KEY,
    nazwa_uslugi VARCHAR(100) NOT NULL,
    opis TEXT,
    cena DECIMAL(10,2) NOT NULL,
    czas_trwania INT NOT NULL
);

CREATE TABLE rezerwacje (
    id_rezerwacji INT AUTO_INCREMENT PRIMARY KEY,
    id_klienta INT NOT NULL,
    id_pojazdu INT NOT NULL,
    id_uslugi INT NOT NULL,
    data_rezerwacji DATE NOT NULL,
    godzina_rezerwacji TIME NOT NULL,
    status_rezerwacji VARCHAR(30) DEFAULT 'oczekujaca',
    uwagi TEXT,
    FOREIGN KEY (id_klienta) REFERENCES klienci(id_klienta)
        ON DELETE CASCADE
        ON UPDATE CASCADE,
    FOREIGN KEY (id_pojazdu) REFERENCES pojazdy(id_pojazdu)
        ON DELETE CASCADE
        ON UPDATE CASCADE,
    FOREIGN KEY (id_uslugi) REFERENCES uslugi(id_uslugi)
        ON DELETE CASCADE
        ON UPDATE CASCADE
);

INSERT INTO uslugi (nazwa_uslugi, opis, cena, czas_trwania) VALUES
('Mycie podstawowe', 'Mycie karoserii i szyb', 30.00, 20),
('Mycie premium', 'Mycie karoserii, felg, szyb i woskowanie', 60.00, 45),
('Czyszczenie wnetrza', 'Odkurzanie i czyszczenie kokpitu', 40.00, 30),
('Komplet', 'Mycie zewnetrzne + wnetrze', 90.00, 60);

INSERT INTO klienci (imie, nazwisko, telefon, email) VALUES
('Jan', 'Kowalski', '123456789', 'jan@example.com'),
('Anna', 'Nowak', '987654321', 'anna@example.com');

INSERT INTO pojazdy (id_klienta, marka, model, nr_rejestracyjny, kolor) VALUES
(1, 'Toyota', 'Corolla', 'KR12345', 'srebrny'),
(2, 'BMW', 'X3', 'WI67890', 'czarny');

INSERT INTO rezerwacje (id_klienta, id_pojazdu, id_uslugi, data_rezerwacji, godzina_rezerwacji, status_rezerwacji, uwagi) VALUES
(1, 1, 2, '2026-03-20', '10:00:00', 'oczekujaca', 'Prosze dokladnie umyc felgi'),
(2, 2, 4, '2026-03-21', '12:30:00', 'zatwierdzona', 'Auto po dlugiej trasie');