Вы находитесь на странице: 1из 5

LENGUAJE DE DEFINICIN DE DATOS

Lenguaje de Definicin de datos.


Consta de tres instrucciones bsicas como es el CREATE, el ALTER y el DROP. Los elementos de las bases de
datos que se le puede aplicar estas instrucciones son :crear y borrar una bases de datos (DATABASE), crear, borrar
y alterar una tablas (TABLE) en la base de datos, crear o borrar un ndices (INDEX) de una tabla y crear o borrar
una vistas (VIEW).

Obsrvese que las bases de datos, ndices y vistas solo pueden ser creadas (CREATE) o borradas (DROP),
mientras que las tablas pueden tambin de las anteriores alterarse. La sentencia general es:

Creacin de Elementos

NOMB_INSTRUCCION ELEMENTO Nomb_Elemento

Miremos un ejemplo de cada uno, para ellos trabajaremos con una base de datos ejemplo. Ver anexo
1. la base de datos es de COMPRAS, las cuales tienen unos proveedores, unas partes y suministros;
empezaremos creando la base de datos.
a) Creacin de una base de datos
CREATE DATABASE COMPRAS;
b) Creacin de una tabla
CREATE TABLE PROVEEDORES
(VNRO CHAR(4) NOT NULL,
VNOMBRE CHAR(30) NOT NULL,
SITUACION INT,
CIUDAD CHAR(15),
PRIMARY KEY (VNRO));


CREATE TABLE PARTES
(PNRO CHAR(4) NOT NULL,
PNOMBRE CHAR(30) NOT NULL,
COLOR CHAR(15),
PESO DECIMAL(4,1),
PRIMARY KEY (PNRO));

CREATE TABLE SUMINISTROS
(VNRO CHAR(4) NOT NULL,
PNRO CHAR(4) NOT NULL,
CANTIDAD INT,
PRIMARY KEY (VNRO,PNRO),
FOREIGN KEY VNRO REFERENCE PROVEEDORES(VNRO),
FOREIGN KEY PNRO REFERENCE PARTES (PNRO));


Vase que la tabla de suministros tiene dos campos que heredan de las tablas proveedores y partes, por lo que son
llaves forneas.

2) Lenguaje de manipulacin de datos


B. Lenguaje de Manipulacin de Datos DML


Como se dijo, este lenguaje permite la creacin, modificacin, borrado y consultas de datos. Para ello cuenta con
las siguientes instrucciones:

INSERTE: sirve para insertar filas a las tablas
UPDATE: sirve para modificar datos de una tabla
DELETE: sirve para borrar datos de una tabla
SELECT: sirve para consultar datos de una o varias tablas. Esta sentencia es la razn de ser de toda la filosofa de
las bases de datos relacional, ya que con esto se creo un mtodo para consultar los datos en una forma no
procedimental, es aqu donde mas aplica las operaciones algebraicas vistas en el captulo anterior.

Insertar filas en una tabla

INSERT INTO PROVEEDORES
(VNRO,VNOMBRE,CIUDAD,SITUACION)
VALUES(P01,Arturo Seplveda,Cartagena);

Aqu, cada vez que se necesite insertar una fila debe repetirse toda la instruccin, pues ella sirve solo para inserta
UNA SOLA FILA, no varias.

Actualizar un dato en una o varias fila, segn la condicin.

Vamos a actualizar la ciudad de los proveedores que se encuentran en la ciudad de Venecia, locolocamos Bogot.

UPDATE PROVEEDORES
SET CIUDAD = Bogota
WHERE CIUDAD = Venecia:

Aqu es conveniente hacer varias precisiones. La clusula WHERE, es opcional, si es as, entonces todas las
ciudades de los proveedores quedan con Bogot, cosa que no es comn que ocurra. En cambio, con la clusula
WHERE, solo quedan con Bogot, aquellos proveedores cuya ciudad es Venecia. Viendo as las cosas, podemos
decir que la clusula WHERE en la prctica, no es tan opcional.

Para insertar dos filas en la tabla de proveedores, la instruccin vlida es:

1.
INSERT INTO PROVEEDORES
(VNRO,VNOMBRE,CIUDAD,SITUACION)
VALUES(P01,Arturo Seplveda,Cartagena);
INSERT INTO PROVEEDORES
(VNRO,VNOMBRE,CIUDAD,SITUACION)
VALUES(P02,Carlos Uribe,Medellin);
2.
INSERT INTO PROVEEDORES
(VNRO,VNOMBRE,CIUDAD,SITUACION)
VALUES(P01,Arturo Seplveda,Cartagena),
VALUES(P02,Carlos Uribe,Medellin);

3.
INSERT INTO PROVEEDORES
VALUES(P01,Arturo Seplveda,Cartagena);

INSERT INTO PROVEEDORES
VALUES(P02,Carlos Uribe,Medellin);

4.
INSERT INTO PROVEEDORES
(VNRO,VNOMBRE,CIUDAD,SITUACION);
VALUES(P01,Arturo Seplveda,Cartagena);

INSERT INTO PROVEEDORES
(VNRO,VNOMBRE,CIUDAD,SITUACION);
VALUES(P02,Carlos Uribe,Medellin);


Consultas de datos
Para mirar toda la potencialidad de la sentencia SELECT, hemos organizado las consultas de menor a mayor grado
de dificultad, por cuestiones pedaggicas. Comenzaremos con consultas sobre una sola tabla hasta finalizar con
subconsultas, donde intervienen ms de una tabla. Miremos la sentencia general


SELECT Campo1[,Campo 2, R..]
FROM Tabla 1[,Tabla 2, RR]
WHERE Condicin 1 [AND Condicin 2][OR Condicin 2][RR.]
ORDER BY Campo 1 [,Campo 2, R.]
GROUP BY Campo 1 [,Campo 2, R.]
HAVING Condicin de Grupo [AND Condicin 2][OR Condicin 2][RR.]

Consultas Simples
Consulta de un determinado campo. Consultar el nombre del proveedor con su respectiva ciudad.

SELECT PROVEEDORE,CIUDAD
FROM PROVEEDORES;
Consultas de Reunin
Reunin simple. Consultar el nombre de los proveedores que han suministrado partes a algn proyecto.
SELECT DISTINCT PROVEEDORES
FROM PROVEEDORES,SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO;
Nota: Obsrvese que se utiliza el distinct para que no salgan repetidos el nombre del proveedor. Si desea qutele el
distinct y observe el resultado.

Reunin con condicin. Consultar el nombre del proveedor, el nombre de las partes y el nombre del
proyecto, con sus respectivas cantidas suministradas, solo para los proyectos de MONITOR yCONSOLA.
SELECT PROVEEDOR,PARTE,PROYECTO
FROM PROVEEDORES,PARTES,PROYECTOS,SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO ANDPARTES.PNRO=SUMINISTROS.PNRO AND PROY
ECTOR.YNRO=SUMINISTROS.YNRO AND(PROYECTO=MONITOR OR PROYECTO=CONSOLA);

Consultas con Funciones Agregadas.
COUNT(*): Cuenta los registros de una tabla
COUNTO(Campo): Cuenta los registros por un campo determinado. Si el campo tiene un valor nulo, no lo cuenta.
SUM(Campo): Suma todos los valores del campo. No suma nulos. el campo debe ser numrico.
AVG(Campo): Promedia el campo. No tiene en cuenta los nulos y el campo debe ser numrico.
MAX(Campo): Selecciona el valor mximo del campo. No cuenta el valor nulo.
MIN(Campo): Selecciona el valor mnimo del campo. No cuenta el valor nulo.
Consultas para contar filas. Consultar el nmero total de proyectos.
SELECT COUNT(*)
FROM PROYECTOS;
Consultas para contar final con condicin. Obtener la cantidad total de proveedores que se encuentran en la
ciudad de LONDRES.
SELECT COUNT(VNRO)
FROM PROVEEDORES
WHERE CIUDAD=LONDRES ;

Consultas con agrupacin. Obtener el nmero total de proyectos por proveedor
SELECT VNRO,COUNT(YNRO)
FROM SUMINISTROS
GROUP BY VNRO;

Consultas con agrupacin y reunin de tablas. Consultar el nombre del proveedor con su respectivo nmero
total de proyectos.
SELECT PROVEEDOR,COUNT(YNRO)
FROM PROVEEDORES,SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO
GROUP BY PROVEEDOR;

Consultas con condicin de agrupacin. Consultar el nombre del proveedor, con su respectiva cantidad total
suministrada; solo aquellos proveedores que han suministrado cantidades mayores a 800.
SELECT PROVEEDOR,SUM(CANT)
FROM PROVEEDORES,SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO
GROUP BY PROVEEDOR
HAVING SUM(CANT)>800;


Consultas con condicin y agrupamiento varios. Consultar el nombre del proveedor, y el nombre de las
partes, con su respectiva cantidad suministrada. Solo los proveedores de la ciudad de LONDRES Y PARIS,
y que hayan suministrado mas de 500.
SELECT PROVEEDOR,PARTE,SUM(CANT)
FROM PROVEEDORES,PARTES,SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO ANDPARTES.PNRO=SUMINISTROS.PNRO AND (PROV
EEDORES.CIUDAD=LONDRES ORPROVEEDORES.CIUDAD=PARIS)
GROUP BY PROVEEDOR,PARTE
HAVING SUM(CANT)>500;

Вам также может понравиться