Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MATERIA:
TALLER DE BASES DE
DATOS
CATEDRATICO:
EUTIMIO SOSA SILVA
UNIDAD I - II:
LENGUAJE DE DEFINICIN
DE DATOS (DDL)
CARRERA:
INGENIERA EN SISTEMAS
COMPUTACIONALES
ALUMNO(S):
ERIK SAMUEL GARCA RAMOS
INTRODUCCIN
Un DDL es un lenguaje de definicin de datos y recibe la mencin de DDL debido a sus siglas en
ingls Data Definition Language, este lenguaje proporciona el control de manejo /gestin de base de
datos que permite los administradores llevar a cabo las tareas de definicin de las estructuras que
almacenarn los datos, as como de los procedimientos o funciones que permitan consultarlos.
En palabras ms simples: el lenguaje de definicin de datos son las instrucciones que le permiten a
aquel que quiere formar una base de datos los comandos necesarios para darle forma a la estructura
que se desea construir.
En el lenguaje de definicin de datos encontramos SQL que diferencia de muchos lenguajes de
descripcin de datos, utiliza una accin de comandos cuyo efecto es modificar el esquema de la
base de datos, aadiendo, cambiando o eliminando las definiciones de tablas.
Estas declaraciones se pueden mezclar con otras sentencias SQL. Las declaraciones ms comunes
que podemos encontrar son:
CREATE
DROP
ALTER
CREATE
Create - Sirve para crear una nueva base de datos, tabla, ndice, o procedimiento almacenado.
DROP
Sirve para borrar en forma sencilla distintos objetos dentro del [SGBD] como por ejemplo base de
datos, tablas, ndices. Su sentencia es:
DROP objeto_a_eliminar;
DROP TABLE myTable;
DROP SEQUENCE mySequence;
DROP INDEX myIndex;
ALTER
La sentencia ALTER TABLE es usada para agregar, borrar o modificar columnas en una tabla
existente
SELECT
La sintaxis bsica de select es la siguiente utilizando el estndar de SQL:
INSERT
La estructura bsica para la sentencia insert utilizando el estndar de SQL es la siguiente:
DELETE
Para eliminar los registros de una tabla usamos el comando "delete":
UPDATE
Para modificar uno o varios datos de uno o varios registros utilizamos "update" (actualizar).
Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves,
por "Sevilla":
Un lenguaje de definicin de datos (Data Definition Language, DDL por sus siglas en ingls) es un
lenguaje proporcionado por el sistema de gestin de base de datos que permite a los programadores
de la misma llevar a cabo las tareas de definicin de las estructuras que almacenarn los datos as
como de los procedimientos o funciones que permitan consultarlos.
SQL
A diferencia de muchos lenguajes de descripcin de datos, SQL utiliza una accin de versos
imperativo cuyo efecto es modificar el esquema de la base de datos, aadiendo, cambiando o
eliminando las definiciones de tablas y otros objetos. Estas declaraciones se pueden mezclar
libremente con otras sentencias SQL, por lo que el DDL no es realmente una lengua independiente.
La declaracin ms comn es CREATE TABLE. El lenguaje de programacin SQL, el ms difundido
entre los gestores de bases de datos, admite las siguientes sentencias de definicin: CREATE,
DROP y ALTER, cada una de las cuales se puede aplicar a las tablas, vistas, procedimientos
almacenados y triggers de la base de datos.
SENTENCIA CREATE
Create - Sirve para crear una nueva base de datos, tabla, ndice, o procedimiento almacenado. Una
sentencia CREATE en SQL crea un objeto dentro de un sistema de gestin de bases de datos
relacionales (RDBMS). Los tipos de objetos que se pueden crear dependen del RDBMS que est
siendo utilizado, pero la mayora soportan la creacin de tablas, ndices, usuarios, sinnimos y bases
de datos. Algunos sistemas (como PostgreSQL) permiten CREATE, y otros comandos DDL, en el
interior de una transaccin y por lo tanto puede ser revertido. Otras que se incluyen dentro del DDL,
pero que su existencia depende de la implementacin del estndar SQL que lleve a cabo el gestor
de base de datos son GRANT y REVOKE, los cuales sirven para otorgar permisos o quitarlos, ya
sea a usuarios especficos o a un rol creado dentro de la base de datos.
SENTENCIA DROP
Sirve para borrar en forma sencilla distintos objetos dentro del [SGBD] como por ejemplo base de
datos, tablas, ndices. Su sentencia es:
Para eliminar una tabla de una base de datos tenemos la sentencia DROP TABLE. Con ella quitamos
una o varias definiciones de tabla y todos los datos, ndices, desencadenadores, restricciones y
especificaciones de permisos que tengan esas tablas. Las vistas o procedimientos almacenados que
hagan referencia a la tabla quitada se deben quitar explcitamente con DROP VIEW o DROP
PROCEDURE. Su sintaxis es:
SENTENCIA ALTER
La sentencia ALTER TABLE es usada para agregar, borrar o modificar columnas en una tabla
existente
Para agregar una columna a una tabla, se debe usar la siguiente sintaxis:
Para eliminar una columna en una tabla, se debe seguir la siguiente sintaxis (algunas bases
de datos no permiten borrar columnas)
SELECT
La sintaxis bsica de select es la siguiente utilizando el estndar de SQL:
donde se sustituye la palabra columna por el nombre del campo a consultar y la palabra tabla por
el nombre de la tabla que contiene el campo mencionado.
INSERT
La estructura bsica para la sentencia insert utilizando el estndar de SQL es la siguiente:
Tomando como ejemplo si se tuviera una tabla llamada usuarios con los campos de tipo cadena de
caracteres (nombre, apellidos, edad, carrera), donde se inserta los valores que se encuentran en
despus de la palabra values, los valores se insertan en el orden correspondiente a como se hizo
la llamada de los campos, los valores van separados por comas, las comillas dobles indican que se
est insertando datos de tipo cadena de caracteres.
DELETE
Para eliminar los registros de una tabla usamos el comando "delete":
La ejecucin del comando indicado en la lnea anterior borra TODOS los registros de la tabla.
Si queremos eliminar uno o varios registros debemos indicar cul o cules, para ello utilizamos el
comando "delete" junto con la clausula "where" con la cual establecemos la condicin que deben
cumplir los registros a borrar. Por ejemplo, queremos eliminar aquel registro cuyo nombre de
usuario es 'Martn':
UPDATE
Para modificar uno o varios datos de uno o varios registros utilizamos "update" (actualizar).
Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves, por
"Sevilla":
Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su nuevo
valor.El cambio afectar a todos los registros.
Podemos modificar algunos registros, para ello debemos establecer condiciones de seleccin con
"where".
Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario llamado
'Martn', queremos como nueva clave 'Boca', necesitamos una condicin "where" que afecte
solamente a este registro:
Si no encuentra registros que cumplan con la condicin del "where", ningn registro es afectado.
Las condiciones no son obligatorias, pero si omitimos la clusula "where", la actualizacin afectar
a todos los registros.
Tambin se puede actualizar varios campos en una sola instruccin:
Para ello colocamos "update", el nombre de la tabla, "set" junto al nombre del campo y el nuevo
valor y separado por coma, el otro nombre del campo con su nuevo valor.
PROBLEMA
Una agencia de viajes desea informatizar toda la gestin de los viajeros que acuden a la agencia y
los viajes que estos realizan.
Tras ponernos en contacto con la agencia, sta nos proporciona la siguiente informacin.
La agencia desea guardar la siguiente informacin de los VIAJEROS: DNI, NOMBRE, DIRECCION
Y TELEFONO.
De cada uno de los VIAJES que maneja la agencia interesa guardar: CODIGO DE VIAJE, NMERO
DE PLAZAS, FECHA DE VIAJE, Y OTROS DATOS.
Un viajero puede realizar tantos viajes como desee con la agencia. Un viaje determinado slo puede
ser cubierto por un viajero.
Cada viaje realizado tiene un DESTINO y un LUGAR DE ORIGEN.
De cada uno de ellos se quiere almacenar el CODIGO, NOMBRE, y OTROS DATOS que puedan
ser de inters. Un viaje tiene un nico lugar de origen y destino.
MODELO RELACIONAL
CONSULTAS
1.
SELECT a.nombreagencia,j.dni_viajero,j.nombre_viajero FROM agencias a, viajeros
j,viajeros_agencias va WHERE a.idagencia=va.agencias_idagencia and
va.viajeros_dni_viajero=j.dni_viajero;
+---------------+-------------+----------------------------+
2.
SELECT a.nombreagencia,j.dni_viajero,j.nombre_viajero,r.idregistro,r.nombre_registro FROM
registros r,agencias a, viajeros j,viajeros_agencias va WHERE a.idagencia=va.agencias_idagencia
and va.viajeros_dni_viajero=j.dni_viajero and j.dni_viajero=r.viajeros_dni_viajero;
SELECT j.dni_viajero,j.nombre_viajero,r.idregistro,v.fechavuelo,v.destino,a.nombreagencia
FROM vuelos v,registros r,agencias a, viajeros j,viajeros_agencias va
WHERE j.nombre_viajero="Erik Samuel Garca Ramos" and a.idagencia=va.agencias_idagencia
and va.viajeros_dni_viajero=j.dni_viajero and j.dni_viajero=r.viajeros_dni_viajero and
r.vuelos_codvuelo=v.codvuelo;
6.
SELECT a.nombreagencia,j.dni_viajero,j.nombre_viajero,r.idregistro,r.nombre_registro
FROM registros r,agencias a, viajeros j,viajeros_agencias va
WHERE j.nombre_viajero="Erik Samuel Garca Ramos" and a.idagencia=va.agencias_idagencia
and va.viajeros_dni_viajero=j.dni_viajero and j.dni_viajero=r.viajeros_dni_viajero;
7.
SELECT R.IDREGISTRO,R.DETALLE,V.CODVUELO FROM VUELOS V INNER JOIN
REGISTROS R WHERE R.VUELOS_CODVUELO=V.CODVUELO;
9.
SELECT v.codvuelo,v.fechavuelo,v.destino,j.dni_viajero,j.nombre_viajero,j.direccion_viajero
10.
SELECT v.codvuelo,v.fechavuelo,v.destino,j.nombre_viajero,a.nombreagencia
FROM vuelos v,viajeros j, agencias a
WHERE v.fechavuelo="2017-08-10";
14.
SELECT a.idagencia,a.nombreagencia,j.dni_viajero,j.nombre_viajero,v.fechavuelo,v.destino
FROM vuelos v,viajeros j,agencias a
WHERE a.idagencia=112 and v.fechavuelo="2017-08-10";
16.
SELECT j.dni_viajero,j.nombre_viajero,v.lugorigen,v.lugorigen,v.fechavuelo,v.destino
FROM vuelos v,viajeros j,agencias a
WHERE j.nombre_viajero="ERIK SAMUEL GARCIA RAMOS" AND v.destino="San Paulo, Brazil";
18.
SELECT
a.nombreagencia,v.codvuelo,v.fechavuelo,v.lugorigen,v.destino,j.dni_viajero,j.nombre_viajero
FROM vuelos v,viajeros j,agencias a WHERE a.idagencia=113 and j.dni_viajero=3;
19.
SELECT a.nombreagencia,j.nombre_viajero,j.dni_viajero,v.fechavuelo,v.lugorigen
FROM agencias a, viajeros j, vuelos v
WHERE v.fechavuelo="2017-08-16" and v.destino="Arizona,EU";
24.
SELECT
j.dni_viajero,j.nombre_viajero,j.num_telef,v.fechavuelo,v.destino,v.numlugares,a.nombreagencia
FROM vuelos v,viajeros j,agencias a
WHERE v.fechavuelo="2017-08-10" and v.fechavuelo="2017-08-10" and j.dni_viajero=20 or
j.dni_viajero=21;
SELECT a.nombreagencia,v.fechavuelo,v.destino,j.dni_viajero,j.nombre_viajero,j.direccion_viajero
FROM registros r,viajeros_agencias va, agencias a,vuelos v,viajeros j
WHERE v.fechavuelo="2017-08-30" and a.idagencia=112 and a.idagencia=va.agencias_idagencia
and va.viajeros_dni_viajero=j.dni_viajero and j.dni_viajero=r.viajeros_dni_viajero and
r.vuelos_codvuelo=v.codvuelo ;
26. Una consulta que muestra los VUELOS(destino) que tuvo la agencia "mexicana" entre las
fechas 2017-08-22 2017-08-30 y los usuario que viajeron en ellos y su respectiva info:
SELECT a.nombreagencia,v.fechavuelo,v.destino,j.dni_viajero,j.nombre_viajero,j.direccion_viajero
FROM registros r,viajeros_agencias va, agencias a,vuelos v,viajeros j
WHERE v.fechavuelo>"2017-08-22" and v.fechavuelo<"2017-08-30" and a.idagencia=112 and
a.idagencia=va.agencias_idagencia and va.viajeros_dni_viajero=j.dni_viajero and
j.dni_viajero=r.viajeros_dni_viajero and r.vuelos_codvuelo=v.codvuelo ;
SELECT
a.nombreagencia,v.fechavuelo,v.numlugares,v.destino,j.dni_viajero,j.nombre_viajero,j.direccion_via
jero
FROM registros r,viajeros_agencias va, agencias a,vuelos v,viajeros j
WHERE v.fechavuelo>"2017-08-22" and v.numlugares>100 and a.idagencia=111 and
a.idagencia=va.agencias_idagencia and va.viajeros_dni_viajero=j.dni_viajero and
j.dni_viajero=r.viajeros_dni_viajero and r.vuelos_codvuelo=v.codvuelo ;
28.Una consulta que muestra los VUELOS(destino) que el usuario con dni = 25 ha tenido en cada
una de las agencias desde que se tiene registro,y la info de el:
SELECT
a.nombreagencia,v.fechavuelo,v.destino,j.dni_viajero,j.nombre_viajero,j.direccion_viajero,j.num_tel
ef
FROM registros r,viajeros_agencias va, agencias a,vuelos v,viajeros j
WHERE j.dni_viajero=25 and a.idagencia=va.agencias_idagencia and
va.viajeros_dni_viajero=j.dni_viajero and j.dni_viajero=r.viajeros_dni_viajero and
r.vuelos_codvuelo=v.codvuelo ;
29.Una consulta que muestra los usuario que han viajado a Texas , las fechas y las agencias en
las que han viajado
SELECT
a.nombreagencia,v.fechavuelo,v.destino,j.dni_viajero,j.nombre_viajero,j.direccion_viajero,j.num_tel
ef
FROM registros r,viajeros_agencias va, agencias a,vuelos v,viajeros j
WHERE v.destino="Misuri,EU" and a.idagencia=va.agencias_idagencia and
va.viajeros_dni_viajero=j.dni_viajero and j.dni_viajero=r.viajeros_dni_viajero and
r.vuelos_codvuelo=v.codvuelo ;
SELECT
a.nombreagencia,v.fechavuelo,v.destino,j.dni_viajero,j.nombre_viajero,j.direccion_viajero,j.num_tel
ef
FROM registros r,viajeros_agencias va, agencias a,vuelos v,viajeros j
WHERE a.idagencia=111 and a.idagencia=va.agencias_idagencia and
va.viajeros_dni_viajero=j.dni_viajero and j.dni_viajero=r.viajeros_dni_viajero and
r.vuelos_codvuelo=v.codvuelo ;
https://es.wikipedia.org/wiki/Lenguaje_de_definici%C3%B3n_de
_datos
https://es.wikipedia.org/wiki/Lenguaje_de_manipulaci%C3%B3n
_de_datos