MER - Modelo Entidade-Relacionamento
O Modelo Entidade-Relacionamento (MER) é uma técnica utilizada para representar de forma conceitual as entidades de um sistema e as relações entre elas. Ele ajuda a estruturar os dados e a entender como as informações se conectam. Abaixo, apresentamos o MER desenvolvido para o jogo Ragnarok - MUD.
Entidades
- JOGADOR
- PERSONAGEM
- CLASSE
- HABILIDADE
- SALA
- INVENTARIO
- ITEM
- ARMADURA
- PEITORAL
- CAPACETE
- BOTA
- ESCUDO
- CAPA
- ACESSORIO
- ARMA
- LONGO_ALCANCE
- MAGICA
- CONSUMIVEL
- PERGAMINHO
- COMIDA
- POCAO
- ARMADURA
- INSTANCIA_ITEM
- NPC
- NPC_COMBATENTE
- INSTANCIA_NPC_COMBATENTE
- NPC_VENDEDOR
- MISSAO
- ESTOQUE
Atributos
-
JOGADOR(
idJogador,usuario,email,senha) -
PERSONAGEM(
idPersonagem, ,idJogador,idMissao,idSala,nome,mana,vida,vitalidade,inteligencia,agilidade,sorte,destreza,forca,ataque,ataqueMagico,precisao,esquiva,defesa,defesaMagica,critico,velocidade,nivel,dinheiro)
-
CLASSE(
idClasse,nomeClasse,descricao) -
HABILIDADE(
idHabilidade,idClasse,nomeHabilidade,descricao,custoMana,nivelRequerido) -
SALA(
idSala,idCima,idBaixo,idEsquerda,idDireita,nomeSala,descricaoSala)
- INVENTARIO(
idInventario,idPersonagem,capacidadeSlots,slotsUsados)
- ITEM(
idItem,idNpcCombatente,nomeItem,tipoItem,descricao,custoItem)
- ARMA(
idItem,danoBase,bonusDano,categoriaArma)- LONGO_ALCANCE(
idArma,tipoProjetil,quantidadeProjetil) - MAGICA(
idArma,tipoMagia,efeitoMagico)
- LONGO_ALCANCE(
- ARMADURA(
idItem,tipoArmadura,defesa,defesaMagica)- PEITORAL(
idArmadura,bonusVida,bonusDefesa) - CAPACETE(
idArmadura,bonusVida) - BOTA(
idArmadura,bonusVelocidade) - ESCUDO(
idArmadura,bonusVida,bonusDefesa) - CAPA(
idArmadura,bonusVida,bonusCritico) - ACESSORIO(
idArmadura,bonusVida,bonusEsquiva,bonusMana)
- PEITORAL(
- CONSUMIVEL(
idItem,tipoConsumivel)- COMIDA(
idConsumivel,tipoBonusAtributo,bonusAtributo,bonusAtributoDuracao) - POCAO(
idConsumivel,tipoBonusAtributo,recuperaVida,recuperaMana) - PERGAMINHO(
idConsumivel,tipoBuff,duracaoBuff)
- COMIDA(
-
INSTANCIA_ITEM(
idInstanciaItem,idItem,idSala,idInventario) -
NPC(
idNpc,idSala,nome,descricao,dialogo)
- NPC_VENDEDOR(
idNpc,idEstoque)
-
NPC_COMBATENTE(
idNPC,tamanho,raca,descricao,ataque,defesa,defesaMagica,nivel,precisao,esquiva) -
INSTANCIA_NPC_COMBATENTE(
idInstanciaNpcCombatente,idNpc,vidaAtual,status,agressivo) -
MISSAO(
idMissao,idNpc,idItem,requisitoLevel,xpBase,xpClasse,descricao,objetivo,dinheiroMissao) -
ESTOQUE(
idEstoque)
Atributos de Relacionamentos
- vende_ESTOQUE_ITEM(
idEstoque,idItem) - garante_MISSAO_INSTANCIA_ITEM(
idMissao,idInstanciaItem) - pertence_PERSONAGEM_CLASSE(
idPersonagem,idClasse) - depende_MISSAO(
idMissao,idDependencia)
Relacionamentos
-
JOGADOR - cria - PERSONAGEM
- Um JOGADOR cria um ou mais PERSONAGEMs (1,n), mas um PERSONAGEM é criado apenas por um JOGADOR (1,1)
- Cardinalidade: (1:n)
-
PERSONAGEM - pertence - CLASSE
- Um PERSONAGEM pertence a uma ou mais CLASSEs (1,n), mas uma CLASSE pertence a nenhum ou mais PERSONAGEMs (0,n)
- Cardinalidade: (n:m)
-
PERSONAGEM - possui - INVENTARIO
- Um PERSONAGEM possui apenas um INVENTARIO (1,1), e um INVENTARIO é possuído por apenas um PERSONAGEM (1,1)
- Cardinalidade: (1:1)
-
PERSONAGEM - recebe - MISSAO
- Um PERSONAGEM recebe nenhuma ou uma MISSAOs (0,1), e uma MISSAO é recebida por nenhum ou mais PERSONAGEMs (0,n)
- Cardinalidade: (n:1)
-
PERSONAGEM - interage - NPC
- Um PERSONAGEM interage com nenhum ou mais NPC (0,n), mas um NPC interage com nenhum ou mais PERSONAGEMs (0,n)
- Cardinalidade: (n:m)
-
PERSONAGEM - reside - SALA
- Um PERSONAGEM reside em apenas uma SALA (1,1), mas em uma SALA reside nenhum ou mais PERSONAGEMs (0,n)
- Cardinalidade: (n:1)
-
CLASSE - possui - HABILIDADE
- Uma CLASSE possui nenhuma ou mais HABILIDADEs (0,n), e uma HABILIDADE é possuída por uma única CLASSEs (1,1)
- Cardinalidade: (1:n)
-
INVENTARIO - armazena - INSTANCIA_ITEM
- Um INVENTARIO armazena nenhum ou mais INSTANCIA_ITEMs (0,n), mas uma INSTANCIA_ITEM é armazenada em nenhum ou apenas um INVENTARIO (0,1)
- Cardinalidade: (1:n)
-
SALA - tem - INSTANCIA_ITEM
- Uma SALA tem nenhum ou mais INSTANCIA_ITEMs (0,n), mas uma INSTANCIA_ITEM está em nenhuma ou apenas uma SALA (0,1)
- Cardinalidade: (1:n)
-
SALA - contem - NPC
- Uma SALA contém nenhum ou mais NPCs (0,n), mas um NPC está contido em apenas uma SALA (1,1)
- Cardinalidade: (1:n)
-
ITEM - possui - INSTANCIA_ITEM
- Um ITEM possui nenhuma ou mais INSTANCIA_ITEMs (0,n), mas uma INSTANCIA_ITEM é possuída por um único ITEM (1,1)
- Cardinalidade: (1:n)
-
NPC_VENDEDOR - possui - ESTOQUE
- Um NPC_VENDEDOR possui apenas um ESTOQUE (1,1), e um ESTOQUE é possuído por nenhum ou mais NPC_VENDEDOR (0,n)
- Cardinalidade: (1:n)
-
NPC_COMBATENTE - possui - INSTANCIA_NPC_COMBATENTE
- Um NPC_COMBATENTE possui nenhuma ou mais INSTANCIA_NPC_COMBATENTEs (0,n), mas uma INSTANCIA_NPC_COMBATENTE é possuída por um único NPC_COMBATENTE (1,1)
- Cardinalidade: (1:n)
-
NPC_COMBATENTE - garante - ITEM
- Um NPC_COMBATENTE garante um ou mais ITEM (1,n), mas um ITEM é garantido por nenhum ou um NPC_COMBATENTEs (0,1)
- Cardinalidade: (1:n)
-
NPC - designa - MISSAO
- Um NPC designa uma ou mais MISSAOs (1,n), mas uma MISSAO é desginada por apenas um NPC (1,1)
- Cardinalidade: (1:n)
-
MISSAO - depende - MISSAO
- Uma MISSAO pode depender de nenhuma ou uma única MISSAO (0,1), e uma MISSAO é dependência de nenhuma ou uma MISSAO (0,1)
- Cardinalidade: (0:1)
-
MISSAO - garante - INSTANCIA_ITEM
- Uma MISSAO garante um ou mais INSTANCIA_ITEMs (1,n), e uma INSTANCIA_ITEM é garantida por nenhuma ou mais MISSAOs (0,n)
- Cardinalidade: (n:m)
-
MISSAO - requer - ITEM
- Uma MISSAO requer nenhum ou mais ITEMs (0:n), e um ITEM é requerido por nenhuma ou mais MISSAOs (0:n)
- Cardinalidade: (n:m)
-
ESTOQUE - possui - ITEM
- Um ESTOQUE possui um ou mais ITEMs (1,n), e um ITEM é possuído por nenhum ou mais ESTOQUEs (0,n)
- Cardinalidade: (n:m)
Histórico de Versão
| Versão | Data | Descrição | Autor(es) | Revisor(es) |
|---|---|---|---|---|
1.0 | 29/05/2025 | Criação do Documento | Amanda Cruz, Felipe Motta | Ian Costa |
1.1 | 01/05/2025 | Elaboração do MER | Amanda Cruz, Felipe Motta, Ian Costa | Kauã Richard |
1.2 | 02/05/2025 | Correção de atributos e entidades | Amanda Cruz, Felipe Motta | Ian Costa |
2.0 | 10/06/2025 | Segunda versão do MER | Amanda Cruz, Felipe Motta, Kauã Richard | Ian Costa |