44 lines
1.1 KiB
SQL
44 lines
1.1 KiB
SQL
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)
|
|
); |