viernes, 9 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?

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 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_num
FROM Oficinas
WHERE 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 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 es
Clave.

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 personal
Create 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 oficina
Alter table "empleados" add foreign key ("of_num") references
oficinas ("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 y
tipos 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.

miércoles, 7 de mayo 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).

Una consulta simple en el lenguaje SQL se integra por tres partes:

SELECT que permite identificar los elementos que se van a mostrar en una consulta una vez que se haya ejecutado.

FROM indica la relación a partir de la cual se seleccionarán los datos para la consulta.

WHERE indica si existe alguna restricción para mostrar resultados de una consulta.

Cabe hacer mención que a pesar de que el lenguaje SQL tiene su origen para mostrar resultados a preguntas de bases de datos, sus capacidades se extienden mucho más allá, pues permite además insertar, borrar, copiar, concatenar y en general, realizar muchas acciones de manipulación a las bases de datos.

Los comandos en SQL:

• DLL permiten crear y definir nuevas bases de datos, campos e índices.

• DML permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

Comandos DLL

• CREATE Utilizado para crear nuevas tablas, campos e índices.

• DROP Empleado para eliminar tablas e índices.

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

Comandos DML

• SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado.

• INSERT Utilizado para cargar lotes de datos en la base de datos en una única operació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

Cláusulas
Las cláusulas son condiciones de modificación utilizadas para definir 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 que se van a seleccionar.

• GROUP BY Utilizada para separar los registros seleccionados en grupos específicos.

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

• ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico.

Operadores Lógicos

• AND Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.

• OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

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

Operadores de Comparación
• <> Mayor que

• <>Distinto de

• <= Menor ó Igual que • >= Mayor ó Igual que

• = 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.

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 un grupo de registros.

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

• COUNT Utilizada para devolver el número de registros de la selección.

• SUM Utilizada para devolver la suma de todos los valores de un campo determinado.

• MAX Utilizada para devolver el valor más alto de un campo especificado.

• MIN Utilizada para devolver el valor más bajo de un campo especificado.

El proceso de normalización es un estándar que consiste, básicamente, en un proceso de conversión de las relaciones entre las entidades, evitando:

* La redundancia de los datos: repetición de datos en un sistema.

* Anomalías de actualización: inconsistencias de los datos como resultado de datos redundantes y actualizaciones parciales.

* Anomalías de borrado: pérdidas no intencionadas de datos debido a que se han borrado otros datos.

* Anomalías de inserción: imposibilidad de adicionar datos en la base de datos debido a la ausencia de otros datos.

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 en
posibilidad 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 para
realizar 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 de
bases de datos y la seguridad.

lunes, 7 de abril de 2008

Calificaciones competencia 3

4º "A"

4º "B"

En resumen y para saber más (access)

Diseño de una base de datos

Consiste en:
- Distribuir la información en diferentes tablas

- Establecer los camposy 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<<<
En cada pedido necesitamos un campo (clave externa) para conectar con clientes(el cliente que nos hace el pedido) y otro campo para conectar con Artículos(el artículo que se sirve).

4º)Relaciones
Clientes>>>>Pedidos<<<
Tabla

Una tabla es un lugar donde se almacenan datos sobre un determinadotema como,por ejemplo,fotografías o idiomas.

Cada registrode una tabla contiene información sobre algo específico como por ejemplo, sobre una fotografía.

Los registros de una tabla están formados por campos, como el número de foto, si es en color o no, etc.

En una base de datos puede haber muchas tablas, cada una de las cuales almacena información sobre un tema distinto. Cada tabla puede contener datos de muchos tipos, incluyendo texto, números,fechas,imágenes, etc.

Características de un campo

- Nombre del campo

Puede tener 64 caracteres como máximo (letras, números y espacios en blanco).
Es conveniente que sea un nombre descriptivo del campo, que sea corto y que no tenga espacios en blanco,ya que en caso contrario su uso se hace difícil cuando tengamos de utilizar dicho nombre en una expresión.

- Tipo de datos del campo

Texto:caracteres alfanuméricos

Numérico: números (enteros, decimales, etc).

Fecha/Hora:fechasy horas

Autonumérico: valor numérico que el “Microsoft Access” incrementa de forma automática para cada registro que agregamos.

Moneda:valores de moneda.

Sí/No:dos opciones (verdadero ofalso)

Objeto OLE:gráficosu otros objetosbinarios

Hipervínculo: texto de una dirección de hipervínculo, como páginas web.

- Descripción del campo

Para que las tablas sean más fáciles de entender y actualizar, podemos incluir una descripción para campo de la tabla.

Cuando estemos introduciendo datos en un campo que tiene descripción, ésta aparece en la barra de estado (última línea de la pantalla).

- Propiedades:

Tamaño del campo:ajusta el tamaño de un campo tipo texto o limita el rango de valores
permitidos enun campo tiponumérico.

Formato: presenta fechas ynúmeros enun formato determinado, como “fecha larga” o
“moneda”.

Lugar decimales: presenta un cierto número de posiciones después del separador
decimal, cuando se utiliza unformatopara un campo de tiponumérico o moneda.

Máscara de entrada: presenta caracteres de formato en el campo para que no sea necesario escribirlos.

Los que hemos utilizado:99.999.999(&)y (99) 999-99-99

El "9" indica un dígito o espacio (introducción no obligatoria).

El "&" indica cualquier carácter o espacio (introducción obligatoria)

Si quieresprofundizar en las diferentesposibilidades de la “máscara de entrada”, sitúa el cursor en el campo "Máscara de entrada" y pulsa la tecla [F1], de sta forma accederás a la ayuda correspondiente

Disponemos también de un asistente para máscaras de entrada: basta situar el cursor en el campo “Máscara de entrada” yhacer clic en el icono […] que aparece a la derecha del campo.

Título: especifica una etiqueta distinta de la predeterminada (el nombre del campo).

Valor predeterminado: rellena automáticamente el campo con el valor que indicamos

Regla de validación: limita los datos introducidos en el campo a los valores que cumplen un requisito determinado.

La que hemos utilizado: “Barcelona" Or "Valencia" Or "Granada"
Es decir, sólo podemos escribir una de las tres ciudades indicadas.
Para estudiar las diferentes posibilidades, sitúa el cursor en el campo "Regla de validación" y pulsa [F1], de esta forma accederás a la ayuda de dicha opción.

Texto de Validación: es el texto que aparecerá en una ventana de error, al no cumplirse la “regla de validación”.

Requerido: exige la introducción de datos en el campo.

Permitir Longitud cero: permite no escribir nada en el campo (si es de “texto” o “memo”).

Indexado: permite acelerar las búsquedas en dicho campo. Es conveniente “indexar” los
campos en los que “buscamos con más frecuencia”y/o “cambiamos la ordenación más a
menudo”.

Relaciones
La principal característica de una base de datos relacional, como el Access, es la posibilidad de establecer relación entre tablas.

La finalidad de las relaciones es fundamentalmente el evitar información duplicada y mejorar la gestión de la base de datos.

Tipos de relaciones (lasmás usuales)

- Realación uno a varios

Es la más importante (y única que hemos utilizado de momento): cada registro de la tabla principal puede asociarse a varios registros de la tabla relacionada (cada valor de clave principal puede aparecer varias veces en la tabla relacionada).

- Relación uno a uno

En una relación “uno a uno”, cada registro de la tabla principal sólo puede asociarse a un registro de la tabla relacionada. En muchos casos, los campos coincidentes de ambos extremos de la relación son una clave principal o disponen de un índice único.

Integridad Referencial
En ambos casos podemos “Exigir Integridad Referencial”
La integridad referncial ayuda a garantizar que las relaciones entre los registros son válidas y que no se eliminarán accidentalmente datos relacionados.
Podemos exigir integridad referencial cuando se cumplen las siguientes condiciones:

- El campo coincidente de la tabla principal es un campo principal o tiene un índice único.

- Los campos relacionados tienen asignado el mismo tipo de datos.

Al exigir integridad referencial hemos de tener en cuenta:

- Cuando agregamos un registro a una tabla relacionada y especificamos un valor en algún campo coincidente, debe existir con anterioridad un registro que incluya este valor en la tabla principal.

- No es posible eliminar un registro de una tabla principal si en una tabla relacionada existen registros coincidentes.

Volveremos a referirnos a las relaciones, concretamente al llamado “Tipo de combinación” de una relación, en el capítulo correspondiente a las consultas.


Procedimientos

Crear una Base de Datos

- Si acabamos de “cargar” el Access:
En la Pantalla Inicial del programa:
Clic en la opción
Clic en [Aceptar]

- Si tenemos el Access en “memoria”porque estamos trabajando con otra base de datos:
“Cerrar” la base de datos que tenemos en memoria
Clic en el icono nuevo:
Clic en [Aceptar]

En ambos casos, aparece el cuadro de diálogo para grabar la nueva base de datos (a diferencia de la mayoría de programas en los que grabamos el trabajo,una vez que hemos terminado).

* En el campo "Guardar en",hemos de situarnos en la carpeta donde deseamos grabar la
base de datos.

* En el campo "Nombre de archivo",hemos de escribir el nombre de nuestra B.D.

* Por último clic en [Crear]


Crear una tabla

Podemos hacerlo de dos formas:

1) Con el Objeto:Tablas seleccionado,haz clic en [Nuevo]:

Selecciona la opción "Vista Diseño" y clic en [Aceptar]

2) Con el Objeto:Tablas seleccionado,haz clic en la opción "Crear una tabla en vista diseño"

En ambos casos aparece la “Pantalla de Diseño” de la nueva tabla en blanco

Panel Superior:
Cada fila = un campo:
Nombre del campo – Tipo de campo – Descripción del campo
Para acceder a las “propiedades” del campo (panel inferior) pulsa [F6]

Panel Inferior:
Propiedades del campo (depende del tipo de campo)
Para volver al panel superior,pulsa [F6]

Cuando ya están introducidos todos los datos de los campos: nombre, tipo, descripción y propiedades, hemos de establecer la Clave Principal:

- Sitúa el cursor de escritura en el campo (fila) correspondiente.

- Clic en el icono "Clave Principal":

El siguiente y último paso es grabar la tabla:
* Clic en el icono "Guardar":

* Aparece una ventana que nos permite escribir el nombre que deseamos dar a la
tabla.

Por último, “cerramos” la ventana para volver a la pantalla principal de la B.D.

Crear una tabla utilizando el Asistente:

- Con el Objeto:Tablas seleccionado, clic-clic en la opción:"Crear una tabla utilizando el asistente"

- Hay dos tipos:Negocios o Personal y una larga lista de tablas de ejemplo para los dos tipos.

- Para cada tabla de ejemplo tenemos una larga lista de campos de ejemplo.

- Para seleccionar todos los campos de una tabla, basta pulsar el icono [>>]

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


Inseratr 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

Ejercicios adicionales

Habilidades a desarrollar:
1.- Identificar las entidades, atributos y relaciones de un modelo entidad relación.
2.- Aplicar la cardinalidad de mapeo.
3.- Establecer la clave principal.
4.- Diseñar el diagrama entidad/relación.
5.- Reducir los diagramas entidad/relación a tablas

Recuerda los cinco pasos para el diseño de una base de datos:
1.- Tener claro toda la información que nos interesa registrar.
2.- Separar la información en temas: cada tema será una tabla.
3.- Localizar el campo más característico de cada tabla (Clave principal)
4.- Tener clara la relación (o relaciones) que hemos de imponer a nuestras tablas.
5.- Hacerlo en el ordenador

Ejercicios
1.- Organiza la base de datos de la empresa PEPES S.A., que se dedica al alquiler de maquinaria y que dispone de tres delegaciones en Barcelona, Valencia y Granada.

Información de la empresa:

Contrato de Alquiler No.: 57AB01
Máquina Alquilada: CAMPE7
Descripción: Camión Pesado No. 7
Precio alquiler diario: 1,500.00
Cliente: Paco Martínez
NIF: 37.259.492H
Dirección: c/ Los pepinos 57, 2º, 4ª
Población: 08083 - Barcelona
Fecha contrato: 13/07/2004
Días: 15
Oficina: Valencia

Resulta que la empresa PEPES S.A, no sabemos como lo consigue, pero cuando tiene un cliente que le alquila una máquina, nunca más le alquila otra: en definitiva, no tenemos necesidad de guardar la información de los clientes en una tabla separada.

2.- Organiza la base de datos "Lenguas Raras", que se dedica a la enseñanza de idiomas.

Información que interesa registrar:

Matrícula: 57
Idioma: Chino Mandarín
Alumno: Pepito Pérez
DNI: 15.252.734
Teléfono: (93) 527 - 42- 31

3.- Crea una nueva base de datos en tu carpeta de nombre FOTOS, utiliza el "asistente para las tablas".

4.- Crea una nueva base de datos de nombre HERBOLARIO.

Nuestro herbolario ha descubierto (después de muchos años de experiencia) un método curativo que se basa en la mezcla de tres hierbas (como máximo), de un total de diez.

El problema que nos planteamos es organizar inforáticamente las diferentes consultas que recibe.

- Define las siguientes tablas:

Tabla: Datos Personales
Campos: Código (Autonumérico)
NomCliente (Texto)
Dirección (Texto)
Teléfono (Texto)

Tabla: Consultas
Campos: NConsulta (Autonumérico)
CódigoCliente (Numérico)
Dolencia (Texto)
Hierba 1 (Texto)
Hierba 2 (Texto)
Hierba 3 (Texto)

Tabla: Hierbas
Campos: Hierba 1 (Texto)

Tabla: Hierbas
Campos: Hierba 1 (Texto)

- Define la relación
DatosPersonales Código<<<<<<<<
- Inserta la tabla Hierbas como cuadro combinado en el campo Hierba1 de Consultas

- Intenta insertar la tabla Hierbas como cuadro conbinado en el campo Hierba2 de Consultas, Observarás que no es posible, ya que el campo Hierba1 ya existe.

Vamos a solucionar el problema...

- Sitúate en la pantalla inicial B.D. HERBOLARIO y el Objeto: Tablas seleccionado.

- Selecciona la tabla Hierbas y Menú Edición - Copiar

- Menú Edición - Pegar
Escribe como nombre de la nueva tabla Hierbas2

- Repite el mismo proceso para conseguir una nueva copia Hierbas, pero con el nombre Hierbas3

- Desde la pantalla de diseño de la tabla Hierbas2, cambia el nombred del campo Hierba1, por Hierba2.

- Desde la pantalla de diseño de la tabla Hierba3, cambia el nombre del campo Hierba1, por Hierba3

Vamos a ver si hemos solucionado el problema:

- Insertar la tabla Hiba2 como cuadro combinado en el campo Hierba2 de Consulta.

- Inserta la tabla Hierba3 como cuadro combinado en el campo Hierba3 de Cansultas.

- Crea un autoformulario para la tabla DatosPersonales y grábalo con el mismo nombre DatosPersonales.

- Crea un autoformulario para la tabla Consultas y grábalo con el mismo nombre Consultas.

jueves, 28 de febrero de 2008

Desarrollo C3 (ejemplos, ejercicios y prácticas)

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 de
mapeo, crear diseño y diagramas entidad/relación que permiten reducir los diagramas de
forma lógica y estructurada para un mejorar análisis y creación de las bases de datos según
lo especificado por el usuario.

Ejemplos 1
1.- Observa detalladamente las siguientes "tablas" de una escuela cualquiera, analiza los "atributos" que tienen en común. Es de vital importancia que tu atención no se centre
en los datos que contiene cada tabla. Discute con tus compañeros tus observaciones.








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 impartes los docentes?
¿Qué estudiantes repiten al menos 2 cursos?
¿Qué cursos son los que se están ofertando?
¿Cuántos docentes van a impartir cursos?
¿Existe algún estudiante que no se va a inscribir en algún curso?
¿Cuáles son los "atributos" que permiten enlazar a las "tablas"?
Señala los "atributos" de cada "tabla" en los espacios siguientes:


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: _____________ (cinco entidades con sus atributos y justificación)

Nombre del atributo Justificación
______________ _______________________________
______________ _______________________________
______________ _______________________________

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.

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 de
cardinalidad 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?

2. ¿Cuántos jugadores puede tener inscritos cada equipo?

3. ¿Qué tipo de relación existe entonces, entre los equipos y los jugadores?

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.


HABILIDAD: 4. Diseñar el diagrama Entidad/Relación.

RESULTADO DE APRENDIZAJE: Con esta habilidad estarás en posibilidad de generar el
diagrama 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 (obsérvese el subrayado que indica precisamente que se trata del atributo 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 que
ninguno de sus atributos puede ser
establecido 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 en
muchas 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 la
reducció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).
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 consideran
dos 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 su
especialidad.

Caso 2:
Un grupo de agencias de viajes nos ha solicitado el diseño de una base de datos que almacene la
informació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 plazas
disponibles 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, en
clase 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 en
cualquier categoría (primera o turista).

• El cliente puede elegir cualquiera de los hoteles que oferta el grupo de agencias de viajes en
cualquier régimen (media pensión o pensión completa), siendo necesario almacenar la fecha
de llegada y la fecha de partida.