21/7/15

DML y DDL

Es muy común hablar de sentencias DML y DDL, por lo que vamos a ver una breve explicación para aquellas personas que no han trabajado con estas tecnologías.
Para empezar tenemos que saber que las sentencias SQL se dividen en dos categorías DDL y DML, Lenguaje de Definición de Datos y Lenguaje de Manipulación de Datos.

-          DDL - Lenguaje de definición de datos: Las sentencias DDL se utilizan para crear y modificar la estructura de las tablas así como otros objetos de la base de datos.
o   CREATE - para crear objetos en la base de datos.
o   ALTER - modifica la estructura de la base de datos.
o   DROP - borra objetos de la base de datos.
o   TRUNCATE - elimina todos los registros de la tabla, incluyendo todos los espacios asignados a los registros.
o   Lenguaje de manipulación de datos (DML)
-          DDL - Lenguaje de manipulación de datos: son utilizadas para gestionar datos dentro de los esquemas.
o   SELECT - para obtener datos de una base de datos.
o   INSERT - para insertar datos a una tabla.
o   UPDATE - para modificar datos existentes dentro de una tabla.

o   DELETE - elimina todos los registros de la tabla; no borra los espacios asignados a los registros.

Índices

Los  índices son estructuras de datos opcionales asociadas a las tablas que mejoran la velocidad de las operaciones, permitiendo rápido acceso a los datos de una tabla.

Permiten incrementar de forma sombrosa la velocidad de ejecución de sentencias. Si sobre una columna se ha definido un índice, Oracle accede a este para obtener la dirección (ROWID) de los datos evitando el gran número de operaciones E/S a disco que requiere una búsqueda secuencial en una tabla.

Es necesario conocer los índices de una tabla para poder programar haciendo un uso más efectivo.

La creación de un índice mejora considerablemente la operación de recuperación de datos que puedan beneficiarse de la existencia del mismo. Aunque las operaciones de inserción y modificación se verán penalizadas por tener que actualizar también el índice. Por lo que es importante realizar un estudio para valorar los posibles beneficios frente a los posibles contra de crear un índice.

  • Los índices pueden crearse sobre uno o varios campos (índices concatenados),  estos índices pueden ser únicos o no. Un índice único hace que no se produzcan duplicidades de campo (o varios campos). 
  • Sobre una tabla pueden crearse varios índices.
  • Para elegir índices hay que tener en cuenta que:
    • No exista duplicidad de valores en el campo.
    • Que el campo tome un amplio rango de valores.
    • Evitar campos que puedan ser nulos.
  • Si tenemos un índice concatenado, hay que tener en cuenta el orden de los campos, ya que el primer campo será el más usado y el más efectivo. Cuando el programador realice joins en sentencias, debe aprovechar eficientemente los índices.