Lmd lenguaje de manipulacion de datos

Solo disponible en BuenasTareas
  • Páginas : 11 (2617 palabras )
  • Descarga(s) : 0
  • Publicado : 24 de febrero de 2012
Leer documento completo
Vista previa del texto
LENGUAJE DE MANIPULACIÓN DE DATOS(LMD)


El LMD está formado por cuatro sentencias, que proporcionan el acceso al contenido de la base de datos, no modificando la estructura de la misma, estas son:

o Sentencia SELECT. Consulta el contenido de la base de datos, no produciéndose modificación alguna.
o Sentencia INSERT. Inserta filas dentro de tablas de la base de datos.
oSentencia UPDATE. Modifica el contenido de las tablas en la base de datos
o Sentencia DELETE. Borra filas dentro de las tablas de la base de datos.



Las tres últimas sentencias modifican el contenido de las tablas de la base de datos, en ningún caso la estructura de la misma.

1.- OPERACIÓN DE RECUPERACIÓN.-

La principal operación es la de Transformación, que se representasintácticamente como un bloque SELECT-FROM-WHERE.

La consulta es relacionalmente completa, porque puede obtenerse:

o Cualquier unidad de datos.
o Cualquier subconjunto de datos (filas y columnas)

Los datos se pueden representar en un orden determinado.

SELECT {*}{[,< Nombre_columna>...]} (3)
FROM [,...] (1)
[WHERE ] (2)
[ORDER BY [{ASC}{DESC}] [,[{ASC}{DESC}]…] (4)

Entre paréntesis seencuentra el orden en que se ejecutarán las sentencias.

o SELECT.- Sirve para elegir, ciertas columnas o valores derivados de ellas.
o FROM.- Especifica la lista de tablas que se utilizarán en la consulta. Se recuerda que el nombre de la tabla está formado por nombre_propietario.nombre_tabla. Si el dueño de la tabla es el usuario conectado, podrá omitirse, colocando solamente el nombrede la tabla.
o WHERE.- Selecciona aquellas filas cuyos campos cumplen la condición o condiciones indicadas en el predicado.
o ORDER BY.- Especifica el criterio de ordenación, basado en los valores de los datos o de otros derivados de ellos. Puede indicar el nombre de la columna, el número de orden correspondiente a la misma en la select, el alias de la columna, incluso ordenar por uncampo que se encuentre en la tabla, pero no aparezca en la select, excepto si se utilizó la cláusula distinct .

La lista de las columnas extraídas en la select, viene encabezada por el nombre de la columna. Si se desea eliminar este, o en caso de valores derivados de las mismas, a continuación del nombre del campo, se colocará el “Alias”, irá precedido por la palabra AS o sencillamente separadopor “ “ y entrecomillado(“”) de forma obligatoria en caso de contener blancos y opcional en caso contrario.

Tomaremos como referencia la base de datos de proveedores, artículos, proyectos y ventas (s,p,j,spj).

Recuperación Simple.
1.-Obtener los números de parte, de todas las partes suministradas.

Debemos tener en cuenta, que las partes suministradas, son las partes vendidas y que portanto estarán en SPJ.

Select P# from SPJ.


Como se puede comprobar, en la solución aparecen demasiados duplicados, uno por cada venta realizada por cada uno de los proveedores. Para eliminar filas duplicadas, utilizaremos la palabra clave DISTINCT. Por tanto lo correcto sería:

select distinct p# from spj


2.- Obtener todos los detalles de todos los proveedores.

Esta consulta tienedos posibles soluciones, igualmente óptimas:

a)
SELECT *
FROM S
b)
SELECT S#,NOMS,ESTADO,CIUDAD
FROM S

En el primer caso, se utiliza la abreviatura *, que corresponde a todas las columnas de la tabla, en el orden en que fueron insertadas, en el segundo caso, se numeran las mismas de forma explícita.

A efectos de optimización, se recomienda que las sentencias se escriban de lamisma forma, pues el motor de la base de datos, guarda las sentencias más utilizadas y la forma de ejecución por tanto resolverá el problema más rápidamente, y para ello, la sintaxis debe ser la misma, se decir select * y select *, ofrecen la misma salida, pero al no estar escritas exactamente igual, el gestor considera que son dos sentencias distintas y por tanto aunque acabe de resolver la...
tracking img