
Orlando Reyes
PreguntaMe 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!!!

Adolfo Hristo David Roque Gámez
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
Muchas gracias! Ahora me queda claro :) Definitivamente es mejor trabajar así como dices para simplificar!

Adolfo Hristo David Roque Gámez
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
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:
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
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.