UNIVERSIDADE VEIGA DE ALMEIDA
SISTEMAS DE INFORMAÇÃO
DANIEL RODRIGUES FELIX DA SILVA
Banco de Dados III
RIO DE JANEIRO
2025
1. Criação do Banco de Dados
-- Criação do banco de dados Restaurante
CREATE DATABASE Restaurante;
GO
-- Seleciona o banco para uso
USE Restaurante;
GO
2. Tabela Cliente
-- Tabela de clientes do restaurante
CREATE TABLE Cliente (
cod_cli INT NOT NULL,
nome VARCHAR(100) NOT NULL, -- nome é obrigatório
endereco VARCHAR(255),
CONSTRAINT pkCli PRIMARY KEY (cod_cli) -- chave primária
);
3. Tabela Pedido
-- Tabela de pedidos feitos pelos clientes
CREATE TABLE Pedido (
cod_pedido INT NOT NULL,
cod_cli INT NOT NULL,
data DATE NOT NULL,
CONSTRAINT pkPedido PRIMARY KEY (cod_pedido, cod_cli, data), -- chave
primária composta
CONSTRAINT fkPedido_Cli FOREIGN KEY (cod_cli) REFERENCES
Cliente(cod_cli) -- chave estrangeira
);
4. Tabela ItensDoPedido
-- Itens que compõem um pedido
CREATE TABLE ItensDoPedido (
cod_item INT NOT NULL,
cod_pedido INT NOT NULL,
qtd INT NOT NULL CHECK (qtd > 0), -- qtd obrigatória e maior que zero
desconto DECIMAL(5,2),
CONSTRAINT pkItens PRIMARY KEY (cod_item, cod_pedido), -- chave primária
composta
CONSTRAINT fkItens_Pedido FOREIGN KEY (cod_pedido) REFERENCES
Pedido(cod_pedido)
);
5. Tabela Prato
-- Pratos disponíveis no cardápio
CREATE TABLE Prato (
cod_prato INT NOT NULL,
cod_tipo INT NOT NULL,
descricao VARCHAR(255) NOT NULL,
preco DECIMAL(10,2) NOT NULL CHECK (preco >= 0), -- preço não pode ser
negativo
CONSTRAINT pkPrato PRIMARY KEY (cod_prato), -- chave primária
CONSTRAINT fkPrato_Tipo FOREIGN KEY (cod_tipo) REFERENCES
TipoDoPrato(cod_tipo) -- chave estrangeira
);
6. Tabela TipoDoPrato
-- Tipos de prato, como entrada, principal, sobremesa
CREATE TABLE TipoDoPrato (
cod_tipo INT NOT NULL,
descricao VARCHAR(100),
CONSTRAINT pkTipo PRIMARY KEY (cod_tipo) -- chave primária
);