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

Tipo de artículo. Con texto o número?

Estas en el tema de Tipo de artículo. Con texto o número? en el foro de Mysql en Foros del Web. Buenas Tengo en mi página varios artículos clasificado en categorías. Mi pregunta es. En la base de datos ¿Como plasmo el tipo de la categoría? ...
  #1 (permalink)  
Antiguo 08/10/2011, 05:34
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Tipo de artículo. Con texto o número?

Buenas

Tengo en mi página varios artículos clasificado en categorías.

Mi pregunta es.
En la base de datos ¿Como plasmo el tipo de la categoría?
- Con texto
- Con número (asociado a un texto en otra tabla)

Es decir, así:

Código HTML:
idArticulo |  titulo | ... | tipo
----------------------------------
     4          pepe    ...   fiestas
O así:
Código HTML:
idArticulo |  titulo | ... | tipo
----------------------------------
     4         pepe     ...   4

idTipo |  Texto
-----------------
   4     fiestas

Un saludo.
  #2 (permalink)  
Antiguo 08/10/2011, 11:54
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Tipo de artículo. Con texto o número?

Siempre la segunda opción.
El número y el índice que se genera de él es más rápido. Además es más fácil de mantener y administrar. Imagina que ya tienes dos millones de registros y a ese tipo que llamabas fiestas quieres llamarlo ahora simplemente fiesta. Actualizas los cientos de miles donde tienes escrito fiestas, o mejor sólo cambias en la tabla tipos una palabra. Y qué decirte de lo cómodo que es hacer un selector a partir de esa tabla de tipos y no tener que escribirlo en el html o hacer uno de esos select distint de la tabla de artículos.
Imagina que tienes que ordenar los tipos por un criterio distinto al orden alfabético; está claro que será mejor añadir un campo en la tabla tipos para número de orden; o si necesitas varias ordenaciones, varios campos. De la primera forma que propones, te toca usar case, o alguna otra función de MySQL que ralentizarán tus consultas. Piensa que todos los atributos de tipos se quedan fuera. Imagina ahora que necesitas hacer descuentos (porcentaje) para fiestas por fechas, pues creas una tabla de descuentostipofechas que puedes relacionar con tipo y te facilitará mucho el trabajo.
Y si necesitas agrupar los tipos, siempre será mejor crear una tabla de tipos primarios y relacionar sus valores con los de tipos, y no tendrías que crear otro campo en artículos y además hacer los actualizaciones dependiendo del tipo secundario: en fin, una locura.

Última edición por jurena; 09/10/2011 a las 04:18

Etiquetas: tabla, tipo
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:55.