EL LENGUAJE EST - PowerPoint PPT Presentation

About This Presentation
Title:

EL LENGUAJE EST

Description:

DDL Creaci n de un esquema CREATE SCHEMA – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 33
Provided by: mait59
Category:

less

Transcript and Presenter's Notes

Title: EL LENGUAJE EST


1
EL LENGUAJE ESTÁNDARSQL
2
CONTENIDO
  • Introducción
  • Sublenguaje de Definición de Datos
  • Sublenguaje de Manipulación 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

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)

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.
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.
7
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
8
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)
9
DDL
  • Creación de un esquema
  • CREATE SCHEMA ltnombre_esquemagt AUTHORIZACION
    ltnombregt
  • 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

10
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)
  • )

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)
  • )

12
DDL
  • Modificar
  • Añadir nuevos atributos a una relación
  • ALTER TABLE ltnombre_tablagt ADD ltatributogttipo
  • Añadir una nueva FK a una relación
  • ALTER TABLE ltnombre tablagt ADD CONSTRAINT
    ltnombre_FKgt REFERENCES ltnombre_tablagt(nombre_FK)
  • Añadir una una PK a una relación
  • ALTER TABLE R ADD CONSTRAINT PRIMARY KEY (nombre)
    tipo

13
DDL
  • Eliminación de una relación
  • DROP TABLE ltnombre_tablagt
  • Crear/Borrar índices sobre las tablas
  • CREATE INDEX ltnombre_incidegt ON ltnombre_tablagt
    ltnombre_atributosgt
  • DROP INDEX ltnombre_indicegt
  • Es recomendable poner un indice para
  • cada FK

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_dpt1

15
DDL
  • Pasos a seguir
  • 1 Crear SCHEMA
  • 2 Crear Tabla
  • 3 Crear PK
  • 4 Crear FK
  • 5 Crear Indices

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

17
DML
  • Insertar datos
  • INSERT INTO ltnombre_tablagt VALUES( , , )
  • Ejemplo
  • INSERT INTO Departamento VALUES (50, Análisis,
    30, NULL)
  • INSERT INTO Departamento (Id_dpto,Nombre,nº_emplea
    dos) VALUES (50, Análisis, 30) ?el resto de los
    valores de los campos que quedan los inserta con
    valores nulos.

18
DML
  • Borrar datos
  • DELETE FROM ltnombre_tablagt WHERE ltcondiciongt
  • Ejemplo
  • DELETE FROM Departamentos WHERE Fecha_creac lt
    1/1/2000

19
DML
  • Actualizar datos
  • UPDATE ltnombre_tablagtSET ltatributosgt WHERE
    ltcondiciongt
  • Ejemplo
  • UPDATE Departamentos SET NombreAnálisis WHERE
    Id_dpto1
  • ? Me pone en donde Id_dpto1, en la casilla
    nombre, Análisis.

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

21
  • SELECT ltnombre_camposgt FROM ltnombre_tablasgt WHERE
    ltcondicionesgt
  • 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.

22
  • SELECT ltnombre_camposgt FROM ltnombre_tablasgt WHERE
    ltcondicionesgt
  • 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.

23
(No Transcript)
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.AiS.Aj
  • SELECT FROM R UNION SELECT FROM S

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 colorROSA
  • SELECT FROM articulos WHERE colorROSA AND
    tallagt38

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_psuministros.codigo_p
  • SELECT FROM proveedores P, suministros S WHERE
    P.codigo_pS.codigo_p

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.nombrePerez AND
    perez.num_dptootro.num_depto

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

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_dpto10
  • Numero de empleados de cada departamento
  • SELECT num_dept, COUNT() FROM empleados GROUP BY
    num_dpto

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()gt50
  • Cláusula ORDER BY utilizada para ordenar los
    registros seleccionados
  • SELECT nombre, apellidos FROM alumnos ORDER BY
    fecha_nacimiento DESC

31
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.
32
OPERADORES DE COMPARACIÓN
lt ( olt) Menor que (o igual)
gt (o gt) Mayor que (o igual)
ltgt 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
Write a Comment
User Comments (0)
About PowerShow.com