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

un consejo sobre diseño de BD

Estas en el tema de un consejo sobre diseño de BD en el foro de Bases de Datos General en Foros del Web. Buenas. Queridos amigos, hoy tengola siguiente duda... resulta que tengo una tabla hecha en MySql, esta tabla yo la habia diseñado de la siguiente forma: ...
  #1 (permalink)  
Antiguo 10/09/2004, 12:41
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años, 1 mes
Puntos: 24
un consejo sobre diseño de BD

Buenas.
Queridos amigos, hoy tengola siguiente duda...
resulta que tengo una tabla hecha en MySql, esta tabla yo la habia diseñado de la siguiente forma:
- UN campo llamado: marca
- UN campo llamado: color
- UN campo llamado: tipo
- UN campo llamado: refrencia

NOTA: es importante tener en cuenta que los 3 primeros campos solo admiten unos valores predefinido en unas listas de texto (hechas en html)

resulta que el usuario rellenaba esta tabla desde un formulario, asi tal cual esta ahi...
ahora estoy contemplando la posibilidad de dividir esta tabla en 4 tablas asi:
- Una tabla llmada marca que contiene los siguientes campos:
-ID_marca (aqui va un numero autoincrementable)
-marca (aca va la marca por ejemplo MAZDA)
- Una tabla llmada "color" que contiene los siguientes campos:
-ID_color (aqui va un numero autoincrementable)
-color (aca va el color por ejemplo NEGRO)
- Una tabla llmada "TIPO" que contiene los siguientes campos:
-ID_tipo (aqui va un numero autoincrementable)
-tipo (aca va el tipo por ejemplo CAMPERO)
*siempre indexaria el campo id.

------------------ Y LA SIGUIENTE ES LA TABLA QUE A QUE SE INGRESAN LOS VALORES----------------------------------------------

- Una tabla llmada "INGRESO" que contiene los siguientes campos:
-ID_tipo (aqui va le numero correspondente al tipo seleccionado por el user)
-ID_marca (aqui va le numero correspondente a la marca seleccionado por el user)
-ID_color (aqui va le numero correspondente al color seleccionado por el user)

**ahora bien, lo que em gustaria saber es cual de las dos opciones es ams recomndable y por que
__________________
SEO en Medellin
  #2 (permalink)  
Antiguo 10/09/2004, 15:36
 
Fecha de Ingreso: agosto-2003
Mensajes: 448
Antigüedad: 20 años, 8 meses
Puntos: 1
Y si queres tener bien normalizada la base de datos, dividilo en distintas tablas, creando las tablas de Tipos, Marcas, Colores e Ingresos. Así inclusive la bd ocuparía menos espacio en el disco.

Para migrar los datos, deberías de hacer un programa que te hace la migración.
  #3 (permalink)  
Antiguo 10/09/2004, 16:35
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años, 1 mes
Puntos: 24
listo muchas gracias pero

que es esto de normalizar la BD a que se refiere este termino
__________________
SEO en Medellin
  #4 (permalink)  
Antiguo 10/09/2004, 16:45
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 21 años, 10 meses
Puntos: 5
normalizar consiste en relacionar tus tablas, vamos hacer vinculaciones a traves de capos comunes.
  #5 (permalink)  
Antiguo 12/09/2004, 11:16
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
HOla mafima
aqui tienes un artículo muy ilustrativo de lo ques normalizar DB
http://www.mysql-hispano.org/page.php?id=16&pag=1

Saludos!
  #6 (permalink)  
Antiguo 13/09/2004, 11:33
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
De hecho, la forma correcta es relacionar las tablas por sus IDS. Facilita a la hora de hacer consultas, y dar velocidad a la base de datos.

Las tablas secundarias, deberian tener la relacion de la ID de la tabla principal.
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 21:50.