O GoConqr está de visual novo! Conte para nós o que você achou.

Slides

Presentación SQL

Katherine Julissa Melendez Espanhol 31 slides

Presentación SQL

Slides do conjunto (31)

  1. Introducción a SQL

    • El lenguaje SQL permite la comunicación con el sistema de gestión de la base de datos. En 1979 Oracle Corporation presentó la primera implementación comercial de SQL, que estuvo disponible antes que otros productos de IBM. Por su parte, IBM desarrolló productos herederos del prototipo SYSTEM R, como DB2 y SQL/DS.
    • El instituto ANSI adoptó el lenguaje SQL como estándar para la gestión de bases de datos relacionales en octubre de 1986. En 1987 lo adopta ISO.
  2. Tipos de sentencias SQL

    • El lenguaje SQL proporciona un gran repertorio de sentencias, que se utilizan en variadas tareas, como consultar datos de la base de datos, crear, actualizar y eliminar datos de los objetos, controlar el acceso a la base de datos y a los objetos. Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:
  3. Tipos de sentencia SQL

    • Sentencias DDL (Data Description Language: Lenguaje de Descripción de datos). Se trata del lenguaje con el que se crea y mantiene la estructura de la base de datos. Sirve para realizar las siguientes tareas:
    • Crear un objeto de base de datos: tablas, vistas, procedimientos... (orden create).
    • Eliminar un objeto de base de datos (orden drop).
    • Modificar un objeto de base de datos (orden alter).
    • Conceder privilegios sobre un objeto de base de datos (orden grant).
    • Retirar privilegios sobre un objeto de base de datos (orden revoke).
    • Sentencias DML (Data Manipulation Language: Lenguaje de manipulación de datos). Este conjunto de sentencias sirve para manipular los datos contenidos en la base de datos. Es posible hacer estas operaciones:
    • Insert: insertar filas de datos a una tabla.
    • Update: actualizar filas de datos de una tabla.
    • Delete: eliminar filas de datos en una tabla.
    • Select: recuperar filas de datos de una tabla o vista.
  4. Tipos de datos

    • Tipo Char o Varchar2: Los datos se almacenan en formato ASCII o EBCDIC, dependiendo de la tabla de caracteres usados por el servidor. Éste almacena caracteres de longitud fija, entre 1 y 255. La longitud de la cadena se define entre paréntesis.
    • Tipo NUMBER: Con este tipo se almacenan datos numéricos, tanto enteros como decimales, con o sin signo. Soprta hasta 18 dígitos de presición.
    • Tipo LONG: El tipo long almacena cadenas de caracteres de longitud variable que contengan hasta 2 gigabytes de información. Se puede usar este tipo para almacenar textos muy grandes.
    • Tipo DATE: Se usa para almacenar información de fechas y horas. Para cada tipo Date se almacena la siguiente información: Siglo/Año/Mes/Día/Hora/Minutos/segundos.
    • Tipos de RAW y LONG RAW: Estos tipos sirven para almacenar datos binarios. RAW es similar al tipo VARCHAR2, con la diferencia de que maneja cadenas de bytes en lugar de cadenas de caracteres.
    • Tipo ROWD: Cada fila de una tabla tiene una dirección que identifica de forma única a la fila. Podemos consultar la dirección preguntando por la pseudocolumna ROWD.
  5. Consulta de los datos

    • Para recuperar información o, lo que es lo mismo, para realizar consultas a la base de datos, utilizaremos una única sentencia SELECT. El usuario emplea esta sentencia con el nivel de complejidad para él: especifica qué es lo que quiere obtener, no dónde ni cómmo.
    • De la consulta se puede obtener: cualquier unidad de datos, todos los datos, cualquier subconjunto de datos, cualquier conjunto de subconjuntos de datos.
  6. Sentencia SELECT

    • El formato de la sentencia SELECT es el siguiente:
    • SELECT [ALL | DISTINCT]
    • [exprese_colum1, exprese_colum2, .., expre_colum | * ]
    • FROM [nombre_tabla1, nombre_tabla2, ...., nombre_tablan]
    • [WHERE condición]
    • [ORDER BY expre_colum [DESC | ASC] [ , expre_colum [DESC | ASC] ... ] ;
    • Donde expre_colum puede ser una columna de una tabla, una constante, una expresión aritmética, una función o varias funciones unidas.
  7. Slide 7

    • FROM [nombre_tabla1, nombre_tabla2, ...., nombre_tablan]
    • Especifica la tabla o lista de tablas de las que se recuperarán los datos. Ejemplo: consultamos los nombres de alumnos y su nota de la tabla ALUMNOS:
    • SQL> SELECT Nom_alum, Nota FROM ALUMNOS;
    • Si el usuario que hace la consulta no es el propietario de la tabla, es necesario especificar el nombre de usuario delante de ella: nombre_usuario.nombre_tabla. Por ejemplo, si el usuario propietario de la tabla se llama PROFESOR emplearemos:
    • SQL> SELECT Nom_alum, Nota FROM PROFESOR.ALUMNOS:
    • Es posible asociar un nuevo nombre a las tablas mediante alias. Po ejemplo si la tabla ALUMNOS le damos el nombre de A. Las columnas de la tabla van acompañados de A.
    • SQL> SELECT A.Nom_alumn, A.Nota FROM ALUMNOS A;
  8. Slide 8

    • WHERE [where condición]
    • Obtiene las filas que cumplen la condición expresada. La complejidad de la condición es prácticamente ilimitada. El formato de la condición es: expresión operador expresión.
    • Las expresiones pueden ser: una constante, una expresión aritmética, un valor nulo o un nombre de columna.
    • Se pueden construir condiciones multiples usando los operadores lógicos booleanos estándares: AND, OR y NOT. Se pueden emplear paréntesis para forzar el orden de evaluación. Veamos unos ejemplos de condiciones en la cláusula WHERE:
    • WHERE NOTA = 5
    • WHERE (NOTA>=10) AND (CURSO=1)
    • WHERE (NOTA IS NULL) OR (UPPER (NOM_ALUM) = 'PEDRO' )
  9. Slide 9

    • ORDER BY [order by expre_columna [DES | ASC] [, EXPRE_COLUMNA [DESC | ASC] ...]
    • Especifica el criterio de clasificación del resultado de la consulta. ASC especifica ordenación ascendente, y DESC, descendente.
    • Puede contener expresiones con valores de columnas; por ejemplo:
    • SQL> SELECT * FROM ALUMNOS ORDER BY NOTA/5;
    • Asimismo, es posible anidar los criterios. El situado más a la izquierda será el principal.
    • Ejemplo: SQL> SELECT * FROM ALUMNOS ORDER BY NOM_ALUM, CURSO DESC; (ordena por NOM_ALUM ascendente y por CURSO descendente).
    • ALL
    • Recupera todas las filas, aunque algunas estén repetidas. Es la opción por omisión.
  10. Slide 10

    • DISTING
    • Solo recupera las filas que son distintas. Por ejemplo, consultamos los departamentos (columna DEPT_NO) de la tabla EMPLE.
    • SQL> SELECT DEPT_NO FROM EMPLE;
    • Aparecen todas las filas de la tabla EMPLE donde el DEPT_NO no sea nulo; también aparecen números de departamentos repetidos. Con DISTINCT se eliminan las filas repetidas.
    • SQL> SELECT DISTINCT DEPT_NO FROM EMPLE;
    • Selección de columnas
    • El formato de SELECT que nos permite seleccionar las columnas de una tabla es éste:
    • SELECT [ALL | |DISTINCT]
    • [expre_colum1, expre_colum2, .., expre_colum | * ]
    • FROM [nombre_tabla1, nombre_tabla2, ...., nombre_tablan]
    • Selección por fila
    • Para seleccionar determinadas filas necesitamos emplear la cláusula WHERE en la sentencia SELECT, [WHERE condición].
  11. Operadores aritméticos

    • Los operadores aritméticos sirven para formar expresiones con constantes, valores de columnas y funciones de valores de columnas.
    • Una forma posible de utilizar los operadores pueden ser:
    • SELECT col1 * col2, col1 - col2 FROM tabla1 WHERE col1 + col2 = 34;
  12. Operadores de comparación y lógicos

    • A partir de la tabla NOTAS_ALUMONS, deseamos obtener aquellos nombres de alumnos que tengan un 7 en NOTA1 y cuya media sea mayor que 6: SQL NOMNRE_ALUMON FROM NOTAS_ALUMNOS WHERE NOTA1=7 AND (NOTA1 + NOTA2 + NOTA3) / 3 > 7;
    • NOMBRE_ALUMNO
    • ------------------------------------
    • Benito Martín, Luis
  13. Opdor. de comparación y cdna. de cartrs.

    • Para comparar cadenas de caracteres, hasta ahora hemos utilizado el operador de comparación igual a (=). Así, a partir de la tabla EMPLE, obtenemos el apellido de los ANALISTAS del departamento 10:
    • SQL> SELECT APELLIDO FROM EMPLE WHERE OFICIO = 'ANALISTA' AND DEPT_NO=10;
    • Pero este operador no nos sirve si queremos hacer consultas de este tipo: "obtener los datos de los empleados cuyo apellido empliece por una P" u "obtener los nombres de alumnos que incluyan la palabra Pérez". Para especificar este tipo de consulta, en SQL usamos el operador LIKE que permite utilizar los siguientes caracteres especiales en las cadenas de comparación:
    • '%' Comodín: representa cualquier cadena de 0 a más caracteres.
    • '_' Marcador de posición: representa un carácter cualquiera.
    • En la cláusula WHERE este operador se utilizará de la siguiente manera:
    • WHERE columna LIKE 'caracteres_especiales'
    • En la sentencia WHERE se pueden usar varias cláusulas LIKE anidadas por operadores AND/OR: WHERE col1 LIKE 'car_especiales' AND/OR col2 LIKE 'car_especiales'.
  14. NULL Y NOT NULL

    • Se dice que una columna de una fila es NULL si está completamente vacía. Para comprobar si el valor de una columna es nulo empleamos la empresión: columna IS NULL. Si queremos saber si el valor de una columna no es nulo, usamos la empresión: columna IS NOT NULL. Cuando comparamos con valores nulos o no nulos no podemos utilizar los operadores de igualdad, mayor o menor.
    • Por ejemplo: a partir de la tabla EMPLE, consultamos los apellidos de los empleados cuya comisión es nula: SQL> SELECT APELLIDO FROM WHERE COMISION IS NULL;
    • Si quermos consultar los apellidos de los empleados cuya comisión no es nula teclearemos esto: SQL> SELECT APELLIDO FROM EMPLE WHERE COMISIÓN IS NOT NULL;
  15. Comprobaciones con conjuntos de valores

    • Hasta ahora, todas las comprobaciones lógicas que hemos visto compararn una columna o expresión con un valor. Ejemplo: OFICIO = 'ANALISTA' AND DEPT_NO=10;
    • Pero también podemos comparar una columna o una expresión con una lista de valores utilizando los operadores IN y BETWEEN.
    • IN
    • El operador IN nos permite comprobar si una expresión pertenece o no (NOT) a un conjunto de valores, haciendo posible la realización de comparaciones múltiples; su formato es:
    • <expresión> [NOT] IN (lista de valores separados por comas).
    • BETWEEN
    • El operador BETWEEN comprueba si un valor está comprendido o no (NOT) dentro de un rango de valore, desde un valor inicial a un valor final. Su formato es:
    • <expresión> [NOT] BETWEEN valor_inicial AND valor_final
  16. Combinación de operadores AND Y OR

    • Los operadores AND y OR se pueden combinar de forma ilimitada, pero hay que tener cuidado al usarlos y utilizar paréntesis para agrupar aquellas expresiones que se deseen evaluar juntas; si no nos servimos de los paréntesis, es posible que los resultados no sean los deseados.
  17. Subconsultas

    • A veces, para realizar alguna operación de consulta, necesitamos los datos devueltos por otra consulta; así, si queremos obtener los datos de los empleados que tengan el mismo oficio que 'PEPE', para comenzar hemos de averiguar qué empleados tienen el mismo oficio que 'PEPE' (segunda consulta). Este problema se puede resolver usando una subconsulta, que no es más que una sentencia SELECT dentro de otra SELECT. Las subconsultas son aquellas sentencias SELECT que forman parte de una cláusula WHERE de una sentencia SELECT anterior. Una subconsulta consistirá en incluir una declaración SELECT como parte de una cláusula WHERE. El formato de una subconsulta es igual a éste:
    • SELECT .....
    • FROM .....
    • WHERE columna operador_comparativo (SELECT...
    • FROM...
    • WHERE... );
    • La subconsulta (el comando SELECT entre paréntesis) se ejecutará primero y, posteriormente, el valor extraído es "introducido" enl la consulta principal.
  18. Combinación de tablas

    • Hasta ahora, en las consultas que hemos realizado sólo se ha utilizado una tabla, indicando a la derecha de la palabra FROM; pero hay veces que una consulta necesita columnas de varias tablas. En este caso, las tablas se expresarán a la derecha de la palabra FROM.
    • Sintaxis general:
    • SELECT columnas de las tablas citados en la cláusula 'from'
    • FROM tabla1, tabla2,.....
    • WHERE tabla1.columna = tabla2.columna;
  19. Funciones aritméticas

    • Las funciones aritméticas trabajan con datos de tipo numérico NUMBER. Este tipo incluye los dígitos de 0 a 9, el punto decimal y el signo menos, si es necesario. Los literales numéricos no se encierran entre comillas.
    • Estas funciones trabajan con tres clases de números: valores simples, grupos de valores y lista de valores. Algunas modifican los valores sobre los que actúan; otras informan de algo sobre los valores. Podemos dividir las funciones aritméticas en tres grupos:
    • -Funciones de valores simples.
    • -Funciones de grupos de valores.
    • -Funciones de listas.
    • Al describir los formatos de las funciones utilizaremos los corchetes ([ ]) para indicar que lo que va encerrado entre los corchetes es opcional.
  20. Funciones aritméticas

    • Funciones de valores simples: Son funciones sencillas que trabajan con valores simples. Un valor simple es: un número, como 6522.90, una variable, una columna de una tabla.
    • ABS(n). Devuelve el valor absoluto de "n". El valor absoluto es siempre un número positivo.
    • CEIL(n). Obtiene el valor entero inmediatamente superior o igual a "n".
    • FLOOR(n). Es lo opuesto a CELL: devuelve el valor entero inmediatamente inferior o igual a "n".
    • MOD(m,n). Devuelve el resto resultante de dividir "m" entre "n". Tanto "m" como "n" pueden ser números reales.
    • NVL(valor,expresión). Esta función se utiliza para sustituir un valor por otro. Si "valor" es NULL, es sustituido por la "expresión"; si no lo es, la función devuelve "valor". NVL se puede usar con cualquier tipo de datos: numéricos, carácter, tipo fecha, pero "valor" y "expresión" deben ser del mismo tipo, aunque admiten tipos diferentes.
  21. Slide 21

    • Funciones de valores simples:
    • POWER(m,exponente). Esta función calcula la potencia de un número. Devuelve el valor de "m" elevado a un "exponente".
    • ROUND(número[,m]). Está función redondea los números con la cantidad indicada de dígitos de precisón. Devuelve el valor de "número" redondeado a "m" decimales. Si "m" es nagativo, el redondeo de dígitos se lleva a cabo a la izquierda del punto decimal. Si se omite "m", devuelve "número" con 0 decimales y redondeado.
    • SING(valor). Está función indica el signo del "valor". Si "valor" es menor que 0, la función devuelve -1; y si "valor" es mayor que 0, la función devuelve 1.
    • SQRT(n). Devuleve la raíz cuadrada de "n". El valor de "n" no puede ser negativo.
    • TRUNC(número, [m]). Trunca los números para que tengan una cierta cantidad de dígitos de precisión. Devuelve "número" truncado a "m" decimales; "m" puede ser negativo: si lo es, trunca por la izquierda del punto decimal. Si se omite "m" devuelve "número" con 0 decimales.
    • Variance ([DISTINCT] valor). Devuelve la varianza de un conjunto de valores. Ignora los valores NULL.
  22. Funciones aritméticas

    • Funciones de grupo de valores: Hasta ahora nos hemos ocupado de funciones que operan con valores simples; no obstante, hay otras funciones estadísticas, como SUM, AVG y COUNT, que actúan sobre un grupo de filas para obtener un valor. Estas funciones permiten obtener la edad media de un grupo de alumnos, el alumno más joven, el más viejo, el número total de miembros de un grupo, etc. Los valores nulos son ignorados por las funciones de grupos de valores, y los cálculos se realizan sin contar con ellos.
    • AVG(n). Esta función calcula el valor medio de "n" ignorando los valores nulos.
    • COUNT(*|expresión). Las función COUNT cuenta el número de veces que "expresión" evalúa algún dato con valor no nulo. La opción "*" cuenta todas las filas seleccionadas.
    • MAX(expresión). Esta función calcula el máximo valor de "expresión".
    • MIN(expresión). Esta función calcula el minímo valor de "expresión".
    • SUM(expresión). La función SUM obtiene la suma de valores de "expresión".
    • DISTINCT en funciones de grupo. En todas las funciones de grupo, al indicar los argumentos se pueden emplear las cláusulas DISTINCT y ALL.
  23. Funciones aritméticas

    • Funciones de listas: Las funciones de listas trabajan sobre un grupo de columnas dentro de una misma fila. Comparan los valores de cada una de las columnas en el interior de una fila para obtener el mayor o el menor valor de la lista.
    • GREATEST (valor1, valor2...). Obtiene el mayor valor de la lista.
    • LEAST (valor1, valor2...). Obtiene el menor valor de la lista.
  24. Funciones de cadena de caracteres

    • Estas funciones trabajan con datos de tipo CHAR o VARCHAR2. Estos datos incluyen cualqueir carácter alfanumérico: letras, números y caracteres especiales. Los literalesse deben encerrar entre comillas simples. Ejemplo de una cadena de caracteres: 'El Quijote'.
    • Las funciones de cadenas permiten manipular cadenas de letras u otros caracteres. Estas funciones posibilitan calcular el número de caracteres de una cadena, convertir una cadena a mayúsculas o a minúsculas, suprimir caracteres a la izquierda o a la derecha, ect.
  25. Funciones que devuelven valores carácter

    • CHR(cad1,cad2). Devuelve el carácter cuyo valor en binario es equivalente a "n".
    • CONCAT(cad1, cad2). Se trata de una función de concatenación de cadenas. Devuelve "cad1" concatenada con "cad2". Esta función es equivalente al operador "||".
    • LOWER(cad). Devuelve la cadena "cad" con todas sus letras convertidasa minúsculas.
    • UPPER(cad). Devuelve la cadena "cad" con todas sus letras convertidasa mayúsculas.
    • INITCAP(cad). Convierte la primera letra de cada palabra de "cad" a mayúsculas y el resto, a minúsculas.
    • LPAD(cad1,n[,cad2]). Esta función añade caracteres a la izquierda de la cadena "cad1" hasta que alcance cierta longitud.
    • RPAD(cad1,n[,cad2]). Esta función añade caracteres a la derecha de la cadena "cad1" hasta que alcance cierta longitud.
    • LTRIM(cad [,set]). Suprime un conjunto de caracteres a la izquierda de la cadena.
  26. Funciones que devuelven valores carácter

    • RTRIM(cad [,set]). Suprime un conjunto de caracteres a la derecha de la cadena.
    • REPLACE(cad, cadena_búsqueda [,cadena_sustitución]). Sustituye un carácter o varios caracteres de una cadena con 0 o más caracteres.
    • SUBSTR(cad, inicio[,n]). Estrae una parte de una cadena.
    • TRANSLATE(cad1, cad2, cad3). Esta función convierte caracteres de una cadena en caracteres diferentes, de acuerdo con un plan de sustitución que marca el usuario.
    • SOUNDEX(cadena). Está función devuelve una cadena de caracteres que continen la presentación fonética de "cadena".
  27. Funciones que devuelven valores numéric

    • Estas funciones devuelven valores numéricos, como el número de caracteres que tiene una cadena o la posición en la que se encuentra un determinado carácter en una cadena. Se trata de las siguientes funciones:
    • ASCII(cad). Devuelve el valor ASCII de la primera letra de la cadena "cad".
    • INSTR(cad1, cad2 [,comienzo [,m] ] ). Esta función busca un conjunto de caracteres en una cadena.
    • LENGTH(cad). Esta función devuelve el número de caracteres de "cad".
  28. Funciones para el manejo de fechas

    • Oracle puede almacenar datos tipo fecha (DATE) y posee una interesante utilidad para fomentar las fechas de cualquier manera que se pueda concebir. Tiene un formato por omisión 'DD-MON-YY', pero con la función TO_CHAR es posible mostrar las fechas de cualquier modo.
    • SYSDATE. Esta función devuelve la fecha del sistema. Por ejemplo, QSL> SELECT SYSDATE FROM DUAL;
    • ADD_MONTHS(fecha, n). Esta función devuelve la fecha "fecha" incrementada en "n" meses.
    • LAST_DAY(fecha). Devuelve la fecha del último día del mes que contiene "fecha".
    • MONTHS_BETWEEN(fecha1, fecha2). Devuelve la diferencia en meses entre las fechas "fecha1" y "fecha2". Puede ser un número decimal.
    • NEXT_DAY(fecha, cad). Devuelve la fecha del primer día de la semana indicado por "cad" después de la fecha indicada por "fecha".
  29. Funciones de conversión

    • La mayoría de las funciones que hemos visto hasta ahora son funciones de transformación, esto es, cambian los objetos. Hay otras funciones que cambian los objetos de una manera especial, pues transforman un tipo de dato en otro.
    • TO_CHAR(fecha, 'formato'). Convierte una fecha "fecha" (de tipo DATE) a tipo "VARCHAR2" en el "formato" especifícado.
    • TO_CHAR( número, 'formato'). Esta función convierte un "número" (de tipo NUMBER) a tipo VARCHAR2 en el "formato" especifícado.
    • TO_NUMBER( cadena [,formato]). Convierte la cadena "cadena" a tipo NUMBER según el "formato" especifícado.
    • TIPO_DATE(cad, 'formato'). Convierte "cad", de tipo VARCHAR2 o CHAR, a un valor de tipo DATE. El formato de fecha elegido es "formato".
  30. Otras funciones

    • DECODE (var, val1, cod1, val2, cod2..., valor_por_defecto). Esta función sustituye un valor por otro. Si "var" es igual a cualquier valor de la lista ("val1", "val2"...), devuelve el correspondiente código ("cod1","cod2"...).
    • VSIZE (expresión). Devuelve el número de bytes que ocupa expresión. Si expresión es nulo, la función devuelve nulo.
    • DUMP (cadena [, formato [,comienzo [,longitud] ] ]). Esta función visualiza el valor de "cadena", que puede ser un literal o una expresión, en formato de datos interno, en ASCII, octal, decimal, hexadecimal o en formato de carácter.
    • USER. Esta función devuelve el nombre del usuario actual.
    • UID. Devuelve el identificador del usuario actual. Al crear un usuario, Oracle le asigna un número. Este número identifica a cada usuario y es único en la base de datos.
  31. Base de datos 2

    • Base de datos 2

Informações

Descrição
Slides sobre Presentación SQL, criado por Katherine Julissa Melendez em 20-10-2019.
Visualizações
11
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?