Turibook (Base De Datos)
Red Social para intercambio de experiencias de viaje
INTRODUCCIÓN
El propósito de este documento es presentar un informe sobre la implementación del Sistema turibook para el desarrollo de un software social, más específicamente para soportar una red social de propósito específico, en este caso dedicada a compartir experiencias de viajeros que han recorrido lugaresdel país publicando sus propios comentarios, fotos, mapas, etc.
VISTAS ACTUALIZABLES
Ninguna de las vistas creadas para la solución implementada es actualizable. A continuación se detalla una breve explicación del porque:
VISTA g08_caminatas_en_tandil: Esta vista muestra las actividades que poseen los paseos de Tandil en los que pueden realizarse caminatas, si es necesario llevar algúnelemento para desarrollar esas actividades y, de poseer, fotos de esos paseos.
Se realizo una optimización basada en costos en parte de la misma, modificando la consulta original, que utilizaba productos cartesianos, por ensambles:
Esta vista no es actualizable ya que no se conserva la clave de las tablas que componen a los JOIN que se utilizan en la consulta.
En el caso del informe mensual delos comentarios en visita realizados por los usuarios, decidimos utilizar una vista de vistas sencillas para disminuir la complejidad que conllevaba la realización del mismo.
VISTA g08_cant_comentarios_semanales: Obtenemos la cantidad de comentarios en los paseos de cada usuario y la edad de los mismos.
Esta vista no es actualizable ya que utiliza la función de agregación COUNT().
VISTAg08_comentarios_visita_por_categoria: Establecemos la categoría de cada usuario, teniendo en cuenta su edad, y los agrupamos por la categoría a la cual pertenecen.
Esta vista no se actualizará ya que la vista que la compone no es actualizable.
Para resolver la problemática de crear un informe al final del día, debido a la magnitud de la información pedida, decidimos dividirlo en varias vistas mássimples y fáciles de realizar.
VISTA g08_paseo_mas_consultado: Muestra el paseo que más veces aparece en la tabla g08_visita.
Esta vista no es actualizable ya que utiliza funciones de agregación.
VISTA g08_usuario_mas_comentario: Muestra los usuarios que más comentarios han realizado. Esta información se obtiene de la tabla G08_comentarios.
Esta vista no es actualizable ya que utilizafunciones de agregación.
VISTA g08_usuario_mas_info_subio: Muestra los usuarios que más información hayan subido. Esta información se obtiene de la tabla G08_informacion.
Esta vista no es actualizable ya que utiliza funciones de agregación.
VISTA g08_paseo_mas_visitado: VERRRRRRRRRRRRRR
Esta vista no es actualizable ya que utiliza funciones de agregación.
--LAS 5 ACTIVIDADES MAS DESARROLLADAS EN LOSPASEOS POR USUARIOS QUE HICIERON VISITAS ESE DIA
RESTRICCIONES DE INTEGRIDAD DECLARATIVA O PROCEDURAL
g08_valores_tipo_info: al momento de insertar o modificar una tupla de información, compruebo que en 'tipo_info' solo ingrese los valores 'video', 'foto', 'mapa' y 'link’. En caso de no cumplirse, rechaza la operación.
g08_valores_tipo_comentario: al momento de generar un comentario, severifica que en 'tipo' solo ingrese los valores 'original', 'respuesta'. En caso de no cumplirse, rechaza la operación.
g08_valores_tipo_original: al momento de generar un comentario original, se verifica que en 'tipo_orig' solo ingrese los valores 'muro', 'visita'. En caso de no cumplirse, rechaza la operación.
Triggers
TRIGGER g08_categoria_usuario: Este trigger resuelve la problemática desetear la categoría de los usuarios, teniendo en cuenta la cantidad de comentarios que estos crearon. Decidimos utilizar triggers, ya que debía ser invocado automáticamente por el DBMS en respuesta al evento inserción en g08_comentario.
Se activa después de insertar un comentario en la tabla g08_comentario. Realiza el conteo de todos los comentarios ingresados por el usuario y modifica el valor...
Regístrate para leer el documento completo.