duda con vistas

15/04/2008 - 11:01 por Vicente García | Informe spam
Hola,

Estoy intentando diseñar una base de datos en la que voy a almacenar
diferentes tipos de animales, (incialmente hay alguno pero con el tiempo
serán más) y no se podrán crear más tablas por lo que la información de
todos los animales tiene que estar en un número fijo de tablas. Mi idea, es
meter en una tabla la información fija de los animales:

TABLA_INFO_ANIMALES
Id Tipo
1 Perro
2 Gato
3 Pingüino
4 León
5 Paloma
...

Y después en otra tabla los campos comunes a todos los animales que vayan
apareciendo:
TABLA_ANIMALES
Id IdInfo_Animales Peso Color Año nacimiento
1 1 40 Marrón 2000
2 2 8 Amarillo 2005
3 1 50 Negro 2007
...

Pero mi duda surge cuando trato de introducir campos no comunes a todos los
animales (por ejemplo la velocidad a la que vuela una paloma o si el perro
tiene pedigri) Me gustaría tener alguna forma de introducir en la base de
datos toda la información de modo que mediante una vista cuando tenga que
mostrar la información al usuario pueda mostrarle la información concreta de
un animal, por ejemplo:

PERROS
Peso Color Año nacimiento Pedigri
40 Marrón 2000 SI
50 Negro 2007 SI
...

¿Alguien me puede ayudar?

Muchísimas gracias de antemano
Vicente.

Preguntas similare

Leer las respuestas

#1 Rafael Villaran. RAVIPE
15/04/2008 - 12:57 | Informe spam
Vamos a ver, intentaré explicarme.

Yo haría lo siguiente:
Me crearía una tabla maestra (auxiliar) de Animales (id,descripcion)
Otra tabla maestra de caracteristicas (id,descripcion)
Una tercera que relacione animales con caracteristicas.
Y la cuarta que sería la que realmente tendría la información. O sea,
guardaría el valor de una caracteristica concreta de un animal concreto.
De esta forma tenemos una estructura que nos permitiría escalar todo lo que
necesitemos, animales y/o caracteristicas.
En otra tabla tendremos la información particular de cada animal con las
características comunes a todos, nombre, fecha nacimiento, color, altura...
Espero aclararte algo y no liarte más ;-)
Un saludo
"Vicente García" wrote:

Hola,

Estoy intentando disear una base de datos en la que voy a almacenar
diferentes tipos de animales, (incialmente hay alguno pero con el tiempo
sern ms) y no se podrn crear ms tablas por lo que la informacin de
todos los animales tiene que estar en un nmero fijo de tablas. Mi idea, es
meter en una tabla la informacin fija de los animales:

TABLA_INFO_ANIMALES
Id Tipo
1 Perro
2 Gato
3 Pingino
4 Len
5 Paloma
...

Y despus en otra tabla los campos comunes a todos los animales que vayan
apareciendo:
TABLA_ANIMALES
Id IdInfo_Animales Peso Color Ao nacimiento
1 1 40 Marrn 2000
2 2 8 Amarillo 2005
3 1 50 Negro 2007
...

Pero mi duda surge cuando trato de introducir campos no comunes a todos los
animales (por ejemplo la velocidad a la que vuela una paloma o si el perro
tiene pedigri) Me gustara tener alguna forma de introducir en la base de
datos toda la informacin de modo que mediante una vista cuando tenga que
mostrar la informacin al usuario pueda mostrarle la informacin concreta de
un animal, por ejemplo:

PERROS
Peso Color Ao nacimiento Pedigri
40 Marrn 2000 SI
50 Negro 2007 SI
...

Alguien me puede ayudar?

Muchsimas gracias de antemano
Vicente.


Respuesta Responder a este mensaje
#2 Vicente García
15/04/2008 - 14:14 | Informe spam
Hola,

Muchísimas gracias, creo que lo he entendido, quedaría algo así:

1) TABLA_ANIMALES (Id, Descripción)
2) TABLA_CARACTERISTICAS (Id, Descripción)
3) TABLA_ANIMALES_CARACTERÍSTICAS (Id, IdAnimal, IdCaracterística)
4) TABLA_INFO_ESPECIFICA (Id, IdAnimalCaracterística, Valor)
5) TABLA_INFO_COMUN (Id, IdAnimal, Nombre, FechaNacimiento, Color)

Pero para completarlo me faltaría saber cómo crear una vista que muestre
toda la información de la tabla 5) para un animal más otras columnas que se
correspondan con la información específica de un determinado animal, porque
me parece un poco raro el hecho de convertir la información de las filas de
la columna Valor de la tabla 4) en columnas de la vista, por ejemplo para un
pájaro:

Id, IdAnimal, Nombre, FechaNacimiento, Color, TipoPájaro, Velocidad,

Millones de gracias!!
Vicente.
Respuesta Responder a este mensaje
#3 Rafael Villaran. RAVIPE
16/04/2008 - 07:37 | Informe spam
Efectivamente como tú dices, la información específica de cada animal
aparecerían después de la común y cada una correspondería a una fila que
contendría la descripción de la característica y el valor.
Si lo que tu deseas es colocar cada característica en un columna debes
mirarte las consultas de referencias cruzadas. Aquí creo que estaría tu
solución.
saludos.

"Vicente García" wrote:

Hola,

Muchísimas gracias, creo que lo he entendido, quedaría algo así:

1) TABLA_ANIMALES (Id, Descripción)
2) TABLA_CARACTERISTICAS (Id, Descripción)
3) TABLA_ANIMALES_CARACTERÍSTICAS (Id, IdAnimal, IdCaracterística)
4) TABLA_INFO_ESPECIFICA (Id, IdAnimalCaracterística, Valor)
5) TABLA_INFO_COMUN (Id, IdAnimal, Nombre, FechaNacimiento, Color)

Pero para completarlo me faltaría saber cómo crear una vista que muestre
toda la información de la tabla 5) para un animal más otras columnas que se
correspondan con la información específica de un determinado animal, porque
me parece un poco raro el hecho de convertir la información de las filas de
la columna Valor de la tabla 4) en columnas de la vista, por ejemplo para un
pájaro:

Id, IdAnimal, Nombre, FechaNacimiento, Color, TipoPájaro, Velocidad,

Millones de gracias!!
Vicente.

Respuesta Responder a este mensaje
#4 Vicente García
18/04/2008 - 11:55 | Informe spam
OK,

Muchas gracias por la ayuda, buscaré cómo hacer las referencias cruzadas y
además dinámicas
Salu2

"Rafael Villaran. RAVIPE"
escribió en el mensaje de
noticias:
Efectivamente como tú dices, la información específica de cada animal
aparecerían después de la común y cada una correspondería a una fila que
contendría la descripción de la característica y el valor.
Si lo que tu deseas es colocar cada característica en un columna debes
mirarte las consultas de referencias cruzadas. Aquí creo que estaría tu
solución.
saludos.

"Vicente García" wrote:

Hola,

Muchísimas gracias, creo que lo he entendido, quedaría algo así:

1) TABLA_ANIMALES (Id, Descripción)
2) TABLA_CARACTERISTICAS (Id, Descripción)
3) TABLA_ANIMALES_CARACTERÍSTICAS (Id, IdAnimal, IdCaracterística)
4) TABLA_INFO_ESPECIFICA (Id, IdAnimalCaracterística, Valor)
5) TABLA_INFO_COMUN (Id, IdAnimal, Nombre, FechaNacimiento, Color)

Pero para completarlo me faltaría saber cómo crear una vista que muestre
toda la información de la tabla 5) para un animal más otras columnas que
se
correspondan con la información específica de un determinado animal,
porque
me parece un poco raro el hecho de convertir la información de las filas
de
la columna Valor de la tabla 4) en columnas de la vista, por ejemplo para
un
pájaro:

Id, IdAnimal, Nombre, FechaNacimiento, Color, TipoPájaro, Velocidad,

Millones de gracias!!
Vicente.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida