Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQL #1343

Open
bombs444 opened this issue Sep 22, 2024 · 0 comments
Open

SQL #1343

bombs444 opened this issue Sep 22, 2024 · 0 comments

Comments

@bombs444
Copy link

bombs444 commented Sep 22, 2024

-- Tabela Atendente
CREATE TABLE Atendente (
    CPF VARCHAR(11) PRIMARY KEY,   -- Chave Primária
    Nome_Completo VARCHAR(255) NOT NULL -- Nome do atendente é obrigatório
);

-- Tabela Cliente
CREATE TABLE Cliente (
    CPF VARCHAR(11) PRIMARY KEY,  -- Chave Primária
    Nome_Completo VARCHAR(255) NOT NULL, -- Nome do cliente é obrigatório
    Telefone VARCHAR(15),  -- Telefone opcional
    Endereco VARCHAR(255), -- Endereço opcional
    Email VARCHAR(255),  -- Email opcional
    CPF_Atendente VARCHAR(11),  -- Chave estrangeira que referencia o atendente que cadastrou o cliente
    FOREIGN KEY (CPF_Atendente) REFERENCES Atendente(CPF) -- Relacionamento com Atendente
);

-- Tabela Jogo
CREATE TABLE Jogo (
    Codigo INT PRIMARY KEY,  -- Código do jogo é chave primária
    Nome VARCHAR(255) NOT NULL,  -- Nome do jogo é obrigatório
    Fabricante VARCHAR(255),  -- Fabricante do jogo
    Numero_Maximo_Jogadores INT,  -- Número máximo de jogadores
    Ano_Publicacao INT,  -- Ano de publicação do jogo
    Numero_Copias INT,  -- Número de cópias disponíveis do jogo
    CPF_Atendente VARCHAR(11),  -- Chave estrangeira que referencia o atendente que cadastrou o jogo
    FOREIGN KEY (CPF_Atendente) REFERENCES Atendente(CPF)  -- Relacionamento com Atendente
);

-- Tabela Aluguel
CREATE TABLE Aluguel (
    Codigo_Aluguel INT PRIMARY KEY,  -- Código único para o aluguel (chave primária)
    Data_Aluguel DATE NOT NULL,  -- Data do aluguel
    Valor_Total DECIMAL(10, 2),  -- Valor total do aluguel
    CPF_Cliente VARCHAR(11),  -- Chave estrangeira para o cliente que fez o aluguel
    CPF_Atendente VARCHAR(11),  -- Chave estrangeira para o atendente que registrou o aluguel
    FOREIGN KEY (CPF_Cliente) REFERENCES Cliente(CPF),  -- Relacionamento com Cliente
    FOREIGN KEY (CPF_Atendente) REFERENCES Atendente(CPF)  -- Relacionamento com Atendente
);

-- Tabela Aluguel_Jogo (Relacionamento entre Aluguel e Jogo)
CREATE TABLE Aluguel_Jogo (
    Codigo_Aluguel INT,  -- Chave estrangeira que referencia o aluguel
    Codigo_Jogo INT,  -- Chave estrangeira que referencia o jogo
    PRIMARY KEY (Codigo_Aluguel, Codigo_Jogo),  -- Chave composta, formando a relação muitos-para-muitos
    FOREIGN KEY (Codigo_Aluguel) REFERENCES Aluguel(Codigo_Aluguel),  -- Relacionamento com Aluguel
    FOREIGN KEY (Codigo_Jogo) REFERENCES Jogo(Codigo)  -- Relacionamento com Jogo
);

@bombs444 bombs444 changed the title SQL SQL Sep 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant