Me gustaría hacer una BD de Magic: The Gathering. Así quedaría más o menos la identidad “creatures”. Pero tengo una duda, la identidad f...

Pregunta de la clase:
Entidades de Platzi Blog
Orlando Reyes

Orlando Reyes

Pregunta
studenthace 3 años

Me gustaría hacer una BD de Magic: The Gathering. Así quedaría más o menos la identidad “creatures”. Pero tengo una duda, la identidad fuerte sería cada tipo de carta? O todas serían identidades débiles debido a que ninguna puede existir sin mi identidad fuerte “carta”. Una carta puede ser: creatura, tierra, sorcery, etc., sin embargo, no se si valga la pena tener esa identidad o si solo entorpecería mi funcionamiento. Puedo eliminar redundancia definitivamente, o eso creo jajaja. AYUDAAAA!!!

BD Magic.jpg Atributos de entidades MTG.png

5 respuestas
para escribir tu comentario
    Adolfo Hristo David Roque Gámez

    Adolfo Hristo David Roque Gámez

    studenthace 3 años

    Me parece bien, ahora falta que detalles, con los demás diagramas del curso. En principio, todos los atributos multivaluados deben ser su propia entidad, sigue adelante.

    Orlando Reyes

    Orlando Reyes

    studenthace 3 años

    Muchas gracias! Ahora me queda claro :) Definitivamente es mejor trabajar así como dices para simplificar!

    BD Magic 2.drawio (1).png

    Adolfo Hristo David Roque Gámez

    Adolfo Hristo David Roque Gámez

    studenthace 3 años

    Hola, yo no he jugado magic pero sí pokemon tcg y he visto como se juego magic y es similar, y miré los tipos, así que ahora te puedo contestar.

    Entiendo que una carta es de un tipo, la nutria ladrona es de tipo criatura. Así que la primera parte de tu diagrama al menos yo lo veo bien, tods los atributos de la entidad Carta.

    Pero todos los tipos: Criatura, Tierra, Instantaneo, Hechizo, no las consideraría como entidad. Más bien son diferentes variantes de una entidad "Tipo".

    Y una carta debe ser de un "tipo", por lo que para crear una carta, necesitas un "tipo". Entiendo tu razonamiento de que una "criatura" no existe sin una "carta", eso sí se aplicaría si se usara programación orientada a objetos y herencia.

    Creo que más adelante lo podrás ver mejor, pero en la base de datos, una entidad Tipo sólo almacenaría un identificador, nombre, y descripción, o al menos yo lo haría así.

    La entidad carta en la base de datos tendría todos los atributos que listaste y para el tipo, usaría el id del tipo.

    Y los tipos serían (perdón si la descripción está mal):

    id | nombre | descripción 1 | "Criatura" | "Un tipo de carta que puede atacar y bloquear" 2 | "Instant" | "Un hechizo que se puede lanzar en cualquier turno"

    y las cartas serían:

    id | name | type | ... los demás tipos que dijiste 1 | "Nutria Lardona" | 1 (criatura) | ... 2 | "desgarrar" | 2 (instant) | ...

    Así, no puedes crear un tipo de carta sin un tipo, o al menos es lo que entiendo, eso sólo aplica si una carta debe tener un tipo, pero tu sabrás más, si una carta puede tener más de un tipo o ninguno, entonces las dos entidades son fuertes.

    En cualquier caso, una criatura no sería un entidad, sino una instancia. Por ejemplo, para la entidad "Manzana", una manzana puede ser de varios tipos: "roja", "verde", "golden". Sin embargo, sólo se tiene una entidad "Manzana", y una entidad "Tipo", ya sería muy complicada si por cada tipo de manzana se hiciera una entidad cuando al final tienen los mismos datos.

    Orlando Reyes

    Orlando Reyes

    studenthace 3 años

    Gracias aroquega. Aun no tenía la conclusión pero creo que no alcanzo a entender del todo lo que me comentas. Según mi ejemplo, veo a la entidad "carta" como fuerte porque no puedo tener una entidad "creatura" si no existe mi entidad carta. Mi entidad carta puede tener todos los atributos de mi entidad creatura. Por ejemplo: Una "carta" puede ser del tipo "creatura" con cmc=2, color=azul, rarity=rara y así con los demás atributos de "creatura". A su vez, una "carta" puede ser del tipo "sorcery" con cmc=5, color=rojo, rarity=common y así con los demás atributos de "sorcery". Entonces, al poner "carta" como entidad fuerte elimino mucha redundancia en la BD pero no estoy seguro. Estoy pensando en algo como esto:

    BD Magic 2.drawio.png

    Que opinas? Qué estoy haciendo mal? O mi razonamiento es correcto? Me sería de mucha ayuda tu orientación.

    Muchas gracias por tus comments.

    PD. Si quise decir entidad y NO identidad jeje. Gracias por la observación. Ya modifiqué también mis apuntes.

    Adolfo Hristo David Roque Gámez

    Adolfo Hristo David Roque Gámez

    studenthace 3 años

    Hola, quizás ya hayas tomado una decisión pero por si no lo has hecho entonces te podría orientar. Primero, creo que quiziste decir "entidad" en vez de "identidad" ¿no? si es así entonces:

    La entidad "Tipo de Carta" o "Tipo" sería una entidad fuerte y sólo uno, no sería una entidad por cada tipo.

    Si una carta debe tener un tipo, entonces sí, la entidad "Carta" es una entidad debil por existencia respecto a la entidad "Tipo".

    Es mejor que trabajes con dos entidades "Carta" y "Tipo", y también quisiera saber si con "identidad" te referías a "entidad".

    Creo yo que una carta no se podría identificar por su tipo, porque hay varios tipo y supongo que varias cartas pueden tener el mismo tipo, por eso es una entidad debil por existencia, pero no por identidad.

Curso de Base de Datos [Empieza Gratis]

Curso de Base de Datos [Empieza Gratis]

Antes de utilizar cualquier tecnología para bases de datos debes entender los fundamentos de diseño y modelado requeridos para que tengas la mejor arquitectura posible. Crea tus propios modelos de bases de datos con las mejores prácticas desde cero.

Curso de Base de Datos [Empieza Gratis]
Curso de Base de Datos [Empieza Gratis]

Curso de Base de Datos [Empieza Gratis]

Antes de utilizar cualquier tecnología para bases de datos debes entender los fundamentos de diseño y modelado requeridos para que tengas la mejor arquitectura posible. Crea tus propios modelos de bases de datos con las mejores prácticas desde cero.