Pular para conteúdo

DD - Dicionário de Dados

De acordo com a UC Merced Library,

"Um Dicionário de Dados é uma coleção de nomes, definições e atributos sobre elementos de dados que estão sendo usados ​​ou capturados em um banco de dados, sistema de informação ou parte de um projeto de pesquisa. Ele descreve os significados e propósitos dos elementos de dados dentro do contexto de um projeto e fornece orientações sobre interpretação, significados aceitos e representação. [...]. Os metadados incluídos em um Dicionário de Dados podem auxiliar na definição do escopo e das características dos elementos de dados, bem como nas regras para seu uso e aplicação."

Entidade: campus

Descrição: A entidade Campus descreve os campus presentes no jogo e outras informações, como: seu número de identificação e nome.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_campus Identificador único do campus INT - PK
- Identity
nome Nome do campus Char 100 - Not Null
descricao Descrição do campus Char 255 - Not Null

Entidade: dungeon_Academica

Descrição: A entidade Dungeon_Academica descreve Dungeons que se relacionam a salas comuns no jogo e outras informações, como: seu número de identificação, nome, descrição e id do tema. Representa desafios ou ambientes acadêmicos temáticos que fazem parte do sistema. Cada dungeon está relacionada a um tema específico de aprendizado, e contém informações como nome e descrição do desafio.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_dungeon Identificador da Dungeon INT - FK
- PK
- Not Null
nome Nome da Dungeon Acadêmica Char 100 - Not Null
descricao Descrição da Dungeon Acadêmica Char 255 - Not Null
id_tema Identificador do Tema INT - FK
- Not Null

Entidade: boss

Descrição: A tabela boss representa criaturas especiais (chefes) dentro do sistema, associando cada uma a uma relíquia que pode ser guardada, protegida ou concedida ao ser derrotado. Cada boss é uma criatura registrada previamente e está relacionado a uma relíquia específica. A tabela é uma especialização da entidade tipo_criatura. Herda todos os atributos de tipo_criatura

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_criatura Identificador do Boss INT - PK
- FK
- Not Null
id_reliquia Identificador da(s) habilidade(s) que o boss possui INT - FK
- Not Null
nome Nome do boss Char 100 - Not Null
descricao Descrição do boss Char 255 - Not Null
nivel Nível associado ao boss INT - Not Null
vida_max Vida máxima que boss pode alcançar INT - Not Null

Entidade: instancia_de_criatura

Descrição: A tabela Instancia de Criatura registra cada aparição individual de uma criatura dentro de uma dungeon. Serve para controlar dinamicamente a vida atual da criatura durante interações ou combates em ambientes específicos do jogo.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_instanciaCriatura Identificador da instância criatura INT - PK
- Not Null
- Identity
id_criatura Identificador da criatura INT - FK
- Not Null
vida_atual Vida atual da criatura INT - Not Null
id_dungeon Identificador da Dungeon INT - FK
- Not Null

Entidade: ataque

Descrição: A entidade Ataque descreve o tipo de ataque, que está ligado a uma habilidade. Possui informações, como dano causado e porcentagem de acerto e contém todos os atributos de habilidade.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_habilidade Identificador de habilidade INT - PK
- FK
- Not Null
id_tema Identificador do tema ao qual habilidade está associada INT - PK
- FK
- Not Null
nome Nome da habilidade Char 100 - Not Null
nivel Nível da habilidade INT - Not Null
coolDown Tempo de recarga INT - Not Null
danoCausado Indica o dano causado pelo ataque INT - Not Null
preco Custo do ataque INT - Not Null

Entidade: cura

Descrição: A entidade Cura descreve o tipo de cura, que está ligado a uma habilidade. Possui informação de vida recuperada e herda todos os atributos de habilidade.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_habilidade Identificador de habilidade INT - PK
- FK
- Not Null
id_tema Identificador do tema ao qual habilidade está associada INT - PK
- FK
- Not Null
nome Nome da habilidade Char 100 - Not Null
nivel Nível da habilidade INT - Not Null
coolDown Tempo de recarga INT - Not Null
vidaRecuperada Indica o tanto de vida recuperada possibilitado pela habilidade de cura INT - Not Null
preco Custo cura INT - Not Null

Entidade: defesa

Descrição: A entidade Defesa descreve o tipo de defesa, que está ligado a uma habilidade. Possui informação de dano mitigado e herda todos os atributos de habilidade.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_habilidade Identificador de habilidade INT - PK
- FK
- Not Null
id_tema Identificador do tema ao qual habilidade está associada INT - PK
- FK
- Not Null
nome Nome da habilidade Char 100 - Not Null
nivel Nível da habilidade INT - Not Null
coolDown Tempo de recarga INT - Not Null
danoMitigado Indica o tanto de dano mitigado possibilitado pela defesa INT - Not Null
preco Custo da defesa INT - Not Null

Entidade: setor

Descrição: A entidade Setor descreve um setor que está dentro do campus. A chave primária composta indica que o mesmo id_setor poderia existir em mais de um campus, mas com distinção pelo id_campus. Possui informação de nome, descrição, identificador do campus, e duas chaves estrangeiras referenciando outras lomocomoções para acesso de outros setores, na qual, possui um auto-relacionamento em que a partir de um setor pode se chegar a outro, ou seja, esse relacionamento entre os setrores cria um tipo de estrutura de lista duplamente ligada. Essa estrutura pode ser útil para organizar setores em ordem (por exemplo, geográfica ou lógica). Os campos id_prevSetor e id_proxSetor são auto-relacionamentos com a mesma tabela, ideais para navegação sequencial entre setores.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_setor Identificador do Setor INT - PK
- Not Null
- Identity
id_campus Identificador do Campus INT - PK
- FK
- Not Null
nome Nome do Setor Char 100 - Not Null
descricao Descrição do Setor Char 255 - Not Null
id_proxSetor Identificador do próximo setor(auto-relacion.) INT - FK
- Not Null
id_prevSetor Identificador do setor anterior INT - FK
- Not Null

Entidade: loja_item

Descrição: A tabela loja_item representa a relação entre as lojas disponíveis no sistema e os itens que estão à venda em cada uma delas. Essa tabela é usada para modelar o relacionamento muitos-para-muitos entre Loja (presente em sala) e Item, indicando quais itens estão disponíveis em quais lojas.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_sala Identificador da sala INT - PK
- FK
- Not Null
id_item Identificador de item INT - PK
- FK
- Not Null

Entidade: tipo_item

Descrição: A tabela tipo_item é uma tabela auxiliar resultado de uma generalização/especialização Total Exclusiva. Armazena o identificador do item (que é uma chave primária) e de seu tipo, que .

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_item Identificador do item INT - PK
- Not Null
- Identity

| item_tipo | Indica o tipo do item | Char | 10 | - Not Null
- Check ('Consumível', 'Equipável', 'Monetário', 'Relíquia') |

Entidade: reliquia

Descrição: A tabela reliquia armazena os dados das relíquias disponíveis no sistema e possuem um tipo específico. Cada relíquia possui um identificador único, um nome, descrição e um tipo, que relaciona-se a um tema.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_reliquia Identificador da relíquia INT - PK
- FK
- Not Null
nome Nome da relíquia Char 100 - Not Null
descricao Descrição da relíquia Char 255 - Not Null
tipo_reliquia Descreve o tema da relíquia Char 100 - Not Null

Entidade: consumivel

Descrição: A entidade Consumível descreve um item consumível. Cada item consumível possui um identificador único, um nome, descrição e possui informações como efeito e preço.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_item Identificador do item INT - PK
- FK
- Not Null
nome Nome do item Char 100 - Not Null
descricao Descrição do item Char 255 - Not Null
efeito Efeito do item FLOAT - Not Null
preco Preço do item consumível FLOAT - Not Null

Entidade: equipavel

Descrição: A entidade Equipavel descreve um item equipável. Cada item equipável possui um identificador único, um nome, descrição e possui informações como efeito, preço e se está equipado ou não.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_item Identificador do item INT - PK
- FK
- Not Null
nome Nome do item Char 100 - Not Null
descricao Descrição do item Char 255 - Not Null
efeito Efeito do item FLOAT - Not Null
preco Preço do item consumível FLOAT - Not Null
equipado indica se o item equipavel está equipado ou não BOOLEAN 1 bit - Not Null

Entidade: monetario

Descrição: A tabela monetario representa itens do tipo monetário no sistema, como moedas ou valores que podem ser acumulados pelos jogadores. Essa tabela especializa a tabela item e define o valor numérico associado a esse tipo de recurso. Herda todos os atributos de Item.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_item Identificador do item INT - PK
- FK
- Not Null
nome Nome do item Char 100 - Not Null
descricao Descrição do item Char 255 - Not Null
valor O valor do item monetário INT - Not Null

Entidade: sala_comum

Descrição: A tabela sala_comum representa as salas que compõem um setor dentro da estrutura do sistema. Cada sala está vinculada a um setor (id_setor) e possui um identificador próprio (id_sala). A estrutura permite o encadeamento de salas por meio de relacionamentos de anterior e próxima (id_prevSala e id_proxSala), formando uma sequência navegável. Além disso, cada sala pode conter funcionalidades específicas como loja (tem_loja) e dungeon (tem_dungeon), representadas por campos booleanos. Essa modelagem permite a navegação sequencial entre salas e a definição de pontos especiais dentro de um setor.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_sala Identificador único da sala INT - PK
- Not Null
- Identity
id_setor Identificador do setor em que a sala está INT - PK
- FK
- Not Null
nome nome da sala Char 100 - Not Null
descrição Descrição do que tem/contem na sala Char 255 - Not Null
id_prevSala Identificador da sala anterior INT - FK
id_proxSala Identificador da próxima sala INT - FK
tem_loja Se a sala possui loja BOOLEAN 1 bit - Not Null
tem_dungeon Se a sala possui dungeon BOOLEAN 1 bit - Not Null

Entidade: habilidade_criatura

Descrição: Cada registro da tabela habilidade_criatura indica que uma determinada criatura possui uma determinada habilidade.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_criatura Identificador da criatura INT - PK
- FK
- Not Null
id_habilidade Identificador da habilidade INT - PK
- FK
- Not Null

Entidade: habilidade_estudante

Descrição: A tabela Habilidade_Estudante indica quais habilidades cada estudante possui, permitindo que cada estudante possa ter diversas habilidades cadastradas.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_estudante Identificador do estudante INT - PK
- FK
- Not Null
id_habilidade Identificador da habilidade INT - PK
- FK
- Not Null

Entidade: habilidade_Loja

Descrição: A tabela Habilidade_Loja representa o relacionamento entre lojas e habilidades disponíveis para venda. Ela define quais habilidades podem ser adquiridas nas lojas.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_loja Identificador da loja INT - PK
- FK
- Not Null
id_habilidade Identificador da habilidade INT - PK
- FK
- Not Null

Entidade: Instancia_de_item

Descrição: Armazena as instâncias de itens que existem no sistema, associando cada item a uma sala e/ou a um estudante. Cada instância possui um identificador próprio e referencia um tipo de item. Esta tabela permite controlar a posse e localização dos itens no ambiente.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_instanciaItem Identificador da instância do item INT - PK
- Identity
id_item Identificador do item que foi instânciado INT - PK
- FK
- Not Null
id_sala Identificador da sala INT - FK
id_estudante Identificador do estudante INT - FK
equipado Item equipado BOOL Not Null

Entidade: estudante

Descrição: A tabela Estudante armazena os dados principais dos estudantes que participam do sistema. Cada estudante possui atributos como vida, estresse e total de dinheiro acumulado. Essa tabela também indica a qual sala o estudante pertence, por meio de uma chave estrangeira.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_estudante Identificador de estudante INT - PK
- Identity
id_sala Identificador da sala que o estudante está INT - FK
- Not Null
nome Nome do usuário Char 100 - Not Null
vida Total de vida que o estudante tem INT - Not Null
estresse o Nível de stress que o usuário está INT - Not Null
total_dinheiro Total de moedas que o estudante tem INT - Not Null

Entidade: monstro_simples

Descrição: A tabela monstro_simples representa criaturas do tipo simples (não-chefes) que aparecem no jogo. Esses monstros, ao serem derrotados, concedem uma certa quantidade de experiência temática (XP) ao jogador e podem deixar moedas como recompensa.Cada monstro possui atributos como nível, vida máxima, tipo e uma descrição que pode ser usada para fins narrativos ou funcionais no jogo. A tabela é uma especialização da entidade tipo_criatura.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_criatura Identificador da criatura INT - PK
- FK
- Not Null
nivel Nivel da criatura INT 100 - FK
- Not Null
vida_max Valor da vida da criatura INT - Not Null
nome Nome da criatura Char 100 - Not Null
descricao Descriçao da criatura Char 200 -Not Nul
xp_tema Quanidade de pontos que o tema oferece para determinada criatura INT - Not Null
qtd_moedas Quantidades de moedas que o monstro dropa INT - Not Null
- CHECK (qtd_moedas >= 0)

Entidade: tipo_criatura

Descrição: A tabela tipo_criatura é uma tabela auxiliar resultado de uma generalização/especialização total exclusiva que armazena o id da criatura e de qual tipo ela é, se é monstro ou se é boss.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_criatura Identificador da criatura INT - PK
- Identity
tipo_criatura Tipo da criatura Char 10 - Not Null
CHECK(tipo_criatura IN ('Monstro', 'Boss'))

Entidade: afinidade

Descrição: A tabela Afinidade armazena o relacionamento entre estudantes e temas, representando o nível de domínio que cada estudante possui sobre determinado tema. Cada registro representa uma afinidade única entre um estudante e um tema. Esta tabela possui chave primária composta e duas chaves estrangeiras, referenciando as tabelas Estudante e Tema.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_estudante Identificador do estudante INT - PK
- FK
- Not Null
id_tema Identificador do tema INT - PK
- FK
- Not Null
xp_atual xp atual que a afinidade tem INT - Not Null
nivel_atual Qual o nível atual da afinidade INT - Not Null

Entidade: tipoHabilidade

Descrição: É uma tabela auxiliar resultado de uma generalização/especialização total exclusiva. Essa tabela armazena o Id da habilidade e o tipo dela, podendo ser de ataque, cura ou defesa. A tabela se relaciona com as tabelas de Ataque, Cura e Defesa indicando o id das habilidades e com as tabelas de habilidade_criatura, habilidade_estudante, habilidade_loja indicandos as habilidades da criatura ou estudante e quais habilidades vendem na loja.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_habilidade Identificador Da habilidade INT - PK
tipo_habilidade Qual o tipo da habilidade Char 10 - Not Null
- CHECK('ataque', 'cura', 'defesa')

Entidade: tema

Descrição: Contém as temáticas: Matemática, Programação, Engenharias, Gerais e Humanidades.

Nome Descrição Tipo de dado Tamanho Restrições de domínio (PK, FK, Not Null, Check, Default, Identity)
id_tema Identificador do Tema INT - PK
- Identity
nome nome do tema Char 100 - Not Null
- CHECK(nome IN ('Matemática', 'Programação', 'Engenharias', 'Gerais', 'Humanidades'))

Histórico de Versões

Versão Data Descrição Autor
1.0 01/05/2025 Criação do Dicionário de Dados Ludmila Nunes & Isaque Camargos
2.0 10/06/2025 Atualização do Dicionário de Dados Milena Marques
3.0 04/07/2025 Segunda atualização do Dicionário de Dados Ludmila Nunes & Isaque Camargos