AquÃ
encontraras el ejercicio o tarea de la base de datos sobre una red
social, el cual contiene el código SQL, el dateo y la visualización de la
misma.
DESCARGA EL compromiso COMPLETO SIN NINGUNA COMPLICACIÓN ABAJO DEL ARTICULO :), EN CASO QUE COINCIDA CON TU tarea 👇
BASE DE DATOS RED SOCIAL
Supongamos que se nos ha encargado el diseño de una aplicación que sirva de
soporte al funcionamiento de una red social online (una comunidad de usuarios
con intereses comunes que deciden ponerse en contacto e intercambiar opiniones
e información acerca de sus temas de interés). Tras analizar detenidamente el
problema, averiguamos que nuestra aplicación debe cumplir los siguientes
requisitos:
• Los usuarios de nuestra comunidad virtual se pueden registrar gratuitamente
en nuestro sistema. Una vez registrados, para acceder al mismo han de usar su
nombre de usuario o ‘nick’ y una contraseña que ellos mismos establecen al
registrarse. El usuario también ha de indicar una dirección de correo
electrónico válida y, opcionalmente, un número de teléfono móvil en el que
recibirá notificaciones vÃa SMS. El perfil de un usuario puede incluir,
opcionalmente, la URL de su página web personal, su lugar de residencia
(ciudad y paÃs), su fecha de nacimiento, una fotografÃa (o icono) y una breve
descripción en la que el usuario podrá especificar sus aficiones o
preferencias.
• Los usuarios podrán subscribirse a distintos grupos, siendo cada grupo
de usuarios gestionado por uno o varios moderadores que pueden decidir a quién
aceptan y a quién rechazan en el grupo. Cualquier usuario puede crear nuevos
grupos y solicitar su acceso a grupos ya existentes. Alguno de los moderadores
deberá aceptar o rechazar las solicitudes de acceso. En cualquier momento, el
moderador puede expulsar a alguien del grupo y el usuario puede darse de baja
del grupo.
• Los grupos estarán organizados jerárquicamente y se podrán dividir en
subgrupos (p.ej. el grupo “reseñas” puede estar dividido en “reseñas de
libros”, “crÃticas de pelÃculas” y “comentarios sobre videojuegos”).
• Los usuarios del sistema pueden enviar artÃculos a uno o varios grupos
(textos con información de interés para los miembros del grupo, como reseñas
de libros, crÃticas de productos, tutoriales técnicos de diversas materias,
etc.). Cada artÃculo tendrá un identificador único, una fecha de creación, un
usuario responsable (el creador del artÃculo), un resumen (como el “subject”
de un email) y un texto (el artÃculo en sÃ). También tendrá, para cada grupo
al que ha sido enviado, un estado editorial asociado (“enviado”, “aprobado” o
“rechazado”) que será controlado por los moderadores de cada grupo (para que
puedan actuar como tales si fuese necesario).
• Una vez publicado un artÃculo, los demás usuarios de los grupos en los
que se publique el artÃculo podrán escribir comentarios sobre él. Cada
comentario tendrá un firmante (un usuario del sistema), una fecha, un texto y
un estado editorial asociado.
• Los usuarios del sistema podrán enviar mensajes privados a otros usuarios
del sistema (el sistema, automáticamente, notificará por e-mail al recipiente
del mensaje).
• Los usuarios también podrán publicar noticias de interés general que
aparecerán en la página de bienvenida del sistema. Las noticias, que estarán
moderadas por los administradores del sistema, llevarán una fecha asociada y
caducarán automáticamente pasada esta fecha.
• El sistema incluirá un servicio automático de notificaciones, por lo
que deberá mantener información de contacto de cada usuario registrado (p.ej.
e-mail o teléfono móvil para envÃo de SMSs), si bien esta información será
privada y no se compartirá con los demás miembros de la comunidad salvo que
asà lo desee el usuario.
• Cada usuario podrá mantener una lista de contactos personales (otros
usuarios con los que nuestro usuario quiere mantenerse en contacto). El
sistema enviará notificaciones a un usuario cada vez que alguien de su lista
de contactos envÃe algún artÃculo o escriba un comentario.
• Un usuario también podrá añadir artÃculos concretos a su lista de
marcadores (para poder acceder en cualquier momento a los artÃculos que
considere especialmente relevantes). Diseñe una base de datos para el problema
planteado: a) Identifique los conjuntos de entidades y los atributos
correspondientes a cada uno de los conjuntos de entidades, indicando
explÃcitamente cuáles se seleccionarán como claves primarias de los distintos
conjuntos de entidades. b) Analice las relaciones existentes entre los
distintos conjuntos de entidades, determine su cardinalidad e identifique los
atributos propios de las relaciones (si los hubiera). c) Dibuje un diagrama
entidad/relación que represente el modelo de datos definido por los conjuntos
de entidades y las relaciones identificadas en los apartados anteriores. d) A
partir del diagrama E/R, obtenga un conjunto de tablas que nos permita
implementar nuestro modelo de datos en una base de datos relacional. e)
Suponga ahora que se nos encarga construir un data warehouse para analizar el
funcionamiento de las redes sociales que se crean en nuestro sistema. ¿Qué
cubos de datos crearÃa y con qué finalidad? Indique explÃcitamente las
dimensiones y medidas asociadas a cada uno de los cubos de datos propuestos.
QUE SE DEBE ENTREGAR?
1. DISEÑO DE TODA LA BASE DE DATOS NORMALIZADA (VISUAL) 2. DATEO DE LAS TABLAS
3. DISEÑO DE TODA LA BASE DE DATOS EN LENGUAJE SQL
No hay comentarios:
Publicar un comentario