Skip to content

Commit 41b69d3

Browse files
committed
criando o dml.md
1 parent a7aa783 commit 41b69d3

File tree

1 file changed

+137
-0
lines changed

1 file changed

+137
-0
lines changed

docs/entrega2/dml.md

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
# DML
2+
3+
DML (Data Manipulation Language) é a parte da linguagem SQL usada para inserir, atualizar, deletar e manipular dados dentro das tabelas de um banco de dados.
4+
5+
Neste contexto, o script `DML.sql` foi utilizado para popular o banco de dados com dados iniciais, simulando um ambiente completo de um RPG acadêmico baseado em temas universitários da Universidade de Brasília (UnB);
6+
7+
## Operações realizadas
8+
9+
### Inserção de temas
10+
11+
```sql
12+
INSERT INTO tema (nome) VALUES
13+
('Matemática'), ('Programação'), ('Engenharias'), ('Humanidades'), ('Gerais');
14+
```
15+
Cada tema representa uma área do conhecimento presente no RPG.
16+
17+
---
18+
19+
### Inserção de habilidades
20+
21+
```sql
22+
INSERT INTO habilidades (nome, tipo_habilidade, nivel, coolDown, id_tema) VALUES
23+
('Equação Quadrática', 'A', 5, 2, 1), ...
24+
```
25+
As habilidades são divididas por tipo:
26+
- `A` = Ataque
27+
- `D` = Defesa
28+
- `C` = Cura
29+
30+
---
31+
32+
### Inserção de criaturas
33+
34+
```sql
35+
INSERT INTO criatura (nivel, vida_max, tipo_criatura, nome, descricao) VALUES
36+
(3, 30, 'Monstro Simples', 'Erro de Sintaxe', '...'), ...
37+
```
38+
Inclui monstros simples (nível ≤ 15) e bosses (nível = 20).
39+
40+
---
41+
42+
### Inserção de campus e setores
43+
44+
```sql
45+
INSERT INTO campus (nome, descricao) VALUES
46+
('UnB Campus Gama', '...');
47+
```
48+
Os setores são interligados de forma circular com `id_proxSetor` e `id_prevSetor`.
49+
50+
---
51+
52+
### Geração de salas comuns com lojas e dungeons
53+
54+
```sql
55+
DO $$
56+
DECLARE ...
57+
BEGIN
58+
-- gera 10 salas por setor
59+
END $$;
60+
```
61+
Cada setor possui 10 salas, com pelo menos uma loja e uma dungeon.
62+
63+
---
64+
65+
### Inserção de estudantes e suas afinidades
66+
67+
```sql
68+
INSERT INTO estudante (...) VALUES
69+
(1, 'Alice Dev', 20, 20, 10), ...
70+
```
71+
Cada estudante começa com afinidade nível 1 e 0 XP para cada tema.
72+
73+
---
74+
75+
### Inserção de itens
76+
```sql
77+
INSERT INTO item (nome, descricao, item_tipo) VALUES
78+
-- Consumíveis
79+
...
80+
-- Equipáveis (Não Consumíveis)
81+
...
82+
-- Monetário
83+
...
84+
```
85+
---
86+
87+
### Inserção de lojas
88+
89+
```sql
90+
INSERT INTO loja (nome) VALUES
91+
('Loja UED Materiais'), ...
92+
```
93+
Cada loja recebe itens consumíveis aleatórios.
94+
95+
---
96+
97+
### Inserção de habilidades de criaturas e de estudantes
98+
99+
```sql
100+
NSERT INTO habilidade_criatura (id_criatura, id_habilidade) VALUES
101+
...
102+
103+
INSERT INTO habilidade_estudante (id_estudante, id_habilidade) VALUES
104+
...
105+
```
106+
Cada criatura recebe habilidades compatíveis com seu tema.
107+
Estudantes começam com habilidades básicas como "Ataque Básico", "Curativo Simples" e "Corrida Rápida".
108+
109+
---
110+
111+
### Inserção de dungeons e seus bosses
112+
113+
```sql
114+
INSERT INTO dungeon_academica (...) VALUES
115+
...
116+
117+
INSERT INTO boss (id_boss, id_reliquia) VALUES
118+
...
119+
```
120+
Cada dungeon é vinculada a um tema e tem um boss, que por sua vez carrega uma relíquia.
121+
122+
---
123+
124+
### Inserção de habilidades ofensivas, defensivas e de cura
125+
126+
```sql
127+
INSERT INTO Ataque (...), INSERT INTO Defesa (...), INSERT INTO Cura (...)
128+
```
129+
Define as propriedades específicas das habilidades por tipo (ex: dano causado, mitigado ou vida recuperada).
130+
131+
---
132+
133+
### Histórico de Versões
134+
135+
| Versão | Data | Descrição | Autor |
136+
|--------|------------|-------------------------------------|--------------------|
137+
| 1.0 | 12/06/2025 | Carga inicial de dados no sistema | Rodrigo Amaral |

0 commit comments

Comments
 (0)