Comunidad de diseño web y desarrollo en internet online

Mejor manera de diseñar una base de datos

Citar            
MensajeEscrito el 09 May 2012 07:08 am
Hola a todos,
Este es mi primer mensaje pero no es la primera vez que estoy por aqui, gracias a todos los que ayudais en esta pagina muchas veces me habeis ayudado bastante aunque no fuera yo el que preguntara.

Ahora al turron:

Estoy diseñando una aplicacion/web y estoy con el diseño de la base de datos, lo he hecho de una manera y aunque creo que la forma es la correcta quiero distintas opiniones y consejos de como llevarlo a cabo, sobretodo por que de la manera que he pensado la programacion va a ser un poco mas pesada.

La idea es una empresa que puede vender por ejemplo coches y casas, al ser diferentes datos los que se introduzcan voy a usar tablas, con los campos correspondientes, (ej coche: cilindrada, ej casa: baños). Hasta ahi todo bien, el "problema" viene cuando quiero agregar fotos (URLS), creo que la manera 'correcta' o ampliamente actualizable seria hacer otra tabla con esa informacion. Para que tenga todo un poco de consistencia y organizacion en creado una tabla "post" para organizarlo. Aqui un ejemplo:



Creeis que estoy en lo correcto? Hay alguna forma mas sencilla o optimizada?

Tambien he pensado en que cada linea en las tablas vayan los campos de las fotos, que seria lo mas sencillo, pero no se si es la mejor forma para futuras actualizaciones.

Espero que me podais ayudar, Gracias.

Por Seth69

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 May 2012 10:33 am
las relaciones entre coches - fotos y casas-fotos no tienen sentido.

Lo digo porque desde post ya sacas las fotos del post X y no te importa si es un coche o una casa...

De la forma que lo haces creas relaciones circulares que no te sirven de mucho.

Otro error es la tabla fotos

Haces una columna para cada foto, y si hay 300 fotos en un post?

Tendrás una tabla con 300 columnas "por si acaso?"

Como yo lo veo es:


post(idPost)

foto(idFoto, titulo, tamaño, y todo lo que quieras)

post-foto(idPost, idFoto);


Básicamente es una relacion m:n entre post y foto que crea una nueva tabla (que he llamado post-foto) donde tendrás una entrada por cada foto en un post


Con datos sería

post
------
1
2

foto
----
1 playa
2 parque


post-foto
------------
1, 1
1, 2
2, 23
2,5

Básicamente en el post 1 tendrás la foto del parque y de la playa y en el 2 tendrás otras...
pero también se te abre la puerta de que una foto pueda estar en varios posts por si lo necesitases


saludos

Por nax_hh

Claber

168 de clabLevel

1 tutorial

 

Reus

firefox
Citar            
MensajeEscrito el 09 May 2012 06:20 pm
Entiendo lo que me dices, me has dado una idea, que seria poner las fotos en la tabla post, ya que es independiente de si es casa o coche. La idea es poner un maximo de 8 fotos, de ahi hacer la tabla con distintas columnas para cada foto y no una para cada foto, la idea no es usar varias fotos para distintos post, por que seria distintos productos. Creo que lo mas facil seria

tabla coches
Tablas post+fotos /
\
tabla casas

Que te parece la idea?

Gracias por tu ayuda.

Por Seth69

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 May 2012 06:23 pm
No puedo editar mi mensaje? es que ha salido un poco chapuza lo que he hecho, no aparecen los espacios.

Tabla Post + foto -------> tablas coches y casas

Por Seth69

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 May 2012 04:56 pm
cuando tienes más de una foto sigues en el mismo problema


8 columnas para fotos.... y quizá con nulos... yo no lo veo óptimo... pero para gustos colores

yo haría lo que te comenté y de ahí miraría mediante php o el lenguaje que uses que no sobrepase de 8 fotos ...

Por nax_hh

Claber

168 de clabLevel

1 tutorial

 

Reus

chrome
Citar            
MensajeEscrito el 11 May 2012 07:35 pm
lo que no habia pensado es solo una columna y las imagenes separadas por comas. el limite ya lo tengo preparada para la subida.

Por Seth69

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 May 2012 04:59 am
Hola Seth69, pasaba por aca y vi tu problema, nose si estoy a tiempo pero leyendo me di cuenta que la tabla "post" es inservible, si lo que quieres es vender casas y coches, solo necesitas 3 tablas pongo una imagen.



Saludos.

Por ciulaio

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 29 May 2012 02:21 pm

ciulaio escribió:

Hola Seth69, pasaba por aca y vi tu problema, nose si estoy a tiempo pero leyendo me di cuenta que la tabla "post" es inservible, si lo que quieres es vender casas y coches, solo necesitas 3 tablas pongo una imagen.



Saludos.

creo que hay un error , es mejor que que fotos dependa de coches o casas y no viceversa, ya que tanto coches como casas su indice comienza en 1, lo mejor seria que la tabla fotos tenga 3 campos
FOTOS
--tipo (un campo string que sea, 'casa','coche','etc')
--id (el id un campo entero NO INCREMENTAL, ese ID seria el Mismo que el de la tabla)
--nombre

eso cuando quieras relacionar una foto por cada casa o coche ahora si quieres muchas fotos entocnes abria que cambiarla a
FOTOS
--id(un campo INT, autoincremental y como clave UNICA)
--tipo (un campo string que sea, 'casa','coche','etc')
--id_tabla (el id un campo entero NO INCREMENTAL, ese ID seria el Mismo que el de la tabla)
--nombre

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 May 2012 10:00 pm
tendria que ser id casa y id coches relacionado a id fotos... de mas a menos

Por Eclypse

Claber

118 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.