La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

EL LENGUAJE ESTÁNDAR SQL

Presentaciones similares


Presentación del tema: "EL LENGUAJE ESTÁNDAR SQL"— Transcripción de la presentación:

1 EL LENGUAJE ESTÁNDAR SQL

2 Almacenes y Minería de Datos
CONTENIDO Introducción Sublenguaje de Definición de Datos Sublenguaje de Manipulación de Datos Almacenes y Minería de Datos

3 Almacenes y Minería de Datos
INTRODUCCIÓN SQL: Structured Query Language Características: Estructuras de datos simples Operadores potentes Periodos de aprendizaje inicial cortos Mejora de la independencia de datos Modo de uso dual (interactivo o inmerso) Optimización Almacenes y Minería de Datos

4 Almacenes y Minería de Datos
Las sentencias SQL pueden dividirse en cuatro tipos: Sublenguaje de definición de datos (DDL) Sublenguaje de control de datos (DCL) Sublenguaje de manipulación de datos (DML) Lenguaje procedural (PL) Almacenes y Minería de Datos

5 Almacenes y Minería de Datos
DDL Proporciona órdenes para definir esquemas de relación, eliminar relaciones, crear índices y modificar esquemas de relación. DCL Incluye órdenes que permiten especificar controles de seguridad a los datos almacenados como definición de vistas, especificación de privilegios de acceso, comprobación de condiciones de integridad y control de concurrencia. Almacenes y Minería de Datos

6 Almacenes y Minería de Datos
DML Interactivo: lenguaje de consulta basado en el álgebra relacional y el calculo relacional de tuplas. También incluye ordenes para insertar, suprimir y modificar tuplas de la base de datos Inmerso: lenguaje diseñado para utilizar dentro de otros lenguajes. PL Lenguaje para la creación de procedimientos almacenados. Almacenes y Minería de Datos

7 Almacenes y Minería de Datos
Sentencia DDL Objetivo Alter procedure Recompilar un procedimiento almacenado Alter table Añadir o redifinir una columna, modificar la asignación de almacenamiento Analyze Recoger estadísticas de rendimiento sobre los objetos de la BD Create table (ó index) Crear una tabla (ó indice) Drop table (ó index) Eliminar una tabla (ó indice) Grant Conceder privilegios a un usuario Truncate Eliminar todas las filas de una tabla Revoke Retirar los permisos de un usuario Almacenes y Minería de Datos

8 Almacenes y Minería de Datos
Sentencia DML Objetivo Insert Añadir filas de datos a una tabla Delete Eliminar filas de datos de una tabla Update Modificar los datos de una tabla Select Recuperar los datos de una tabla Commit Confirmar como permanentes las modificaciones realizadas Rollback Deshacer todas las modificaciones realizadas desde la última confirmación (último commit) Almacenes y Minería de Datos

9 Almacenes y Minería de Datos
DDL Creación de un esquema CREATE SCHEMA <nombre_esquema> AUTHORIZACION <nombre> Definición de una relación (tabla): CREATE TABLE R (A1 D1,A2 D2,…,An Dn) Donde R es el nombre de la relación, Ai el nombre de un atributo y Di tipo de datos de los valores en el dominio del atributo Ai Almacenes y Minería de Datos

10 Almacenes y Minería de Datos
Ejemplos Empleados # Id_empleado * Nombre * Ap1 o Ap2 * Dirección * Fecha_nacim * Salario * Id_dpto Departamento # Id_dpto * Nombre o Nº empleados o Fecha_creac 1 n CREATE TABLE DEPARTAMENTO ( Id_dpto NUMBER NOT NULL, Nombre VARCHAR(50) NOT NULL, Nº_empleados NUMBER NULL, fecha_creac DATE NULL, PRIMARY KEY(id_dpto) ); Almacenes y Minería de Datos

11 Almacenes y Minería de Datos
Ejemplos CREATE TABLE EMPLEADOS ( Id_empleado NUMBER NOT NULL, Nombre VARCHAR(15) NOT NULL, Ap1 VARCHAR(25) NOT NULL, Ap2 VARCHAR(25) NULL, Direccion VARCHAR(50) NOT NULL, Fecha_nac DATE NOT NULL, Salario NUMBER NOT NULL, Id_dpto NUMBER NOT NULL, PRIMARY KEY(id_empleado) FOREIGN KEY (Id_dpto) REFERENCES DEPARTAMENTO (Id_dpto) ); Almacenes y Minería de Datos

12 Almacenes y Minería de Datos
DDL Modificar : Añadir nuevos atributos a una relación ALTER TABLE <nombre_tabla> ADD <atributo>tipo Añadir una nueva FK a una relación ALTER TABLE <nombre tabla> ADD CONSTRAINT <nombre_FK> REFERENCES <nombre_tabla>(nombre_FK) Añadir una una PK a una relación ALTER TABLE R ADD CONSTRAINT PRIMARY KEY (nombre) tipo Almacenes y Minería de Datos

13 Almacenes y Minería de Datos
DDL Eliminación de una relación: DROP TABLE <nombre_tabla> Crear/Borrar índices sobre las tablas: CREATE INDEX <nombre_incide> ON <nombre_tabla> <nombre_atributos> DROP INDEX <nombre_indice> Es recomendable poner un indice para cada FK Almacenes y Minería de Datos

14 Almacenes y Minería de Datos
VISTAS Las vistas son tablas virtuales. Al usuario se le permite el acceso a la vista y no a las tablas CREATE VIEW dpto_diez AS SELECT ci, nombre, direccion FROM empleados WHERE num_dpt=1; Almacenes y Minería de Datos

15 Almacenes y Minería de Datos
DDL Pasos a seguir: 1 Crear SCHEMA 2 Crear Tabla 3 Crear PK 4 Crear FK 5 Crear Indices Almacenes y Minería de Datos

16 Almacenes y Minería de Datos
DML Permite acceder a la información contenida en la base de datos para su consulta y actualización, a través de sus cuatro verbos de manipulación: SELECT INSERT UPDATE DELETE Almacenes y Minería de Datos

17 Almacenes y Minería de Datos
DML Insertar datos: INSERT INTO <nombre_tabla> VALUES( , , ); Ejemplo: INSERT INTO Departamento VALUES (50, ‘Análisis’, 30, NULL) INSERT INTO Departamento (Id_dpto,Nombre,nº_empleados) VALUES (50, ‘Análisis’, 30) el resto de los valores de los campos que quedan los inserta con valores nulos. Almacenes y Minería de Datos

18 Almacenes y Minería de Datos
DML Borrar datos: DELETE FROM <nombre_tabla> WHERE <condicion>; Ejemplo: DELETE FROM Departamentos WHERE Fecha_creac < ‘1/1/2000’ Almacenes y Minería de Datos

19 Almacenes y Minería de Datos
DML Actualizar datos: UPDATE <nombre_tabla>SET <atributos> WHERE <condicion>; Ejemplo: UPDATE Departamentos SET Nombre=‘Análisis’ WHERE Id_dpto=1;  Me pone en donde Id_dpto=1, en la casilla nombre, Análisis. Almacenes y Minería de Datos

20 Almacenes y Minería de Datos
La estructura básica de una consulta SQL Usa una mezcla de estructuras del álgebra relacional y del cálculo relacional. Consta de tres cláusulas: SELECT FROM WHERE Almacenes y Minería de Datos

21 Almacenes y Minería de Datos
SELECT <nombre_campos> FROM <nombre_tablas> WHERE <condiciones> SELECT: se utiliza para listar los atributos que se desean en el resultado de una consulta. La lista de atributos puede sustituirse por * para seleccionar todos los atributos de todas las relaciones que aparezcan en la cláusula from. FROM: lista las relaciones que se van a examinar en la evaluación de la expresión. WHERE: consta de un predicado que incluye atributos de las relaciones que aparecen en la cláusula from. Almacenes y Minería de Datos

22 Almacenes y Minería de Datos
SELECT <nombre_campos> FROM <nombre_tablas> WHERE <condiciones> El resultado de la ejecución de una sentencia SELECT es siempre otra tabla. Las columnas de la tabla resultante serán las que figuren enumeradas tras la cláusula SELECT, y en el mismo orden en el que figuran tras ella. Almacenes y Minería de Datos

23 Almacenes y Minería de Datos

24 Almacenes y Minería de Datos
SELECT A1, A2,…, An FROM R1, R2,…, Rn WHERE condicion SELECT DISTINCT A1, A2,…, An FROM R SELECT * FROM R WHERE P SELECT * FROM R, S SELECT * FROM R,S WHERE R.Ai=S.Aj SELECT * FROM R UNION SELECT * FROM S Almacenes y Minería de Datos

25 Almacenes y Minería de Datos
Ejemplos SELECT talla, color FROM articulos; SQL no elimina tuplas duplicadas a menos que se indique con la cláusula opcional DISTINCT SELECT DISTINCT codigo_p, cantidad FROM suministros; Selección: SELECT * FROM articulos WHERE color=‘ROSA’ SELECT * FROM articulos WHERE color=‘ROSA’ AND talla>38; Almacenes y Minería de Datos

26 Almacenes y Minería de Datos
Producto cartesiano: basta con incluir varias relaciones en la cláusula FROM SELECT * FROM proveedores, suministros; Producto natural: restricción producto cartesiano mediante una condicion SELECT * FROM proveedores, suministros WHERE proveedores.codigo_p=suministros.codigo_p SELECT * FROM proveedores P, suministros S WHERE P.codigo_p=S.codigo_p Almacenes y Minería de Datos

27 Almacenes y Minería de Datos
SQL toma algunos aspectos del cálculo relacional Permite definir variables de tipo tupla. Se definen en la cláusula FROM y se asocian a una tabla en particular. Empleados que trabajan en el mismo departamento que Perez: SELECT otro.nombre FROM empleado perez, empleado otro WHERE perez.nombre=‘Perez’ AND perez.num_dpto=otro.num_depto; Almacenes y Minería de Datos

28 Almacenes y Minería de Datos
Promedio AVG Suma SUM Mínimo MIN Máximo MAX Cantidad COUNT Agrupación GROUP BY Funciones de agregación: Permite obtener valores agregados, es decir, un solo valor que resume la información de varias filas. Almacenes y Minería de Datos

29 Almacenes y Minería de Datos
Obtener la suma de los importes de las ordenes de compra: SELECT SUM(importe) FROM orden; Numero de productos que se fabrican SELECT COUNT(DISTINCT cod_prod) FROM productos; Empleados que trabajan en el departamento 10 SELECT COUNT(*) FROM empleados WHERE num_dpto=10; Numero de empleados de cada departamento SELECT num_dept, COUNT(*) FROM empleados GROUP BY num_dpto; Almacenes y Minería de Datos

30 Almacenes y Minería de Datos
Cláusula HAVING: selecciona alguno de los grupos definidos por GROUP BY, según una condición. Lista de los departamentos en que trabaja mas de 50 empleados SELECT num_dpto, COUNT(*) FROM empleados GROUP BY num_dpto HAVING COUNT(*)>50; Cláusula ORDER BY: utilizada para ordenar los registros seleccionados SELECT nombre, apellidos FROM alumnos ORDER BY fecha_nacimiento DESC Almacenes y Minería de Datos

31 Almacenes y Minería de Datos
OPERADORES LÓGICOS AND Evalua dos condiciones y devuelve un valor de verdad solo si ambas son ciertas. OR Evalua dos condiciones y devuelve un valor de si alguna de las dos es cierta. NOT Devuelve el valor contrario de la expresión. Almacenes y Minería de Datos

32 Almacenes y Minería de Datos
OPERADORES DE COMPARACIÓN < ( o<=) Menor que (o igual) > (o >=) Mayor que (o igual) <> o != Distinto = Igual BETWEEN Entre. Utilizado para especificar un intervalo de valores. LIKE Como. Utilizado para la comparación de un modelo IN En. Utilizado para especificar registros de una base de datos Almacenes y Minería de Datos


Descargar ppt "EL LENGUAJE ESTÁNDAR SQL"

Presentaciones similares


Anuncios Google