Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Ayuda: Diseño BD

Estas en el tema de Ayuda: Diseño BD en el foro de Bases de Datos General en Foros del Web. Este es mi primer hilo en el foro así que hola a todos. Estoy haciendo una BD con MSDE en VBasic.Net y me gustaría que ...
  #1 (permalink)  
Antiguo 25/05/2005, 09:16
 
Fecha de Ingreso: mayo-2005
Mensajes: 5
Antigüedad: 19 años
Puntos: 0
Ayuda: Diseño BD

Este es mi primer hilo en el foro así que hola a todos.

Estoy haciendo una BD con MSDE en VBasic.Net y me gustaría que me ayudárais con el diseño de las tablas, sobre todo que me aconsejárais si el que he hecho está bién o le véis algun fallo o mejora posible.

En esta imagen os dejo mi diseño. Como se puede ver, quiero hacer una BD para ordenar mis películas.



Leyenda:

CP: Clave Ppal
CE: Clave Externa
I1: Índice
Las relaciones son todas 1-varios
Al actualizar las tablas ppales se actualiza la secundaria
Al eliminar un reg de la tabla ppal se actualiza la sec con Null


Muchas gracias de antemano y un saludo a todos.

Última edición por tuco; 25/05/2005 a las 09:25
  #2 (permalink)  
Antiguo 25/05/2005, 11:58
 
Fecha de Ingreso: mayo-2005
Mensajes: 12
Antigüedad: 19 años
Puntos: 0
Hola Tuco,
He dado un vistazo a tu diseño y a mi modo de ver lo veo bien diseñado. Solo que tendrias q definir bien tu objetivo de tal forma q obtengas un beneficio con su uso. Por ejemplo si crearias esta BD para ubicar una pelicula rapidamente entonces podrias contemplar un campo mas en la tablas peliculas respecto a la UBICACION.
Espero haber contribuido para tu BD. suerte!
CMSP
  #3 (permalink)  
Antiguo 25/05/2005, 13:06
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola

Tambien, para que sea mas eficiente, puedes cambiar el orden de los campos, por ejemplo, en tblPeliculas, puedes ordenar los campos asi:

1. Todos lo ID juntos, porque me imagino que son numericos
2. Los varchar juntos
3. Los text juntos
4. Los binary (imagen juntos), si imagen es varchar entonces como varchar

Esto porque el compilador de bases de datos cuando hace una consulta es mas facil para el recorrer los registros, porque tienes primero medidas estaticas en tu tabla, y despues ya son las medidas variables como varchar y binary, quedaria algo como:

idPais
idDirectos
Id...NNN
Año
Titulo
Argumento
Notas
Imagen

Algo asi ayudaria mucho en la estructura general de la tabla, ademas de incluir indices correctos, es decir, donde sabes que vas a tener muchas consultas ahi pones un index.

Suerte!!, la verdad no revise todo, solo ese detallito, pero tambien parece estar bien planeado el diseño general.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #4 (permalink)  
Antiguo 25/05/2005, 17:42
 
Fecha de Ingreso: mayo-2005
Mensajes: 5
Antigüedad: 19 años
Puntos: 0
Muchas gracias por vuestras opiniones, tendré muy en cuenta lo que habéis comentado. Lo de poner todos las variables del mismo tipo juntas no lo había hecho nunca pero ahora que leo lo que has escrito le veo sentido.

Gracias de nuevo.
  #5 (permalink)  
Antiguo 26/05/2005, 02:58
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años
Puntos: 8
Una preguntita, has usado algún programa para generar este modelo Relacional (gráficamente)?
  #6 (permalink)  
Antiguo 26/05/2005, 16:39
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola!

Revisando un poco mas el modelo, miro que para actores tienes posibilidad de para una pelicula poner varios actores, creo que ese mismo esquema debe ser para Formatos y Directores, porque en una pelicula puede haber mas de 1 director, y la puedes tener en existencia en varios formatos, como DVD y VHS, entocnes la tabla de formatos y diretores tambien debe soportar la estructura que tienes para actores.

Y ya en otros detalles, recuerda que aunque se debe tener cuidado y separar las tablas adecuadamente, pues tambien un simple JOIN provoca mas trabajo en una consulta, y si tienes muchas tablas pequeñas que tienes que hacer un JOIN pues sera mas lenta la consulta, entonces tambien puedes pensar en juntar los datos que no sean necesario tener separados, como por ejemplo, Genero, no creo que sea necesario tenerlo separado, en un tipo que no tiene caso tenerlo aparte y crear mas trabajo, entonces si lo incluyes dentro de tu tabla principal sera menos trabajo, ademas ese campo es el mismo espacio que ya tienes, y en tu PHP o ASP pues con constantes sabes que ID corresponde para el genero, lo cual reduce peso y trabajo a tu Base de Datos.

Entonces no siempre separar es lo mas eficiente, sino acomodarlo lo mejor posible.

Tal vez pienses que formato podria estar dentro, pero no, porque ahi puedes tener varios formatos para una misma pelicula, entonces para las consultas no es recomendable, porque te meterias en busquedas por cadenas, las cuales son mas pesadas en busquedas por numeros.

Bueno, espero haberte ayudado. Suerte!!

ANEXO: Al momento de crear estos modelos tambien debes pensar en tus consultas, y tu sistema de paginacion, ya que la paginacion resulta siempre la parte mas pesada en las consultas, y dependiendo de como quieres mostrar tu paginacion, pues tambien puede cambiar tu plan de como crear el modelo.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:15.