Esse repositório contém os códigos relativos ao projeto da disciplina de Banco de Dados, ministrada pelo professor Marcelo Iury. O projeto consiste em "um sistema hospitalar para gerenciar atendimentos, profissionais, pacientes, procedimentos, internações e escalas de plantão".
O projeto é feito em grupo, sendo o nosso grupo composto por: Luan Motta e Costa, Lucas Schettini de Oliveira, Akemi Almirante de Brito e Carlos Andrei Cicero Sousa Maia.
O projeto é dividido em duas etapas:
- Etapa 1: Implementação de scripts base usando
.sqlpuro, sem o uso de ORM. - Etapa 2: Implementação de funções e regras de negócio mais complexas usando ORM.
- Modelagem conceitual, lógica e física (DER → MR → SQL)
- Normalização até 3FN/BCNF
- SQL avançado (junções, subconsultas, agregações, views)
- Triggers e stored procedures
- Uso de ORM (SQLAlchemy, Prisma, Hibernate, Entity Framework, ou similar)
- Controle de transações e integridade referencial
- Instale as dependências necessárias:
pip install -r requirements.txt- Edite o arquivo
.envcom os dados de conexão do seu banco PostgreSQL:
DB_USER=postgres
DB_PASSWORD=sua_senha
DB_HOST=localhost
DB_PORT=5432
DB_NAME=nome_do_banco-
Certifique-se de que o PostgreSQL esteja em execução e que o banco de dados já tenha sido criado.
-
Na pasta principal do projeto, execute:
python run.pyNo Windows, também pode ser utilizado:
py run.py- Com o servidor iniciado, acesse no navegador:
http://127.0.0.1:5000
Para encerrar a aplicação, pressione:
Ctrl + C
projetoBD
│
├── docs/
│ ├── DER_Completo.pdf
│ └── modelagem.pdf
│
├── sql/
│ ├── schema.sql
│ ├── CRUD.sql
│ ├── analytics.sql
│ ├── views.sql
│ ├── triggers.sql
│ ├── procedures.sql
│ └── test_cases.sql
│
├── orm/
│ ├── database.py
│ ├── models.py
│ ├── CRUD.py
│ ├── adv_queries.py
│ ├── procedures.py
│ ├── triggers.py
│ ├── views.py
│ ├── concurrency.py
│ ├── main.py
│ ├── test_cases.py
│ └── .env
│
├── ui/
│ ├── app.py
│ ├── routes/
│ │ ├── home.py
│ │ ├── pacientes.py
│ │ ├── profissionais.py
│ │ ├── atendimentos.py
│ │ ├── plantoes.py
│ │ ├── procedimentos.py
│ │ ├── unidades.py
│ │ ├── internacoes.py
│ │ ├── analytics.py
│ │ └── views.py
│ ├── templates/
│ │ ├── base.html
│ │ ├── index.html
│ │ ├── pacientes.html
│ │ ├── profissionais.html
│ │ ├── atendimentos.html
│ │ ├── plantoes.html
│ │ ├── procedimentos.html
│ │ ├── unidades.html
│ │ ├── internacoes.html
│ │ ├── analytics.html
│ │ └── views.html
│ └── static/
│ ├── css/style.css
│ └── js/main.js
│
├── run.py
├── requirements.txt
├── .gitignore
└── README.md