use boletox;

-- Tabla Evento
CREATE TABLE Evento (
    id_evento INT PRIMARY KEY AUTO_INCREMENT,
    nombre VARCHAR(100) NOT NULL,
    fecha DATE NOT NULL,
    lugar VARCHAR(100)
);

-- Tabla Zona
CREATE TABLE Zona (
    id_zona INT PRIMARY KEY AUTO_INCREMENT,
    nombre_zona VARCHAR(50) NOT NULL,
    id_evento INT,
    FOREIGN KEY (id_evento) REFERENCES Evento(id_evento)
);

-- Tabla Precio
CREATE TABLE Precio (
    id_precio INT PRIMARY KEY AUTO_INCREMENT,
    id_zona INT,
    precio DECIMAL(10, 2) NOT NULL,
    FOREIGN KEY (id_zona) REFERENCES Zona(id_zona)
);

-- Tabla Asientos
CREATE TABLE Asientos (
    id_asiento INT PRIMARY KEY AUTO_INCREMENT,
    tipo VARCHAR(50), -- Normal, VIP, Primera Fila
    fila VARCHAR(5),
    estado VARCHAR(20) DEFAULT 'Disponible', -- Disponible, Ocupado, Reservado
    id_zona INT,
    FOREIGN KEY (id_zona) REFERENCES Zona(id_zona)
);

-- Tabla Boleto
CREATE TABLE Boleto (
    id_boleto INT PRIMARY KEY AUTO_INCREMENT,
    cliente VARCHAR(100),
    fecha_compra DATE DEFAULT (CURRENT_DATE),
    id_asiento INT,
    FOREIGN KEY (id_asiento) REFERENCES Asientos(id_asiento)
);