1 / 32

EL LENGUAJE ESTÁNDAR SQL

EL LENGUAJE ESTÁNDAR SQL. CONTENIDO. Introducción Sublenguaje de Definición de Datos Sublenguaje de Manipulación de Datos. INTRODUCCIÓN. SQL: Structured Query Language Características: Estructuras de datos simples Operadores potentes Periodos de aprendizaje inicial cortos

honora
Download Presentation

EL LENGUAJE ESTÁNDAR SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EL LENGUAJE ESTÁNDARSQL

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

  3. 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. 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. 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. 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

  8. Almacenes y Minería de Datos

  9. 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. Ejemplos 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) ); 1 n Almacenes y Minería de Datos

  11. 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. 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> ADDCONSTRAINT <nombre_FK> REFERENCES <nombre_tabla>(nombre_FK) • Añadir una una PK a una relación • ALTER TABLE R ADDCONSTRAINT PRIMARY KEY (nombre) tipo Almacenes y Minería de Datos

  13. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. OPERADORES LÓGICOS Almacenes y Minería de Datos

  32. OPERADORES DE COMPARACIÓN Almacenes y Minería de Datos

More Related