Trabajo Práctico Obligatorio Parte A (ref: Seguridad – Creación de Base de Datos) Realizar las siguientes acciones para generar un login de inicio de sesión y una Base de Datos: (tener en cuenta que el sufijo 00 debe ser reemplazado por el número de grupo al que pertenece y el XXXX con el número de curso) I. conectarse con login abd provisto. II. crear la base de datos dbXXXXn00. Recuerde reemplazar las XXXX y 00 por los valores correspondientes. La sentencia de creación hace referencia a los directorios que del servidor de base de datos, no al disco local. Asegúrese de obtener los mismos. El tamaño de la base de datos debe ser de 3MB para los datos y 1MB para el log. El crecimiento de los mismos debe ser de 1MB sin tope. Verificar la creación con sp_helpdb dbXXXXn00 III. crear tres logins para acceder a la base creada. El formato de los mismos es el siguiente dbXXXXn00, dbXXXXn00r, dbXXXXn00w. Recuerde reemplazar las XXXX y 00 por los valores correspondientes. Tenga en cuenta el nivel de seguridad de la instalación al momento de asignar el password. Asígnelos por defecto a la base de datos que creó en el punto anterior. Verificar la creación con sp_helplogins y sp_helplogins dbXXXXn00 IV. otorgar permiso de dueño de la base de datos creada al login dbXXXXn00 Recuerde reemplazar las XXXX y 00 por los valores correspondientes. Solo puede cambiar el dueño de la base donde está posicionado. Verificar la asignación con sp_helpdb dbXXXXn00 V. VI. conectarse como dbo (login dbXXXXn00). crear 2 usuarios (dbr y dbw) a los logines exixtentes dbXXXXn00r y dbXXXXn00w. Recuerde reemplazar las XXXX y 00 por los valores correspondientes. Solo puede crear usuarios en la base de datos donde es dueño. Verificar la creación con sp_helpuser. VII. VIII. crear los roles de db_lector y db_grabador respectivamente a los usuarios creados en el punto anterior. Verificar la existencia de los roles mediante sp_helprole. Verificar la asignación de los roles a los usuarios mediante sp_helprolemember db_datareader y db_datawriter. crear la tabla Integrantes, con los campos nroLibreta como PK, el nombre y apellido (dos campos distintos) el curso y el número de grupo. Una vez creada insertar a los integrantes del grupo. IX. Conectarse como usuario dbr e intente obtener datos de la tabla Integrantes. ¿Qué mensaje recibe? ¿Cuál sería la solución para podes realizar la acción? X. Conectarse como usuario dbw e intente insertar datos de la tabla Integrantes. ¿Qué mensaje recibe? ¿Cuál sería la solución para podes realizar la acción? Base de Datos II Página 1 Trabajo Práctico Obligatorio Parte B (definición de tablas - integridad) Descripción Un centro médico deriva los estudios que indica a los pacientes a distintos institutos. Registra una historia de los estudios realizados indicando el tipo de estudio, la fecha y el instituto que lo realiza, el médico que lo ordena, la obra social y número de afiliado que lo cubre, y determina el porcentaje cubierto y el pago correspondiente al paciente; registra además el resultado del estudio y si el paciente abonó o no el copago. Un paciente es determinado por su número de dni, debiéndose registrar el nombre, el apellido, el sexo, la fecha de nacimiento y los datos de afiliación a la obra social o prepaga que posee. Un paciente puede tener más de una obra social o prepaga. Las obras sociales se identifican por una sigla (OSDE - UP - OSECAC - etc), y cada una de éstas presentan distintos planes que, además del nombre identificatorio del plan, éstos deben ser numerados en forma correlativa para cada obra social. Por ejemplo: UP plan Clasic es el plan Nº 1 de UP. UP plan Familiar es el plan Nº 2 de UP. OSDE plan Binario es el plan Nº 1 de OSDE. El porcentaje que una obra social cubre a un determinado estudio (cobertura) puede variar según los distintos planes de ésta. Por ejemplo: OSDE plan Nº 1 cubre el 100% de un Eco Doppler. OSDE plan Nº 2 el 90% de un Eco Doppler. El precio de un estudio lo determina el instituto que lo hace. El médico se identifica por su número de matrícula, registrando su nombre, apellido y sexo. Un médico puede tener más de una especialidad y un mismo estudio puede ser solicitado por distintas especialidades. Los médicos, los institutos, los estudios y los planes deben aclarar si se encuentran en estado activo (si o no). Entidades Básicas Obras Sociales - Pacientes - Institutos - Médicos - Estudios – Especialidades – Precios – Historias – Planes – Coberturas - Afiliados Definición de Tipo de Datos Definir al menos tres tipos de datos para ser usado en la confección de las tablas a utilizar. Base de Datos II Página 2 Trabajo Práctico Obligatorio Dominio de los Atributos Tomar al menos 5 atributos y controlarlos mediante una regla. Diccionario de datos. Definir el diccionario de datos para el siguiente conjunto de atributos. Indicar su significado semántico y definir que entidades está vinculado. Asignarle a cada uno el tipo de dato que crea más conveniente. Consideraciones sobre los tipos de datos: A los nombres asígnele 50 caracteres. A las observaciones asígnele 500 caracteres. A las descripciones asígnele 100 caracteres. A los valores decimales, asígnele el tipo decimal(p,q) se pide: 1. Definir tipos de datos de usuario. Create Type, sp_help 2. Crear reglas de integridad de dominio. Create Rule, Verificar con sp_help, sp_helptext 3. Crear las tablas (Sin restricciones de integridad referencial y de entidad) Create Table – Verificar con sp_help 4. Crear restricciones de integridad: • de entidad. • referencial. Alter Table, Verificar con sp_helpconstraint 5. Insertar datos. insert into, Verificar con select Ver el anexo “A” al final del documento para ver la estructura. Base de Datos II Página 3 Trabajo Práctico Obligatorio Parte C (ref: catálogo del sistema – Funciones del sistema) Buscando en la ayuda de SQL Server conteste las siguientes preguntas: 1. ¿Cuáles son las tablas del sistema? 2. ¿Cuales son y que contienen las vistas del catálogo? ¿Cuál es su relación con las tablas del sistema? 3. ¿sysobjects es una tabla o una vista? ¿Cuáles son los distintos tipos de objetos que puedo encontrar en ella? 4. ¿Qué diferencias hay entre el catálogo de la base master y el de su base de usuario? ¿Qué las diferencia? Crear las sentencias SQL que obtengan la siguiente información del catálogo. 1. Cuáles son los distintos tipos de objetos que hay en sys.sysobjects. Indicar el tipo de objeto y una descripción de los mismos. 2. Cuantas columnas de tipo int hay en la base de datos que pertenezcan a tablas de usuario. 3. Muestre las reglas existentes. Indique identificador de la regla, nombre y texto de la misma. 4. Cuantas tablas hay en el catálogo que contengan tipos de datos datetime. 5. Liste las restricciones que creo en la BD. 6. ¿Cuáles son los tipos de datos creados en su BD? 7. ¿Cómo puede saber cuáles son los usuarios de su base de datos? 8. ¿Cómo se llaman los índices que posee su base de datos? 9. ¿Podría vincular los índices anteriores a las restricciones a las que pertenecen? ¿Cómo? 10. ¿Qué columnas poseen sus índices? ¿En qué orden se encuentran? 11. ¿Cómo obtiene los permisos de los usuarios? ¿Cómo sabe quien los entregó? ¿Es posible distinguir quien le dio permisos a un usuario si más de uno le asigno el mismo permiso? 12. ¿Cuál es el texto de creación de un procedimiento almacenado dentro de su base de datos? Base de Datos II Página 4 Trabajo Práctico Obligatorio Anexo A Base de Datos II Página 5