lunes, 9 de junio 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?
2. ¿Qué atributos tiene la relación Oficinas?
3. ¿Qué atributos tiene la relación Personal?
4. ¿Qué atributos permite que compartan información las relaciones?
5. ¿Qué atributos funcionarían como llaves primarias?


EJERCICIO 2
Instrucciones: A partir de los casos presentados tanto en el ejercicio 2 como en el ejercicio 9 dela 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,000Interpretando 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_numFROM OficinasWHERE 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 denominado of_num, que en realidad sirve como el enlace o relación entre las dos tablas. Además la llave primaria para la tabla oficinas es of_num, mientras que para personal esClave.

EJEMPLO 4
Ahora veamos las consultas SQL necesarias para crear las tablas, añadir claves primarias y establecer la relación entre las tablas una vez que han sido creadas.

- Creando la tabla oficinas.
Create table oficinas (of_num integer not null,calle char(20) not null,colonia char(20) not null,poblacion char(20) not null,estado char(20) not null,telefono char(20) not null);- Creando la tabla personalCreate table personal (clave char(4) not null,nombre char(25) not null,apellido char(25) not null,direccion char(30) not null,poblacion char(20) not null,puesto char(20) not null,salario char(20) not null,curp char(20) not null,of_num integer);

- Añadiendo la llave primaria a la tabla oficinas.Alter table oficinas add primary key (of_num);- Añadiendo la llave primaria a la tabla personal.Alter table personal add primary key (clave);- Añadiendo la relación desde la tabla personal a la tabla oficinaAlter table "empleados" add foreign key ("of_num") referencesoficinas ("of_num");

EJEMPLO 5
Veamos las mismas consultas pero para crear otras tablas, presta atención a los atributos y sus tipos de datos, porque serán utilizados en el siguiente ejercicio.Create table vacuna (Novacuna int not null,Nombre char(25),Laboratorio char(20),Presentacion char(10),Primary key (novacuna))Create table aplicacion (Noaplic int not null,Dueno char(40),Domicilio char(50),Animal char(20),Nombreanimal char(25),Vacuna int,Fechaplic char(10),Primary key (noaplic))Create table comunidades(Nocon int not null,Nombrecom char(35),Cabregis int,Primary key(nocon))Alter table aplicacion add foreign key (vacuna) references vacuna (novacuna);

EJERCICIO 3
Instrucciones:
En los cuadros que se presentan a continuación señala los diferentes atributos ytipos de datos para las tablas creadas en el ejemplo 5 de esta competencia. Señala asimismo cuáles son las llaves primarias y las relaciones entre tablas.

sábado, 7 de junio de 2008

Conocimientos previos

* Modelo entidad/relación
* Estructura de la base de datos relacional
* Lenguaje de consulta SQL
* Restricciones semánticas
* Teoría de la normalización (formas normales y depencias funcionales)
* Seguridad en la base de datos

El modelo relacional se basa en el concepto matemático de relación, que gráficamente se representa mediante una tabla.Una relación es una tabla con columnas (atributos) y filas (tuplas).
Un atributo es el nombre de una columna de una relación.Un Dominio es el conjunto de valores que puede tomar un atributo (se considera finito).

El lenguaje de consulta estructurado (SQL)es un lenguaje de base de datos normalizado, utilizado por el motor de basede datos de Microsoft Jet. SQLse utiliza para crear objetos QueryDef, como el argumento de origen del métodoOpenRecordSet y como la propiedad RecordSource del control de datos. También se puede utilizar con el método Execute para crear y manipular directamentelas bases de datos Jet y crear consultas SQLde paso a través para manipular bases de datos remotas cliente - servidor.
1.1. Componentes del SQL
El lenguaje SQL está compuesto por comandos, cláusulas, operadoresy funciones de agregado. Estos elementos se combinan en las instrucciones paracrear, actualizar y manipular las bases de datos.
1.2 Comandos
Existen dos tipos de comandos SQL:
Los DLL que permiten crear y definir nuevas bases de datos, campos e índices.
Los DML que permiten generar consultas para ordenar, filtrar y extraer datosde la base de datos.

Comandos DLL
CREATE
Utilizado para crear nuevas tablas, campose índices

DROP
Empleado para eliminar tablas e índices

ALTER
Utilizado para modificar las tablas agregandocampos o cambiando la definición de los campos.


Comandos DML

SELECT
Utilizado para consultar registros de la base de datos que satisfagan un criteriodeterminado

INSERT
Utilizado para cargar lotes de datos en la base de datos en una únicaoperación.

UPDATE
Utilizado para modificar los valores de los campos y registros especificados

DELETE
Utilizado para eliminar registros de una tabla de una base de datos


1.3 Cláusulas

Las cláusulas son condiciones de modificación utilizadas paradefinir los datos que desea seleccionar o manipular.

FROM
Utilizada para especificar la tabla de la cual se van a seleccionar los registros

WHERE
Utilizada para especificar las condiciones que deben reunir los registros quese van a seleccionar

GROUPBY
Utilizada para separar los registros seleccionados en grupos específicos

HAVING
Utilizada para expresar la condición que debe satisfacer cada grupo

ORDERBY
Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico


1.4 Operadores Lógicos

AND
Es el “y” lógico. Evalúa dos condiciones y devuelve unvalor de verdad sólo si ambas son ciertas.

OR
Esel “o” lógico. Evalúa dos condiciones y devuelve unvalor de verdad si alguna de las dos es cierta.

NOT
Negación lógica. Devuelve el valor contrario de la expresión.


1.5Operadores de Comparación

<
Menorque


>
Mayorque


<>
Distinto de


<=
Menor ó Igual que


>=
Mayoró Igual que



BETWEEN
Utilizado para especificar un intervalo de valores.

LIKE
Utilizado en la comparación de un modelo

In
Utilizado para especificar registros de una base de datos

1.6 Funciones de Agregado
Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de registros para devolver un único valor que se aplica a ungrupo de registros.

AVG
Utilizada para calcular el promedio de los valores de un campo determinado

COUNT
Utilizadapara devolver el número de registros de la selección

SUM
Utilizadapara devolver la suma de todos los valores de un campo determinado

MAX
Utilizadapara devolver el valor más alto de un campo especificado

MIN
Utilizadapara devolver el valor más bajo de un campo especificado

Competencia 4

IV.- Diseñar bases de datos con el modelo relacional

Introducción
De nueva cuenta comenzamos una competencia más, en este caso la competencia referente al diseño de bases de datos bajo el modelo relacional. En la competencia anterior, desarrollamos las capacidades necesarias para diseñar bases de datos con el modelo Entidad – Relación,ahora haremos un cambio importante al utilizar otro modelo de bases de datos, un modelo que sin duda permitirá que comprendas de forma mucho más sencilla los concepto de bases de datos. En este apartado vamos estudiar especialmente un lenguaje mucho muy útil en la manipulación de las bases de datos que se encuentran diseñadas bajo el modelo relacional, el Lenguaje de Estructurado de Consultas, mejor conocido como SQL. Mismo que es un estándar a nivel mundial y que ha ido evolucionado hasta convertirse en el más utilizado en la actualidad en aplicaciones de Internet que requieren la administración de bases de datos, tal es el caso de foros, salas de chat,páginas que ofrecen el servicio de correo electrónico, páginas de bitácoras (blogs),etc.Iniciemos pues, el trabajo para convertirnos en técnicos capacitados en la manipulación de bases de datos relacionales. Unicamente cabe hacerte de nueva cuenta el recordatorio, de que todos nuestros esfuerzos por crear un material atractivo para ti, resultarán infructuosos sin tu empeño por criticarlos y mejorarlos, pero sobre todo sin tu empeño por superarte día a día en esta área de la informática.

HABILIDAD 1
- 2. Elaborar la estructura relacional de la base de datos.

RESULTADO DE APRENDIZAJE:
Una vez que hayas finalizado esta habilidad estarás enposibilidad de elaborar bases de datos bajo la estructura marcada por el modelo relacional.

HABILIDAD:
3. Operar el lenguaje de consulta SQL.
4. Ejecutar las restricciones semánticas.
5. Aplicar la teoría de la normalización.
6. Aplicar la seguridad de la base de datos

RESULTADO DEAPRENDIZAJE:
Al finalizar esta habilidad tendrás las capacidades pararealizar consultas a bases de datos mediante el lenguaje de consultas conocido como SQL, tomando en cuenta aspectos como las restricciones semánticas, la normalización debases de datos y la seguridad.

sábado, 31 de mayo de 2008

En resumen y para saber más

Diseño de una base de datos
Consiste en:
- Distribuir la información en diferentes tablas
- Establecer los campos y sus propiedades, para cada tabla.
- Crear las relaciones entre las diferentes tablas.

Método de diseño:
1º) Estudiar toda la información que interesa gestionar
2º) Distribuir la información en diferentes “temas”:tablas de la B.D.
3º) Establecer las claves externas: campos de conexión entre tablas.
4º) Establecer las claves principales: campo o campos que caracterizan univocamente a cada registro de una tabla.
5º) Crear las Relaciones entre las tablas.

Ejemplo: Facturación de una empresa

1º)Información
- Datos del cliente
- Datos de los artículos a facturar
- Datos de los diferentes pedidos

2º)Tblas:
- Clientes
- Artículos
- Pedidos

3º)Claves Externas
Clientes>>>>Pedidos<<<>>>>Pedidos<<< fila =" un">>]
- Para colocar un campo concreto, hemos de tenerlo seleccionadoy pulsar [>].
- Si hacemos algún error podemos volver a comenzar (botón [<<]) o eliminar un campo concreto (botón [<]) - El asistente ya asigna una clave principal. - En el caso de que no sea la primera tabla de la base de datos, el asistente nos guia para establecer las “relaciones”. - Al acabar es conveniente escoger la opción "Modificar el diseño de la tabla", para visualizar la estructura de la tabla y si lo consideramos conveniente podemos modificar algunas características. - Desde la pantalla principal de la B.D., clic en el icono "Realaciones" - Aparece una ventana de nombre "Mostrar tabla" que nos permite colocar las tablas (o consultas) en la ventana de relaciones: * Seleccionamos la tabla y clic en [Agregar] * Para acabar, clic en [Cerrar] - Si ya existe alguna relación en la “Pantalla de Relaciones”,no aparece la ventana "Mostrar Tabla";para que aparezca hemos de hacer clic en el icono "Mostrar Tabla" - Una vez colocadas las tablas en la ventana de relaciones, para establecer una relación: * Seleccionamos el campo de la tabla principal y sin dejar de pulsar el botón izquierdo del ratón, “arrastramos” el campo hasta situarlo en el campo correspondiente de la tabla relacionada. * En este instante aparece la ventana que nos permite modificar el tipo de relación, con la posibilidad de "Exigir Integridad Referencial". - Una vez establecida una relación podemos modificarla: * Seleccionamos la línea de conexión de la relación. * Pulsamos el botón derecho del ratón para que aparezca el “menú contextual”. * Escogemos la opción "Modificar relación..." - Cuando hemos acabado de trabajar en la “Pantalla de Relaciones”,hemos de grabar los cambios:como siempre, clic en el icono "Guardar". . Insertar hojas secundarias de datos Desde la “Pantalla Hoja de Datos” de una tabla podemos visualizar los datos relacionados de otras tablas… - Desde la “Pantalla Hoja de Datos” de una tabla: Menú Insertar Hoja secundaria de datos… - Aparece una ventana donde hemos de seleccionar la tabla cuyos datos vinculados deseamos visualizar y los campos relacionados. - En la “Pantalla Hoja de Datos” de la tabla aparece una nueva columna (1ª columna de la tabla) con el signo “+” an cada registro. - Si pulsamos en el signo “+” de un registro determinado, aparecerán los datos relacionados de dicho registro. - Para volver a la situación inicial deberemos pulsar en el signo “-“ - Si queremos “conservar” la Hoja secundaria de Datos, deberemos grabar (como siempre) desde la “Pantalla Hoja de Datos”. Insertar una tabla como cuadro combinado de otra 1ª Posibilidad - Desde la “Pantalla de Diseño de la tabla 1” y el cursor en el campo relacionado con la Tabla 2. - Selecciona la Solapa:Búsqueda en el Panel de Propiedades: - Sitúa el cursor en el único campo que aparece (clic en “Cuadro de Texto”),y escribe o selecciona "Cuadro Combinado". - Rellena los campos que aparecen de la siguiente forma: Tipo de origen de la fila: Tabla/Consulta Origen de la fila: Tabla 2 Columna dependiente: 1 Número de columnas: 2 Encabezados de columnas: No Ancho de columna: 0cm;3cm Filas de lista: 8 Ancho de la lista: Auto Limitar a la lista: Sí 2ª Posibilidad - Desde la “Pantalla de Diseño de la Tabla 1”, añade un nuevo campo con… - Nombre del campo: escribe elnombre que quieras. - Tipo de datos: escoge la opción: En este momento se activa el “asistente” que nos hace una serie de preguntas: * Quiero que la columna de búsqueda busque los valores en una tabla o consulta * Tabla: Tabla 2 * Clic en [>>] para incluir todos los campos.
* Etc.
Introducción de Registros Desde la “Pantalla Hoja de Datos” de una tabla:
- Cuando comenzamos a introducir un registro, aparece un pequeño lápiz a la izquierda del registro fila que estamos rellenando), que desaparece al acabar de rellenar el registro.
- Para “saltar” al campo siguiente: pulsa las teclas [Return] o [Tab]
- En un campo "Autonumérico", no hemos de escribir nada, simplemente pulsar [Return] o [Tab] - En un campo determinado, si deseamos el mismo valor que en el registro anterior, basta que pulses [CTRL][Apóstrofe]
- Si el campo es un cuadro combinado: Una forma: Clic en la flecha del cuadro combinado. Clic en la opción deseada del cuadro Pulsa [Tab]
Otra Forma: Al pulsar la tecla [F4] se “abre” el cuadro combinado Con la tecla del cursor abajo, seleccionamos el valor deseado Pulsa [Tab]
Otra forma: Al escribir las primeras letras, aparece elvalor en el cuadro combinado Pulsa [Tab] para validar el valor y saltar al campo siguiente.
- Si el campo es OLE,para introducir un valor hemos de proceder de la siguiente forma:
* Situado el cursor en el campo OLE
* Menú Insertar Objeto…
* “Crear desde archivo”
* Clic en [Examinar…]
* Localiza el objeto a insertar
* [Aceptar][Aceptar]
* [Tab] para validar, ypasar al siguiente campo.
- Podemos introducir/visualizar registros desde otra pantalla:
* Desde la “Pantalla Hoja de Datos” de una tabla.
* Clic en Autoformulario
* En el caso de un “campo OLE”, sólo se visualiza en el autoformulario
* Si la tabla contenía una “Hoja secundaria de datos”, aparece automáticamente en el autoformulario en forma de Subformulario

martes, 1 de abril de 2008

Ejercicios Adicionales

PASO 1
Diseño de una nueva Base de Datos:

Contrato de alquiler nº57AB01
Maquinaria alquilada CAMPE7
Descripciòn Camiòn Pesado nº7
Precio Alquiles Diario $1500
Cliente Paco Martinez
NIF 37259492H
Direcciòn c/Los pepinos 57,2º,4º
Poblaciòn 08083-Barcelona
Fecha contrato 13/7/2004
Dìas 15
Oficina Valencia


Paso 2
Separar informacion
Resulta que la empresa PEPES SA no sabemos como lo consigue , pero cuando tiene un cliente que le alquila una ,maquina, nunca mas le alquila otra; en definitiva, no tenemo0s necesidad de guardar informaciòn de loisclientes en una tablas separada.

Alquiler
Contrato de alquiler
Fecha
Dias
Oficina
Cliente
Nif
Direccion
Poblaciòn

Maquina
Maquina alquilada
Deswcripcion
Precio

Paso 3
Es localizar el campo mas caracteristico de cada tabla, es decir el campo(ocampos),que caracteriza cada registro :

Dos registros distintos no pueden tener el mismo valor en la clave y no puede existir un registro con clave vacia . Entidad alquileres Contrato de Alquiler Maquina Maquina Alquilada. El campo clave principal de la tabla alquileres debe ser numero de alquiler y en el caso dela tabla maquinas,el campo codigo maquina

Paso 4
Es tener clara la relacion (0 relaciones) que hemos de imponer a nuestras tablas hemos incluir la imformacion de maquinas en alquileres para ello en la segunda tabla necesitamos un campo especial, para poder conectar la tabla maquina, este campo se le llama clave externa y le podriamos y le podriamos poner el nombre codmaquina

Paso5
Hacerlo en el ordenador

DESARROLLO C3

Desarrollo
Durante el desarrollo de esta competencia adquirirás habilidades, destrezas y actitudes que te permitan editar y manipular modelos entidad/relación, así como aplicar la cardinalidad demapeo, crear diseño y diagramas entidad/relación que permiten reducir los diagramas deforma lógica y estructurada para un mejorar análisis y creación de las bases de datos según lo especificado por el usuario.

Ejercicio 1
Instrucciones .- Con base en la información presentada en el ejemplo anterior, responde a los cuestionamientos que a continuación se te presentan:

¿Qué materias imparten los docentes?
Teoria general de la prediccion del futuro
Teoria general del esoterismo
Artes adivinatorias I

¿Qué estudiantes repiten al menos 2 cursos?
E01 Ramos Guajardo Ilych Antonio
E05 Ramos Saucedo Sonia Patricia
E07Sanchez Pérez Javier
E03Lemus Ruiz Artemio
E09Aguilar Ángeles Miguel Ángel
E11Ortiz Cisneros Hector

¿Qué cursos son los que se están ofertando?
Historia del arte de predecir el futuro
Teoria general de la prediccion del futuro
Teoria general del esoterismo
Artes adivinatorias
IArtes adivinatorias
IIEl melodrama en México
Melodramas modernos
Artes oscuras IArtes Oscuras

¿Cuántos docentes van a impartir cursos?
Cinco

¿Existe algún estudiante que no se va a inscribir en algún curso?
E08Ramirez Palacios Wendy
E10Aldama Nieblas Flor

¿Cuáles son los "atributos" que permiten enlazar a las "tablas"?
Alumnos
Profesores
Asignaturas
Cursos

Ejercicio 2
Instrucciones para el alumno.- Expresa los "atributos" que consideras debe llevar una base de datos para gestionar el control de una biblioteca, tomando en cuenta que sólo existen libros para consulta en el mismo edificio, no existe el préstamo a domicilio, ni otro tipo de materiales tales como revistas, periódicos, videos, etc. No es necesario rellenar todos los espacios que se te presentan, aún así, si ocuparas mas los puedes incluir.

Entidad:
Libros de Ciencias Naturales, libros de ciencias sociales, libros de historia, Libros matematicos, libros de tecnologica

(cinco entidades con sus atributos y justificación)
Nombre del atributo Justificación
Libros de ciencias naturales......... Para investigaciones de las plantas
Libros de ciencias sociales............ Para investigacion del entorno del hombre
Libros de historia........................... Para investigacion de la historia del mundo
Libros matematicos....................... Para despeje de dudas o problemas algebraicos
Libros de tecnologica..................... Para comprension de la tecnologia

Ejercicio 3
Instrucciones para el alumno.- Al igual que en ejercicio anterior, señala los posibles "atributos" para una base de datos que permita el control de información de un salón de fiestas infantiles. Realiza el análisis con mucho detalle has tus anotaciones.
Sillas
Mesas
Show
Inflables

Ejercicio 4
Instrucciones para el alumno.- Relaciona las columnas que se presentan a continuación, identifica la explicación que corresponde a cada símbolo.




HABILIDAD:
2. Aplicar la cardinalidad de mapeo.
3. Establecer la clave primaria.

RESULTADO DE APRENDIZAJE: Con estas habilidades podrás aplicar los diversos tipos decardinalidad de mapeo a las entidades que aparecen en una base de datos; así como identificar el atributo o los atributos que determinarán la clave primaria de un conjunto de entidades.

Ejemplo 2
Los siguientes son los datos de los jugadores de cada equipo que participó en el torneo relámpago de básquetbol de las pasadas fiestas ejidales en "Mexcaltitán". Analiza tanto los atributos como las entidades de esta pequeña base de datos.

Ejercicio 5 (investiga tipos de relaciones que existen access)
Instrucciones para el alumno.- A partir del análisis realizado en ejemplo anterior, responde a los siguientes cuestionamientos. Discute tus respuestas con los compañeros de grupo.


1. ¿Con cuántos equipos puede inscribirse cada jugador?
Con uno
2. ¿Cuántos jugadores puede tener inscritos cada equipo?
Siete
3. ¿Qué tipo de relación existe entonces, entre los equipos y los jugadores?
De uno a varios

Ejercicio 6
Instrucciones para el alumno.- en los espacios que se presentan a continuación describe un caso para cada una de las cardinalidades de mapeo que se te plantean.


Fundamenta tus ejemplos. Finalmente muestra a tus compañeros tus ejemplos.


Ejercicio 7
Instrucciones para el alumno.
- A continuación se te presentan casos de bases de datos y sus relaciones, realiza la reflexión sobre cada caso y emite un juicio con respecto al tipo de cardinalidad que prevalece en cada uno. Una vez que hayas realizado tus conclusiones, comparte tus reflexiones con tus compañeros de grupo.



Ejemplo 3
A partir de los conjuntos de entidades presentados en el ejemplo 1 de esta misma competencia, determinaremos los atributos que serán asignados como llaves primarias.
Una llave primaria es aquel atributo el
cual consideramos clave para la
identificación de los demás atributos
que describen a la entidad.


Análisis.
Si se eligiera el atributo Apellidos como llave primaria tendríamos como problema la alta probabilidad de encontrar a dos personas con los mismos apellidos.
El mismo caso se presenta para el atributo Nombre(s), pues es aún más probable que encontráramos a dos o más personas con el mismo nombre.
La misma situación se presenta para fecha de nacimiento, pues muy alta la probabilidad de que dos o más personas tengan la misma fecha de nacimiento.
La situación se vuelve a presentar con el Estado.
Finalmente, entonces elegiremos al atributo Matrícula_estudiante como la llave primaria de esta tabla, pues cada estudiante tendrá una matrícula única que no se repetirá con ningún otro estudiante.
Entonces, si los demás atributos se repitieran (por ejemplo si hubiera dos personas con los datos Lemus Ruiz Artemio 29/02/78 Michoacán) la matrícula nos garantizaría que los registros son diferentes.


Análisis:
Para el caso del conjunto de entidades Profesores se presenta la misma situación que en Estudiantes, pues el único atributo que nos permite garantizar que ninguna entidad sea igual a las demás es Matrícula_docente.


Análisis:En este conjunto de entidades Asignaturas se presenta la misma situación que en Estudiantes y Profesores, pues el único atributo que nos permite garantizar que ninguna entidad sea igual a las demás es Matrícula_asignatura.

Ejercicio 8
Instrucciones para el alumno .- En los conjuntos de entidades que se presentan a continuación determina los atributos que pudieran tener la función de llaves primarias; no olvides justificar tu elección.


Ejercicio 9
Instrucciones para el alumno
.- En los espacios asignados delante de este cuadro plantea una base de datos para el siguiente caso:
Se desea diseñar una base de datos para un plantel CECyTE que contenga información sobre los alumnos (CURP, nombre, apellidos y dirección), las asignaturas (nombre) y las carreras(Nombre y bachillerato al que pertenecen) que se pueden estudiar.Construir un modelo E-R teniendo en cuenta las siguientes restricciones:
• Un alumno puede estar matriculado en muchas asignaturas.
• Una asignatura sólo puede pertenecer a una sola carrera, aunque haya asignaturas con el mismo nombre en varias carreras.
• Una carrera puede tener muchas asignaturas.Determinar cuáles son los atributos que servirán como llaves primarias en cada conjunto de entidades; justifica tu elección.Exponer tu trabajo ante tus compañeros de clase.
Los atributos que servirian de llaves primarias son:
nombre...Alumnos
Nombre...Asignaturas
Nombre...Carreras

HABILIDAD: 4. Diseñar el diagrama Entidad/Relación. RESULTADO DE APRENDIZAJE: Con esta habilidad estarás en posibilidad de generar eldiagrama entidad – relación a partir una base de datos.

Ejemplo 4
El siguiente diagrama E-R tiene la finalidad de mostrar un esquema de base de datos. A partir de él podemos definir tanto los conjuntos de entidades que integran la base de datos, como los atributos de cada conjunto de entidades, las relaciones, las llaves primarias, etc. es importante que observes detalladamente el diagrama y a su vez analices la interpretación que se propone.


INTERPRETACIÓN:
El diagrama anterior nos muestra una base de datos con tres conjuntos de entidades: una llamada profesor, otra llamada curso y una tercera llamada departamento.El conjunto de entidades llamada profesor está integrada por los atributos:

Teléfono, Dirección, Nombre, Depto_ID y Profr_ID, siendo este último (Profr_ID) la llave primaria. El conjunto de entidades curso está compuesto por los atributos Curso_ID, Profr_ID,Nombre y Descripción, siendo Curso_ID la llave primaria.El Conjunto de entidades Departamento (Depto.) se encuentra integrado por los atributos Director, Descripción y Depto_ID, siendo Depto_ID la llave primaria.

Existen además dos relaciones entre los conjuntos de entidades:Una denominada P-D que seguramente vincula a los profesores con los departamentos, siendo además una relación con una cardinalidad de uno (profesor) a muchos (departamento), esto es, un profesor puede estar ubicado en más de un departamento.Por otro lado, se encuentra una segunda relación entre el conjunto de entidades profesores y el conjunto de entidades cursos (P-C). Teniendo esta una cardinalidad de uno para profesores a varios para cursos, lo que debe ser interpretado como que un profesor puede tener asignado más de un curso.

Ejemplo 5
El diagrama que se presenta a continuación al igual que en el ejemplo anterior, muestra un esquema de base de datos.Obsérvese la forma de representación de la cardinalidad.
Una entidad débil es aquella en la queninguno de sus atributos puede serestablecido como llave primaria.

INTERPRETACIÓN:
En esta base de datos se identifican tres conjuntos de entidades:- Un primer conjunto denominado compositores que tiene como único atributo CURP, siendo además este atributo la llave primaria.
- Luego un segundo conjunto de entidades llamado CD’s integrado por tres atributos Num_serie (llave primaria), Intérprete y títuloCD
- Finalmente un tercer conjunto de entidades denominado canciones el cual está compuesto por los atributos título y duración. Obsérvese que en el diagrama, este conjunto de entidades tiene un doble recuadro, ello nos indica que se trata de un conjunto de entidades débiles; ello en razón de que tanto el título de una canción como su duración son atributos que pueden repetirse enmuchas canciones. En este caso para reducir esta posibilidad de repetición se toman los dos atributos como llave primaria, es decir, es menor (pero de ninguna manera imposible) la posibilidad de encontrar dos canciones con el mismo título y la misma duración.
Existen en este diagrama dos relaciones entre conjunto de entidades:- Autor, que es una relación que se presenta entre los compositores y las canciones. Para este caso la línea (sin flecha) indica que se trata de una relación de muchos a muchos, esto es, varios compositores pueden ser autores de varias canciones.
- En, que es la relación entre el conjunto de entidades canciones y CD’s. siendo además una relación con una cardinalidad de varios (canciones) a uno (CD’s); es decir, muchas canciones pueden estar en un CD.

Ejercicio 10
Instrucciones para el alumno.- Para darle seguimiento a los ejercicios desarrollados durante esta competencia, vamos a retomar el ejercicio 9, en donde diseñaste los conjuntos de entidades y definiste las llaves primarias para una base de datos de un plantel CECyTE.
Añade a esta base de datos las relaciones que deben establecerse entre los diferentes conjuntos de entidades ahí incluidas.
Luego crea en una presentación electrónica el diagrama E-R correspondiente. Muestra tu trabajo ante el resto del grupo.

HABILIDAD:
5. Reducir los diagramas Entidad/Relación a tablas.RESULTADO DE APRENDIZAJE: Con esta habilidad estarás en posibilidad de hacer lareducción de cualquier diagrama Entidad – Relación a tablas.

Ejemplo 6
En el siguiente ejemplo se muestra la reducción del diagrama E-R de una base de datos a tablas. Ello facilitará enormemente su entendimiento.

Al reducir a tablas el primer conjunto de entidades e insertar datos en forma arbitraria:

Reduciendo el segundo conjunto de entidades y de la misma manera insertando datos en forma arbitraria.

Reduciendo a tablas la relación entre los dos conjuntos de entidades:
Obsérvece que está tabla está compuesta por los atributos que permite la relación de ambas tablas, esto es: RFC Y CLAVE.
Para reflejar la modificación anterior en la tabla venta, agregaremos los atributos fecha y hora a RFC y Clave.

EJERCICIO 11
Instrucciones:Reduce a tablas el diagrama del ejemplo 4 de esta misma competencia (no olvides insertar algunos datos a tu libre elección en cada atributo).

Las entidades vendrian siendo
Profesor, curso y departamento
Atributos son IDprofesor, noimbre, direccion, telefono
curso, profID cursoID
director, descripcion, deptoID
director, descripcion


EJERCICIO 12
Instrucciones: Reduce a tablas el diagrama que generaste en el ejercicio 10 de esta misma competencia.

PRACTICA 1
Competencia.-3. Diseñar un modelo Entidad/Relación empleando diagramas.
Habilidades.
1. Describir las entidades, atributos y relaciones de un modelo entidad relación.
2. Aplicar la cardinalidad de mapeo.
3. Establecer la clave primaria.
4. Diseñar el diagrama entidad/relación.
5. Reducir los diagramas Entidad/Relación a tablas.Elaborar todo lo anterior en una presentación electrónica.

Caso 1:
Una organización necesita elaborar una base de datos. En dicha organización sólo se considerandos tipos distintos de empleados: los basificados y los de confianza. De todos ellos debe conocerse el DNI y nombre.
Sólo para los basificados, es necesario incluir su nivel y su fecha de ingreso en la empresa.
Mientras que para los de confianza es necesario considerar el grupo al que pertenecen y suespecialidad.

Caso 2:
Un grupo de agencias de viajes nos ha solicitado el diseño de una base de datos que almacene lainformación relativa al alojamiento y los vuelos que sus clientes contratan. Los datos que se desean almacenar son los siguientes:
• Datos de cada agencia de viajes: código de agencia (único), nombre, dirección y teléfono.
• Datos de cada hotel: código de hotel (único), nombre, dirección, teléfono y número de plazasdisponibles para este grupo de agencias de viajes.
• Datos de cada vuelo: número de vuelo (único), fecha y hora de salida y número de plazas, enclase turista y en primera clase, disponibles para este grupo de agencias de viajes.
• Datos de los clientes: CURP, nombre, apellidos, dirección y teléfono.
Las restricciones que nos plantean son las siguientes:
• Es necesario almacenar dónde ha contratado el cliente un viaje (alojamiento y/o vuelo)determinado.
• El cliente puede elegir cualquiera de los vuelos que oferta el grupo de agencias de viajes encualquier categoría (primera o turista).
• El cliente puede elegir cualquiera de los hoteles que oferta el grupo de agencias de viajes encualquier régimen (media pensión o pensión completa), siendo necesario almacenar la fechade llegada y la fecha de partida.

viernes, 14 de marzo de 2008

Competencia 3
Conocimientos previos
Desarrollo ( ejemplos, ejercicios y practicas)
Ejecicios adicionales