Presentación SQL 11G 1

101

Transcript of Presentación SQL 11G 1

Page 1: Presentación SQL 11G 1
Page 2: Presentación SQL 11G 1

Usando SQL para consultar tus bases de datosLenguaje estructurado de consulta SQL es:- El lenguaje estándar ANSI para operación de

bases de datos relacionales.- Eficiente, fácil de aprender y usar.- Funcionalmente completo (Con SQL, puedes

definir, recuperar y manipular datos en tablas.

Page 3: Presentación SQL 11G 1
Page 4: Presentación SQL 11G 1

Usando SQL para consultar tu base de datos

En una base de datos relaciona, no especificas la ruta de acceso para las tablas, y no se necesita saber como los datos son arreglados físicamente.

Para tener acceso a la base de datos, se ejecuta una sentencia de lenguaje de consulta estructurada, cual es el Instituto Americano Nacional de Estandarización (ANSI) lenguaje estándar para la operación de bases de datos relacionales.SQL es un conjunto de sentencias con las cuales todos los programas y usuarios acceden datos en una base de datos Oracle.Programas de aplicación y herramientas de Oracle permiten a los usuarios el acceso a las bases de datos sin el uso de SQL directamente, pero esta aplicaciones, en turnos, debe usar SQL cuando ejecuta la solicitud del usuario.SQL provee sentencias para una variedad de tareas, incluyendo:-consulta de datos.-Inserción, dar de alta y borrar filas en la tabla-Creación, remplazamiento, alteraciones y rompimiento de objetos.-Control de acceso para la base de datos y sus objetos.-Garantía de consistencia e integridad en la base de datos

SQL unifica todas las tareas procedimentales en un lenguaje consistente y permite trabajar con los datos en un nivel lógico.

Page 5: Presentación SQL 11G 1
Page 6: Presentación SQL 11G 1

Sentencias SQL

Lenguaje de manipulación de datos

Lenguaje de definición de datos

Lenguaje de control de datos

Control de Transaccion

Page 7: Presentación SQL 11G 1
Page 8: Presentación SQL 11G 1

Sentencias de SQLLas sentencias SQL son apoyadas por el consentimiento de Oracle con estándares industriales. Oracle Corporation asegura futura conformidad con estándares globales por personal clave globalmente activo en los comités estándar de SQL. El comité de aceptación son ANSI y la Organización Internacional para la Estandarización (ISO). Ambos ANSI e ISO han aceptado SQL como el lenguaje estándar para las bases de datos relacionales.

Recuperar información desde la base de datos, insertar nuevas filas, cambiar filas existentes y remover filas no deseadas desde las tablas en la base de datos, respectivamente. Colectivamente conocido como lenguaje de manipulación de datos (DML).

Establece, cambia y remueve estructura de datos desde tablas. Colectivamente conocido como lenguaje de definicion de datos (DDL)

Proporciona o quita derechos de acceso de la base de datos Oracle y sus estructuras internas

Administra los cambios hechos por sentencias DML. Cambios de informacios pueden ser agrupados juntos dentro de transacciones lógicas.

Page 9: Presentación SQL 11G 1
Page 10: Presentación SQL 11G 1

Ambiente de desarrollo para SQL

Hay dos ambientes de desarrollo para este curso:-La herramienta primaria es Oracle SQL Developer.-También puede ser utilizado SQL*Plus command-line.

Page 11: Presentación SQL 11G 1
Page 12: Presentación SQL 11G 1

Ambiente de desarrollo para SQLDesarrollador SQLEste curso es desarrollado usando Oracle SQL Developer como la herramienta para ejecución de sentencias SQL mencionados en los ejemplos dentro de las lecciones y practicas SQL Developer versión 1.5.4 es transportado con Oracle Database 11g, y es la herramienta por default para esta clase.SQL*PlusEl ambiente SQL*Plus también puede ser utilizado para correr todos los comandos SQL cubiertos en este curso.NotaMira Appedix C para información acerca del uso de SQL Developer, incluyendo instrucciones simples en la instalacion version 1.5.4Mira Appendix D para información acerca de usar SQL*Plus.

Page 13: Presentación SQL 11G 1
Page 14: Presentación SQL 11G 1
Page 15: Presentación SQL 11G 1

Descripción de esquema “Human Resources”El esquema “Human Resources” es una parte muestra de esquemas Oracle, estos pueden ser instalados en una base de datos Oracle. Las sesiones de práctica en este curso usan información del esquema HR.Descripciones de tablas-REGIONS contiene filas que representan alguna región como América, Asia y mas.-COUNTRIES contiene filas de estados, cada uno de estos es asociado con una región.-LOCATIONS contiene la dirección especifica de una oficina especifica, almacén, o sitio de producción de una compañía en un estado particular-DEPARTMENTS muestra detalles acerca de departamentos en los cuales los empleados trabajan. Cada departamento puede tener una relación representado en el departamento administrativo en la tabla EMPLOYEES.-EMPLOYEES contiene detalles acerca de cada empleado que trabaja para un departamento. Algunos empleados no pueden ser asignados a ningún departamento.-JOB contiene los tipos de trabajo que pueden ser ocupados por cada empleado.-JOB_HISTORY contiene el historial de trabajo de los empleados, Si un empleado cambia de departamento o de trabajo dentro de un departamento, una nueva fila será insertada dentro de esta tabla con la anterior información del empleado.

Page 16: Presentación SQL 11G 1
Page 17: Presentación SQL 11G 1
Page 18: Presentación SQL 11G 1

Tablas usadas en este curso:

Las siguientes tablas principales fueron utilizadas en este curso:

-EMPLOYEES table: Da detalles de todos los empleados.-DEPARTMENTS table: Da detalles de todos los departamentos.-JOB_GRADES table: Da detalles de salarios para varios grados.

A parte de estas tablas, Se tendrá que usar otras tablas listadas en diapositivas previas como LOCATIONS y JOB_HISTORY table.

Note: La estructura e información para todas estas tablas fueron dadas en AppendixB

Page 19: Presentación SQL 11G 1
Page 20: Presentación SQL 11G 1
Page 21: Presentación SQL 11G 1

OBJETIVOS

Despues De completar la leccion tu deberas ser capas de hacer lo siguiente:

Listar las capacidades de la sentencia SELECT de SQLEjecutar una sentencia SELECT basica

Page 22: Presentación SQL 11G 1
Page 23: Presentación SQL 11G 1

Agenda de la lección

•Sentencia select básica•Expresiones aritmetica y valures NULL en la

sentencia SELECT•Alias de columna

•Uso del operador de concatenacion, cadenas literales de caracteres, comillas alternativas y

palabra clave DISTINCT •Comando DESCRIBE

Page 24: Presentación SQL 11G 1
Page 25: Presentación SQL 11G 1
Page 26: Presentación SQL 11G 1

Capacidades de la sentencia SELECT de SQL

Una sentencia SELECT regresa valores de la base de datos. Con la sentencia SELECT´puedes hacer lo siguiente:•Proyección: regresa la columna seleccionada en una consulta de la base de datos. Puedes seleccionar una columna o muchas de acuerdo a lo que requieras.•Selección: selecciona los renglones de lña tabla que quieres que regresen en la consulta.Puedes usar varios criterios de restriccion para el llamado a la consulta.•Intercalar.- puedes establecer conecion entre datos de diferentes tablas de la base de datos.

Page 27: Presentación SQL 11G 1
Page 28: Presentación SQL 11G 1

Sentencia SELECT basica

SELECT identifica la columna que sera mostrada en pantalla.FROM.- identifica la tabla que contiene esa columna.

Page 29: Presentación SQL 11G 1
Page 30: Presentación SQL 11G 1
Page 31: Presentación SQL 11G 1
Page 32: Presentación SQL 11G 1

Seleccionando todas las columnasPuedes mostrar todas las columnas de datos de una tabla colocando un asterisco

(*) despues de la sentencia SELECT, Por ejemplo, en la tabla departamentos tenemos 4 columnas :

Tambien puedes mostrar todas las columnas de la tabla listandolas despues de la sentencia SELECT:

Page 33: Presentación SQL 11G 1
Page 34: Presentación SQL 11G 1
Page 35: Presentación SQL 11G 1

Seleccionar columnas especificas

Usando la sentencia SELECT tu puedes seleccionar distintas columans de la tabla usando el nombre especifico de la columna y separandolos por una

coma.Puedes especificar el orden el que quieres que se

muestren usando el comando SELECT.

Page 36: Presentación SQL 11G 1
Page 37: Presentación SQL 11G 1

Escribiendo sentencias SQL

Las sentencias SQL no son sensibles.•Las sentencias SQL se pueden escribir en una o mas lineas.

•Las palabras clave no se pueden abreviar o separar en distintas lineas.•Usualmente las clausulas se colocan entre lineas.•Se usa guineas para mejorar la legibilidad.

•En SQL Developer, las sentencias SQL pueden ser opcionalmente terminadas con punto y coma.

•El punto y coma se requiere en instrucciones ejecutadas en SQL. En SQL*PLUS ues necesario poner punto y coma al final de cada sentencia SQL.

Page 38: Presentación SQL 11G 1
Page 39: Presentación SQL 11G 1
Page 40: Presentación SQL 11G 1

Titulos de columnas por defecto

SQL Developer:Alineacion de titulo por defecto: izquierda- alineacionVisualizacion de titulo por defecto: mayuscula

SQL* PLUSTitulos de las columnas carácter y fecha estan alineados a la izquierdaNumero de la cabecera de columna esta alineado a la derechaVisualizacion de encabezado por defecto: mayuscula

Page 41: Presentación SQL 11G 1
Page 42: Presentación SQL 11G 1

Columna de encabezado por defectoEn SQL Developer los encabezados de las columnas son mostradas en mayusculas y esta alineadas a la izquierda.

Puede eliminar la columna encabezado con un alias . Alias de columnas son cubiertas en esta leccion.

Page 43: Presentación SQL 11G 1
Page 44: Presentación SQL 11G 1

Leccion agenda

Instrucción basica SELECTExpresiones aritmeticas y valores NULL en la instrucción SELECTAlias de columnas uso del operador concatenación Cadenas de caracteres literales Operador comilla alternativa

Page 45: Presentación SQL 11G 1
Page 46: Presentación SQL 11G 1

Crea expresiones con numeros y fechas mediante el uso de operadores aritmeticos + suma- Resta- * multiplicación - / división

Page 47: Presentación SQL 11G 1
Page 48: Presentación SQL 11G 1

Expresiones aritméticasPuede que se necesite modificar la manera en la cual los datos son proyectados, o puede que se desee realizar cálculos, o mirar varios escenarios. Todo esto es posible usando expresiones aritméticas. Una expresión aritmética puede contener nombres de columnas, valores de constantes numéricas y los operadores aritméticos.

Operadores aritméticosLas presentaciones listadas de operadores aritméticos están disponibles en SQL. Puede usar operadores aritméticos en cualquier clausula de una sentencia SQL (excepto en la clausula FROM).

Nota:Con los datos de tipo DATE y TIMESTAMP, puedes usar solo los operadores de adición y sustracción.

Page 49: Presentación SQL 11G 1
Page 50: Presentación SQL 11G 1

Usando Operadores Aritméticos

Page 51: Presentación SQL 11G 1
Page 52: Presentación SQL 11G 1

Usando Operadores AritméticosEl ejemplo en las diapositivas usa el operador adición para calcular un salario aumentado de $300 para todos los empleados. La diapositiva también proyecta una columna SALARY +300 en la salida.Note que la columna resultante calculada, SALARY + 300, no es una nueva columna en la tabla EMPLOYEES, es solo para la proyección. Por default, el nombre de una nueva columna viene desde los cálculos que se generaron – en este caso, salary+300.

Nota: El servidor Oracle ignora espacios en blanco antes y después del operador aritmético.

Precedencia de operadoresSi una expresión aritmética contiene mas de un operador, multiplicación y división son evaluados primero. Si los operadores en una expresión son de la misma prioridad, la evaluación se hará de izquierda a derecha.Puede usar paréntesis para forzar la expresión que esta dentro de los paréntesis con el fin de que se evalúe primero.

Reglas de precedencia-Multiplicación y división ocurren primero de la adición y sustracción.-Operadores de la misma prioridad son evaluados de izquierda a derecha.-Los paréntesis son usados para anular la procedencia por default o dar claridad a la sentencia.

Page 53: Presentación SQL 11G 1
Page 54: Presentación SQL 11G 1

Precedencia de operadores

Page 55: Presentación SQL 11G 1
Page 56: Presentación SQL 11G 1

Precedencia de operadores (continuación)

Tl primer ejemplo en la presentación visualiza el apellido, salario y compensación anual de los empleados. Calcula la compensación anual por la multiplicación del salario mensual por 12, mas un bono por $100.Note que la multiplicación es realizada antes de la adición.

Nota: Use paréntesis para reforzar la orden estándar de precedencia y para proveer claridad. Por ejemplo, la expresión en la presentación puede ser escrita como (12+salary)+100 sin ningún cambio en el resultado.

Usando paréntesis

Puede anular las reglas de precedencia al usar paréntesis para especificar el orden deseado en los operadores que son ejecutados.El segundo ejemplo en la presentación presenta el apellido, salario y compensación anual de empleados. Calcula la compensación anual como a continuación: añadiendo un bono mensual de $100 para el salario mensual, y después multiplicando el subtotal por 12. Debido a los paréntesis, la adición toma prioridad a la multiplicación.

Page 57: Presentación SQL 11G 1
Page 58: Presentación SQL 11G 1

Definiendo un valor nulo

Nulo es un valor que es invalido, sin asignacion, desconocido o no aplicable.

Nulno es lo mismo que cero o espacio en blanco.

Page 59: Presentación SQL 11G 1
Page 60: Presentación SQL 11G 1

Definiendo un valor nuloSi una fila carece un dato para una columna particular, ese valor es dicho para ser null o para contener un null.Null es un valor que no es disponible, no asignado, desconocido o inaplicable. Null no es lo mismo que cero o espacio en blanco. Cero es un numero y espacio en blanco es un carácter.Columnas de cualquier tipo de dato puede contener nulos. Como sea, algunas restricciones (NOT NULL and PRIMARYKEY) previenen nulls desde que se empiezan a usar en la columna.En la columna COMMISSION_PCT en la tabla EMPLOUEES, notifica que solo un sales manager o sales presentative pueden recibir comission. Otros empleados no pueden tener comisiones. Un null representa ese hecho.Nota: Por deafault,SQL Developer usa la literal, (null), para identificar variables null. Como sea, Puede agregar algo mas relevante para usted.Para hacerlo, selecciones preferencias desde el menu de herramientas. En la caja de digalo de preferencias, expandir el nodo de base de datos. Click en parámetros avanzados y en el panel derecho, “Display Null value As”,poner el valor apropiado.

Page 61: Presentación SQL 11G 1
Page 62: Presentación SQL 11G 1

Valores nulos en expresiones aritméticas.

Expresiones aritméticas contienen un valor nulo evaluado por null

Page 63: Presentación SQL 11G 1
Page 64: Presentación SQL 11G 1

Valores nulos en expresiones aritméticasSi cualquier valor de columna en una expresion aritmetica es nulo, el resultado es null, Por ejemplo, si se pretende hacer una division por cero, se obtendrá un error. Como sea, Si se divide un numero por nulo, el resultado es un null o desconocido.En el ejemplo de la presentación, employee Whalen no obtiene ninguna comisión. Porque la columna COMMISSION:PCT en la expresión aritmética es nulo, el resultado es nulo.

Page 65: Presentación SQL 11G 1
Page 66: Presentación SQL 11G 1

Lección Agenda

Sentencia SELECT basica

Expresion aritmetica y valores nulos en la sentencia SELECT

Alias de comulnas

Uso del operador concatenacion, cadenas de caracteres, operador quote alternativo y la palabra clave DISTINCT

Comando DESCRIBE

Page 67: Presentación SQL 11G 1
Page 68: Presentación SQL 11G 1

Definiendo un alias de columna

un alias de columna:

Renombrar un encabezado de columna

Es útil con calculos

Inmediatamente sigue el nombre de columna (puede ser tambien opcional la palaba clave AS ente la columna nombre y el alias)

Page 69: Presentación SQL 11G 1
Page 70: Presentación SQL 11G 1

Definiendo un alias de columna

Cuando se muestra el resultado de una consulta, SQL Developer normalmente usa el nombre de la columna seleccionada como el encabezado de columna. Este encabezado puede no ser descriptivo y puede ser difícil de entender. Puede cambiar el encabezado de columna usando un alias de columna.

Específicamente el alias después de la columna en la lista SELECT usa espacios en blanco como separador. Por default, el encabezado alias aparece arriba. Si el alias contiene espacios o caracteres especiales (como # o $),O en ese caso, encerrar el alias en comillas dobles.

Page 71: Presentación SQL 11G 1
Page 72: Presentación SQL 11G 1
Page 73: Presentación SQL 11G 1
Page 74: Presentación SQL 11G 1
Page 75: Presentación SQL 11G 1
Page 76: Presentación SQL 11G 1
Page 77: Presentación SQL 11G 1
Page 78: Presentación SQL 11G 1
Page 79: Presentación SQL 11G 1
Page 80: Presentación SQL 11G 1
Page 81: Presentación SQL 11G 1

•Especifica su propia comilla delimitadora•Selecciona cualquier limite•Incrementa la legibilidad y la usabilidad

Page 82: Presentación SQL 11G 1
Page 83: Presentación SQL 11G 1

Alternativa Quote Operador

Muchas declaraciones de SQL usan caracteres literales en expresiones o condiciones. Si la misma literal contiene una comilla simple, puede ver eloperador quote y seleccionas su propia comilla delimitadora.

Usted puede escojer cualquier delimitante conveniente, un Byte simple o multibyte o cualquiera de los siguientes caracteres [] {} () o <>.

En el ejemplo, el string contiene una comilla simple, que es normalmente interpretada como un delimitante de un caracter string. Usando el operadorq o llaves son usadas como una comilla delimitadora. el caracter siguiente las llaves delimitadoras son interpretadas como un caracter string.

Page 84: Presentación SQL 11G 1
Page 85: Presentación SQL 11G 1

La pantalla predeterminada de consultas es en todas las filas, incluyendo filas duplicadas

Page 86: Presentación SQL 11G 1
Page 87: Presentación SQL 11G 1

Filas duplicadas

Solamente indicas de otramanera, SQL manda el resultado de una consulta sin eliminar las filas duplicadas. El primer ejemplo en la fila desplegabletodos los numeros de departamentos de la tabla empleados, nota que los numeros de departamentos se repitieron.

Para eliminar filas duplicadas en el resultado, incluyendo la palabra clave DISTINCT en la clausula SELECT inmediatamente despues la palabra claveSELECT. En el segundo ejemplo en el despegable, la tabla EMPLEADOS actualmente contiene 20 filas, pero solamente existen siete departamentos unicosen la tabla.

Tu puedes especificar multiples columnas despues de el calificador DISTINCT. El calificador DISTINCT afecta a todas las columas seleccionadasy solo el resultado es distinto a la convinacion de las columnas.

Page 88: Presentación SQL 11G 1
Page 89: Presentación SQL 11G 1

Leccion Agenda

-Declaracion Basica de SELECT-Expresiones Aritmeticas y valores NULOS en la declaracion SELECT-Columna Alias-Uso del operador concatenador, Caracteres String operador alternativo quote y la palabra clave DISTINCT-Comando DESCRIBE

Page 90: Presentación SQL 11G 1
Page 91: Presentación SQL 11G 1

Mostrando la estructura de la tabla

-Usa el comando DESCRIBIR para mostrar la estructura de la tabla

-O, Selecciona la tabla en el arbol de conexiones y usa el tabulador columna para ver la estructura de la tabla

Page 92: Presentación SQL 11G 1
Page 93: Presentación SQL 11G 1

Mostrando la estructura de la tabla

Tu puedes mostrar la estructura de una tabla usando el comando DESCRIBE. El comando muestra los nombres de las columnas y los tipos de datosy muestra una tabla organizada (las consultas organizadas no tienen consultas NOT NULL).

En la sintaxis, nombre tabla es el nombre de cualquier tabla existente, ver o sinónimo es accesible al usuario.

Usando la interfaz SQL desarrolladora GUI, tu puedes seleccionar la tabla en el árbol de conexiones y usar la columna tabular paraver la estructura de la tabla

Nota: El comando describir es soportado por ambos SQL PLUS Y SQL DEVELOPER.

Page 94: Presentación SQL 11G 1
Page 95: Presentación SQL 11G 1

Usando el comando DESCRIBE

Page 96: Presentación SQL 11G 1
Page 97: Presentación SQL 11G 1

Usando el comando DESCRIBE

El ejemplo desplegable muestra informacion acerca de la estructura de la tabla EMPLOYEES usando el comando DESCRIBE

En la pantalla resultante, NULL indica que el valor de esa columna pueda ser desconocida. NOT NULL indica que esa columnadeba contener informacion. Tipo muestra el tipo de dato de la columna

El tipo de dato es descrito en la siguiente tabla:

Page 98: Presentación SQL 11G 1
Page 99: Presentación SQL 11G 1
Page 100: Presentación SQL 11G 1
Page 101: Presentación SQL 11G 1