Skip to content

camylladias/CC5232

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Disciplina CC5232 Banco de Dados - FEI

O trabalho prático tem por objetivo desenvolver um projeto de Banco de Dados que simula uma clínica veterinária.
O projeto foi criado utilizando PostgreSQL 14, pgAdmin 4 e ElephantSQL (GCP). Todos os dados das tabelas são fictícios.
🐱 🐹 🐶 🦎



Tópicos

1. Universo do Discurso
2. ER Diagram
3. Modelo Relacional
4. Principais Atividades
5. Entidades e seus Atributos
6. Comandos
7. Consulta Solicitada


Universo do Discurso

Objetivo: O objetivo do sistema é gerenciar uma clínica veterinária onde é possível realizar o cadastro de dados dos clientes, funcionários da clínica e o agendamento de consultas.

Funcionalidades: O sistema possui as funcionalidades de cadastrar novos clientes e funcionários, informar dados dos funcionários, informar os dados do tutor, quantidade de animais de estimação que o tutor possui, dados sobre o animal de estimação, histórico de consultas, agendamento de consulta, alterar data de consulta, cancelar consulta.



ER Diagram:

MER-ProjetoBD drawio

Modelo Relacional:

ERDDiagram1



Principais atividades:

1: Contratação de funcionários especializados para cuidar dos animais
2: Atendimento especializado para animais.


Entidades e seus Atributos:

  • Pessoa: Representa as contas cadastradas no sistema, está dividido entre Tutor e Funcionário. Uma pessoa pode ser tanto funcionário quanto tutor de um pet. Nome: Autoexplicativo.
    CPF: Autoexplicativo.
    Data de Nascimento: Autoexplicativo.

  • Tutor: Pessoas donas de animais de estimação, responsáveis por realizar as solicitações de consultas. Herda todos os atributos de Pessoa.
    ID_Tutor: ID gerado assim que o tutor é cadastrado no sistema.

  • Pet: Animais de estimação dos tutores.
    Nome: Autoexplicativo.
    Espécie: Autoexplicativo.
    Idade: Autoexplicativo.
    Gênero: Autoexplicativo.
    ID Carteira de Vacinação: Número da carteirinha de vacinação do Pet.

  • Funcionário: Pessoas que prestam serviços estão divididas entre Veterinário(a), Técnico Veterinário(a) e Recepcionista.
    Salário: Autoexplicativo.
    Benefícios: Benefícios que a empresa disponibiliza para o funcionário como VT, VR e convênio.
    ID_Funcionário: ID gerado assim que o funcionário é cadastrado no sistema.

  • Veterinário: Funcionário da clínica, o profissional possui formação em medicina veterinária e com especialização em felinos e roedores, por exemplo. Herda os atributos de Funcionário e Pessoa.
    CRMV: Registro obrigatório para atuar como médico veterinário.
    Formação: Formação em Medicina Veterinária e Especialização.

  • Técnico Veterinário: Funcionário da clínica, o profissional possui formação em técnico de veterinária e auxilia em atividades da consulta. Herda os atributos de Funcionário e Pessoa.
    Curso_Técnico: Formação de Técnico Veterinário.

  • Recepcionista: Profissional responsável por recepcionar tutores e pets na clínica veterinária, também deve administrar a agenda de consultas. Herda os atributos de Funcionário e Pessoa.

  • Consulta: Representa os dados necessários para registrar uma consulta no sistema. Herda também os atributos: ID_Veterinário, ID_Tutor, ID_Pet, ID_Tipo_Consulta.
    ID_Consulta: Identificação única da consulta.
    Valor: Custo da consulta na clínica.
    Data: Autoexplicativo.
    Horário: Autoexplicativo
    Tipo_Consulta: Representa os procedimentos disponíveis para realização na clínica veterinária.
    ID_Tipo_Consulta: Identificação única do procedimento a ser realizado.
    Clínica_Geral: Atendimento para verificar a saúde geral do pet.
    Castração: Castração de animais de ambos os sexos.
    Higienização: Banho e Tosa.
    Dentista: Limpeza, extração ou qualquer outro procedimento relacionado.
    Fisioterapia: Recuperação física do pet pós cirurgia, pós trauma etc.


Comandos

obs: a base de dados foi criada atráves da utilização do ElephantSQL.

  • Cria tabela Pessoa
CREATE TABLE Pessoa (
cpf BIGINT PRIMARY KEY,
nome VARCHAR(255),
email VARCHAR(255) UNIQUE,
data_nascimento DATE
);



  • Cria tabela Funcionário
CREATE TABLE Funcionario (
id_funcionario INT PRIMARY KEY,
cpf BIGINT,
FOREIGN KEY (cpf) REFERENCES Pessoa (cpf),
salario DECIMAL(16,2),
vale_refeicao VARCHAR(255),
vale_transporte VARCHAR(255),
convenio_medico VARCHAR(255));



  • Cria tabela Tutor
CREATE TABLE Tutor (
id_cliente INT PRIMARY KEY,
cpf BIGINT,
FOREIGN KEY (cpf) REFERENCES Pessoa (cpf)
);



  • Adiciona Foreign Key:
ALTER TABLE Tutor ADD FOREIGN KEY (id_pet) REFERENCES 
Pet (id_pet)

obs: adicionar foreign key após a criação da tabela de referência.

  • Cria tabela Pet
CREATE TABLE Pet (
id_pet INT PRIMARY KEY,
id_carteira_vacinacao BIGINT UNIQUE,
id_cliente INT,
FOREIGN KEY (id_cliente) REFERENCES Tutor (id_cliente),
nome_pet VARCHAR(255),
especie VARCHAR(255),
data_nascimento_pet DATE,
genero VARCHAR(10)
);



  • Cria tabela Veterinário
CREATE TABLE Veterinario (
id_funcionario INT UNIQUE,
FOREIGN KEY (id_funcionario) REFERENCES Funcionario (id_funcionario),
crmv BIGINT UNIQUE,
curso_graduacao VARCHAR(255),
curso_especializacao VARCHAR(255)
);



  • Cria tabela Técnico Veterinário
CREATE TABLE Tecnico_Veterinario (
id_funcionario INT UNIQUE,
FOREIGN KEY (id_funcionario) REFERENCES Funcionario (id_funcionario),
curso_tecnico VARCHAR(255)
);



  • Cria tabela Recepcionista
CREATE TABLE Recepcionista (
id_funcionario INT UNIQUE,
FOREIGN KEY (id_funcionario) REFERENCES Funcionario (id_funcionario)
);



  • Cria tabela Consulta
CREATE TABLE Consulta (
id_consulta INT PRIMARY KEY,
id_tipo_consulta INT,
id_funcionario INT,
id_cliente INT,
id_pet INT,
valor DECIMAL(16,2),
data_consulta DATE,
horario TIME,
FOREIGN KEY (id_funcionario) REFERENCES Veterinario (id_funcionario),
FOREIGN KEY (id_cliente) REFERENCES Tutor (id_cliente),
FOREIGN KEY (id_pet) REFERENCES Pet (id_pet)
);



  • Adiciona Foreign Key
ALTER TABLE Consulta ADD FOREIGN KEY (id_tipo_consulta) REFERENCES
Tipo_Consulta (id_tipo_consulta)



  • Cria tabela Tipo Consulta
CREATE TABLE Tipo_Consulta (
id_tipo_consulta INT PRIMARY KEY,
clinica_geral BOOLEAN,
castracao BOOLEAN,
higienizacao BOOLEAN,
dentista BOOLEAN,
fisioterapia BOOLEAN
);




Consulta Solicitada:

"Liste as consultas durante o primeiro semestre de 2021? Agrupe a informação por espécie de animal tratado e mês."

  • Query Utilizada:
SELECT nome_pet, especie, Data_Consulta
FROM Consulta as Cons inner join
Pet as Pet on Pet.id_pet = Cons.id_pet
WHERE Data_Consulta BETWEEN '01-01-2021' AND '06-30-2021'
GROUP BY especie, Data_Consulta, nome_pet
ORDER BY Data_Consulta




O arquivo base de dados ipetcare.sql se encontra neste repositório. 🤙 up ⬆️


ipetcare-logo

About

Projeto Disciplina CC5232 - Banco de Dados FEI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages