Primer Parcial de Fundamentos de Base de Datos



Documentos relacionados
Primer Parcial de Fundamentos de Base de Datos

Primer Parcial de Fundamentos de Base de Datos

Primer Parcial de Fundamentos de Base de Datos

Primer Parcial de Fundamentos de Base de Datos

Base de datos en Excel

Consultas con combinaciones

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

A.1. Definiciones de datos en SQL

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

1. DML. Las subconsultas

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Unidad 1. Fundamentos en Gestión de Riesgos

select nombre from profesores where categoria='aso6';

proceso que consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

MANUAL DE USUARIO SISTEMA DE ALMACEN DIF SONORA

Guía General Central Directo Seguridad

PROGRAMADOR PHP y MySQL

CONSULTAS DE RESUMEN SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Oracle 12c DISEÑO Y PROGRAMACIÓN

MANUAL DE USUARIO CONSEJO PUEBLA DE LECTURA A.C. Instituto Nacional de Astrofísica, Óptica y Electrónica. 01/Octubre/2009

FUNDAMENTOS DE BASES DE DATOS. Examen Febrero Solución

OBTENER Y RECUPERAR CLAVE SECRETA

Contenido Derechos Reservados DIAN - Proyecto MUISCA

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

FUNDAMENTOS DE BASES DE DATOS. Examen Julio 2002

Tema 3.4: Arquitecturas Software para Autorización

Modelos y Bases de Datos

CAPÍTULO 3: OPERACIÓN Y REALIZACIÓN DE LOS PROCESOS DE CERTIFICACIÓN

CUESTIONARIO PARA DETECTAR NECESIDADES DA CAPACITACIÓN EN IMPRENTA ECONOMICA S. A. DE C. V.

1

EJERCICIOS MODELO RELACIONAL

Sistema Info-Académicos

Revendedor administrado en el portal de incentivos del socio. Cómo comenzar: Administración de usuarios

helppeople Módulo de Gestión de Activos y Configuraciones. 2013

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

SISTEMA DE ATENCIÓN y GESTIÓN MANUAL DEL USUARIO. SAyGeS v2.0

Gestión de Oportunidades

Procedimientos para agrupar y resumir datos

CURSO COORDINADOR INNOVADOR

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com

FUNDAMENTOS DE BASES DE DATOS. Examen Febrero 2003

Guía Metodológica para el diseño de procesos de negocio

Gestión de Permisos. Documento de Construcción. Copyright 2014 Bizagi

Manual de Usuario CALL CENTER. Versión 1.0 Fecha 23/04/2012 Realizado por: Fernando Garcia

Creación y administración de grupos de dominio

Gestión de la Configuración

Guía paso a paso para emprender en México!

CRM Gestión de Oportunidades Documento de Construcción Bizagi Process Modeler

Guía de ejercicios de SQL

Programación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011

Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado

Joomla! La web en entornos educativos

ASOCIACIÓN INTERNACIONAL DE SUPERVISORES DE SEGUROS

PS.Vending Almacén Pocket PC

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2.

MINISTERIO DE EDUCACIÓN DIRECCIÓN DE EDUCACIÓN TÉCNICA Y PROFESIONAL PROGRAMA DE LA ASIGNATURA BASE DE DATOS ESPECIALIDAD INFORMÁTICA.

Práctica A: Trabajo con subconsultas

II. Relación con Terceros

Repaso de Conceptos Básicos de Bases de Datos

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

Introducción a las redes de computadores

CONSTRUCCIÓN DEL PROCESO PAGO DE FACTURAS. BizAgi Process Modeler

SISTEMA DE GESTIÓN ACADÉMICA.

Para detalles y funcionalidades ver Manual para el Administrador

Práctica A: Procedimientos para agrupar y resumir datos

El lenguaje SQL es un lenguaje estándar para el acceso y

Creación de usuarios Acceso a Alexia

1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas.

ESTE PROGRAMA ES COFINANCIADO POR MÉXICO Y LA UNIÓN EUROPEA

Adelacu Ltda. Fono Graballo+ Agosto de Graballo+ - Descripción funcional - 1 -

Proceso de administración y escalación de problemas Guía de referencia

Administrador de Seguridad Manual de Usuario Fecha de actualización:

UNIVERSIDAD DE ANTIOQUIA DIRECCIÓN DE DESARROLLO INSTITUCIONAL GESTIÓN INFORMÁTICA

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Establecemos las tareas y responsabilidades de los grupos

SUPERACCESS MANUAL GESTION EN RECEPCION

UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE INFORMATICA BASE DE DATOS

Guía sobre los cambios del nuevo sitio Web de Central Directo

Instructivo fecha. ACL Results Manager Instructivo para publicación de resultados. 3.mar.15. Referencia. Usuarios. Results Manager

Ley Orgánica de Protección de Datos

Área de Administración y gestión de empresas

Administración de Usuarios. Creación de Usuario

SE PIDE: 1. Suponiendo que partimos del siguiente grafo relacional que recoge parte de los supuestos anteriores,

PROCEDIMIENTO PARA REGISTRO DE CONTRATISTAS Y PROVEEDORES

MANUAL PARA PARTICIPAR EN LA RUEDA NACIONAL DE NEGOCIOS TURISMO NEGOCIA

Norma de uso Identificación y autentificación Ministerio del Interior N02

Criterios de Selección de Inversiones: El Valor Actual Neto y sus derivados *.

Permite asignar permisos por períodos predeterminados, activando y desactivando los accesos en las fechas programadas.

E-learning: E-learning:

CheckOUT HELP DESK. Una vez en sesión, UD. Podrá registrar problemas, consultas y hacer un seguimiento de los problemas que UD. ha ingresado.

Conceptos Generales en Joomla

Manual del Usuario. Sistema de Help Desk

Jugamos al Bingo matemático

DML SQL II. Comparaciones con relaciones

Solución Práctico 4 SQL

Manual Oficina Web de Clubes (FBM)

Transcripción:

Primer Parcial de Fundamentos de Base de Datos Octubre 2008 SOLUCIÓN Presentar la resolución del parcial: Con las hojas numeradas y escritas de un solo lado. Con la cantidad de hojas entregadas en la primer hoja. Con cédula de identidad y nombre en cada hoja. Escrita a lápiz y en forma prolija. Ejercicio 1 (18 puntos Una casa especializada en tratamientos estéticos desea llevar la información de su negocio en una base de datos. Esta casa está formada por una serie de centros estéticos identificados por su nombre, de los cuales se conoce además: dirección, teléfonos, email que es único para cada centro. Cada centro estético tiene personal que trabaja en él de forma exclusiva (el personal de dirección y los especialistas, y tiene personal no especialista que puede trabajar en más de un centro estético. El personal de dirección podría también ser especialista. Del personal se conoce: ci (que lo identifica, credencial cívica (serie, número, nombre, dirección, teléfono. Si es especializado se conoce su especialidad que es única. De los empleados no especializados se conocen las tareas que realizan en cada centro. Cada centro ofrece actividades y tratamientos. A su vez los tratamientos están formados por un conjunto de actividades. Es decir un cliente puede disfrutar de una actividad, por ejemplo de Spa, sin que esta sea parte de un tratamiento, o puede realizar un tratamiento que está conformado por un conjunto de actividades. Cada actividad tiene un código que la identifica, además de un nombre y una descripción. Cada tratamiento tiene un código que lo identifica dentro del centro, además del nombre, la descripción, y el conjunto de actividades que conforman el tratamiento. De los clientes se conoce la ci (que lo identifica, nombre, teléfono. Se quiere llevar un registro de cada actividad de los clientes en los centros estéticos. Para cada actividad realizada por el cliente en forma independiente se desea conocer: fecha, hr, y duración. Para cada actividad realizada por el cliente en el marco de un tratamiento, existe un especialista que la supervisó, y se desea registrar además de la fecha, hr y duración, las observaciones que realizó dicho especialista. Se pide: Modelo Entidad-Relación completo del problema. 1

Solución: RNE (EXCLUSIVO U (NO ESPECIALISTA = PERSONAL (EXCLUSIVO (NO ESPECIALISTA = Ø (DIRECCION (ESPECIALISTA <> Ø (DIRECCION U (ESPACIALISTA = EXCLUSIVO Toda Actividad que Conforma un Tratamiento Ofrecido por un Centro Estetico es Ofrecida por dicho Centro ( a( t( c [ ( CENTRO_ESTETICO(c OFRECE_TRATAMIENTO(t,c TRATAMIENTOS(t ACTIVIDADES(a CONFORMAN (a, t OFRECE_ACTIVIDAD (a, c ] En toda Actividad Realizada por un Cliente en el marco de un Tratamiento, el especialista que la supervisa Trabaja en el Centro Estético correspondiente al Tratamiento. ( cli( a( t( e( c [ ( CLIENTES(cli ACTIVIDADES(a TRATAMIENTOS(t OFRECE_TRATAMIENTO(t,c CONFORMAN(a,t ESPECIALISTA(e REALIZA_TRATAMIENTO(cli, (a,t, e TRABAJA_EXCL (e, c ] 2

Ejercicio 2 (22 puntos Una organización maneja el siguiente esquema relacional para controlar el acceso a sus objetos utilizando un modelo de control de acceso basado en roles (RBAC 0. En este modelo, la idea de base es definir roles que describen la responsabilidad otorgada a uno o varios miembros de la organización. En este contexto, la responsabilidad se entiende como la capacidad de acceder a diversos objetos del sistema. Un usuario puede tener varios roles y un rol puede ser asignado a varios usuarios. USUARIOS (IdUsuario, NomUsuario, FechaCreacion Esta tabla contiene información acerca de los usuarios de la organización. Registra el identificador del usuario, su nombre, que es único, y la fecha en la que el mismo fue creado en el sistema. ROLES (IdRol, NomRol, DescRol Esta tabla contiene los roles existentes en la organización. Registra el identificador del rol, su nombre (que también identifica al rol y una breve descripción. USUARIOS_ROLES (IdUsuario, IdRol, FechaAsignacion Esta tabla contiene los roles que posee cada usuario de la organización. Registra además la fecha en la que se asigna el rol al usuario. SESIONES (IdUsuario, TSInicio, IdRol, TSFin Esta tabla contiene información acerca de las sesiones establecidas por los usuarios de la organización. Una sesión queda identificada por el usuario que la establece y un timestamp que indica el inicio de la misma. Se registra además el rol activado por el usuario en la sesión. Cuando la sesión finaliza, se actualiza el timestamp de finalización; mientras está activa, TSFin permanece con valor NULL. OBJETOS (IdObjeto, NomObjeto, FechaCreacion, Propietario, DescObjeto Esta tabla contiene los objetos de interés para la organización sobre los cuales se quiere controlar el acceso. Registra el identificador del objeto, su nombre, la fecha de creación, el propietario del objeto (que es un usuario registrado en la tabla de usuarios y una breve descripción. OPERACIONES (IdOperacion, NomOperacion, DescOperacion Esta tabla contiene las operaciones aplicables (o modalidades de acceso sobre un objeto. Registra el identificador de la operación, su nombre que es único (valores posibles: lectura, escritura y ejecución y una breve descripción. PERMISOS (IdRol, IdObjeto, IdOperacion, DescPermiso Esta tabla indica los permisos que posee cada rol, esto es, cuales son las operaciones que los usuarios de cada rol pueden aplicar sobre un objeto específico. Registra además una breve descripción sobre el permiso. Nota: Los atributos de nombre Idxxx son de tipo numérico. En este esquema no existen tablas vacías y se cumplen las siguientes dependencias de inclusión. 1 IdUsuario (USUARIOS_ROLES IdUsuario (USUARIOS 2 IdRol (USUARIOS_ROLES IdRol (ROLES 3 IdUsuario, IdRol (SESIONES IdUsuario, IdRol (USUARIOS_ROLES 4 IdRol (PERMISOS IdRol (ROLES 5 IdObjeto (PERMISOS IdObjeto (OBJETOS 6 IdOperacion (PERMISOS IdOperacion (OPERACIONES 7 Propietario (OBJETOS IdUsuario (USUARIOS 3

PARTE 1. Resolver en Algebra Relacional las siguientes consultas: 1 Devolver el nombre de aquellos usuarios que poseen permisos de lectura sobre todos los objetos del sistema. A = σ nomoperacion='lectura' (USUARIOS * USUARIOS_ROLES * PERMISOS * OPERACIONES Resultado = NomUsuario, IdObjeto (A % IdObjeto (OBJETOS (Nota: en el cociente proyecto el atributo NomUsuario porque es único. Si el nombre no fuera clave alternativa debería usar el identificador de usuario y luego obtener el nombre. 2 Devolver el nombre de los objetos sobre los cuales, el usuario de nombre 'manager', tiene permisos de lectura pero no tiene permisos de ejecución. A = IdRol (σ NomUsuario='manager' (USUARIOS * USUARIOS_ROLES B = IdObjeto (σ NomOperacion='lectura' (A * PERMISOS * OPERACIONES C = IdObjeto (σ NomOperacion='ejecucion' (A * PERMISOS * OPERACIONES Resultado = NomObjeto ((B - C * OBJETOS Resolver en Cálculo Relacional las siguientes consultas: 3 Devolver el nombre de aquellos roles asignados al usuario de nombre 'agent' que nunca han sido activados por dicho usuario. { r.nomrol / ROLES(r /\ ( u (USUARIOS(u /\ u.nomusuario = 'agent' /\ ( t (USUARIOS_ROLES(t /\ t.idusuario = u.idusuario /\ t.idrol = r.idrol /\ ( s (SESIONES(s /\ s.idusuario = u.idusuario /\ s.idrol = r.idrol 4

4 Devolver el nombre de los objetos tales que el rol de nombre developer es el único que tiene permisos de escritura sobre ellos. {o.nomobjeto / OBJECTOS(o ( r(roles(r r.nomrol = developer ( op(operaciones(op op.nomoperacion = escritura ( p(permisos(p p.idrol = r.idrol p.idoperacion = op.idoperacion p.idobjeto = o.idobjeto ( pe(permisos(pe pe.idobjeto = o.idobjeto pe.idoperacion = opidoperacion pe.idrol <> r.idrol Resolver en SQL, sin utilizar vistas (ni sub-consultas en el from, las siguientes consultas: 5 Devolver las parejas nombre de usuario y cantidad de roles activos que le permiten escribir el objeto de nombre '/dev/trunk/'; solo para aquellos usuarios que tienen por lo menos 3 roles activos que les permiten escribir sobre dicho objeto. Nota: se consideran roles activos de un usuario a aquellos roles que han sido activados en sesiones del usuario que aún no han finalizado. SELECT U.NomUsuario, COUNT(* FROM USUARIOS U, SESIONES S WHERE U.IdUsuario = S.IdUsuario AND S.TSFin IS NULL AND S.IdRol IN ( SELECT P.IdRol FROM PERMISOS P, OPERACIONES OP, OBJETOS OB WHERE OB.NomObjeto = '/dev/trunk/' AND OP.NomOperacion = 'escritura' AND P.IdObjeto = OB.IdObjeto AND P.IdOperacion = OP.IdOperacion GROUP BY U.NomUsuario (Agrupo por NomUsuario porque es único HAVING COUNT(* >= 3; Nota: los roles activos no necesariamente tienen que ser diferentes. 5

6 Devolver el nombre de aquellos usuarios que tengan al menos los mismos roles que el usuario de nombre 'admin'. Nota: el usuario 'admin' puede aparecer en el resultado. SELECT U.NomUsuario FROM USUARIOS U WHERE NOT EXISTS ( SELECT * FROM USUARIOS U2, USUARIOS_ROLES S2 WHERE U2.NomUsuario = 'admin' AND U2.IdUsuario = S2.IdUsuario AND NOT EXISTS ( SELECT * FROM USUARIOS U3, USUARIOS_ROLES S3 WHERE U3.IdUsuario = U.IdUsuario AND U3.IdUsuario = S3.IdUsuario AND S3.IdRol = S2.IdRol ; PARTE 2. 1 Sea la siguiente consulta en Álgebra Relacional, resolver la misma en Cálculo Relacional: SOL = IdRol (ROLES A Donde: A = IdRol (PERMISOS * B B = IdObjeto (σ NomUsuario=admin (OBJETOS Propietario = IdUsario USUARIOS Solución en Cálculo Relacional: {r.idrol / ROLES(r ( ( o(objetos(o ( u(usuarios(u u.nomusuario = admin o.propietario = u.idusuario ( p(permisos(p p.idobjeto = o.idobjeto p.idrol = r.idrol 6

2 Sea la siguiente consulta en Cálculo Relacional, resolver la misma en Álgebra Relacional: {o.nomobjeto / OBJETOS(o ( op(operaciones(op ( p(permisos(p p.idobjeto = o.idobjeto op.idoperacion = p.idoperacion Solución en Álgebra Relacional: A = IdObjeto, IdOperacion (PERMISOS % IdOperacion (OPERACIONES Resultado = NomObjeto (A * OBJETOS 7