Sql

Navegación en los menús
Se puede navegar en el Oracle Database XE en su interfaz gráfica de usuario haciendo clic en los iconos grandes en la Página de Inicio de base de datos y en las páginas de navegación.
Al utilizar estos iconos, se tendrán dos opciones:
Al hacer clic en el icono para ir a la página indicada por el nombre del icono.
Es posible que  se tenga que hacer clic en un número de estos iconos, descendiendo una página a la vez en la jerarquía de la página, antes de llegar a la página de destino.
Se selección desde el menú del icono dando clic en la flecha hacia abajo del lado derecho del icono para ver un menú, y a continuación, se podrá seleccionar una opción en el menú o desde cualquiera de sus submenús.
Por ejemplo:
Introducción de la aplicación y lenguaje SQL:
Oracle ha mantenido los estándares de la industria por ello a lo largo de sus distintas versiones ha incorporado el lenguaje SQL como la herramienta de extracción de datos oficial en sus manejadores de datos.
SQL es el lenguaje para acceder a una base de datos. Este lenguaje permite estructurar comandos de instrucciones SQL para realizar distintas tareas, como recuperar datos de tablas. El lenguaje SQL se encarga de automatizar la forma de navegar la base de datos y realizar la tarea deseada. Todas las operaciones de una base de datos, incluyendo la versión de Oracle Database 10g se realizan mediante sentencias SQL.
Aplicaciones SQL:
Con las instrucciones que posee el lenguaje SQL se pueden realizar fundamentalmente las siguientes acciones:
  • Consultar, insertar, eliminar y actualizar datos en las tablas.
  • Realizar cálculos, almacenar e imprimir los resultados de consulta que se presenten.
Clasificación de los enunciados SQL:
Las instrucciones SQL que se pueden reproducir en esta aplicación se dividen en varias categorías , de acuerdo a los estándares internacionales dictados por los American National Standars Institute (ANSI) e International Standars Organization (ISO):
  • Lenguaje de manipulación de datos (DML)
Estas declaraciones permiten la creación de consultas, ingresar, actualizar y eliminar datos presentes en las tablas.
  •  Control de transacciones declaradas
Estas declaraciones permiten confirmar o revertir el procesamiento de transacciones (se conoce como transacción a un grupo de cambios).
  • Data Definition Language (DDL)
Estas declaraciones crear, modifican y eliminan bases de datos y objetos.
Ejemplos básicos de sentencias SQL ANSI:

Lo que se debe tener en cuenta al escribir una sentencias SQL:
  •   Los enunciados no son sensitivos a mayúsculas o minúsculas a menos que se especifique
  • Los enunciados pueden ser capturados en una o más líneas
  • Las palabras reservadas no pueden ser divididas o abreviadas
  •  Las cláusulas deberán en la medida de lo posible escribirse en nuevas líneas para mejorar la lectura
  • Se recomienda que las palabras reservadas sean escritas en mayúsculas y las otras palabras en minúsculas 
En Oracle es posible la ejecución de enunciados SQL con la ayuda de la herramienta conocida como: Comandos SQL, Script editor o líneas de comando SQL.
Para ejecutar comandos se deben seguir las siguientes instrucciones:
1.     Ingrese a la página principal de base de datos.
2.     En la página de base de datos, haga clic en el icono de SQL para mostrar la página SQL.
3.     Haga clic en el icono de comandos SQL para mostrar los comandos de la página de SQL.
4.     En los comandos de la página de SQL, escriba la siguiente instrucción:
SELECT * FROM departments;
5.  Seleccionar o resaltar la instrucción SQL que desea ejecutar si se tiene más de 2 consultas, a continuación, haga clic en Ejecutar para ejecutar la instrucción y mostrar los resultados.

6.     Si desea guardar las instrucciones SQL para su uso futuro, haga clic en el botón Guardar.
7.     En el campo Nombre, escriba un nombre para las instrucciones SQL guardado. También puede introducir una descripción opcional. Haga clic en el botón Guardar para guardar la instrucción SQL.
8.     Para acceder a guardar las instrucciones SQL, haga clic en la ficha SQL guardada y seleccione el nombre de la instrucción SQL guardada que desea acceder.
Enunciado de Selección de Datos
El enunciado de Selección de datos llamado SELECT es el enunciado más poderoso y versátil que se dispone en el lenguaje de SQL.
Pues permite obtener la información de la base de datos respetando siempre la integridad y consistencia de la información.

Capacidades del Select
El enunciado de selección trabaja directamente con los objetos llamados tablas de la base de datos, es importante recordar que en el modelo bidimensional las tablas se visualizan como la estructura formada por renglones y columnas, tal como se ve en la siguiente figura:

Recuperación de datos en Oracle 10g
Para poder ejecutar un enunciado de selección bastará con seguir los siguientes pasos:
1.     Conectarse o iniciar sesión en la consola de Oracle
2.     Elegir la opción de SQL
3.     Y seleccionar la opción de comandos de SQL
4.     En la sección del editor se deberá escribir el enunciado y al terminar
5.     Se deberá dar un clic en el botón llamado Ejecutar para ver el resultado de la extracción de datos
Sintaxis importantes en sql

 [] (corchetes). Los corchetes sirven para encerrar texto que no es obligatorio en el comando, es decir para indicar una parte opcional.
| (barra vertical). Este símbolo (|) , la barra vertical, indica opción, es decir que se puede elegir entre varias opciones
...  (puntos suspensivos) Indica que se puede repetir el texto anterior en el comando continuamente (significaría, y así sucesivamente)
{} (llaves) Las llaves sirven para indicar opciones mutuamente exclusivas pero obligatorias. Es decir, opciones de las que sólo se puede elegir una opción, pero de las que es obligado elegir una. 
Ordenes en sql
orden CREATE TABLE
Es la orden SQL que permite crear una tabla. Por defecto será almacenad en el tablespace por defecto del usuario que crea la tabla. Sintaxis:
CREATE TABLE [esquema.] nombreDeTabla
(nombreDeLaColumna1 tipoDeDatos [, ...]);

Ejemplo:

CREATE TABLE proveedores (nombre varchar2(25));
Crea una tabla con un solo campo de tipo varchar2. Sólo se podrá crear la tabla si el usuario posee los permisos necesarios para ello. Si la tabla pertenece a otro esquema (suponiendo que el usuario tenga permiso para grabar tablas en ese otro esquema), se antepone al nombre de la tabla , el nombre del esquema:
CREATE TABLE otroUsuario.proveedores (nombre varchar2(25));

orden DESCRIBE
El comando DESCRIBE, permite obtener la estructura de una tabla. Ejemplo:
DESCRIBE proveedores;
Y aparecerán los campos de la tabla proveedores.

orden INSERT
Permite añadir datos a las tablas. Más adelante se comenta de forma más detallada. Su sintaxis básica es:
INSERT INTO tabla [(columna1 [, columna2...])]
 VALUES (valor1 [,valor2]);
Indicando la tabla se añaden los datos que se especifiquen tras el apartado values en un nuevo registro. Los valores deben corresponderse con el orden de las columnas. Si no es así se puede indicar tras el nombre de la tabla y entre paréntesis. Ejemplo:
 INSERT INTO proveedores(nombre, CIF) 
VALUES (‘Araja SA’,’14244223Y’);
  
Tipos de datos existentes y válidos para SQL:

CHAR:
  • Tienen una longitud fija. 
  • Almacena de 1 a 255. 
  • Si se introduce una cadena de menos longitud que la definida se rellenara con blancos a la derecha hasta quedar completada. 
  • Si se introduce una cadena de mayor longitud que la fijada nos dará un error.
VARCHAR:
  • Almacena cadenas de longitud variable. 
  • La longitud máxima es de 2000 caracteres. 
  • Si se introduce una cadena de menor longitud que la que está definida, se almacena con esa longitud y no se rellenara con blancos ni con ningún otro carácter a la derecha hasta completar la longitud definida. 
  • Si se introduce una cadena de mayor longitud que la fijada, nos dará un error
NUMBER:
  • Se almacenan tanto enteros como decimales. 
  • Number (precisión, escala) 
  • Ejemplo:
   X=number (7,2) 
   X=155'862 à Error ya que solo puede tomar 2 decimales
   X= 155'86 à Bien
Nota: El rango máximo va de 1 a 38.

LONG:
  • No almacena números de gran tamaño, sino cadenas de caracteres de hasta 2 GB
DATE:
  • Almacena la fecha. Se almacena de la siguiente forma:
Siglo/Año/Mes/Día/Hora/Minutos/Segundos

RAW:
  • Almacena cadenas de Bytes (gráficos, sonidos…)
LONGRAW:
  • Como el anterior pero con mayor capacidad.
ROWID:
  • Posición interna de cada una de las columnas de las tablas.
  • Sentencias de consultas de datos
   Select: 
   Select [ALL | Distinct] [expresión_columna1, expresión_columna2, …., | *] 
   From [nombre1, nombre_tabla1, …, nombre_tablan] 
   {[Where condición] 
   [Order By expresión_columna [Desc | Asc]…]};


Vamos a explicar como leer la consulta anterior y así seguir la pauta para todas las demás. Cuando ponemos [] significa que debemos la que va dentro debe existir, y si además ponemos | significa que deberemos elegir un valor de los que ponemos y no mas de uno. En cambio si ponemos {} significa que lo que va dentro de las llaves puede ir o no, es decir es opcional y se pondrá según la consulta.
Nota: En el select el valor por defecto entre ALL y DISTINCT es ALL.
  • Alias = El nuevo nombre que se le da a una tabla. Se pondrá entre comillas 
  • Order By = Ordena ascendentemente (Asc) (valor por defecto) o descendentemente (Desc). 
  • All = Recupera todas las filas de la tabla aunque estén repetidas. 
  • Distinct = Solo recupera las filas que son distintas. 
  • Desc Emple; = Nos da un resumen de la tabla y sus columnas. En este caso de la tabla Emple. 
  • Not Null= Si aparece en una lista de una columna significa que la columna no puede tener valores nulos. 
  • Null= Si está nulo.
Nota: Nótese que cada consulta de SQL que hagamos hemos de terminarla con un punto y coma ";".
Varios ejemplos para verlo mas claro:

   SELECT JUGADOR_NO, APELLIDO, POSICION, EQUIPO 
   FROM JUGADORES 
   WHERE EQUIPO_NO = 'VALENCIA' 
   ORDER BY APELLIDO;


Este ejemplo mostrar el número de jugador (jugador_no) el apellido (Apellido), la posición en la que juega (Posición), y el equipo (Equipo) al que pertenece.
Seleccionara todos los datos de la tabla jugadores donde (Where) el nombre de equipo (Equipo_No) sea igual que la palabra 'Valencia' y se ordenara (order by) apellido. Notemos también que no pone ni 'Distinct' ni 'All'. Por defecto generara la sentencia con ALL.


   SELECT * 
   FROM JUGADORES 
   WHERE POSICION = 'DELANTERO' 
   ORDER BY JUGADOR_NO;


Este ejemplo muestra todos los campos de la tabla jugadores donde (Where) la posición sea igual que 'Delantero' y lo ordena por número de jugador. Al no poner nada se presupone que es ascendentemente (Asc).

   SELECT * 
   FROM JUGADORES 
   WHERE EQUIPO_NO = 'VALENCIA' AND POSICION = 'DELANTERO' 
   ORDER BY APELLIDO DESC, JUGADOR_NO ASC;


En este ejemplo selecciona todos los campos de la tabla jugadores donde (Where) el nombre del equipo sea igual a 'Valencia' y la posición de los jugadores sea igual a 'Delantero'. Por ultimo los ordena por 'Apellido' descendentemente y por numero de jugador ascendentemente.

Expresiones Aritméticas
Es posible modificar la forma en cómo se muestran los datos de una consulta, en
especial cuando es necesario realizar algún cálculo matemático que este baso en una
columna de una tabla. Para estos casos es posible utilizar operadores aritméticos,
mismos que pueden afectar a una columna, un valor constante o bien utilizar
operadores aritméticos.
Los operadores aritméticos que se utilizan en SQL son:

Operador Descripción

+
Suma
-
Resta
*
Multiplicación
/
División

Estos operadores pueden utilizarse en cualquier sentencia de SQL exceptuando su
uso en la cláusula FROM.

Precedencia de Operadores
Si una expresión aritmética contiene más de un operador, se utilizará el orden de
precedencia de operadores para que la expresión pueda ser evaluada. Dicho orden
puede verse en la siguiente figura:
*      +       -        /
El orden de evaluación será de izquierda a derecha,  de manera que:
  •  La multiplicación tiene mayor prioridad sobre la suma y la resta
  • El uso de paréntesis forzará a priorizar y clasificar las expresiones
Comandos SQL 


Introducir Comandos
Resultados      
En este pestaña podremos introducir los código SQL o comando PL/SQL para de esta crear tablas, vistas, índices, secuencias, funciones, procedimientos demás por medio de códigos en este cuadro podemos guardar los códigos que se ingresen y se podrán ejecutar para ver si funciona.

Archivos de Comandos SQL

Crear Archivos de Comandos SQL
En esta pestaña se nos permitirá crear un archivo de comandos para realizar esto debemos entrar en la pestaña de Archivos de Comandos SQL y seleccionar la opción de Crear de inmediato aparecerá una ventana en la cual podremos crear nuestro archivo de comandos SQL.

En este cuadro ingresaremos el nombre de nuestro archivo luego de eso escribiremos el contenido de nuestro archivo en el cuadro de abajo en esta ventana podremos buscar, deshacer y rehacer además de descargar guardar y ejecutar.
Generador de Consultas 
Crear
En esta opción nos permitirá crear una nueva consulta para poder realizar esto debemos entrar en la pestaña Generar Consulta y pulsar la Opción de Crear después saldrá un cuadro en el cual buscaremos la tabla a la cual le vamos a generar la consulta