La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estadística Computacional I

Presentaciones similares


Presentación del tema: "Estadística Computacional I"— Transcripción de la presentación:

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

2 Otras operaciones del álgebra relacional extendida
Proyección generalizada Funciones de agregación Unión externa 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 F1, F2, …, Fn son expresiones aritméticas que involucran constantes y atributos en el esquema de E. 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) 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 G1, G2 …, Gn es una lista de atributos que se desea agrupar (puede ser vacía) Cada Fi es una función de agregación Cada Ai es un nombre de atributo ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

6 Ejemplo de operación de agregación
Relación r: A B C 7 3 10 g sum(c) (r) sum(c ) 27 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 gsum(saldo) as sum_saldo (cuenta) ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

8 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
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. 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 3000 4000 1700 número_préstamo importe L-170 L-230 L-260 nombre_sucursal Downtown Redwood Perryridge Relación prestatario nombre_cliente número_préstamo Jones Smith Hayes L-170 L-230 L-155 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

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

11 Ejemplo de unión externa
Unión externa por la derecha prestamo prestatario número_préstamo importe L-170 L-230 L-155 3000 4000 null nombre_cliente Jones Smith Hayes nombre_sucursal Downtown Redwood número_préstamo importe L-170 L-230 L-260 L-155 3000 4000 1700 null nombre_cliente Jones Smith Hayes nombre_sucursal Downtown Redwood Perryridge 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. ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

13 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
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. ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

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

15 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
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. ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

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

17 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
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 Fi 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 Fi es una expresión que involucra únicamente constantes y atributos de r, los cuales proporcionan el nuevo valor para el atributo. 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%. cuenta   número_cuenta, nombre_sucursal, saldo * 1.05 (cuenta) 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)) 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. 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. 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. 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’ ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

23 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
Creación de una tabla Una relación en SQL se define usando el comando de crear tabla: create table r (A1 D1, A2 D2, ..., An Dn, (restricción de integridad1), , (restricción de integridadk)) r es el nombre de la relación cada Ai es el nombre de un atributo en el esquema de la relación r Di es el tipo de dato de los valores en el dominio del atributo Ai Example: create table sucursal (nombre_sucursal char(15) not null, ciudad_sucursal char(30), activos integer) ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

24 Restricciones de integridad en crear tabla
primary key (Aj1, Aj2,…, Ajm): la especificación de clave primaria dice que los atributos Aj1, Aj2,…, Ajm 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. ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

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

26 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
Otro ejemplo 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 Aj1, Aj2,…, Ajm 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. 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 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 A1, A2, ..., An from r1, r2, ..., rm where P Ai representa un atributo Ri 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. ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

30 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
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 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

31 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
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 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

32 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
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  from prestamo retorna una relación que es la misma que prestamo, excepto que el valor del atributo importe está multiplicado por 100. ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

33 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
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. ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

34 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
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 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez

35 ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez
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' ESCUELA POLITÉCNICA NACIONAL Dra. Sandra E. Gutiérrez


Descargar ppt "Estadística Computacional I"

Presentaciones similares


Anuncios Google