2012-02-09 23 views
7

Estoy creando un CMS personalizado para mi sitio, y voy a almacenar artículos (texto e imágenes por artículo) en una base de datos mysql. ¿Qué tipo de datos es el más adecuado para esa tarea?¿Qué tipo de datos es mejor para almacenar artículos en la base de datos SQL?

+0

Suponer que 'TEXT' sería el mejor tipo de datos para esto. –

+1

No sé la razón exacta por la que desea almacenar las imágenes en la base de datos, pero creo que es bueno mantener el disco local de Images on Machine y almacenar solo 'path 'en la base de datos. Será bueno para el rendimiento. Ignorame si estoy equivocado No soy un experto en CMS. Saludos – Scorpion

Respuesta

5

No intente almacenar texto e imágenes en un solo campo, y en esta circunstancia probablemente no deba almacenar imágenes en su base de datos.

La mejor solución para esto sería utilizar algún tipo de sistema de marcado en sus artículos, en el más simple podría ser un subconjunto filtrado de html, que se almacena como texto sin formato en su base de datos y luego se analiza en el navegador de alguna manera. Obviamente, si utiliza html filtrado, no necesitaría escribir ningún código especial para analizarlo, pero tomar este enfoque plantea posibles problemas de seguridad.

Otras opciones para investigar incluyen Markdown (el sistema utilizado por este sitio), así como BBCode (utilizado principalmente por los foros en línea), así como muchos otros.

Para resumir, no almacene imágenes y texto en un campo. Almacene texto e interprete ese texto para cargar imágenes y otros medios en sus artículos, según corresponda.

1

Guarde las imágenes como VARCHAR, pero solo el nombre de la imagen (y/o ubicación, dependiendo de qué tan grande sea su cms), guarde el texto como - TEXT.

1

En mi opinión uso texto para artículos, que contengan caracteres HTML, eso es lo que uso. Pero hay muchas otras cosas a considerar. Depende del contenido de tus artículos. En sus imágenes depende de usted, solo almacenará la ruta de la imagen, a menos que planee almacenar la imagen.

0

Almacena las imágenes y el texto por separado. Suponiendo que está tratando de almacenar las imágenes binarias en la base de datos, le recomiendo almacenar imágenes como un tipo de datos BLOB y TEXTO para el texto.

No utilice VARCHAR para el texto del artículo porque no se expande dinámicamente más allá del tamaño que lo hace.

1

Consulte este article en el que Microsoft insiste en que el tipo de datos text va a desaparecer y, por lo tanto, no debe utilizarse en un nuevo desarrollo. Las alternativas son varchar y nvarchar para texto y varbinary para imágenes.

0

VARCHAR sería la mejor opción para almacenar artículos de texto ya que los tipos de datos de texto e imágenes desaparecerían en el futuro.

Para las imágenes, puede almacenarlas en una carpeta similar a la que usa para css/js y almacenar su valor src en la base de datos. Esto sería eficiente en términos de velocidad y almacenamiento.

Cuestiones relacionadas