La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estadística Computacional I Maestría en Estadística Aplicada.

Presentaciones similares


Presentación del tema: "Estadística Computacional I Maestría en Estadística Aplicada."— Transcripción de la presentación:

1 Estadística Computacional I Maestría en Estadística Aplicada

2 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 2 Otras operaciones del álgebra relacional extendida Proyección generalizada Funciones de agregación Unión externa

3 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 3 Proyección Generalizada Extiende la operación proyección permitiendo que se usen funciones aritméticas en la lista de proyección. E es cualquier expresión del álgebra relacional Cada una de las F 1, F 2, …, F n son expresiones aritméticas que involucran constantes y atributos en el esquema de E.

4 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 4 Ejemplo de proyección generalizada Dada la relación info_crédito(nombre_cliente, límite, saldo_crédito), encuentre cuánto más puede gastar una pesona: nombre_cliente, límite – saldo_crédito (info_crédito)

5 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 5 Funciones de agregación y operaciones Una función de agregación toma una coleción de valores y retorna un único valor como resultado. avg: valor del promedio min: valor mínimo max: valor máximo sum: suma de valores count: número de valores Operación de agregación en el álgebra relacional E es cualquier expresión del álgebra relacional G 1, G 2 …, G n es una lista de atributos que se desea agrupar (puede ser vacía) Cada F i es una función de agregación Cada A i es un nombre de atributo

6 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 6 Ejemplo de operación de agregación AB C sum(c ) 27 Relación r: g sum(c ) (r)

7 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 7 Otro ejemplo de operación de agregación Relación cuenta agrupada por sucursal: nombre_sucursal g sum(saldo) (cuenta) El resultado de agregación no tiene un nombre, se puede utilizar renombramiento para asignarle un nombre. Por facilidad, se permite renombrar como parte de la operación de agregación de la siguiente manera Nombre_sucursal g sum(saldo) as sum_saldo (cuenta)

8 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 8 Unión externa Se define como una extensión de la operación unión que evita la pérdida de información. Calcula la unión y luego añade tuplas de la una relación que no coinciden con las tuplas en la otra relación como resultdo de la unión. Usa valors null : null significa que el valor es desconocido o no existe Todas las comparaciones que involucran null son por definición falsas.

9 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 9 Ejemplo de unión externa Asuma que la relación préstamo es de la siguiente forma número_préstamoimporte L-170 L-230 L-260 nombre_sucursal Downtown Redwood Perryridge nombre_clientenúmero_préstamo Jones Smith Hayes L-170 L-230 L-155 Relación prestatario

10 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 10 Ejemplo de unión externa número_préstamoimporte L-170 L nombre_cliente Jones Smith nombre_sucursal Downtown Redwood Jones Smith null número_préstamoimporte L-170 L-230 L nombre_clientenombre_sucursal Downtown Redwood Perryridge n Unión loan borrower Unión externa por la izquierda prestamo prestatario

11 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 11 Ejemplo de unión externa número_préstamoimporte L-170 L-230 L null nombre_cliente Jones Smith Hayes nombre_sucursal Downtown Redwood null Unión externa por la derecha prestamo prestatario número_préstamoimporte L-170 L-230 L-260 L null nombre_cliente Jones Smith null Hayes nombre_sucursal Downtown Redwood Perryridge null

12 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 12 Modificación de la base de datos El contenido de la base de datos puede ser modificado utilizando las siguientes operaciones: Borrado Inserción Actualización Todas estas operaciones usan el operador de asignación.

13 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 13 Borrado Una petición de borrado se expresa de manera similar a una consulta, excepto que en lugar de desplegar las tuplas al usuario, las tuplas seleccionadas se remueven de la base de datos. Se puede únicamente borrar tuplas enteras; no se puede borrar atributos particulares El borrado se expresa en álgebra relacional por : r r – E donde r es una relación y E es una consulta del álgebra relacional.

14 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 14 Ejemplo borrado Borrar todas las cuentas en la sucursal Galapagar. Borrar todos los registros de prestamo con importeen el rango de 0 to 50 prestamo prestamo – importe 0 y importe 50 (prestamo) cuenta cuenta – nombre_sucursal = Galapagar (cuenta )

15 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 15 Inserción Para insertar data en una relación, se debe realizar uno de los siguientes pasos: Especificar la tupla a ser insertada Escribir una consulta cuyo resultado sea un conjunto de tuplas a ser insertadas En el álgebra relacional, una insersión se expresa mediante: r r E donde r es una relación y E es una expresión del álgebra relacional. La inserción de una sola tupla se expresa haciendo que E sea una relación constante que contiene una sola tupla.

16 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 16 Inserción Inserte información en la base de datos especificando que Smith tiene $1200 en la cuenta A-973 en la sucursal Galapagar. Proporcione un regalo para todos los clientes con préstamos en la sucursal Galapagar, una cuenta con $200. Sea el número de préstamo el número de cuenta para las nuevas cuentas. cuenta cuenta {(A-973, Galapagar, 1200)} impositor impositor {(Smith, A-973)} r 1 ( nombre_sucursal = Galapagar (borrower loan)) cuenta cuenta número_prestamo, nombre_sucursal, 200 (r 1 ) impositor impositor nombre_cliente,número_prestamo (r 1 )

17 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 17 Actualización Es un mecanismo para cambiar un valor en una tupla sin cambiar todos los valores de la tuplaç Utiliza el operador de proyección generalizada Cada F i representa uno de los siguientes El I –ésimo atributo de r, si el I-ésimo atributo no va a ser actualizado o, Si el atributo va a ser actualizado F i es una expresión que involucra únicamente constantes y atributos de r, los cuales proporcionan el nuevo valor para el atributo.

18 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 18 Ejemplo de actualización Pagar intereses mediante el incremento de los saldos en el 5%. Pagar a todas las cuentas con saldos sobre $10,000 6% de interés y pagar a todas las demás 5 % account número _cuenta, nombre_sucursal, saldo * 1.06 ( SALDO (cuenta )) número_cuenta, nombre_sucursal, saldo * 1.05 ( SALDO (cuenta)) cuenta número_cuenta, nombre_sucursal, saldo * 1.05 (cuenta)

19 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 19 SQL: Lenguaje de consulta estructurado Aunque el lenguaje SQL se considere un lenguaje de consultas, contiene muchas otras capacidades además de la consulta en bases de datos. Incluye características para definir la estructura de los datos, para la modificación de los datos en la base de datos y para la especificación de restricciones de seguridad.

20 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 20 Lenguaje de definición de datos LDD Permite la especificación de un conjunto de relaciones y también informción acerca de cada relación que incluye El esquema para cada relación. El dominio de valores asociados con cada atributo. Restricciones de integridad El conjunto de índices que se deben mantener en cada relación. Seguridad e información de autorización para cada relalción. La estructura física de almacenamiento de cada relación en el disco.

21 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 21 Tipos de dominios en SQL char(n). Cadena de caracteres de longitud fija n. varchar(n). Cadena de caracteres de longitud variable, con máxima longitud de n. int. entero (un subconjunto finito de los enteros, que es dependiente de la máquina). smallint. es un entero pequeño (un subconjunto del dominio de los enteros, también dependiente de la máquina). numeric(p,d). es un número en coma flotante, cuya precisión la especifica el usuario. El número está formado por p dígitos (más el signo), y de esos p dígitos, d pertenecen a la parte decimal. Así, numeric (3,1) permite que el número 44,5 se almacene exactamente, mientras que los números 444,5 y 0,32 no se pueden almacenar exactamente en un campo de este tipo. real, double precision. son respectivamente números en coma flotante y números en coma flotante de doble precisión, con precisión dependiente de la máquina. float(n). es un número en coma flotante, cuya precisión es de al menos n dígitos.

22 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 22 Tipos de dominios en SQL time es la hora del día, expresada en horas, minutos y segundos. Se puede usar una variante time(p), para especificar el número de dígitos decimales para los segundos (el número predeterminado es 0). También es posible almacenar la información del uso horario junto al tiempo. timestamp es una combinación de date y time. Se puede usar una variante, timestamp(p), para especificar el número de dígitos decimales para los segundos (el número predeterminado es 6) date time 10:10:00 timestamp :10:01.45

23 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 23 Creación de una tabla Una relación en SQL se define usando el comando de crear tabla: create table r (A 1 D 1, A 2 D 2,..., A n D n, (restricción de integridad 1 ),..., (restricción de integridad k )) r es el nombre de la relación cada A i es el nombre de un atributo en el esquema de la relación r D i es el tipo de dato de los valores en el dominio del atributo A i Example: create table sucursal (nombre_sucursal char(15) not null, ciudad_sucursalchar(30), activosinteger)

24 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 24 Restricciones de integridad en crear tabla primary key (A j1, A j2,…, A jm ): la especificación de clave primaria dice que los atributos A j1, A j2,…, A jm forman la clave primaria de la relación. Los atributos clave primaria deben ser no nulos y únicos; Aunque la especificación de clave primaria es opcional, es generalmente buena idea especificar una clave primaria para cada relación. check (P): la cláusula check especifica un predicado P que debe satisfacer cada tupla de la relación.

25 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 25 Ejemplo

26 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 26 Otro ejemplo

27 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 27 Otras restricciones de integridad De manera predeterminada, null es un valor válido para cualquier atributo en SQL, a menos que se especifique con not null. SQL también soporta una restricción de integridad La especificación unique indica que los atributos A j1, A j2,…, A jm forman una clave candidata; es decir, no puede haber dos tuplas en la relación con todos los atributos que forman la clave candidata iguales.

28 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 28 Construcciones drop table y alter table El comando drop table borra toda la información acerca de la relación elegida dentro de la base de datos. El comando alter table se usa para añadir atributos a una realción existente: alter table r add A D donde A es el nombre del atributo que se desea añadir a la relación r y D es el dominio de A. Todas las tuplas en la relación reciben la asignación de null como el valor para el nuevo atributo. El comando alter table puede también ser utilizado para eliminar atributos de una relación: alter table r drop A donde A es el nombre del atributo de la relación r

29 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 29 Estructura básica de consultas SQL se basa en operaciones de conjunto y relacionales con ciertas modificaciones y mejoras. Una consulta típica de SQL tiene la forma: select A 1, A 2,..., A n from r 1, r 2,..., r m where P A i representa un atributo R i representa una relación P es un predicado. Esta consulta es equivalente a la expresión del álgebra relacional. El resultado de una consulta SQL es una relación.

30 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 30 Select El comando select enlista los atributos deseados en el resultado de la consulta Corresponde a la operación de proyección en el álgebra relacional Example: Encuentre los nombres de todas las sucursales en la relación prestamo: select nombre_sucursal from prestamo En álgebra relacional la consulta sería: nombre_sucursal (prestamo) NOTA: los nombres en SQL son case insensitive (esto es., se pueden usar mayúculas o minúsculas.) Ejemplo: nombre_sucursal NOMBRE_SUCURSAL Nombre_Sucursal

31 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 31 Select SQL permite duplikcdos en las relaciones así también como en los resultados de las consultas. Par forzar la eliminación de duplicados se debe insertar el comando distinct luego de select. Encontrar los nombres de todas las sucursales en la relación prestamo, y remover los duplicados select distinct nombre_sucursal from prestamo El comando all especifica que los duplicados no deben ser removidos. select all nombre_sucursal from prestamo

32 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 32 Select Un asterisco en la cláusula select denota todos los atributos select * from prestamo El comando select puede contener expresiones aritméticas que involucren operaciones tales como +, –,, y /, y operar en constantes o atributos de tuplas. La consulta: select numero_prestamo, nombre_surucsal, importe 100 from prestamo retorna una relación que es la misma que prestamo, excepto que el valor del atributo importe está multiplicado por 100.

33 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 33 Where El comando where especifica las condiciones que el resultado debe satisfacer Corresponde a la selección de predicados en el álgebra relacional Por ejemplo para encontrar todos los números de préstamos para préstamos realizados en la sucursal Galapagar con importes mayores a 1200 se tiene select numero_prestamo from prestamo where nombre_sucursal= Galapagar' and importe > 1200 Los resultados de comparación pueden ser combinados mediante el uso de las conectivas lógicas and, or, y not. Las comparaciones se pueden aplicar a resultados de expresiones aritméticas.

34 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 34 Where SQL incluye un operador de comparación: between Ejemplo: Encuentre el número de préstamo de aquelos préstamos con montos entre $90,000 and $100,000 (esto es, mayores que $90,000 y menores que $100,000) select numero_prestamo from prestamo where importe between and

35 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez 35 From El comando from enlista las relaciones involucradas en la consulta Corresponde al producto cartesiano en el álgebra relacional. Encontrar el producto cartesiano entre prestatario X prestamo select from prestatario, prestamo Encuentre el nombre, número de préstamo e importe de todos los clientes que tienen un préstamo en la sucursal Galapagar. select nombre_cliente, prestatario.numero_prestamo, importe from prestatario, prestamo where prestatario.numero_prestamo = prestamo.numero_prestamo and nombre_sucursal= Galapagar'


Descargar ppt "Estadística Computacional I Maestría en Estadística Aplicada."

Presentaciones similares


Anuncios Google