CREATE TABLE Filme (
id_filme SERIAL PRIMARY KEY,
titulo VARCHAR(150) NOT NULL,
genero VARCHAR(50),
duracao INT,
classificacao VARCHAR(10)
);
CREATE TABLE Sala (
id_sala SERIAL PRIMARY KEY,
numero INT NOT NULL,
capacidade INT NOT NULL,
tipo VARCHAR(30)
);
CREATE TABLE Sessao (
id_sessao SERIAL PRIMARY KEY,
id_filme INT NOT NULL,
id_sala INT NOT NULL,
data_sessao DATE NOT NULL,
horario TIME NOT NULL,
preco DECIMAL(10,2) NOT NULL,
CONSTRAINT fk_sessao_filme FOREIGN KEY (id_filme) REFERENCES Filme(id_filme),
CONSTRAINT fk_sessao_sala FOREIGN KEY (id_sala) REFERENCES Sala(id_sala)
);
CREATE TABLE Caixa (
id_caixa SERIAL PRIMARY KEY,
data_abertura TIMESTAMP NOT NULL,
data_fechamento TIMESTAMP,
responsavel VARCHAR(100),
valor_total DECIMAL(10,2) DEFAULT 0
);
CREATE TABLE Ingresso (
id_ingresso SERIAL PRIMARY KEY,
id_sessao INT NOT NULL,
id_caixa INT NOT NULL,
assento VARCHAR(10),
valor_pago DECIMAL(10,2) NOT NULL,
data_venda TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT fk_ingresso_sessao FOREIGN KEY (id_sessao) REFERENCES Sessao(id_sessao),
CONSTRAINT fk_ingresso_caixa FOREIGN KEY (id_caixa) REFERENCES Caixa(id_caixa)
);
CREATE TABLE Produto (
id_produto SERIAL PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
descricao VARCHAR(255),
preco_unitario DECIMAL(10,2) NOT NULL,
estoque INT DEFAULT 0
);
CREATE TABLE ItemVenda (
id_item_venda SERIAL PRIMARY KEY,
id_caixa INT NOT NULL,
id_produto INT NOT NULL,
quantidade INT NOT NULL DEFAULT 1,
valor_unitario DECIMAL(10,2) NOT NULL,
valor_total DECIMAL(10,2) NOT NULL,
CONSTRAINT fk_itemvenda_caixa FOREIGN KEY (id_caixa) REFERENCES Caixa(id_caixa),
CONSTRAINT fk_itemvenda_produto FOREIGN KEY (id_produto) REFERENCES Produto(id_produto)
);
To embed this project on your website, copy the following code and paste it into your website's HTML: