Skip to content

Commit 5d12984

Browse files
Merge pull request #15 from SBD1/docs
Docs
2 parents 50c3149 + afad241 commit 5d12984

File tree

7 files changed

+592
-20
lines changed

7 files changed

+592
-20
lines changed

ddl/create_tables.sql

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ CREATE TABLE IF NOT EXISTS NPC (
5858
CREATE TABLE IF NOT EXISTS Missao (
5959
idMissao INT PRIMARY KEY DEFAULT nextval('missao_id_seq'),
6060
nomeMissao VARCHAR(50) NOT NULL,
61-
descricao VARCHAR(255) NOT NULL,
61+
objetivo VARCHAR(255) NOT NULL,
62+
progresso VARCHAR(50) NOT NULL,
6263
fk_sala INT NOT NULL,
6364
fk_cyberlutador INT NOT NULL,
6465
FOREIGN KEY (fk_sala) REFERENCES Sala (idSala) ON DELETE CASCADE,
@@ -69,6 +70,8 @@ CREATE TABLE IF NOT EXISTS Puzzle (
6970
idPuzzle INT PRIMARY KEY DEFAULT nextval('puzzle_id_seq'),
7071
nomePuzzle VARCHAR(30) NOT NULL,
7172
dificuldade VARCHAR(10) NOT NULL,
73+
resposta VARCHAR(50) NOT NULL,
74+
estado VARCHAR(50) NOT NULL,
7275
fk_missao INT NOT NULL,
7376
FOREIGN KEY (fk_missao) REFERENCES Missao (idMissao) ON DELETE CASCADE
7477
);
@@ -116,7 +119,11 @@ CREATE TABLE IF NOT EXISTS Item (
116119
CREATE TABLE IF NOT EXISTS InstanciaItem (
117120
idInstanciaItem INT PRIMARY KEY DEFAULT nextval('instancia_item_id_seq'),
118121
fk_item INT NOT NULL,
119-
FOREIGN KEY (fk_item) REFERENCES Item (idItem) ON DELETE CASCADE
122+
fk_mochila INT,
123+
fk_mercado_clandestino INT,
124+
FOREIGN KEY (fk_item) REFERENCES Item (idItem),
125+
FOREIGN KEY (fk_mochila) REFERENCES Mochila (idMochila),
126+
FOREIGN KEY (fk_mercado_clandestino) REFERENCES MercadoClandestino (idMercadoClandestino)
120127
);
121128

122129

@@ -202,7 +209,9 @@ CREATE TABLE IF NOT EXISTS Implante (
202209
nomeImplante VARCHAR(50) NOT NULL,
203210
tipo VARCHAR(50) NOT NULL,
204211
fk_item INT NOT NULL,
205-
FOREIGN KEY (fk_item) REFERENCES Item (idItem) ON DELETE CASCADE
212+
fk_cyberlutador INT NOT NULL,
213+
FOREIGN KEY (fk_item) REFERENCES Item (idItem) ON DELETE CASCADE,
214+
FOREIGN KEY (fk_cyberlutador) REFERENCES CyberLutador (idCyberLutador)
206215
);
207216

208217
CREATE TABLE IF NOT EXISTS Biochip (

dml/insert_data.sql

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,6 @@ INSERT INTO NetRunners (idNetRunners, fk_faccao, aumentaInte, aumentaPercep)
126126
INSERT INTO CodeKeepers (idCodeKeepers, fk_faccao, aumentaVelo, aumentaResis)
127127
VALUES (2, 2, 10, 10);
128128

129-
-----INSERT INTO VoidWalkers (idVoidWalkers, fk_faccao, aumentaVida, aumentaForca)
130-
----- VALUES (3, 3, 10, 10);
131-
132129

133130
-- MercadoClandestino
134131

docs/apresentacoes.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
# Módulo 1
22

3-
<iframe width="560" height="315" src="https://www.youtube.com/embed/L9jCedh0neM?si=UZKnhC7guZvwkp_x" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
3+
<iframe width="560" height="315" src="https://www.youtube.com/embed/L9jCedh0neM?si=UZKnhC7guZvwkp_x" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
4+
5+
# Módulo 2
6+
7+
<iframe width="560" height="315" src="https://www.youtube.com/embed/JCwEpZsERSc?si=fvNnY-inKbSnPf0N" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

docs/modulo2/ddl.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,8 @@ Data Definition Language (DDL) é um elemento fundamental na gestão de bancos d
1313
Segundo Silberschatz, Korth e Sudarshan (2011), a DDL desempenha um papel fundamental na definição tanto do layout físico quanto da organização lógica dos dados. Comandos como CREATE, ALTER e DROP são empregados para estabelecer a arquitetura do banco de dados, que serve como alicerce para as operações subsequentes de manipulação de dados (DML). Além de definir a estrutura do banco de dados, a DDL exerce uma influência direta no desempenho e na eficiência das operações de consulta e manipulação de dados, pois possibilita a otimização da organização interna dos dados.
1414
</p>
1515

16-
17-
??? Tabelas
18-
19-
```sql
20-
CREATE TABLE IF NOT EXISTS Regiao (
16+
```sql
17+
CREATE TABLE IF NOT EXISTS Regiao (
2118
idRegiao INT PRIMARY KEY DEFAULT nextval('regiao_id_seq'),
2219
nomeRegiao VARCHAR(50) NOT NULL
2320
);
@@ -228,7 +225,7 @@ Segundo Silberschatz, Korth e Sudarshan (2011), a DDL desempenha um papel fundam
228225
aumentaResis INT NOT NULL,
229226
FOREIGN KEY (fk_implante) REFERENCES Implante (idImplante) ON DELETE CASCADE
230227
);
231-
```
228+
```
232229

233230

234231
# Referência Bibliográfica

docs/modulo2/dml.md

Lines changed: 221 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,232 @@
11
# Introdução
22

3+
<p align="justify">
4+
Este documento aborda o uso de Data Manipulation Language para a criação e manipulação de dados, no contexto do jogo cyberpunk, adotado como temática do projeto do grupo. Inclui inserções, atualizações e exclusões de registros em tabelas relacionadas a regiões, salas, personagens, missões, recompensas, puzzles, diálogos e outros elementos do jogo.
5+
</p>
6+
37
# Data Manipulation Language
48

9+
<p align="justify">
10+
O Data Manipulation Language é um conjunto de comandos SQL utilizado para manipular os dados armazenados nas tabelas. Ele inclui operações como inserção, atualização e exclusão de registros. No projeto, as operações DML implementam a lógica do jogo, como a criação de personagens, missões, itens e interações entre eles.
11+
</p>
12+
13+
<p align="justify">
14+
Enquanto o DML se concentra na manipulação de dados, a consulta desses dados é feita na seção Data Query Language, onde comandos como *SELECT* são usados para recuperar informações do banco de dados.
15+
</p>
16+
17+
<p align="justify">
18+
Abaixo, estão descritas as seções do projeto que utilizam comandos DML para criar e gerenciar os elementos do jogo.
19+
</p>
20+
21+
### Regiões
22+
Essa tabela armazena as diferentes regiões do jogo. Cada região tem um identificador único e um nome.
23+
```sql
24+
INSERT INTO Regiao (idRegiao, nomeRegiao)
25+
VALUES (1, 'Regiao Inicial');
26+
```
27+
28+
### Salas
29+
As salas pertencem a uma região e representam os espaços que os jogadores podem explorar. A chave estrangeira `fk_regiao` associa cada sala à sua respectiva região.
30+
```sql
31+
INSERT INTO Sala (idSala, nomeSala, fk_regiao)
32+
VALUES (1, 'Sala Spawn', 1),
33+
(2, 'Sala 2', 1),
34+
(3, 'Sala 3', 1),
35+
(4, 'Sala 4', 1),
36+
(5, 'Sala 5', 1),
37+
(6, 'Sala 6', 1),
38+
(7, 'Sala 7', 1),
39+
(8, 'Sala 8', 1),
40+
(9, 'Sala 9', 1),
41+
(10, 'Sala 10', 1),
42+
(11, 'Sala 11', 1),
43+
(12, 'Sala 12', 1),
44+
(13, 'Sala 13', 1),
45+
(14, 'Sala 14', 1),
46+
(15, 'Sala 15', 1),
47+
(16, 'Sala 16', 1),
48+
(17, 'Sala 17', 1),
49+
(18, 'Sala 18', 1),
50+
(19, 'Sala 19', 1),
51+
(20, 'Sala 20', 1);
52+
```
53+
54+
### ExoHumanos
55+
Os ExoHumanos são personagens presentes no jogo, associados a uma sala específica.
56+
```sql
57+
INSERT INTO ExoHumano (idExoHumano, nome, fk_sala)
58+
VALUES (1,'ExoHumano Inicial', 1);
59+
```
60+
61+
### Missões
62+
As missões são desafios que os jogadores devem completar. Cada missão está associada a uma sala e a um CyberLutador específico.
63+
```sql
64+
INSERT INTO Missao (idMissao, nomeMissao, descricao, fk_sala, fk_cyberlutador)
65+
VALUES (1, 'Missao Inicial', 'Descricao 1', 1, 1),
66+
(2, 'Decodificação inicial', 'Descricao 2', 2, 1);
67+
```
68+
69+
### Recompensas
70+
As recompensas são atribuídas a missões ou a combates contra inimigos.
71+
```sql
72+
INSERT INTO Recompensa (idRecompensa, dinheiro, item, fk_instancia_inimigo, fk_cyberlutador)
73+
VALUES (1, 100, 'Item Recompensa Inicial', 1, 1);
74+
75+
INSERT INTO RecompensaMissao (idRecompensaMissao, dinheiro, item, fk_sala, fk_cyberLutador)
76+
VALUES (1, 100, 'Item Recompensa Missao Inicial', 1, 1);
77+
```
78+
79+
### Puzzles
80+
Os puzzles são desafios que os jogadores precisam resolver dentro de uma missão. Eles podem ser de tipos diferentes, como matemáticos ou de decodificação.
81+
```sql
82+
INSERT INTO Puzzle (idPuzzlle, nomePuzzle, dificuldade, fk_missao)
83+
VALUES (1, 'Puzzle Inicial', 'Facil', 1);
84+
85+
INSERT INTO Matematico (fk_puzzle, expressao)
86+
VALUES (1, '2 + 2 = ?');
87+
88+
INSERT INTO Decodificar (fk_puzzle, codigo)
89+
VALUES (2, 'A = 1, B = 2, C = 3, D = 4, E = 5, F = 6, G = 7, H = 8, I = 9, J = 10, K = 11, L = 12, M = 13, N = 14, O = 15, P = 16, Q = 17, R = 18, S = 19, T = 20, U = 21, V = 22, W = 23, X = 24, Y = 25, Z = 26');
90+
```
91+
92+
### Diálogos
93+
Os diálogos são frases associadas aos NPCs para interagir com os jogadores em diferentes salas.
94+
```sql
95+
INSERT INTO Dialogo (idDialogo, nomeDialogo, fk_npc)
96+
VALUES ('Olá, bem vindo ao jogo!', 1),
97+
('Você está na sala 1', 1),
98+
('Você está na sala 2', 2),
99+
('Você está na sala 3', 3),
100+
('Você está na sala 4', 4),
101+
('Você está na sala 5', 5),
102+
('Você está na sala 6', 6),
103+
('Você está na sala 7', 7),
104+
('Você está na sala 8', 8),
105+
('Você está na sala 9', 9),
106+
('Você está na sala 10', 10),
107+
('Você está na sala 11', 11),
108+
('Você está na sala 12', 12),
109+
('Você está na sala 13', 13),
110+
('Você está na sala 14', 14),
111+
('Você está na sala 15', 15),
112+
('Você está na sala 16', 16),
113+
('Você está na sala 17', 17),
114+
('Você está na sala 18', 18),
115+
('Você está na sala 19', 19),
116+
('Você está na sala 20', 20);
117+
```
118+
119+
### CyberLutadores
120+
Os CyberLutadores são os personagens controlados pelos jogadores. Seus atributos podem ser atualizados conforme o progresso do jogo.
121+
```sql
122+
INSERT INTO CyberLutador (idCyber, inteligencia, resistencia, furtividade, percepcao, vida, velocidade, forca)
123+
VALUES (1, 10, 10, 10, 10, 100, 10, 10);
124+
125+
UPDATE CyberLutador
126+
SET inteligencia = inteligencia + num,
127+
resistencia = resistencia + num,
128+
furtividade = furtividade + num,
129+
percepcao = percepcao + num,
130+
vida = vida + num,
131+
velocidade = velocidade + num,
132+
forca = forca + num
133+
WHERE idCyber = 1;
134+
```
135+
136+
### Itens
137+
Os itens representam os objetos que os jogadores podem coletar e usar ao longo do jogo.
138+
```sql
139+
INSERT INTO Item (idItem, nomeItem, descricao, valor)
140+
VALUES (1, 'Item Inicial', 'Item de teste', 100);
141+
142+
INSERT INTO InstanciaItem (idInstanciaItem, fk_item)
143+
VALUES (1, 1);
144+
145+
DELETE FROM InstanciaItem
146+
WHERE idInstanciaItem = 1;
147+
```
148+
149+
### NPCs
150+
Os NPCs fornecem interações e desafios aos jogadores.
151+
```sql
152+
INSERT INTO NPC (idNPC, nomeNPC, descricao, fk_sala)
153+
VALUES (1, 'NPC Inicial', 'Descricao npc 1', 1);
154+
155+
INSERT INTO Mentor (fk_npc, aumentaInteligencia, aumentaFurtividade, aumentaPercepcao)
156+
VALUES (1, 10, 10, 10);
157+
```
158+
159+
### Facções
160+
As facções agrupam CyberLutadores com ideologias e habilidades específicas.
161+
```sql
162+
INSERT INTO Faccao (idFaccao, fk_cyberlutador, nomeFaccao, ideologia)
163+
VALUES (1, 1, 'Faccao Teste', 'Ideologia de teste'),
164+
(2, 2, 'NetRunners', 'Ideologia NetRunners'),
165+
(3, 3, 'CodeKeepers', 'Ideologia CodeKeepers'),
166+
(4, 4, 'VoidWalkers', 'Ideologia VoidWalkers');
167+
168+
INSERT INTO NetRunners (idNetRunners, fk_faccao, aumentaInte, aumentaPercep)
169+
VALUES (1, 1, 10, 10);
170+
171+
INSERT INTO CodeKeepers (idCodeKeepers, fk_faccao, aumentaVelo, aumentaResis)
172+
VALUES (2, 2, 10, 10);
173+
```
174+
175+
### Mercado Clandestino
176+
Representa os mercados onde os jogadores podem negociar itens.
177+
```sql
178+
INSERT INTO MercadoClandestino (idMercadoClandestino, nomeMercado, desccricao, fk_sala)
179+
VALUES (1, 'Mercado Inicial', 'Descricao teste', 1);
180+
```
181+
182+
### Mochilas
183+
As mochilas armazenam itens coletados pelos jogadores durante o jogo.
184+
```sql
185+
INSERT INTO Mochila (idMochila, capacidade, fk_cyberlutador, fk_instanciaitem)
186+
VALUES (1, 50, 1, 1);
187+
```
188+
189+
### Carros
190+
Os carros são meios de transporte associados a uma região específica.
191+
```sql
192+
INSERT INTO Carro (idCarro, combustivel, fk_regiao)
193+
VALUES (1, 50, 1);
194+
```
195+
196+
### Inimigos
197+
Os inimigos oferecem desafios de combate aos jogadores.
198+
```sql
199+
INSERT INTO Inimigo (qtdDano, vida, fk_npc)
200+
VALUES (10, 100, 1);
201+
202+
INSERT INTO InstanciaInimigo (idInstanciaInimigo, fk_inimigo)
203+
VALUES (1, 1);
204+
205+
UPDATE InstanciaInimigo
206+
SET qtdDano = qtdDano + num,
207+
vida = vida + num
208+
WHERE idInstanciaInimigo = 1;
209+
210+
DELETE FROM InstanciaInimigo
211+
WHERE idInstanciaInimigo = 1;
212+
```
213+
214+
### Implantes
215+
Os implantes oferecem melhorias aos CyberLutadores, aumentando suas capacidades no jogo.
216+
```sql
217+
INSERT INTO Implante (idImplante, nomeImplante, tipo, fk_cyberLutador)
218+
VALUES (1, 'Implante Inicial', 'Implante de teste', 1);
219+
```
5220

6221
# Referência Bibliográfica
7222

223+
> <a id="REF1" href="#anchor_1">1.</a> ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. Tradução: Daniel Vieira. Revisão técnica: Enzo Seraphim; Thatyana de Faria Piola Seraphim. 6. ed. São Paulo: Pearson Addison Wesley, 2011. Capítulo 2 Conceitos e arquitetura do sistema de banco de dados, tópico 2.3 Linguagens e interfaces do banco de dados, páginas 24 e 25.
224+
225+
> <a id="REF2" href="#anchor_2">2.</a> SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Database system concepts. 6. ed. New York: McGraw-Hill, 2011. Capítulo 1 Introduction, tópico 1.4.2 Data-Definition Language, páginas 12 a 13.
226+
8227
## Histórico de versões
9228
| Versão | Data | Descrição | Autor |
10229
|:------:|:------:|:---------:|------:|
11-
| 1.0 | 06/01/2024 | Criação do Documento| [Gabrielly Assunção](https://github.com/GabriellyAssuncao) |
230+
| 1.0 | 06/01/2025 | Criação do Documento| [Gabrielly Assunção](https://github.com/GabriellyAssuncao) |
231+
| 1.1 | 12/01/2025 | Adicionando introdução e script explicado do DML| [Maria Eduarda Marques](https://github.com/EduardaSMarques) e [Lucas Meireles](https://github.com/Katuner)|
12232

0 commit comments

Comments
 (0)