Facultad de Informática UCM - Examen Parcial Convocatoria de Febrero Curso 2009/2010 Grupo A Bases de Datos y Sistemas de la Información SOLUCIÓN



Documentos relacionados
Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015

Apartado A (3 puntos):

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

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

Ficheros y Bases de Datos Curso Primer Parcial. 7 de FEBRERO de Nombre:

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

Examen de Ficheros y bases de datos ( ) Convocatoria de febrero I PARCIAL

esquema E/R de la B.D. Universidad

La estrategia de descomposición basada en una violación de la FNBC que aplicaremos consiste en:

Bases de Datos: Structured Query Language (SQL)

esquema E/R de la B.D. Universidad esquema relacional de la B.D. Universidad ejercicios con la B.D. Universidad

Apartado A (3 puntos):

1. El sistema de los números reales

MATERIAL SOBRE SENTENCIAS SQL

Introducción a las Bases de Datos y al Modelo Relacional

MANUAL BÁSICO DEL LENGUAJE SQL

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

Examen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de septiembre I PARCIAL

MODELO RELACIONAL BASE DE DATOS RELACIONALES

Conceptos Avanzados de Programación en Internet

Departamento de Lenguajes y Sistemas Informáticos. Avda Reina Mercedes s/n Sevilla Tlf/Fax

Unidad 1 Números. Los números naturales son aquellos que se utilizan para contar los elementos de un conjunto.

EJEMPLOS PRÁCTICOS SQL

Bases de datos 1. Teórico: Modelo Relacional

Introducción a SQL 07/11/2014. Introducción a SQL

Práctico 5 Diseño Relacional-Dependencias Funcionales

Nombre: Se debe entregar esta hoja

Oracle Express y Toad for Oracle

El Modelo Relacional de Bases de Datos

Bases de Datos 2. Teórico

Bases de Datos 1. Teórico: Structured Query Language

BASES DE DATOS (IG18 Semipresencial) Diseño Físico de Bases de Datos Relacionales.

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

Examen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de junio I PARCIAL

Tipos de datos en SQL. SQL. DDL (Data Definition Language) CREATE DOMAIN CREATE TABLE CREATE TABLE. CREATE TABLE con restricciones de atributo

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 4. Números reales y números complejos

T07 Opciones de integridad referencial

TEMA 2: TEORÍA DE CONJUNTOS Y CONJUNTOS NUMÉRICOS.

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

MATEMÁTICAS BÁSICAS UNIVERSIDAD NACIONAL DE COLOMBIA - SEDE MEDELLÍN CLASE # 5

ejercicios de consultas y normalización

ejercicios de consultas y normalización ejercicios de consultas y normalización ejercicios de consultas y normalización

Bases de Datos Curso Grado en Ingeniería del Software Examen Septiembre. Nombre: Se debe entregar esta hoja

Temario. Índices simples Árboles B Hashing

ejercicios de consultas y normalización

Guía de estudio para el examen. Sean tres atributos A, B y C. Indique, para cada par de transacciones T1 y T2, si se garantiza que A+B+C no cambia.

EXAMEN DE BASES DE DATOS 11/06/04 Esquema de trabajo

Examen de Bases de Datos Curso Grado en Ingeniería del Software Convocatoria de Septiembre. Nombre:

DESCOMPOSICIÓN FACTORIAL

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

PROPIEDADES DE LOS NUMEROS REALES

Terminología Equivalente

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

Examen de Bases de datos y sistemas de información I PARCIAL

UNIDAD 1. Los números racionales

Recordar las principales operaciones con expresiones algebraicas.

operaciones inversas Para unificar ambas operaciones, se define la potencia de exponente fraccionario:

SQL Server Definición de los índices

GUÍA DE TRABAJO N 5 GRADO 11 Programación y Diseño de Articulación SENA Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

Bases de Datos SQL - Ejemplos

Polinomios. 1.- Funciones cuadráticas

Está basado en el álgebra y en el cálculo relacional.

Restricción de valor único. Indispensable para diseñar esquemas de bases de datos que eliminen al redundancia.

GUÍA DE TRABAJO N 7 GRADO 11. Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6 GUIA N 7 COMANDOS MYSQL II. CREAR UNA TABLA

SQL: Lenguaje de Interrogación Estructurado

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

OPERACIONES CON POTENCIAS. Una potencia es un producto de factores iguales. Está formada por la base y el exponente.

Números Reales. 87 ejercicios para practicar con soluciones. 1 Ordena de menor a mayor las siguientes fracciones: y

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

RELACIÓN EJERCICIOS NÚMEROS RACIONALES Y REALES 4º B CURSO

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález

Manejo de Tablas y Llaves Foráneas

GESTORES GESTORES DE BASES DE DATOS

FRACCIONES Y NÚMEROS RACIONALES. obtienen al dividir la unidad en n partes iguales.

DISEÑO DE BASES DE DATOS ºC Examen 8/Feb/2006

SQL. Fundamentos de Bases de Datos. Concepción de Sistemas de Información Instituto de Computación Facultad de Ingeniería Universidad de la República

Características del lenguaje SQL

Forman base cuando p 0 y 1.

Conversión de unidades: factores de conversión vs. reglas de tres

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012

Atributos Los atributos son las columnas de un relación y describen características particulares de ella.

Examen de Bases de datos y sistemas de información I PARCIAL. A C S I _y s1 _z B N C

N = {1, 2, 3, 4, 5,...}

Oracle Database y Oracle SQL Developer

EXAMEN TEMAS 3, 4 y 5. CREACIÓN Y EXPLOTACIÓN DE UNA BASE DE DATOS

Bases de Datos Relacionales y SQL: Una Introducción

Examen de Bases de datos Grado de Ingeniería en Informática 3 de septiembre, 2015

1 Números racionales

Vemos que t3 y t4 serían las mismas tuplas que las dadas. En este caso no se agregan tuplas.

EJERCICIO SOBRE EMPRESA DE MATERIALES DE CONSTRUCCIÓN

BASE DE DATOS ARTICULOS DE COMPUTACION.

ESTALMAT-Andalucía Actividades 09/10

Fracciones. 1. Concepto de fracción 1.a. Las fracciones en nuestra vida Lee el texto de pantalla. 1.b. Definición y elementos de una fracción

ESCUELA SUPERIOR POLITECNICA DEL LITORAL

Práctica 3: El lenguaje SQL (2ª parte). (6ª sesión).

Fracciones y decimales (páginas 62 66)

Problemas geométricos y algebraicos. Reglas de los exponentes

álgebra relacional 2

Transcripción:

Facultad de Informática UCM - Examen Parcial Convocatoria de Febrero Curso 2009/2010 Grupo A Bases de Datos y Sistemas de la Información Ejercicio 1: 2 puntos SOLUCIÓN a) Se desea diseñar un diagrama Entidad Relación para representar fracciones. Cada fracción queda determinada por dos números enteros, el numerador y el denominador. Algunas fracciones son las fracciones reducidas de otras. Por ejemplo, 1/4 es la fracción reducida de 6/24. Se verifica que todo número racional tiene una única fracción reducida (sólo se llama fracción reducida a la que ya está totalmente simplificada). Además de conocer la fracción reducida asociada a cada fracción, interesa saber el factor de reducción asociado (en el caso de 6/24 y ¼ el factor es 6). Nota: Dos fracciones se deben considerar diferentes si tienen el numerador o el denominador diferentes, aunque correspondan a la misma fracción reducida. b) Pasar el diagrama anterior a tablas SQL que reflejen el diagrama con sus restricciones. create table fraccion ( numerador integer, denominador integer,

primary key(numerador,denominador) ); create table sereducea( numerador integer, denominador integer, numeradorreduc integer NOT NULL, denominadorreduc integer NOT NULL, factor integer NOT NULL, primary key (numerador,denominador), foreign key (numerador,denominador) references fraccion, foreign key (numeradorreduc,denominadorreduc) references fraccion ); Notas sobre las tablas: - Se puede añadir la restricción NOT NULL a las claves, aunque no sea estrictamente necesario. - Se puede añadir cláusulas ON DELETE CASCADE y ON UPDATE CASCADE, pero no es imprescindible (es una cuestión de diseño no aclarada en el enunciado). Ejercicio 2: 6 puntos La prestigiosa red social WebOn permite a cada usuario definir el nivel de relación con otros usuarios. La red se basa en un sencillo esquema con 2 tablas: usuario(nick, nombre, edad) relación(nick1, nick2, nivel) Los valores nick1, nick2 son clave ajena con usuario. El nivel es el valor numérico que indica el tipo de relación, y puede variar entre 10 (aborrecimiento absoluto de nick1 a nick2) a +10 (amor eterno de nick1 a nick2). Escribe consultas en SQL para: 1 Mostrar un listado de parejas unilaterales, es decir dos nicks n1, n2 tales que la tabla relación contiene una tupla (n1,n2,a), pero ninguna de la forma (n2,n1,b). Un ejemplo de salida: Nick1 Bertoldo Aniceto Nick2 Herminia Cucufato Select nick1, nick2 from relación R1

where not exists (select * from relación R2 where R2.nick1 = R1.nick2 and R2.nick2 = R1.nick1); 2 Escribir la consulta anterior en álgebra relacional. R1 Π (nick1,nick2) relación R2 Π (nick1,nick2) relación Bilaterales R1 (ρ (nick2,nick1) (R2)) Unilaterales R1 \ Bilaterales 3 El número de relaciones de un usuario de Nick n1 es el número de tuplas de la forma (n1,n2,a) que existen en relación para valores n2, a cualesquiera. Para cada usuario mayor de 26 años y con 100 o más relaciones indicar su nick junto con el nivel medio de todas sus relaciones (la media del campo nivel para dicho usuario). Select nick1, AVG(nivel) from usuario, relación where usuario.nick = relacion.nick1 and edad>26 group by usuario.nick having count(*) >= 100; Otra posibilidad, con una vista auxiliar Create view numrel(nick,n, media) as Select nick1,count(*), AVG(nivel) from relación group by nick1; Select numrel.nick, numrel.media From usuarios,numrel Where usuarios.nick=numrel.nick and usuarios.edad>26 and numrel.n>=100; 4 Indicar nombres de los usuarios con menos relaciones. Utilizando la vista del ejercicio anterior: Select usuarios.nombre From usuarios, numrel Where usuarios.nick=numrel.nick and numrel.n = (select min(n) from numrel); 5 Escribir una instrucción SQL para eliminar todos los elementos de relación que sean autorelaciones, es decir que sean de la forma (a,a,n) para algún a.

Delete from relacion where nick1=nick2; 6 Escribir una consulta que para cada usuario muestre el número de relaciones a las que ha asignado niveles negativos, mayores que 0 y exactamente 0. El aspecto de esta consulta será: Nick Negativos Mayores que 0 Igual a 0 Herminia 56 45 3 Bertoldo 84 0 1.. Select nick, sum(if(nivel<0,1,0)) Negativos, sum(if(nivel>0,1,0)) Mayores que 0, sum(if(nivel=0,1,0)) Igual a 0 from usuarios,relación where usuarios.nick = relación.nick1 group by relacion.nick; Ejercicio 3: 2 puntos Partimos de una relación R(A,B,C,D) con dependencias S = { ABC D, A BC, C B, BD A } 1 [1 punto] Obtener un recubrimiento mínimo para S. Recubrimiento mínimo: 1. Lados derechos unitarios. S ={ ABC D, A B, A C, C B, BD A } 2. Atributos redundantes: Sobra A en ABC D? = se cumple BC D en S? = está D en {B,C} + S? {B,C} + S= {B,C}. Por tanto no sobra Sobra B en ABC D? = se cumple AC D en S? = está D en {A,C} + S? {A,C} + S= {A,C,B,D}. Por tanto sí sobra. Obtenemos un nuevo S: S ={ AC D, A B, A C, C B, BD A } Sobra C en AC D? = se cumple A D en S? = está D en {A} + S? {A} + S= {A,B,C,D} Sí sobra. Obtenemos un nuevo S: S ={ A D, A B, A C, C B, BD A } Sobra B en BD A? = se cumple D A en S? = está A en {D} + S? {D} + S= { D} No sobra. Sobra D en BD A? = se cumple B A en S? = está A en {B} + S? {B} + S= { B} No sobra. Al final de este paso: S = { A D, A B, A C, C B, BD A }

3. Dependencias redundantes: Sobra A D? = Se cumple A D en (S\{A D})? {A} + S\{A D} = {A,B,C} No contiene a D y por tanto no sobra Sobra A B? = Se cumple A B en (S\{A B})? {A} + S\{A B} = {A,D,C,B} como incluye a B sí que sobra. S = { A D, A C, C B, BD A } Sobra A C? = Se cumple A C en (S\{A C})? {A} + S\{A C} = {A,D }. No sobra. Sobra C B? = Se cumple C B en (S\{C B})? {C} + S\{C B} = {C }. No sobra. Sobra BD A? = Se cumple BD A en (S\{BD A})? {B,D} + S\{BD A} = {B,D }. No sobra. Recubrimiento mínimo: S = { A D, A C, C B, BD A } 2 [0.5] Indica en qué forma normal se encuentra R con respecto a estas dependencias funcionales Comenzamos por buscar las claves candidatas. Con un atributo sólo encontramos A, ya que {A}+ = {A,D,C,B} es decir todos los atributos. Con dos atributos debemos buscar un conjunto cuyo cierre sea {A,B,C,D} y que no contenga A. Encontramos {B,D}, y {C,D}. Con 3 atributos sin incluir A ni tampoco {B,D} ni {B,C} no hay ninguna posibilidad. No está en FNBC porque en C B la parte izquierda no es superclave. Está en 3FN porque en todas salvo en C B la parte izq. Es superclave, mientras que en C B la parte derecha es parte de una clave candidata. 3 [0.5 ]Encuentra una instancia de r de R tal que: a. Sea válida desde el punto de vista de las claves candidatas. b. No sea válida con respecto al conjunto S. A B C D 1 2 3 4 6 5 3 7 Esta instancia cumple las restricciones dadas por las claves {A}, {B,C}, {B,D}, pero no la restricción C B, ya que se repite C (3) pero no B (valores 2 y 5).