IBD - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

IBD

Description:

Definici n de esquemas,relaciones, indices y vistas (una vista es una tabla ... Full outer join: aparecen las tuplas colgadas de ambos lados. Otras variantes: ... – PowerPoint PPT presentation

Number of Views:558
Avg rating:3.0/5.0
Slides: 27
Provided by: rodolfoalf
Category:
Tags: ibd | colgadas

less

Transcript and Presenter's Notes

Title: IBD


1
IBD
  • Clase 15

2
SQL
  • Lenguaje de Consultas Estruturado (SQL)
  • Lenguaje de trabajo estándard para modelo
    relacional
  • Componentes
  • DDL Data Definition Language
  • DML Data Manipulation Language (AR y CRT)

3
SQL
  • DDL - Lenguaje de definición de datos.
  • Definición de esquemas,relaciones, indices y
    vistas (una vista es una tabla virtual, ya que
    sus filas no se almacenan físicamente, sino que
    son producto de una consulta)
  • Autorizaciones al acceso a datos
  • Definición de reglas de integridad.
  • Control de Concurrencia
  • DML - Lenguaje interactivo de manipulación de
    datos.
  • Consultar datos almacenados.
  • Modificar el contenido de los datos almacenados.

4
SQL
  • Estructura básica 3 cláusulas
  • Select (equivale a ?)
  • From (equivale a x)
  • Where (equivale a ?)
  • ?a1,...,an (?p (r1 x ... X rm ) ) equivale a
  • Select a1,..., an
  • From r1,..., rm
  • Where P
  • Ej1 todas las sucursales de la relación sucursal

5
SQL
  • Select
  • (incluye todos los atributos de las tablas que
    aparecen en el from)
  • Distinct (eliminan tuplas duplicadas)
  • All (valor por defecto, aparecen todas las tuplas)

6
SQL
  • Ej2 nombres de las sucursales en la relación
    préstamo sin repetición
  • Operaciones en el select
  • Select nombre, saldo 3
  • From cliente
  • Where
  • Operadores lógicos
  • Ej3 préstamos hechos en sucursal X y monto
    superior a 20000
  • Between
  • Ej4 préstamos cuyo monto este entre 20000 y
    30000

7
SQL
  • From producto cartesiano
  • Ej5 nombre de cliente y prestamo, de la
    sucursal X.
  • Renombre tanto para relaciones como para
    atributos
  • Atributos presentarlo con otro nombre
  • Select T1.Pac_numero AS Nro_Paciente,
  • from Atenciones AS T1
  • Relaciones un producto cartesiano contra si
    mismo
  • Ej 6 nombre de las sucursales que poseen activo
    mayor que al menos una sucursal situada en Buenos
    Aires.

8
SQL
  • Operaciones sobre strings
  • Like, , _
  • Alfa cualquier cadena que empiece con Alfa
  • casa cualquier cadena que tenga casa en su
    interior
  • _ _ _ cualquier cadena con tres caracteres
  • _ _ _ cualquier cadena con al menos tres
    caracteres.
  • Ej7 nombre del clientes cuya domicilio contenga
    el string XXX

9
SQL
  • Ordenamiento de las tuplas resultado
  • Order By atributo especifica el atributo por el
    cual las tuplas serán ordenadas
  • Ej8 presentar todos los clientes ordenados por
    nombre.
  • Desc, asc por defecto ascendente, se puede
    especificar descendente.
  • Facturas(Nro,Fecha,Hora)
  • Ej9 presentar las facturas del mes de agosto
    ordenadas por fecha desde el 31 al 1 de agosto y
    por hora de realización.

10
SQL
  • Operaciones sobre conjuntos
  • Unión agrupa las tuplas resultantes de dos
    subconsultas. Union all conserva duplicados
  • Ej10 clientes con cuentas o prestamos en un
    banco
  • Intersección (intersect) idem anterior.
  • Ej11 clientes con cuentas y préstamos en un
    banco
  • Diferencia (except)
  • Ej12 clientes con cuentas y sin préstamos en un
    banco

11
SQL
  • Funciones de agregación
  • Promedio (avg) aplicable a atributos numéricos,
    retorna el promedio de la cuenta
  • Mínimo (min) retorna el menor elemento no nulo
    dentro de las tuplas para ese atributo
  • Máximo (max) retorna el mayor elemento no nulo
    dentro de las tuplas para ese atributo
  • Total (sum) aplicable a atributos numéricos,
    realiza la suma matemática
  • Cuenta (count) cuenta las tuplas resultantes.

12
SQL
  • Agrupamientos (group by)
  • Permite agrupar un conjunto de tuplas por algun
    criterio
  • Ej13 obtener el saldo promedio de las cuentas de
    cada sucursal.
  • Ej14 contar el número de clientes que tiene cada
    sucursal.
  • Having permite aplicar condiciones a los grupos
  • Ej15 presentar las sucursales y su saldo
    promedio siempre y cuando superen 20000
  • Ej16 saldo promedio de cada cliente que vive en
    La Plata, y tienen al menos 3 cuentas.

13
SQL
  • Valores nulos
  • Ej17 Mostrar aquellos préstamos que tengan el
    importe nulo. (no significa 0)
  • Subconsultas anidadas
  • Pertenecia a conjuntos IN
  • Ej18 clientes con prestamos y cuentas en el
    banco, cualquier sucursal (otra forma)
  • Ej19 clientes que tengan prestamo y cuenta en la
    sucursal llamada La Plata

14
SQL
  • Comparación de Conjuntos
  • gt some ( lt, , gt, lt, ltgt)
  • Ej20presentar las sucursales que tengan activo
    mayor que alguna otra (otra forma)
  • gt all ( lt, , gt, lt, ltgt)
  • Ej21 presentar la sucursal que tenga activo
    superior a todas (otra forma)
  • Ej22 encontrar la sucursal que tiene el mayor
    saldo promedio.

15
SQL
  • Cláusula Exist devuelve verdadero si la
    subconsulta argumento no es vacía.
  • Ej23 obtener los clientes que tienen tanto una
    cuenta como un préstamo en el banco.
  • Ej24 obtener los clientes que tienen cuentas en
    todas las sucursales de la ciudad de Buenos Aires.

16
SQL
  • Comprobación de tuplas duplicadas.
  • Unique devuelve verdadero si la subconsulta
    argumento no produce tuplas duplicadas.
  • Ej25 clientes que tienen una sola cuenta en la
    sucursal llamada XXX.

17
SQL
  • Creación de vistas
  • Una vista es un objeto que no contiene datos por
    si mismo. Es una clase de tabla cuyo contenido es
    tomado de otras tablas por medio de la ejecución
    de una consulta.
  • Create View nombre as ltexpresiongt
  • Ej26 crea una vista con todos los clientes y
    consultar de ahí todos los de sucursal XXX

18
SQL
  • Modificación de la BD
  • Borrado eliminar una o mas filas de una tabla
  • DELETE FROM tab_name
  • WHERE condición
  • Ej27 borrar las cuentas de una sucursal
  • Ej28 borrar las cuentas con saldo entre 100 y
    200.

19
SQL
  • Inserción
  • INSERT INTO tab_name (ltcolumn_namegt,) VALUES
    (ltvalorgt,)
  • Existen dos maneras básicas de insertar.
  • Insertar la fila completa
  • Insertar sólo algunas columnas de una fila
  • En el segundo caso se debe necesariamente
    especificar los nombres de las columnas que se
    van a completar.
  • Ej29 agregar una cuenta

20
SQL
  • Actualización
  • Ej30 modificar el saldo de las cuenta
    incrementar en un 5.
  • Unión de relaciones
  • Realizar en cláusula From productos naturales
  • Inner Join producto natural entre atributos que
    se indican, quedando el atributo en común
    repetido
  • Ej31 producto entre préstamo y
    propietarioprestamo

21
SQL
  • Left outer Join primero se calcula el inner join
    (idem anterior) y luego cadat tupla t
    perteneciente a la relación de la izquierda que
    no encontro par aparece en el resultado con
    valores nulos en los atributos del segundo lado.
  • Right outer Join idem anterior pero aparecen las
    tuplas t de la relación de la derecha
  • Full outer join aparecen las tuplas colgadas de
    ambos lados.
  • Otras variantes
  • Natural evita que el atributo común (por el que
    se hace la unión aparezca dos veces)

22
QBE
  • Query By Example
  • Sintaxis bidimensional una consulta se expresa
    como una tabla
  • Se expresa la consulta con un ejemplo
  • Se basa en el cálculo relacional de dominios
  • Ejemplos en Access

23
SQL
  • Ejercicios
  • Tablas
  • Proveedor(prov, prnombre, situación, ciudad)
  • Partes(par, color, panombre, situación, ciudad)
  • Proyectos(proy, proynombre, ciudad)
  • RPPP(prov, par, proy, cantidad)

24
SQL
  • Ejercicios
  • Obtener todos los detalles de los proyectos de
    Córdoba
  • prov, que suministre parte al proyecto A1
    ordenado por proveedor
  • Envios con cantidad entre 300 y 500
  • prov, proy, par para aquellas tuplas donde los
    tres elementos sean de la misma ciudad
  • parte suministradas por un proveedor de Córdoba
    a un Proyecto de Córdoba
  • Cantidad de proyectos que tenga a S1 como
    proveedor
  • Cantidad total de partes P1 suminstradas por S1

25
SQL
  • Envíos que no tengan la cantidad nula
  • Obtener los colores de las partes suministras por
    proveedor S1.
  • Obtener proyectos para los cuales s1 es el único
    proveedor
  • Cambiar a Gris el color de las partes Rojas
  • Eliminar el proyecto que no tenga envíos.
  • Proveedor que vivan en igual ciudad que el
    proveedor S1.
  • Proveedor que tenga máxima su situación
  • Todos los proveedores menos el que tenga máxima
    su situación
  • Nombres de los proveedores que suministran la
    parte P2.

26
SQL
  • Presentar aquellos proveedores que suministren
    todas las partes existentes en la tabla
  • Obtener los número de partes provistas por más de
    un proveedor. Para este caso considerar que un
    proveedor sólo participa en un proyecto.
  • Informar el número de parte que se suministre a
    un proyecto cualquiera tal que en promedio se
    suministro supere 200.
Write a Comment
User Comments (0)
About PowerShow.com