Está en la página 1de 7

Tipos de Sentencias Las sentencias SQL pertenecen a dos categoras principales: Lenguaje de Definicin de Datos, DDL y Lenguaje de Manipulacin

de Datos, DML. Estos dos lenguajes no son lenguajes en s mismos, sino que es una forma de clasificar las sentencias de lenguaje SQL en funcin de su cometido. La diferencia principal reside en que el DDL crea objetos en la base de datos y sus efectos se pueden ver en el diccionario de la base de datos; mientras que el DML es el que permite consultar, insertar, modificar y eliminar la informacin almacenada en los objetos de la base de datos. Cuando se ejecutan las sentencias DDL de SQL, el SGBD confirma la transaccin actual antes y despus de cada una de las sentencias DDL. En cambio, las sentencias DML no llevan implcito el commit y se pueden deshacer. Existe pues un problema al mezclar sentencias DML con DDL, ya que estas ltimas pueden confirmar las primeras de manera involuntaria e implicita, lo que en ocasiones puede ser un problema. A continuacin se presenta una tabla con las sentencias SQL ms comunes, clasificadas segn el lenguaje al que pertenecen. Sentencia DDL Alter procedure Alter Table Objetivo

Recompilar un procedimiento almacenado. Aadir o redefinir una columna, modificar la asignacin de almacenamiento. Recoger estadsticas de rendimiento sobre los objetos de la BD para utilizarlas en el optimizador basado en costes.

Analyze

Create Table Crear una tabla. Create Index Crear un ndice. Drop Table Eliminar una tabla. Drop Index Eliminar un ndice. Grant Truncate Conceder privilegios o papeles, roles, a un usuario o a otro rol. Eliminar todas las filas de una tabla.

Revoke Sentencia DML Insert Delete Update Select Commit Rollback

Retirar los privilegios de un usuario o rol de la base de datos. Objetivo Aadir filas de datos a una tabla. Eliminar filas de datos de una tabla. Modificar los datos de una tabla. Recuperar datos de una tabla. Confirmar como permamentes las modificaciones realizadas. Deshacer todas las modificaciones realizadas desde la ltima confirmacin.

LGEBRA RELACIONAL UNION NATURAL El lgebra relacional es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como stas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Clculo relacional que es de tipo declarativo. Describe el aspecto de la manipulacin de datos. Estas operaciones se usan como una representacin intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de dicha consulta. Tuplas Una tupla se define como una funcin finita que asocia unvocamente los nombres de los atributos de una relacin con los valores de una instanciacin de la misma. En trminos simplistas, es una fila de una tabla relacional. Unin compatible Una unin es compatible entre dos relaciones R, S, si ellas poseen el mismo grado y el dominio del iesimo elemento de la relacin R es el mismo que el iesimo elemento de la relacin S. Grado (Aridad) Nmero de atributos. Las operaciones Bsicas Cada operador del lgebra acepta una o dos relaciones y retorna una relacin como resultado. y son operadores unarios, el resto de los operadores son binarios. Las operaciones bsicas del lgebra relacional son: Seleccin () Permite seleccionar un subconjunto de tuplas de una relacin (R), todas aquellas que cumplan la(s) condicin(es) P, esto es:

Ejemplo:

Selecciona todas las tuplas que contengan Gmez como apellido en la relacin Alumnos.

Una condicin puede ser una combinacin booleana, donde se pueden usar operadores como: , , combinndolos con operadores .

Proyeccin () Permite extraer columnas (atributos) de una relacin, dando como resultado un subconjunto vertical de atributos de la relacin, esto es:

donde Ejemplo:

son atributos de la relacin R .

Selecciona los atributos Apellido, Semestre y NumeroControl de la relacin Alumnos, mostrados como un subconjunto de la relacin Alumnos Producto cartesiano (x) El producto cartesiano de dos relaciones se escribe como:

y entrega una relacin, cuyo esquema corresponde a una combinacin de todas las tuplas de R con cada una de las tuplas de S, y sus atributos corresponden a los de R seguidos por los de S. Ejemplo:

Muestra una nueva relacin, cuyo esquema contiene cada una de las tuplas de la relacin Alumnos junto con las tuplas de la relacin Maestros, mostrando primero los atributos de la relacin Alumnos seguidos por las tuplas de la relacin Maestros. Unin () La operacin

retorna el conjunto de tuplas que estn en R, o en S, o en ambas. R y S deben ser uniones compatibles.

Diferencia (-) La diferencia de dos relaciones, R y S denotada por:

entrega todas aquellas tuplas que estn en R, pero no en S. R y S deben ser uniones compatibles. Estas operaciones son fundamentales en el sentido en que (1) todas las dems operaciones pueden ser expresadas como una combinacin de stas y (2) ninguna de estas operaciones pueden ser omitidas sin que con ello se pierda informacin. No bsicas o Derivadas Entre los operadores no bsicos tenemos: Interseccin () La interseccin de dos relaciones se puede especificar en funcin de otros operadores bsicos:

La interseccin, como en Teora de conjuntos, corresponde al conjunto de todas las tuplas que estn en R y en S, siendo R y S uniones compatibles. Unin natural ( ) (Natural Join)

La operacin unin natural en el lgebra relacional es la que permite reconstruir las tablas originales previas al proceso de normalizacin. Consiste en combinar las proyeccin, seleccin y producto cartesiano en una sola operacin, donde la condicin es la igualdad Clave Primaria = Clave Externa (o Foranea), y la proyeccin elimina la columna duplicada (clave externa). Expresada en las operaciones bsicas, queda

Una reunin theta ( -Join) de dos relaciones es equivalente a:

donde la condicin

es libre.

Si la condicin Divisin (/)

es una igualdad se denomina EquiJoin.

Supongamos que tenemos dos relaciones A(x, y) y B(y) donde el dominio de y en A y B, es el mismo. El operador divisin A / B retorna todos los distintos valores de x tales que para todo valor y en B existe una tupla Agrupacin () Permite agrupar conjuntos de valores en funcin de un campo determinado y hacer operaciones con otros campos. Por ejemplo: sum(puntos) as Total Equipo (PARTIDOS). Ejemplos Suponga las relaciones o tablas: Alumno ID NOMBRE CIUDAD 01 Pedro 11 Juan 21 Diego 31 Rosita 41 Manuel Santiago EDAD 14 en A.

Buenos Aires 18 Lima Concepcin Lima 12 15 17

Apoderado ID NOMBRE FONO ID_ALUMNO 054 Vctor 457 Jos 654644 21 454654 11

354 Mara 444 Paz

997455 31 747423 01