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 |