La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

FIEE Postgrado SQL Structured Query Language. FIEE Postgrado SQL, SQL *Plus, and PL/SQL Lenguaje en el que un usuario solicita información de la BD SQL.

Presentaciones similares


Presentación del tema: "FIEE Postgrado SQL Structured Query Language. FIEE Postgrado SQL, SQL *Plus, and PL/SQL Lenguaje en el que un usuario solicita información de la BD SQL."— Transcripción de la presentación:

1 FIEE Postgrado SQL Structured Query Language

2 FIEE Postgrado SQL, SQL *Plus, and PL/SQL Lenguaje en el que un usuario solicita información de la BD SQL – A command language for communications with the Oracle8 Server SQL*Plus – An Oracle tool that recognizes and executes SQL and PL/SQL statements PL/SQL – An Oracle procedural language that extends SQL by adding application logic

3 FIEE Postgrado SQL and SQL *Plus Interaction

4 FIEE Postgrado SQL Commands. Componentes. Data retrieval – SELECT Data manipulation language (DML). Lenguaje de manipulación de datos (LMD). – INSERT, UPDATE, DELETE Data definition language (DDL). Lenguaje de definición de datos (LDD) – CREATE, ALTER, DROP, RENAME. Transaction control. Control de transacciones. – COMMIT, ROLLBACK, SAVEPOINT. Data control language (DCL). Autorización. Integridad. – GRANT, REVOKE El rollback es el espacio de anulación. Todas las bases de datos Oracle necesitan un lugar para almacenar la información para deshacer. Este espacio de tablas, que contiene los segmentos de anulación, se denomina rollback o rbs. Este es util cuando se recupera transacciones incompletas o interrumpidas.

5 FIEE Postgrado SQL *Plus Commands SQL *Plus main command categories: Environment Format File manipulation Execution Edit Interaction Miscellaneous

6 FIEE Postgrado PL/SQL Block Structure CREATE OR REPLACE del_inv (p_produc_id NUMBER) IS v_produc_id s_produc.id%TYPE; Header BEGIN SELECT id Declaration INTO v_produc_id FROM s_produc Executable WHERE id = p_produc_id; DELETE FROM s_inventory WHERE produc_id = v_product_id; COMMIT; EXCEPTION WHEN OTHERS THEN Exception ROLLBACK; Handling INSERT INTO exception_table (message) VALUES ('Some error occurred in the database.'); COMMIT; END;

7 FIEE Postgrado SQL-Structured Query Language Original de IBM Versiones SQL-89, SQL-92 Tiene sentencias que permiten definir, consultar y actualizar datos Es un lenguaje de definición y manipulación de datos usa los términos de tabla, fila, columna en vez de relación, tupla y atributo

8 FIEE Postgrado Estructura Básica SQL SELECT FROM WHERE ( ))

9 FIEE Postgrado Estructura básica 2 select A 1,A 2,...,A n from r 1,r 2,...,r m where P A 1,A 2,...,A n ( P r 1 x r 2 x... X r m )) Ai atributos rirelaciones Ppredicado

10 FIEE Postgrado Consultas en SQL SELECT FROM WHERE GROUP BY HAVING ORDER BY

11 FIEE Postgrado Funciones y Operadores en SQL COUNTcontador SUMsuma MINmínimo MAXmáximo AVGpromedio +, -, *, /,, >=,

12 FIEE Postgrado Sentencias de Actualización SQL INSERT agrega una tupla a una relación DELETE remueve tuplas de una relación UPDATE modifica valores de los atributos de uno o más filas.

13 FIEE Postgrado Removiendo ambiguedades Atributos con el mismo nombre están en diferentes relaciones – Calificar el atributo con el nombre de la relación – alumno.nombre – facultad.nombre Referencia a la misma relación 2 veces – declarar aliases – empleado AS E(nom, apell, le, dir)

14 FIEE Postgrado Diversos Operadores 1 SELECT dni FROM empleado SELECT * FROM empleado WHEREsueldo > 5000 SELECT DISTINCT sueldo FROM empleado

15 FIEE Postgrado Diversos Operadores 2 IN, ANY, SOME, >, >=, CONTAINS compara 2 conjuntos de valores y retorna TRUE si uno de los conjuntos contiene todos los valores en el otro

16 FIEE Postgrado Funciones Agregadas COUNT, SUM, MAX, MIN, AVG SELECT SUM(sueldo), MAX(sueldo), MIN(sueldo), AVG(sueldo) FROMempleado SELECTCOUNT(*) FROMempleado

17 FIEE Postgrado Vistas en SQL - Views Es una tabla virtual CREATE VIEW AS SELECT FROM WHERE

18 Tipos de datos char(n) Almacena datos de tipo carácter de longitud fija. varchar2(n) Almacena datos de tipo caracter de longitud variable. number(l,d) Almacena datos numéricos, siendo l la longitud y d el número de digitos decimales. blob Es un objeto binario de gran tamaño, siendo el tamaño máximo 4GB. raw (data) datos binarios puros con una longitud máxima de 2,000 bytes. Date Almacena fechas desde el 1 de enero del 4712 a.de C. hasta el 31 de diciembre del 9999d.deC

19 FIEE Postgrado Definición de Esquemas en SQL CREATE TABLE alumno (codigoAchar(10), not null, nombreAchar(20), direccionAchar(30), telefonoAchar(6), PRIMARY KEY (codigoA)

20 FIEE Postgrado Empresa bancaria SUCURSAL (nombreS, ciudadS, activo) CLIENTE (nombreC, direccionC, ciudadC) PRESTAMO (nombreS, numeroP, importe) PRESTATARIO (nombreC, numeroP) CUENTA (nombreS, numeroC, saldo) IMPOSITOR (nombreC, numeroC)

21 FIEE Postgrado Esquemas de la Entidad Bancaria CREATE TABLE cliente (nombreCchar(20), not null, direccionCchar(30), ciudadCchar(30), PRIMARY KEY (nombreC)) CREATE TABLE cuenta (numeroCchar(10), not null, nombreSchar(15), saldointeger, PRIMARY KEY (numeroC), CHECK (saldo>=0))

22 FIEE Postgrado Ejemplo 1 Obtener los nombres de todas las sucursales SELECT nombreS FROMprestamo SELECT DISTINCTnombreS FROMprestamo SELECTnombreS, numeroP, importe*100

23 FIEE Postgrado Ejemplo 2 Obtener todos los números de préstamo hechos en la sucursal de Lince cuyo importe sea mayor a 2000 SELECT numeroP FROMprestamo WHEREnombreS=Lince AND importe>2000 WHEREimporte BETWEEN 6000 AND 8000

24 FIEE Postgrado Ejemplo 3 Obtener los nombres y números de préstamo de todos los clientes que tienen un préstamo en el banco SELECT DISTINCT nombreC, prestatario.numeroP FROM prestatario, prestamo WHEREprestatario.numeroP=prestamo.numeroP

25 FIEE Postgrado Ejemplo 4 Obtener los nombres y números de préstamo de todos los clientes que tienen un préstamo en la Sucursal de Lince SELECT DISTINCT nombreC, prestatario.numeroP FROMprestatario, prestamo WHEREprestatario.numeroP=prestamo.numeroP AND nombreS=Lince

26 FIEE Postgrado Ejemplo 5 SELECT DISTINCT nombreC, prestatario.numeroP AS idPrestamo FROMprestatario, prestamo WHEREprestatario.numeroP=prestamo.numeroP AND nombreS=Lince

27 FIEE Postgrado Ejemplo 6 Obtener los nombres y números de préstamo de todos los clientes que tienen un préstamo en el banco SELECT DISTINCT nombreC, T.numeroP FROMprestatario AS T, prestamo AS S WHERET.numeroP=S.numeroP

28 FIEE Postgrado Ejemplo 7 Obtener los nombres de todas las sucursales que poseen un activo mayor que la sucursal en Lince SELECT DISTINCT T.nombreS FROMsucursal AS T, sucursal as S WHERET.activo>S.activo AND S.ciudadS=Lince

29 FIEE Postgrado Ejemplo 8 Obtener los nombres de todos los clientes cuya dirección contenga las letras Avenida SELECT nombreC FROMcliente WHEREdireccionC LIKE %Avenida%

30 FIEE Postgrado Ejemplo 9 Obtener el saldo promedio de las cuentas de cada sucursal SELECT nombreS, AVG(saldo) FROMcuenta GROUP BY nombreS HAVING AVG(saldo)>5000

31 FIEE Postgrado Ejemplo 10 Encontrar todos los clientes que poseen tanto un préstamo como una cuenta en el banco SELECT DISTINCT nombreC FROMprestatario WHEREnombreC IN (SELECT nombreC FROM impositor)

32 FIEE Postgrado Ejemplo 11 Encontrar todos los clientes que tienen un préstamo en el banco y cuyos nombres no son ni Carlos ni Susana SELECT DISTINCT nombreC FROMprestatario WHEREnombreC NOT IN (Carlos, Susana)

33 FIEE Postgrado Ejemplo 12 Encontrar la sucursal que tiene el mayor saldo promedio SELECT nombreS FROMcuenta GROUP BYnombreS HAVING AVG(saldo)>=ALL(SELECT AVG(saldo) FROMcuenta GROUP BYnombreS

34 FIEE Postgrado Ejemplo 13 CREATE VIEW prestamoS AS SELECT nombreS, numeroP FROM prestamo


Descargar ppt "FIEE Postgrado SQL Structured Query Language. FIEE Postgrado SQL, SQL *Plus, and PL/SQL Lenguaje en el que un usuario solicita información de la BD SQL."

Presentaciones similares


Anuncios Google