[Php-avanzado] normalizacion gestor de contenidos turisticos
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Dic 4 19:20:39 ART 2012
Hola Cesar,
El mar, 04-12-2012 a las 17:54 -0300, Cesar Gimenez Lascano escribió:
> Gracias Leo, ahí te envío las tablas de nuevo con las modificaciones
> que me marcaste y copio y pego debajo el SRS actualizado.
guardo esta versión de la SRS para usarla como referencia.
> Queria preguntarte, no estoy seguro de que tipo darle a las imágenes.
Esto dependerá de cómo las vayas a guardar.
Si guardás los archivos en el disco, en la DB tenés que poner solo un
VARCHAR con el nombre del archivo.
Esto implica que al editar o borrar el registro, tenés que ir a buscar
la imagen al disco y borrarla.
Si las guardás en la DB, será un un BLOB, pero tenés que guardar además
el nombre y el tipo MIME, para poder reconstruirla. Guardar la imagen en
la DB es más complejo, pero te ahorra el manejar por separado la edición
y el borrado del registro.
> Tampoco que tipo darle al foursqure_id, tiene la siguiente forma:
> 4bb2ded114cfd13af88015ab
Eso es un VARCHAR.
Respecto de la normalización, decidí como vas a guardar las imágenes y
ya debería estar lista.
Seguimos!
> OBJETIVO: mostrar sobre un mapa comercios, servicios e información
> turística de la ciudad. Se obtendrá más información sobre los lugares
> al hacer click sobre ellos (sección de información).
>
> REQUERIMIENTOS FUNCIONALES:
>
> 1. El sistema debe mostrar tipos de publicación.
> 2. El sistema debe mostrar rubros de comercios.
> 3. El sistema debe gestionar comercios con su tipo de publicación
> [1] y su rubro de comercio [2].
> 4. El sistema debe gestionar eventos.
> 5. El sistema debe gestionar puntos de interés turísticos.
> 6. El sistema debe mostrar categorías de alojamientos.
> 7. El sistema debe gestionar alojamientos con su categoría de
> alojamientos [6] y su tipo de publicación [1].
> 8. El sistema debe gestionar bares con su tipo de publicación
> [1].
> 9. El sistema debe mostrar especialidades.
> 10. El sistema debe gestionar restaurantes con su especialidad [9]
> y su tipo de publicación [1].
> 11. El sistema debe mostrar los comercios, bares, restaurantes,
> alojamientos, eventos y puntos de interés turístico sobre un
> mapa de la ciudad.
> 11.1 El sistema debe filtrar por “solo comercios”, “solo bares”, “solo
> restaurantes”, “sólo alojamientos”, “solo eventos” y “solo
> puntos de interés turísticos”.
> 1. El sistema debe mostrar los comentarios de foursquare escritos
> sobre los comercios, bares, restaurantes y alojamientos en su
> sección de información.
> 2. El sistema debe mostrar las fotos de foursquare de los
> comercios, bares, restaurantes y alojamientos en su sección de
> información.
> 3. El sistema debe compartir el nombre, dirección y teléfono de
> los comercios, bares, restaurantes y alojamientos en las redes
> sociales twitter y facebook de quien utilice el sistema.
> 4. El sistema debe compartir la descripción, fecha, hora y
> dirección de los eventos en las redes sociales twitter y
> facebook de quien utilice el sistema.
> 5. El sistema debe compartir la descripción y dirección de los
> puntos de interés turístico en las redes sociales twitter y
> facebook de quien utilice el sistema.
> 6. El sistema debe mostrar los últimos tweets de los perfiles de
> los bares, restaurantes, comercios y alojamientos en su
> sección de información.
>
>
>
> DICCIONARIO:
>
> * Alojamiento: nombre, dirección, teléfono, latitud, longitud,
> categoría de alojamiento, logo, tipo de publicación,
> twitter_id, foursquere_id.
> * Comercio: nombre, dirección, teléfono, latitud, longitud,
> logo, tipo de publicación, rubro de comercio, twitter_id,
> foursquere_id.
> * Eventos: nombre, fecha_hora, dirección, descripción, latitud,
> longitud, imagen.
> * Puntos de interés turístico: nombre, dirección, descripción,
> latitud, longitud, imagen.
> * Bar: nombre, dirección, teléfono, latitud, longitud, logo,
> tipo de publicación, twitter_id, foursquere_id.
> * Restaurante: nombre, dirección, teléfono, latitud, longitud,
> especialidad, logo, tipo de publicación, twitter_id,
> foursquere_id.
> * Categorías alojamientos: 1 estrella, 2 estrellas, 3 estrellas,
> 4 estrellas, 5 estrellas, apart hotel, hostel.
> * tipo de publicación: plata, oro.
> * especialidades: parrilla, pastas, pizzas, tenedor libre,
> comidas rápidas, picadas, pescados y mariscos, otras.
> * rubro de comercio: electrónica, indumentaria, supermercado,
> zapatería, belleza, otras.
>
> REQUERIMIENTOS NO FUNCIONALES:
>
> 1. El sistema debe ser web.
> 2. El sistema debe ser compatible con dispositivos móviles.
> 3. El sistema debe manejar usuarios.
> 4. El sistema debe utilizar la API de twitter.
> 5. El sistema debe utilizar la API de foursquare.
> 6. El sistema debe usar herramientas de código libre.
>
>
> El 3 de diciembre de 2012 23:56, Leonardo Tadei - Pegasus Tech Supply
> <leonardot en pegasusnet.com.ar> escribió:
> Hola Cesar,
>
>
> El lun, 03-12-2012 a las 18:44 -0300, Cesar Gimenez Lascano
> escribió:
> > Hola Leo! t envío las tablas para que las revises,
> haciéndolas me di
> > cuenta que me había olvidado de agregar el campo nombre en
> varios
> > lados en el diccionario. Gracias!!!!!
>
>
> Por favor, tomate 5 minutos y agregá en el diccionario
> de la SRS los
> nombres que viste que te faltaron.
> La idea de una SRS es usarla al final del trabajo para
> ver si el
> software responde a las características especificadas, y
> desentonaría
> que el software tenga una cosa que parece que no está pedida.
> Esto de actualizar la SRS es de lo más normal: se
> suele decir que la
> SRS es un "documento vivo" que se va actualizando cada vez que
> hace
> falta.
> Por favor, copiá y pegá la nueva SRS en el cuerpo del
> mail, así nos
> queda más a mano.
>
> Respecto a la normalización, la copio y pego abajo
> para comentarla:
>
> Como primer cosa, voy a necesitar el tipo de los
> campos para validarla.
> No es que los nombres estén mal, sino que no puedo distinguir
> si por
> ejemplo "catAlojamientos" es un integer, con lo que sería una
> referencia
> a un ID de la tabla catAlojamientos, o un varchar, con lo que
> estaría
> mal normalizado.
>
> Otra observación general para varias de las tablas:
> los nombres de los
> campos van en singular. La NF1 dice que tiene que haber solo
> un dato por
> campo, y poner un nombre en plural se presta al malentendido
> semántico
> de que ahí estás guardando más de una cosa.
>
> Teniendo MySQL un tipo de campo fecha_hora (datetime),
> en la tabla
> Eventos no deberías tener separada la fecha de la hora.
>
> La tabla "Puntos" no está mal, pero ponele un nombre
> más descriptivo
> como PuntosInteres... un día querés que los visitantes pongan
> puntaje a
> las cosas y te llevás una sorpresa. Cuanto más descriptivo (y
> corto) el
> nombre, mejor.
>
> La tabla Restaurantes tiene un campo llamado
> "espacialidades". O es un
> fingertip o tienen cosas del espacio ;-)
>
>
>
>
> Alojamientos
> ------------
> id
> nombre
> direccion
> telefono
> latitud
> longitud
> catAlojamientos
> logo
> tiposPublicacion
> twitter_id
> foursquare_id
>
> Comercios
> ---------
> id
> nombre
> direccion
> telefono
> latitud
> longitud
> rubrosComercio
> logo
> tiposPublicacion
> twitter_id
> foursquare_id
>
> Bares
> ------
> id
> nombre
> direccion
> telefono
> latitud
> longitud
> logo
> tipoPublicacion
> twitter_id
> foursquare_id
>
> Restaurantes
> ------------
> id
> nombre
> direccion
> telefono
> latitud
> longitud
> espacialidades
> logo
> tipoPublicacion
> twitter_id
> foursquare_id
>
> Eventos
> -------
> id
> nombre
> fecha
> hora
> direccion
> descripcion
> latitud
> longitud
> imagen
>
> Puntos
> ------
> id
> nombre
> direccion
> descripcion
> latitud
> longitud
> imagen
>
>
> catAlojamientos
> ---------------
> id
> descripcion
>
>
> rubrosComercio
> --------------
> id
> descripcion
>
> tiposPublicacion
> ----------------
> id
> descripcion
>
> especialidades
> --------------
> id
> descripcion
>
>
> Eso es todo!
>
>
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Web: http://leonardo.tadei.com.ar
> Firma pública:
> http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado