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.