-- Creare baza de date
CREATE DATABASE IF NOT EXISTS administrare_cimitire;

-- Utilizare baza de date
USE administrare_cimitire;

-- Creare tabela Parohii
CREATE TABLE IF NOT EXISTS Parohii (
    ID_Parohie INT AUTO_INCREMENT PRIMARY KEY,
    Nume VARCHAR(255),
    CUI VARCHAR(20),
    Adresa VARCHAR(255),
    Localitate VARCHAR(255),
    Judet VARCHAR(255),
    Nume_Paroh VARCHAR(255),
    Contact_Parohie VARCHAR(255)
);

-- Creare tabela Cimitire
CREATE TABLE IF NOT EXISTS Cimitire (
    ID_Cimitir INT AUTO_INCREMENT PRIMARY KEY,
    Nume_Cimitir VARCHAR(255),
    Adresa_Cimitir VARCHAR(255),
    ID_Parohie INT,
    FOREIGN KEY (ID_Parohie) REFERENCES Parohii(ID_Parohie)
);

-- Creare tabela Concesionari
CREATE TABLE IF NOT EXISTS Concesionari (
    ID_Concesionar INT AUTO_INCREMENT PRIMARY KEY,
    Nume VARCHAR(255),
    Prenume VARCHAR(255),
    CNP VARCHAR(13),
    Adresa VARCHAR(255),
    Telefon VARCHAR(20),
    Email VARCHAR(255)
);

-- Creare tabela Locuri
CREATE TABLE IF NOT EXISTS Locuri (
    ID_Loc INT AUTO_INCREMENT PRIMARY KEY,
    ID_Cimitir INT,
    Parcela VARCHAR(255),
    Rand VARCHAR(255),
    Numar_Loc VARCHAR(255),
    Tip_Loc VARCHAR(255),
    ID_Concesionar INT,
    Data_Concesionarii DATE,
    Numar_Locuri INT,
    FOREIGN KEY (ID_Cimitir) REFERENCES Cimitire(ID_Cimitir),
    FOREIGN KEY (ID_Concesionar) REFERENCES Concesionari(ID_Concesionar)
);

-- Creare tabela Taxe
CREATE TABLE IF NOT EXISTS Taxe (
    ID_Taxa INT AUTO_INCREMENT PRIMARY KEY,
    ID_Loc INT,
    Data_Achitare DATE,
    Numar_Chitanta VARCHAR(255),
    Suma DECIMAL(10, 2),
    Reprezentand INT,
    Observatii TEXT,
    Data_Scadentei DATE,
    FOREIGN KEY (ID_Loc) REFERENCES Locuri(ID_Loc)
);

-- Creare tabela Decedati
CREATE TABLE IF NOT EXISTS Decedati (
    ID_Decedat INT AUTO_INCREMENT PRIMARY KEY,
    Nume VARCHAR(255),
    Prenume VARCHAR(255),
    Data_Nasterii DATE,
    Data_Decesului DATE,
    CNP VARCHAR(13),
    Religia VARCHAR(255),
    Parohia VARCHAR(255),
    ID_Loc INT,
    Numar_Adeverinta_Inhumare VARCHAR(255),
    Data_Adeverinta_Inhumare DATE,
    FOREIGN KEY (ID_Loc) REFERENCES Locuri(ID_Loc)
);