lunes, 12 de mayo de 2008

Desarrollo C4 (Ejemplos)

EJEMPLO 1
En el ejemplo que se te presenta a continuación se aprecian varias relaciones así como los datos que se incluye en cada una de ellas.
Analiza con mucho detenimiento.


EJERCICIO 1

Instrucciones: Contesta los cuestionamientos que a continuación se te presentan.Comparte tus respuestas ante el resto del grupo.

1. ¿Cuántas relaciones existen en la base de datos y cuáles son?
R= 2
· Oficina_Numero(Oficinas)-Oficina_Numero(Personal)
· Poblacion(Oficinas)-Poblacion(Personal)

2. ¿Qué atributos tiene la relación Oficinas?
R= Oficina_Numero, Calle, Colonia, Poblacion, Estado y Telefono.

3. ¿Qué atributos tiene la relación Personal?
R=CLave, Nombre, Apellido, Direccion,Poblacion, Puesto, Salario, CURP y Oficina_Numero.

4. ¿Qué atributos permite que compartan información las relaciones?
R= Oficina_Numero y Poblacion.

5. ¿Qué atributos funcionarían como llaves primarias?
R= · Oficina-->Oficina_Numero
· Personal-->Clave

EJERCICIO 2

Instrucciones: A partir de los casos presentados tanto en el ejercicio 2 como en el ejercicio 9 de la competencia anterior (3) genera dos bases de datos bajo el modelo relacional.
Comparte tu trabajo ante el resto del grupo.

EJEMPLO 2
A partir de la información que se incluyó en la base de datos del ejemplo 1 en esta misma competencia, planteamos algunas preguntas y su respuesta mediante consultas elaboradas en SQL.

1. ¿Cuáles son los trabajadores que laboran en la oficina 01?
SELECT Nombre
FROM Personal
WHERE Of_num = 01

Interpretando cada sentencia de ese consulta:

SELECT Nombre
Mostrará todos los datos que aparezcan en la columna nombre.

FROM Personal
Los datos de la columna nombre que está en la relación llamada Personal.

WHERE Of_num = 01 para poder ser mostrado un nombre debe tener en la columna Of_num el número 01.

Finalmente, el resultado de esta consulta será:
Nombre
Artemio
Sonia
Flor

2. ¿Cuáles son los trabajadores que tienen un salario menor a $15,000?

SELECT Nombre
FROM Personal
WHERE Salario < 15,000

Interpretando cada sentencia de ese consulta:

SELECT Nombre
Mostrará todos los datos que aparezcan en la columna nombre.

FROM Personal
Los datos de la columna nombre que está en la relación llamada Personal.

WHERE Salario < 15,000 indica que la condición para que se muestre el nombre del trabajador es que el valor que tiene en Salario sea menor a 15,000.

Finalmente, el resultado de esta consulta será:
Nombre
Ilych
Sergio
Artemio
Víctor
Javier
Miguel
Flor
Héctor
Ricardo
Rodrigo

3. ¿Cuáles son los trabajadores que trabajan en la oficina de Mérida?
SELECT Nombre
FROM personal
WHERE Of_num IN (SELECT Of_numFROM OficinasWHERE Población= 'Mérida')

Interpretando cada sentencia de ese consulta:

SELECT Nombre
Mostrará todos los datos que aparezcan en la columna nombre.

FROM personal
Los datos de la columna nombre que está en la relación llamada Personal.

WHERE Of_num IN aquí se crea lo que conoce como consulta anidada, es decir, lo que aparece en Of_num, tiene que pasar antes por una condición para ser seleccionado. Dicha condición se especifica en la consulta que se encuentra en el paréntesis que dice a grandes rasgos, seleccionar el of_num de la tabla oficinas donde población sea igual a Mérida.

(SELECT Of_num
FROM Oficinas
WHERE Población= 'Mérida')

Finalmente, el resultado de esta consulta será:
Nombre
Víctor

EJEMPLO 3
Observemos de nueva cuenta el ejemplo 1 de esta competencia. Si planteamos las tablas y sus atributos, podríamos ver algo similar a lo siguiente.

Podemos observar que las tablas comparten un atributo en común denominadoof_num, que en realidad sirve como el enlace o relación entre las dos tablas. Ademásla llave primaria para la tabla oficinas es of_num, mientras que para personal es
Clave.

No hay comentarios: