Sie sind auf Seite 1von 23

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA


GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS




UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA


PROGRAMA TECNOLOGA E INGENIERA DE SISTEMAS








301330 BASES DE DATOS BSICO

MARA DORA ALBA SNCHEZ GMEZ
(Directora Nacional)
















MEDELLN
ENERO DE 2014



















































UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
INSTRUCCIONES GENERALES

El curso Bases de datos Bsico por ser de tipo Metodolgico, requiere fortalecer la
fundamentacin terica que se lleva a cabo en el aula virtual con el desarrollo del componente
prctico, que el estudiante debe realizar en el CEAD en el cual est matriculado. Todos los
estudiantes deben entregar un informe por cada prctica, al tutor asignado. En ese sentido
cada CEAD dispone de un Tutor del rea que estar a cargo de la motivacin, del
acompaamiento y de la valoracin de estas actividades prcticas, adems deber reportar
para cada una de ellas el resultado individual del componente prctico desarrollado por cada
estudiante. Por cada Unidad Didctica se debe realizar mnimo una prctica, la cual ser de
mucha ayuda para el desarrollo de los trabajos colaborativos en cada una de stas. Se espera
que este espacio sea aprovechado para despejar dudas e inquietudes relacionadas con la
temtica.

Practicas en casa u oficina

El estudiante que decida desarrollar esta gua desde su casa u oficina, debe contactarse con
el tutor de su respectivo CEAD y all se le indicar como debe presentar el informe y cules las
evidencias a presentar.

Reporte y evaluacin de la prctica

Cada tutor asignado al componente prctico del curso una vez que valore cada prctica, debe
pasar al director del curso los puntos que sac el estudiante. La valoracin mxima de cada
prctica es de 10 puntos. Este puntaje, se encuentra como un tem en la rbrica de cada trabajo
colaborativo. Por lo tanto el tutor que dirige la prctica en cada CEAD, debe subir un archivo
Excel en la red de tutores de la cadena de sistemas en el curso de bases de datos bsico. Este
archivo Excel debe incluir:

Cdigo del estudiante
Nombre completo del estudiante
Nmero grupo trabajo colaborativo
Nombre del Tutor responsable de la prctica.
Puntos asignados, entre cero (0) y diez (10), as: 10, el estudiante asisti, particip y entreg el
informe de prcticas con todas las evidencias claras; 6, el estudiante asisti pero no particip en
las prcticas ni present el informes con el 60% de evidencias; 3 El estudiante asisti a la
prctica, pero no presenta informes.

Se recomienda que la prctica de cada Unidad se realice antes de la entrega del trabajo
colaborativo respectivo, as tendr herramientas para hacer aportes en cada uno de estos trabajos.
Por lo tanto los rangos de fechas para la realizacin de stas son:





Nombre del curso: BASES DE DATOS BSICOS

Programa: TECNOLOGA E INGENIERA DE SISTEMAS

Directora curso: MARA DORA ALBA SNCHEZ GMEZ



















































UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS

Practica No 1 Modelo Lgico de datos antes del 20 de septiembre de 2014
Prctica No 2 Modelo Relacional antes del 20 de octubre de 2014
Prctica No 3 Sentencias SQL antes del 17 de Noviembre de 2014



UNIDAD I

SESIN No. 1: MODELO LGICO - MATRIZ RELACIN Y DIAGRAMA ENTIDAD RELACIN

Objetivos de la prctica de laboratorio

Realizar el modelo lgico de datos iniciando con la matriz Relacin generada, pasando sta al diagrama
entidad relacin, con base en un estudio de caso. Ver Anexo

Competencias a desarrollar

Identifica las entidades, las relaciones y sus cardinalidades, los atributos y atributos claves con base en
un estudio de casos.

Descripcin de la prctica / actividad

Basado en el enunciado del caso que se encuentra en el anexo, el estudiante debe identificar las entidades
con sus respectivas relaciones y cardinalidades, los atributos y atributos claves. Iniciando con la creacin
de la matriz relacin y pasando sta al modelo entidad-relacin.

Software a utilizar en la prctica

Utilizar el paquete DIA o Word si lo desea. El paquete dia lo puede descargar en el siguiente link:

http://dia.softonic.com/descargar

Equipos / instrumentos a utilizar en la prctica: Laboratorio de Sistemas.

Resultados a obtener en la prctica: El estudiante debe crear la Matriz Relacin y el modelo entidad
relacin.

Informe a entregar: Diagrama Entidad Relacin, en documento Word.

Duracin de la Prctica: tres (4) horas, de la cuales tres son para realizacin del taller propuesto y una
para sustentacin de la misma.

Fundamentacin Terico
Cuando se est iniciando a modelar conceptualmente los datos, una manera de realizarlo es a travs de
la tcnica de la Matriz de Relacin; esta tcnica se basa en las teora de conjunto, ms
especficamente, los conceptos de conjuntos y relaciones. Es as, que para empezar a trabajar una
problemtica (caso), se hace necesario que el estudiantes determine primero los conjuntos de datos
(Entidades), las relaciones que existen entre los elementos (Instancias u ocurrencias) de los conjuntos de
datos y el tipo de relacin (Cardinalidad).






UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
Con base en lo anterior, los pasos que se deben seguir para llenar la matriz de relacin son los
siguientes:
Identificar en la problemtica los sustantivos en plural (Conjuntos o Entidades).
Colocar en las filas todas las entidades que encontr en el paso anterior.
Colocar en las columnas todas las entidades, pero en el mismo orden que las coloc en las
filas. Vale la pena aclarar, que esta organizacin es muy importante, pues la diagonal,
siempre debe ser la interseccin entre los mismas entidades o conjunto.
Llenar la diagonal, de tal forma, que se analice si existen relaciones entre las instancias u
ocurrencias de las misma entidad (Subconjuntos); S no es as, entonces se coloca una X,
si es as, entonces se entra a establecer el tipo de relacin (Cardinalidad). Es bueno
observar en el caso, que los verbos me identifican la relacin y el tipo de relacin que
existen entre las instancias u ocurrencias de una o diferentes entidades.
Se empieza a llenar la matriz desde la primera fila, de izquierda a derechas, donde lo primero que
se debe mirar es s, existe o no relacin; si existe, entonces se entrar a determinar el tipo de
relacin, donde siempre de parte del Mnimo (Entidad Fila) y se llega al Mximo (Entidad
Columna). Esta operacin se contina hasta llegar a la ltima fila. Se debe aclarar, que a partir
del llenado de la segunda fila en adelante, las casillas que estn trabajando y se encuentran
debajo de la diagonal, el establecimiento de la relacin se da, s y solo s, la casilla contraria a la
diagonal est llena. Lo anterior, debido a que las relaciones son en ambos sentidos, es decir
simtricas; ya lo que resta es identificar el tipo de relacin, es decir, la Cardinalidad. De modo
grfico se vera as:

ENTIDAD Departamento Cargo Empleado
Departamento X X 1-N
Cargo X X 1-N
Empleado 1-1 1-1 X

a) Enunciado Caso empleados - Caso Ejemplo
Para iniciar a modelar los datos, miremos el siguiente caso de empleados:
Se quiere crear una base de datos de personal para una compaa, con las siguientes
caractersticas:
La compaa tiene un conjunto de departamentos.
Cada departamento tiene un conjunto de empleados, un conjunto de proyectos y un
conjunto de oficinas. Los proyectos tienen empleados asignados, y las oficinas empleados
que laboran en ellas.




UNIDAD I



Los cargos estn codificados, de tal forma, que tienen un cdigo nico y una descripcin
del cargo.
Cada empleado tiene una historia de cargos ocupados, en la cual se requiere saber la fecha
en que ha ocupado stos.
Adems se tiene:
Por cada departamento, nmero de departamento (nico), nombre, presupuesto anual.
Por cada empleado, nmero de empleado (nico), nombre, direccin y telfono de
residencia, departamento y proyecto al que esta asignado actualmente, nmero de oficina
y cargo actual.
Por cada proyecto, nmero de proyecto (nico), nombre, presupuesto del proyecto y
departamento al que pertenece.
Por cada oficina, nmero de oficina (nico), rea en metros cuadrados, nmeros de
telfono.
Adems se sabe lo siguiente:
Un empleado pertenece a mximo un departamento al tiempo.
Un empleado est vinculado a mximo un proyecto al tiempo.
Un empleado tiene mximo una oficina al tiempo.
Un empleado desempea mximo un cargo al tiempo.
Una oficina pertenece a mximo un departamento al tiempo.
Identificacin de entidades y Matriz de relacin
Observando el caso de empleados, encontramos los siguientes sustantivos (Entidades):
Departamentos, Empleados, Proyectos, Oficinas, Cargos e Historia de Cargos.
ENTIDAD Dptos. Empl. Proy. Ofic. Cargos Hist_Carg.
Dptos. x 1-N 1-N 1-N X X
Empl. 1-1 x 1-1 1-1 1-1 1-N
Proy. 1-1 1-N x X X X
Ofic. 1-1 1-N X x X X
Cargos X 1-N X X x 1-N
Hist_Carg. X 1-1 X X 1-1 x










UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS

En la matriz anterior, observemos las relaciones y cardinalidades de Historias de Cargos. Lo
primero es que solo est relacionada con las entidades Empleados y Cargos. Miramos que un
empleado puede tener como mximo varias historias de cargos, esto, porque una persona durante
la vida laboral puede desempear varios cargos; y una historia de cargos le pertenece mximo a
un empleado, esto debido a que cada vez que un empleado cambia de cargo, se genera una
instancia u ocurrencia en historia de cargos. Por otro lado, con respecto a la relacin que tiene
con cargos, una Historia de Cargo, tiene mximo un Cargo, y un Cargo, puede encontrarse en
varias instancias u ocurrencias de Historia de Cargos, esto debido a que pueden haber varios
empleados con el mismo cargo.
Con respecto a las dems relaciones, son claras sus relaciones, de acuerdo al enunciado del
caso.

A. Paso Matriz Relacin a Diagrama Entidad-Relacin

Con base en el caso de empleados, desarrollado en las notas de apoyo del trabajo colaborativo. Se
desarrollar el modelo entidad relacin partiendo de la matriz que se realiz en ese mismo documento.
Para esto, se deben seguir los siguientes pasos:
1) Colocar en el centro la entidad que tiene ms relaciones 1-1 o la que mejor identifique el problema.
Vemos que en la fila de la entidad EMPLEADOS, se tiene cuatro (4) relaciones 1-1, y una 1-N; las dems
entidades tienen una(1) o mximo dos(2) y por lo tanto empleados debe ser la entidad central.
2) Continuar con las dems entidades, partiendo de la primera fila. Esta entidad, es la de
DEPARTAMENTOS, vemos que tiene relacin con las entidades EMPLEADOS y OFICINAS; como la
primera entidad que llevamos en el diagrama es empleados, luego colocamos en el extremo superior
izquierdo la entidad de DEPARTAMENTOS. Seguimos con la entidad de PROYECTOS, y encontramos
que esta tiene relacin solo con DEPARTAMENTOS y EMPLEADOS, luego la colocamos al lado izquierdo
de EMPLEADOS y abajo de DEPARTAMENTO. Luego encontramos la entidad de OFICINAS, esta solo
est relacionada con DEPARTAMENTOS Y EMPLEADOS, por lo tanto la colocamos en el extremo superior
derecho, cerca de stas dos entidades. Seguimos con cargos, y encontramos que est relacionada con
EMPLEADOS e HISTORIA DE CARGOS, entonces la colocamos al lado derecho de EMPLEADOS. Por
ltimo, encontramos la entidad de HISTORIA DE CARGOS, la cual est relacionada con EMPLEADOS y
CARGOS, por lo tanto la colocamos debajo de estas dos entidades.
Todo el proceso anterior, es una recomendacin de organizacin, con el fn de que cuando comencemos
a establecer las relaciones, no nos queden lneas(Relaciones) cruzadas. Ver grfico.









UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS




UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
3) Colocar las relaciones, partiendo de la primera fila, que es la entidad departamento; observamos que
ste tiene relacin con EMPLEADOS, PROYECTOS Y OFICINAS, por lo tanto, procedemos a pasar las
respectivas lneas. Ver siguiente grfico.



Ahora procedemos a colocar la cardinalidad. Observamos que la primera casilla que encontramos es la de
DEPARTAMENTOS con EMPLEADOS; para ellos se dice: Un DEPARTAMENTO, puede tener muchos
EMPLEADOS. Lo mismos ocurre con PROYECTOS Y OFICINAS, un DEPARTAMENTO, puede tener
muchos PROYECTOS y muchas OFICINAS. Ntese que siempre partimos del mnimo y llegamos al
mximo. Veamos la grfica siguiente:



El proceso anterior se sigue con las dems entidades que se encuentran en la fila, como son EMPLEADOS,
PROYECTOS, OFICINAS, CARGOS e HISTORIAS DE CARGOS. Para lo cual tendramos el siguiente
diagrama:








UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
Seleccin de atributos y atributo clave
4) Colocar los atributos a cada una de las entidades; mirando el caso, vemos que los sustantivos
en singular para cada entidad son los que aparecen en el Diagrama.

5) Determinar el atributo clave. Si observamos en el caso y los atributos encontrados, observamos
que en el caso, hay alguno de ellos que dicen que son nicos, es el caso de atributo nmero en
DEPARTAMENTOS, EMPLEADOS, PROYECTOS y OFICINAS; para el caso de CARGOS, se ve
el cdigo, y por ltimo, HISTORIAS DE SALARIOS solo tiene un atributo. En esta ltima entidad,
el nico atributo que puede ser clave es ste. Sin embargo analizaremos este caso para el
siguiente paso. Teniendo en cuenta lo anterior, entonces nuestro diagrama quedara as:









UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
SESIN No. 2 MODELO RELACIONAL

Objetivos de la prctica de laboratorio

Con base en el modelo lgico de datos generado en el primer laboratorio y aplicando las reglas para pasar
de ste al modelo relacional, realizar el modelo relacional

Competencias a desarrollar

Aplica bien las reglas para pasar del modelo lgico al modelo relacional y utilizar la herramienta para la
creacin de este ltimo modelo.


Descripcin de la prctica / actividad:
.
Transformar el diagrama Entidad-Relacin a un Modelo Relacional (Tablas, Columnas, campos
claves y llaves forneas).

Software a utilizar en la prctica

Se propone utilizar el siguiente software. Sin embargo, los que manejen otro software quedan en libertad
de realizar el diagrama relacional en el paquete que mejor se acomoda, excepto Acces.

mysql-workbench es una aplicacin grfica que sirve para realizar el diagrama relacional para bases de
datos en MySql. Se puede descargar en el sitio: http://dev.mysql.com/doc/refman/5.5/en/wb-installing.html.


Equipos / instrumentos a utilizar en la prctica: Laboratorio de Sistemas.

Resultados a obtener en la prctica: El estudiante debe generar el Modelo Relacional con base en el
modelo lgico de datos de la seccin 1 (diagrama Entidad-Relacin).

Informe a entregar: Modelo Relacional del caso trabajado en la seccin 1.

Duracin de la Prctica: Cinco (3) horas, de la cuales dos son para realizacin del paso del modelo lgico
al modelo relacional y la creacin de ste ltimo en la herramienta. Una hora para la sustentacin del
mismo.













UNIDAD II




UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
B. Paso Diagrama Entidad-Relacin al Modelo Relacional
Existen unas reglas muy sencillas que se deben entrar a aplicar:
1) Toda entidad es una tabla.
2) Todos los atributos de una entidad, son columnas o campos de la tabla. El atributo clave es campo
clave.
3) Toda Relacin Uno a Varios (1-N), la tabla hija hereda de la tabla padre el campo clave. Si la
relacin es fuerte (lleva i), entonces el campo clave heredado es campo clave del hijo.
Ejemplo: Suponiendo que se tiene el siguiente modelo.

Antes de empezar a aplicar las reglas anteriores, se debe tener en cuenta las siguientes
recomendaciones:
1) Empezar a relacionar las entidades que son padres, es decir, aquellas que no tienen pata de gallina
como son la ENTIDAD_A y la ENTIDAD_E.
2) Despus se relacionan las entidades que son hijas, tienen pata de gallina con las entidades que ya
fueron descritas en el punto anterior: En este caso, observamos que la ENTIDAD_B y la ENTIDAD_C
tienen relacin con la ENTIDAD_A.





UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS

3) El proceso se contina hasta finalizar. As tenemos que las entidades que faltan son hijas de
entidades que ya estn relacionadas; en este ejemplo la ENTIDAD_D y la ENTIDAD_F, estn
relacionadas, la primera con la ENTIDAD_C y la ENTIDAD_E; la segunda con la ENTIDAD_B.
De acuerdo a lo anterior y a la aplicacin de la primera regla "Toda entidad es una tabla", quedara as:
ENTIDAD_A (
ENTIDAD_E (
ENTIDAD_B (
ENTIDAD_C (
ENTIDAD_D (
ENTIDAD_F (
Obsrvese que se abre un parntesis, eso es con el fin de comenzar a aplicar la segunda regla "Todo
atributo es un campo de la tabla y si es atributo clave, tambin es campo clave". Luego entonces
quedara as:
ENTIDAD_A (A1, A2)
ENTIDAD_E (E1, E2)
ENTIDAD_B (B1, B2, B3
ENTIDAD_C (C1, C2, C3, C4
ENTIDAD_D (
ENTIDAD_F (F1, F2
En las tablas anteriores, se observa que la ENTIDAD_A y la ENTIDAD_E se le cerr el parntesis,
esto debido a que son entidades que no heredan de nadie. Haciendo analoga con un rbol, son la raz
del rbol, son solo padres. Sin embargo las dems quedan con el parntesis abierto pues las dems, en
ciertas relaciones, son todas hijas de alguien.







UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
Ahora se contina aplicando la tercera regla "Toda relacin uno a varios, la entidad hija hereda el campo
clave de la tabla padre; si la relacin es fuerte, entonces la hereda como campo clave tambin" Miremos
como quedara:
Como la tablas ENTIDAD_A y la ENTIDAD_E, ya estn finalizadas, entonces seguimos con nuestro
anlisis con la tabla ENTIDAD_B, donde vemos que esta entidad es hija de la ENTIDAD_A y el campo
clave de la tabla ENTIDAD_A es A1, pero adems, como la relacin es fuerte (tiene i), entonces este
campo clave es tambin campo clave de la tabla ENTIDAD_D. Grficamente se tiene:
ENTIDAD_A (A1, A2)
ENTIDAD_E (E1, E2)
ENTIDAD_B (B1, B2, B3, A1)
Se sigue con la tabla ENTIDAD_C, se observa que esta entidad es hija de la ENTIDAD_A, por lo tanto
hereda el campo clave A1, pero en este caso NO es parte del campo clave. Grficamente se tiene:
ENTIDAD_A (A1, A2)
ENTIDAD_E (E1, E2)
ENTIDAD_B (B1, B2, B3, A1)
ENTIDAD_C (C1, C2, C3, C4, A1)
Se contina con la tabla ENTIDAD_D, sta es una entidad asociativa, por lo tanto es dbil de mnimo dos
entidades que en este caso es la ENTIDAD_C y la ENTIDAD_E. Aplicando la regla encontramos que hereda
el campo clave C1 y C2 de la primera tabla y el campo clave E1 de la segunda tabla, pero como tambin
las relaciones que tiene con las dos entidades son fuertes (i), entonces estos campos claves a su vez son
campos claves de la tabla hija. Grficamente se tiene:
ENTIDAD_A (A1, A2)
ENTIDAD_E (E1, E2)
ENTIDAD_B (B1, B2, B3, A1)
ENTIDAD_C (C1, C2, C3, C4, A1)
ENTIDAD_D (C1, C2, E1)








UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
SESIN NO. 3: ENTORNO DE UN MOTOR DE BASES DE DATOS DDL y DML

En esta sesin se sugiere trabajar con el motor de bases de datos MySql. Sin embargo, se tiene la libertad
de trabajar en cualquier motor de bases de datos que garantice la utilizacin de las sentencias estndar
de SQL, excepto Acces.

Objetivos de la prctica de laboratorio: Llenar y consultar la base de datos creada en la seccin 2.

Competencias a desarrollar

Identifica y usa las estructuras del lenguaje de definicin de datos y el lenguaje de manipulacin de
datos.

Descripcin de la prctica / actividad: Con base en el motor de base de datos seleccionado se debe
entrar a realizar modificaciones a la estructura de la base de datos de la seccin 2, llenarla de datos,
modificar, borrar y actualizar datos. Las sentencias de SQL a utilizar son todas las del Lenguaje de
Definicin de Datos (CREATE, DROP, ALTER, ADD) y parte del Lenguaje de Manipulacin de datos
(INSERT, UPDATE, DELETE y SELECT)

Software a utilizar en la prctica: MySQL u otro motor que contenga sentencia SQL. Excepto Access

Equipos / instrumentos a utilizar en la prctica: Laboratorio de Sistemas

Resultados a obtener en la prctica: El estudiante debe generar la base de datos de la sesin 2 con
datos.

Informe a entregar: Documento con todas las sentencias utilizadas para:

Manipular la estructura de la base de datos, modificando, borrando y creando elementos de sta,
con el fin de practicar el Lenguaje de Definicin de Datos (DDL). Al final debe quedar como termn
en la seccin 2. Los que realicen el laboratorio en la casa u oficina, debern incluir una copia del
esquema de la base de datos y las evidencias en pantallazos de todo lo trabajado.

Ingresar, Actualizar y Borrar datos de la base de datos. Los que realicen el laboratorio en la casa u
oficina, debern incluir una copia de los pantallazos donde se evidencie la ejecucin de las
diferentes sentencias de Insercin, Actualizacin, Borrado y Consultas de datos anterior, con el fin
de prcticar las sentencias del Lenguaje de Manipulacin de Datos (DML).

Duracin de la Prctica: tres (4) horas, de la cuales dos son para manipulacin de la estructura y llenado
de datos de la base de datos, dos para la realizacin de la consulta y una para sustentacin de la misma.









UNIDAD III




UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
Fundamentacin Teorica

Lenguaje de Consulta Estructurada


El SQUARE, fue un leguaje que fue mejorando hasta que en el ao 1976, apareci el SQL, el cual se ha
convertido en una estndar en la industria de los fabricantes de herramientas de bases de datos. Este
lenguaje se divide en dos grupos de instrucciones, el DDL y el DML. El DDL, es el lenguajes de definicin
de datos y el DML es el lenguaje de definicin de datos.


A. Lenguaje de Definicin de Datos DDL

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 bases de datos (DATABASE), tablas
(TABLE), ndices (INDEX) y vistas (VIEW). Miremos esquemticamente lo anterior:


CREATE DATABASE
DROP INDEX
VIEW
ALTER
TABLE

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;














UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS

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.

c. Creacin de ndices

CREATE INDEX PROV_CIUDAD ON PROVEEDORES(CIUDAD);

d. Creacin de Vistas

CREATE VIEW VISTA_PROVE ON
(SELECT VNRO,VNOMBRE
FROM PROVEEDORES);


Borrado de Elementos

a. Borrado de una base de datos

DROP DATABASE COMPRAS;




UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS

b. Borrado de una tabla

DROP TABLE PROVEEDORES;

c. Borrado de un ndice

DROP INDEX PROV_CIUDAD;

d. Borrado de una vista

DROP VIEW VISTA_PROVE;

Modificacin de Tablas

Aqu vamos a adicionarle el precio a las partes.

ALTER TABLE PARTES ADD PRECIO DECIMAL(7,2);


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.


UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
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, lo
colocamos 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.

Borrar Filas

Vamos a borrar todas las filas de la tabla de proveedores que se encuentran en la ciudad de Armenia.

DELETE FROM PROVEEDORES
WHERE CIUDAD = Armenia;

Aqu vale la pena hacer la misma aclaracin que hicimos con UPDATE, y es que la clusula WHERE es
opcional. De tal forma, que si no se coloca, entonces BORRA TODOS LOS DATOS DE LA TABLA, pero
no la estructura.

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.]

a. Consultas Simples

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

SELECT PROVEEDORE,CIUDAD
FROM PROVEEDORES;



UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
b. Consultas de todos los campos. Consultar todos los datos de las partes.
SELECT *
FROM PARTES;

c. Consultas con DISTINCT. Consultar el nmero de proveedores que han suministrado
partes en algn proyecto.

SELECT DISTINCT VNRO
FROM SUMINISTROS;

d. Consultas de valores calculado. Consultar el nombre de las partes con su respectivos
pesos aumentados en un 10%.

SELECT PARTES, Peso aumentado en 10%,PESO*1.1
FROM PARTES;

e. Consultas con campos cualificados. Consultar el nmero y nombre del proyecto.

SELECT PROYECTOS.YNRO,PROYECTOS.PROYECTO
FROM PROYECTOS;

f. Consultas con condicin. Consultar el nmero del proveedor que ha suministrado
partes a los proyectos Y1 y `Y2.

SELECT DISTINCT VNRO
FROM SUMINISTROS
WHERE YNRO=Y1 OR YNRO= Y2;

g. Consultas con ordenamiento. Consultar el nmero de proveedores y el nmero de
proyectos que le han suministrado, organizado por proyectos.

SELECT DISTINCT VNRO,YNRO
FROM SUMINISTROS
ORDER BY YNRO;


b. Consultas de Reunin

a. 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.



UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
b. 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 y CONSOLA.

SELECT PROVEEDOR,PARTE,PROYECTO
FROM PROVEEDORES,PARTES,PROYECTOS,SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO AND PARTES.PNRO=SUMINISTROS.PNRO
AND PROYECTOR.YNRO=SUMINISTROS.YNRO AND (PROYECTO=MONITOR OR
PROYECTO=CONSOLA);

c. Reunin de una tabla consigo misma. Consultar las parejas de nmeros de proveedor
y la ciudad, que se encuentran en la misma ciudad.

SELECT PRIMERA.VNRO,SEGUNDA.VNRO
FROM PROVEEDORES PRIMERA,PROVEEDORES SEGUNDA
WHERE PRIMERA.VNRO<SEGUNDA.VNRO AND PRIMERA.CIUDAD=SEGUNDA.CIUDAD;

Nota: Obsrvese que el JOIN, es decir, la IGUALACIN, se esta realizando por el campo de CIUDAD y
no por el campo llave VNRO. Adems, se utilizan alias en el nombre de las tablas, con el fin de poder
combinar la tabla consigo misma.

c. 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.

a. Consultas para contar filas. Consultar el nmero total de proyectos.

SELECT COUNT(*)
FROM PROYECTOS;

b. 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 ;




UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
c. Consultas con agrupacin. Obtener el nmero total de proyectos por proveedor

SELECT VNRO,COUNT(YNRO)
FROM SUMINISTROS
GROUP BY VNRO;

d. 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;

e. 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;

f. 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 AND PARTES.PNRO=SUMINISTROS.PNRO
AND (PROVEEDORES.CIUDAD=LONDRES OR PROVEEDORES.CIUDAD=PARIS)
GROUP BY PROVEEDOR,PARTE
HAVING SUM(CANT)>500;


d. Consultas Avanzadas.

a. Consultas con el operador LIKE. Consultar los proveedores cuyo nombre empiezan
con la letra A.

SELECT *
FROM PROVEEDORES
WHERE PROVEEDOR LIKE A% ;



UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
b. Consultar los proveedores cuya segunda letra sea l.

SELECT *
FROM PROVEEDORES
WHERE PROVEEDOR LIKE _A% ;

c. Consultar los proveedores cuya ltima letra sea igual a E.

SELECT *
FROM PROVEEDORES
WHERE PROVEEDOR LIKE %E ;

d. Consultar los proveedores que tengan en el nombre la letra S.

SELECT *
FROM PROVEEDORES
WHERE PROVEEDOR LIKE %S% ;

e. Subconsultas. Consultar los proveedores que no han suministrado partes.

SELECT *
FROM PROVEEDORES
WHERE VNRO NOT IN
(SELECT VNRO
FROM SUMINISTROS) ;

Nota: Esta consulta se puede realizar tambin utilizando el EXISTS

SELECT *
FROM PROVEEDORES
WHERE NOT EXISTS
(SELECT VNRO
FROM SUMINISTROS
WHERE SUMINISTROS.VNRO=PROVEEDORES.VNRO)

e. Otras Operaciones

a. Crear tablas temporales con INSERT INTO. Crear una tabla temporal llamada
TEMP_PROV, que contenga el nombre del proveedor, la ciudad y la cantidad total
suministrada por partes.

SELECT PROVEEDOR,CIUDAD,SUM (CANT) AS TOT_CANT
INTO TEMP_PROV
FROM PROVEEDORES, SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO
GROUP BY PROVEEDOR,CIUDAD;



UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS
b. Crear una vista con CREATE VIEW. Crear una vista con todas las partes y su
respectivo numero total de proyectos que han suministrado y cantidad total
suministrada.

CREATE VIEW VISTA_PARTES AS
(SELECT PARTE,COUNT(YNRO),SUM(CANT)
FROM PARTES,SUMINISTROS
WHERE PARTES.PNRO=SUMINISTROS.PNRO
GROUP BY PARTE);

c. Consultar sobre una tabla temporal. Consultar la mayor cantidad suministrada

SELECT MAX(TOT_CANT)
FROM TEMP_PROV;



















































UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
GUA PRACTICA DE LABORATORIO DEL CURSO: 301330 BASES DE DATOS BSICOS

La finca la IGUAN, desea llevar registro detallado de sus actividades, para ello ha divido toda la tierra
en varios lotes, de cada lote se desea tener la informacin de su identificacin y rea. Debido a que la finca
se dedica a la agricultura, es necesario saber que cultivo se va a sembrar en cada lote. EL cultivo se identifica
por el cdigo y adems tiene nombre, tiempo promedio del cultivo y fecha de siembra.

Para llevar el registro de sus actividades, la finca tiene divididas dichas acciones de la siguiente manera:


Estado cultivo Actividad Valor por hora
Siembra Preparacin terreno $10.oo
Vivero $8.oo
Siembra $12.oo
Mantenimiento Control de Plagas $22.oo
Control Enfermedades $18.oo
Riego $9.oo
Control Malezas $13.oo
Fertilizacin $25.oo
Produccin Recoleccin $25.oo
Almacenamiento $20.oo
Ventas $15.oo

Cada actividad debe ser codificada y al realizarse se requiere llevar el control de la cantidad de horas en las
que se desarroll la actividad y que trabajadores realizaron dicha tarea (una misma tarea puede ser realizada
por varios trabajadores y un trabajador poder trabajar en varias actividades). Del trabajador se necesita tener
la informacin personal (numero identificacin, nombres, apellidos, telfono y direccin) y el nmero de
cuenta donde se le realiza las consignaciones de sus salarios. Adems se tienen mayordomos los cuales se le
asignan un nmero determinado de lotes. Un lote solo es asignado a un solo mayordomo, que a su vez son
trabajadores. El control de actividades se identifica con un consecutivo.

Para tener claro el proceso, cuando se realiza la actividad, es necesario indicar la fecha de la tarea realizada
y las horas empleadas, para poder entrar a liquidar el pago semanal de cada trabajador. Si la actividad es una
venta, indicar la cantidad de kilos vendidos y el valor o precio pactado por kilo. Caso tomado de Corpoica.













ANEXO 1 Caso de finca

Das könnte Ihnen auch gefallen