Presentación SQL 11G 1

Preview:

Citation preview

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.

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.

Sentencias SQL

Lenguaje de manipulación de datos

Lenguaje de definición de datos

Lenguaje de control de datos

Control de Transaccion

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.

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.

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.

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.

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

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

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

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.

Sentencia SELECT basica

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

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:

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.

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.

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

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.

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

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

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.

Usando Operadores Aritméticos

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.

Precedencia de operadores

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.

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.

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.

Valores nulos en expresiones aritméticas.

Expresiones aritméticas contienen un valor nulo evaluado por null

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.

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

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)

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.

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

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.

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

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.

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

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

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.

Usando el comando DESCRIBE

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:

Recommended