base d datos

117
INDICE Introducción a las 3 Bases de Datos Bases de Datos 37 Relacionales Elaboración y Manejo 62 de Bases de Datos Características avanzadas 106 de las Bases de Datos

Upload: freddy-martinez

Post on 26-Jul-2015

265 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Base d Datos

INDICE

Introducción a las 3 Bases de Datos

Bases de Datos 37 Relacionales

Elaboración y Manejo 62 de Bases de Datos

Características avanzadas 106 de las Bases de Datos

Page 2: Base d Datos

INTRODUCCIÓN A LAS BASES DE DATOS

Objetivo de la unidad. Al finalizar esta unidad podrás explicar por qué son importantes las bases de datos tras el análisis de sus objetivos, tipos de usuarios y relaciones; esto comprende las bases de lo que verás en las unidades siguientes.

INTRODUCCIÓN “Yo solo sé que no sé nada”, ¿recuerdas al personaje al que se le atribuye esta frase?, seguramente muchas veces lo has escuchado o incluso dicho: “Yo solo sé que no sé nada”. Si alguien te dejara de tarea investigar a dicho personaje y su frase, ¿qué harías?; ¿irías directamente a un libro para investigar?, ¿irías con algún profesor o pariente tuyo para preguntarle?, ¿entrarías a Google para investigar todo lo relacionado con esa frase?, ¿verías una película que hiciera referencia al personaje que dijo la frase? o ¿comprarías una lámina en la papelería para investigar? En realidad hay muchas más formas de investigar la frase y al personaje, por tanto la lámina de la papelería, los libros, las revistas y el internet podrían ser considerados bases de datos. Las bases de datos nos permiten conocer cierta información mediante consultas. Pero, ¿qué es una base de datos? Como su nombre lo dice es un lugar donde se almacenan los datos, los datos pueden ser de varios tipos y al juntarlos podemos crear la información que nos interesa. Es decir, podemos pensar en varias palabras, por ejemplo: “freno”, “ruido”, “azul”, “camión” y “aire”. Estas palabras son consideradas los datos. Cuando juntamos estos mismos datos o palabras creamos entonces la información, pero ten cuidado, tienes que ordenar bien los datos para que comprendas la información:

Datos Datos desordenados Datos ordenados

“freno”, “ruido”, “azul”, “camión” y “aire”.

El freno hace ruido azul en el camión de aire.

El camión azul de frenos de aire hace ruido.

Ahora bien, el lugar donde se encuentran los datos ordenados (Información), se le llama base de datos y se encuentran dentro de una tablas que se dividen en campos y registros. En esta unidad comprenderás mejor los conceptos: dato, información, base de datos, tablas, campos, registros y algunos otros más con apoyo de las actividades que se te presenten en el primer tema. Esto te permitirá conocer la importancia de las bases de datos y los problemas que resuelven. Una vez que comprendas los conceptos básicos de las bases de datos podrás describir los componentes fundamentales de los sistemas de computadora que manejan las bases de datos informáticas, tanto en su nivel físico como lógico, el tipo de lenguaje que se utiliza con ellas y las interfaces. Los usuarios de las bases de datos también tienen que ser estudiados, pues no todos son iguales. Este tema será el tercero por ver. Después podrás distinguir los conjuntos de datos, mediante el análisis de las relaciones que haya entre ellos, pues como te acabas de dar cuenta, los datos se pueden relacionar entre sí para crear la información.

Page 3: Base d Datos

Por último tendrás que realizar las actividades que se te pidan para analizar los tipos de modelos de datos y estudiar sus características. Ahora te mostramos un diagrama que explica cómo estudiaremos lo anterior:

Como podrás ver, hay muchas cosas por hacer, así que no hay que entretenerse más y sí hay que ponerse a trabajar. Bienvenidos sean todos ustedes estudiantes a este material de la materia de Base de Datos I y hagan buen provecho de las actividades aquí planteadas para que puedan adquirir un aprendizaje provechoso y significativo para ustedes. Estamos seguros que pondrán su mayor esfuerzo para trabajar en esta unidad, así que a continuación se les enumeran algunos recursos más con los que pueden apoyarse:

Bibliografía:

Silberschats, Abraham. Fundamentos de Bases de Datos. México, McGraw Hill Interamericana.

Frreeze, Wayne. SQL manual de referencia del programador. México, Thompson Paraninfo, S.A..

Groff, J. R. & Weinberg, P. N. SQL manual de referencia. México, McGraw Hill.

García Rincón, Luis F. Bases de datos: Un enfoque práctico. México, Editorial Trillas.

Pérez, Cesar. Domine Microsoft Access 2003 y 2000. México, Alfaomega RA-MA.

Sitios Web:

http://www.geocities.com/hugocd1275

Page 4: Base d Datos

DESARROLLO

1.1 Bases de Datos.

Objetivo del tema. Al finalizar las actividades podrás explicar qué tan importantes son las bases de datos, describir sus objetivos y señalar los problemas que ocurren por el manejo de la información y los datos.

Cuando algunos de tus maestros te solicita una investigación ¿qué es lo que haces?, ¿dónde investigas normalmente? El lugar de donde sacas la información de tu investigación es un sitio donde se encuentra organizado de tal forma que lo puedas utilizar, ya sea un libro, una revista, una monografía, un diccionario o del mismo internet. Estos “contenedores” son la base de tu información, es decir son la base de datos fuente de tu trabajo. La base de datos es un concepto integrado a la informática para permitir a las personas manipular grandes cantidades de información, ya sea correspondientes a su trabajo, a su hogar, sus hobbies o de prácticamente cualquier cosa y así poder consultar dicha información de forma rápida y segura en todo momento. Es decir, las bases de datos permiten a las personas que manejan algún sistema de información, el almacenar, consultar, eliminar y actualizar la información que ahí se encuentra. Las bases de datos computacionales dependen de sistemas que los controlen, que pueden ser diseñados específicamente para una actividad en especial, como un control de nóminas o de inventarios. Al momento que vayas realizando una a una las actividades siguientes comprenderás la importancia de las bases de datos y los elementos que las conforman, así mismo podrás juzgar el uso que se le puede dar a la información almacenada. ¡Así que manos a la obra! 1.1.1 Importancia de las Bases de Datos y de los Sistemas de Información

Los sistemas de bases de datos comenzaron a aparecer durante la década de 1960, sufriendo grandes cambios en los siguientes años transformando sus conceptos y tecnologías. Para comprender de mejor manera el funcionamiento, necesidad y componentes de una base de datos, deberemos empezar por conocer los conceptos básicos que estarás utilizando a lo largo del curso. Es importante destacar que entre más pronto te familiarices con los conceptos básicos de las bases de datos y te relaciones con ellos, será más fácil comprender las demás unidades.

Trabaja de la mejor manera posible las siguientes actividades, incluye calidad en tus trabajos.

Page 5: Base d Datos

1. Lee las siguientes preguntas y observa atentamente el video “Base de Datos” del material de EMSaD, después contesta de forma breve y concisa. El asesor verificará tus respuestas de forma grupal.

¿Por qué se puede considerar al Archivo General de la Nación como una Base de Datos? ¿Qué es un registro? ¿Qué es un campo? ¿Qué es un tipo de dato? ¿Cuáles son los tipos de datos más comunes? ¿Qué es un archivo? ¿Para qué se crearon las bases de datos? ¿Qué es una base de datos? ¿Por qué es importante el uso de una base de datos, por ejemplo, en una empresa?

Page 6: Base d Datos

¿Qué hace un capturista de datos? 2. Formen equipos de tres integrantes y discutan los empleos donde se requiere del uso de bases de datos y

escríbanlos en los espacios destinados. Después, con apoyo del asesor quien fungirá como moderador, expongan al grupo las razones por las que escribieron dichos empleos y la forma como las bases de datos apoyan al usuario que las maneja.

Empleo

1.

2.

3.

3. Investiga en la bibliografía dada, libros especializados, la Enciclopedia Encarta y en Internet la definición de “Base

de Datos”. Asegúrate de obtener definiciones de al menos cuatro fuentes distintas.

Fuente Definición de Base de Datos

Page 7: Base d Datos

4. Trabajen en pares y dibujen en el espacio siguiente un cuadro sinóptico o mapa mental acerca de los conceptos fundamentales en las bases de datos.

5. Concluyan el tema en grupo junto con el asesor y escribe un resumen al respecto en tu cuaderno de la materia. El

asesor calificará dicho resumen de acuerdo a la siguiente lista de cotejo.

Cumple No. Características Pts. SI NO

1 Se entregó el trabajo con limpieza y en la fecha establecida. 1

2 El trabajo contiene todos los conceptos básicos considerados en el temario. 6

3 El alumno escribió claramente. 1

4 El trabajo no cuenta con faltas de ortografía. 2

Meta Total: 10

Observaciones Puntos Obtenidos

Firma del Asesor

Page 8: Base d Datos

1.1.2 Objetivos de las Bases de Datos Como podemos ver, las bases de datos son de mucha importancia dentro de la vida diaria, principalmente en los negocios, por ello la justificación de su estudio.

Ahora que tienes una idea más clara de las bases de datos, es buen momento para analizar la siguiente definición:

“Una Base de Datos es básicamente un sistema computarizado para guardar registros; es decir, es un sistema computarizado cuya finalidad general es almacenar información y permitir a los usuarios recuperar y actualizar esa información con base en peticiones.”

C. J. Date

Las bases de datos son manipuladas por sistemas especiales que ayudan a los usuarios a manejarlos de forma apropiada, a estos sistemas se les llama, Sistemas Gestores de Bases de Datos, o bien, SGBD, de forma abreviada. Con apoyo de los SGBD también un usuario podrá crear formularios para poder introducir,

borrar, buscar o modificar los datos que maneje. Si bien un dato es la mínima expresión de la información, la información es una colección de datos estructurados y organizados de forma tal que nos entrega un conocimiento.

Al usuario dueño de la base de datos es llamado DBA, Administrador de la Base de Datos, cuyos privilegios de acceso son los de más alto rango. Así como los DBAs, también existen otros usuarios que manipulan de forma distinta las bases de datos, pero éstos serán estudiados más adelante.

Dentro de las actividades de los DBAs se encuentran:

Definir el esquema de la base de datos. Como primer punto se diseñará un modelo de la base de datos. Definir la estructura de almacenamiento y el acceso. El DBA deberá configurar el conjunto de tablas que

almacenarán la información. Modificar el esquema y la organización física. Se refiere a los cambios que pueda surgir en la base de datos, ya

sea una migración, eliminación de errores o mejoras al sistema de la base de datos. Conceder accesos a la base de datos. Es el DBA quien determina a los usuarios la información que pueden o no

accesar. Especificar limitantes de integridad. Estas limitantes permiten al sistema una orden para sus actualizaciones en los

datos.

Como podremos observar, las actividades del DBA y la justificación del uso de un SGBD van directamente relacionadas con la información y los datos. “Información” y “Datos”, dos conceptos que bien podría tacharse de sinónimos, pero que sin embargo son diferentes en sus relaciones. 6. Investiga en la bibliografía dada, libros especializados, la Enciclopedia Encarta y/o en Internet la definición de

“Dato” e “Información” y llena el siguiente cuadro comparativo. Asegúrate de obtener definiciones de varias fuentes.

Page 9: Base d Datos

Características

Diferencias

1.1.3 Redundancia e Inconsistencia de Datos Existen dos conceptos que una base de datos bien diseñada no debe compartir y otros dos que sí debería compartir. Las primeras dos son: Redundancia. Se dice que una base de datos es redundante cuando se pueden conseguir en una consulta más de un registro de datos idénticos. Es decir, la misma información se encuentra más de una sola vez dentro de la base de datos. Se pudiera pensar que si se tiene la misma información más de una vez permitiría a la base de datos trabajar de forma más segura ante cambios, sin embargo es precisamente en las actualizaciones donde ocurren con más frecuencia los errores por redundancia, ya que si se llegara a actualizar un solo registro y los demás que eran idénticos a la información original no son tocados, entonces se provocaría un problema más grave, el de inconsistencia. Otra desventaja de la redundancia es la acumulación de mayor cantidad de información que afecta directamente al dispositivo de almacenamiento de la base de datos, pues entre más información, más espacio utilizado en disco.

Dato Información

Definición

Page 10: Base d Datos

1.1.4 Integridad y Seguridad de Datos Los dos conceptos con los que debe contar la base de datos son:

Integridad. La integridad se refiere a que se deben especificar restricciones en el tipo de dato que contiene la información a almacenar; es decir, si se va a registrar un dato numérico como la edad de una persona, entonces el espacio dentro de la base de datos deberá ser de tipo numérico y deberá contener un número, o bien, si se va a escribir un dato tipo texto como un nombre de una persona, entonces el dato almacenado deberá contener una cadena de caracteres. La integridad se logra de varias maneras pero depende de un análisis previo al diseño de la base de datos.

Seguridad. Nos referimos al tipo de acceso, autorización y privilegios con los que contará la base de datos para con los usuarios de la misma. Por ejemplo, el cliente de tarjeta de débito de un banco accede a ciertas opciones del cajero automático que son distintas a las del gerente de la misma sucursal del banco donde se encuentra el cajero. O bien, un supervisor podrá ver información en las bases de datos de la empresa que un obrero no está autorizado a ver. Ahora es tu turno para trabajar con lo aprendido.

7. Trabajen en equipos de máximo tres personas para ubicar dos situaciones reales y distintas donde se presente,

dentro de una empresa cualquiera, una base de datos redundante e inconsistente; y una base de datos con integridad y seguridad. No olvides especificar las ventajas de una contra la otra.

Inconsistencia. La inconsistencia se refiere a contar con información incompleta o incorrecta. Por ejemplo, si alguien modifica de forma errónea la base de datos de un cliente de la empresa donde se especifica la dirección del mismo, entonces cuando se consulte dicho cliente se mostrará la dirección errónea y al momento de quererlo localizar sería prácticamente imposible. Para evitar la inconsistencia se debe evitar en primera instancia la redundancia y se deberán establecer privilegios de acceso a los usuarios de la base de datos.

Page 11: Base d Datos

Situación 2: Situación 2:

Ventajas y Desventajas: Ventajas y Desventajas:

Base de Datos Redundante e Inconsistente Base de Datos con Integridad y Seguridad en la Información

Situación 1: Situación 1:

Ventajas y Desventajas: Ventajas y Desventajas:

Page 12: Base d Datos

1.2 Sistemas de Manejo de Bases de Datos.

Objetivo del tema. Una vez concluido este tema podrás describir los componentes fundamentales de los sistemas de manejo de bases de datos de acuerdo a sus elementos físicos y lógicos, los lenguajes y las interfaces.

En esta unidad comenzará tu trabajo de involucramiento con las bases de datos, conociendo sus componentes generales físicos y lógicos. También conocerás sobre la forma en que la base de datos trabaja los datos, es decir, los tipos de lenguajes que le permiten comportarse y la forma como los usuarios interactúan con ellos. Empecemos por conocer las razones por las cuales existen los Sistemas de Manejo de Bases de Datos, según el libro “Fundamentos de Bases de Datos” de Henry F. Korth y Abraham Silberschatz. Objetivos de los sistemas de bases de datos. Considérese la parte de una empresa bancaria que conserva la información acerca de todos los clientes y las cuentas de ahorros que tiene el banco. Los registros referentes a las cuentas de ahorros y los clientes se mantienen en archivos permanentes del sistema. Además de estos archivos, el sistema cuenta con varios programas de aplicaciones que permiten manejar los archivos, entre ellos:

Un programa para hacer cargos o abonos a cuenta. Un programa para agregar una nueva cuenta. Un programa para obtener el saldo de una cuenta. Un programa para generar estados de cuenta mensuales.

Estos programas de aplicaciones los escribieron programadores del sistema en respuesta a las necesidades de la organización bancaria. Cada vez que se necesita, se agregan nuevos programas de aplicaciones al sistema. Por ejemplo, supóngase que una nueva ley del gobierno permite a la institución de ahorro ofrecer cuentas de cheques. Como resultado, se crean nuevos archivos permanentes que contienen toda la información acerca de las cuentas de cheques que maneja el banco, para lo cual tal vez sea preciso escribir nuevos programas de aplicaciones. Así, con el correr del tiempo, se agregan más archivos y más programas de aplicaciones al sistema. Puesto que estos archivos y programas se han creado en un periodo largo y, probablemente, por distintos programadores, es de esperar que los archivos tengan formatos diferentes y que los programas estén escritos en varios lenguajes de programación. … El ambiente que se acaba de describir es un Sistema de Procesamiento de Archivos característico, apoyado por un sistema operativo convencional. Los registros permanentes se guardan en diversos archivos, y se escriben varios programas de aplicaciones para sacar registros y agregarlos a los archivos apropiados. Este sistema tiene ciertas desventajas importantes:

Redundancia e inconsistencia de los datos… Dificultad para tener acceso a los datos… Aislamiento de los datos… Usuarios múltiples… Problemas de seguridad… Problemas de integridad…

Estos problemas, entre otros, han fomentado el desarrollo de los Sistemas de Manejo de Bases de Datos.

Page 13: Base d Datos

1.2.1 Organización Física y Lógica Los Sistemas de Manejo de Bases de Datos o Sistemas de Administración de Bases de Datos (DBMS), o también conocidos como Sistemas Gestores de Bases de Datos (SGBD), sirven para realizar una serie de operaciones con los datos almacenados en una base de datos. Se podría decir que la base de datos es el recurso que contiene la organización de la información y el SGBD es el medio para manipularla.

En otras palabras el SGBD es un software o conjunto de programas de aplicación general que funciona a partir de utilizar un Diccionario de Datos o Catálogo. El conjunto de información almacenado en cierto momento en la base de datos se llama Instancia de la Base de Datos. Y al diseño general de la base de datos se llama Estructura de la Base de Datos. Según el Dr. C. J. Date, como lo marca en su libro “Introducción a los Sistemas de Bases de Datos”, menciona que “… las bases de datos pueden ser trabajadas en base a una arquitectura… La arquitectura ANSI/SPARC se divide en tres niveles. Hablando en términos generales:

El nivel interno (nivel físico), es el que está más cerca del almacenamiento físico; es decir, es el que tiene que ver

con la forma en que los datos están almacenados físicamente. El nivel conceptual (nivel lógico de la comunidad, o bien, solo nivel lógico), es un nivel de indirección con los otros

dos. El nivel externo (nivel lógico de usuario, o nivel de visión), es el más próximo a los usuarios; es decir, el que tiene

que ver con la forma en que los usuarios individuales ven los datos. “Observe que el nivel externo tiene que ver con las percepciones de los usuarios individuales, mientras que el nivel conceptual tiene que ver con la percepción de una comunidad de usuarios.”

El nivel físico es el nivel más bajo de abstracción, en el que se describe cómo se almacenan los datos, es decir, aquí se detallan las estructuras de datos. En el nivel conceptual es el siguiente nivel más alto de abstracción, en el que se describe cuáles son los datos reales que están almacenados en la base de datos y qué relaciones existen entre ellos. En cambio, el nivel de visión es el nivel de abstracción más alto y en el que se describe solamente una parte de la base de datos, es decir, es el nivel de simplicidad entre el usuario y el sistema, donde se muestran variadas vistas de la misma información almacenada. Como se podría pensar, la mayoría de las personas solo desearán consultar pequeñas secciones de toda nuestra base de datos. Para poder visualizar dichas consultas los usuarios hacen uso de interfaces. Las más usadas por los DBMS se encuentran a continuación:

Page 14: Base d Datos

Interfaz de comandos o texto. El usuario deberá escribir sus solicitudes de forma textual, es decir, con ayuda del teclado de la computadora. Una vez que se ha escrito lo que se desea, el SGBD deberá trabajar en base a esos comandos. Existen muchas desventajas en esta interfaz, pues si el usuario equivoca las instrucciones, la sintaxis o la lógica de lo que necesita, podrían haber errores durante su ejecución. Esta opción es muy utilizada por DBAs.

Interfaz basada en menús. Se le presenta al usuario un menú desplegable con variadas opciones que le permitirán trabajar las solicitudes y transacciones que desee. No requiere memorizar instrucciones pues éstas son mostradas en el sistema.

Interfaz gráfica. Las opciones de las transacciones están ubicadas en imágenes e íconos de la pantalla, donde el usuario solo deberá dar clic en el adecuado.

Dentro de estas opciones de interfaz, el usuario podrá elegir si la base de datos se encuentra dentro de la computadora donde trabaja o en un servidor a distancia. Además, los usuarios podrán compartir, mediante distintas interfaces, la misma base de datos, siempre y cuando cumplan con los privilegios que les otorgue el DBA.

Page 15: Base d Datos

8. Crea un mapa mental o cuadro sinóptico, donde sintetices el tema visto. Puedes investigar al respecto para que tu

trabajo sea más completo.

Una base de datos es una colección de archivos interrelacionados creado por un SGBD, donde la colección comprende objetos, ya sean tablas, formularios, informes, consultas y guiones (scripts). La función del SGBD entonces es:

1. Crear y mantener, mediante las instrucciones del DBA, las bases de datos. El DBA deberá verificar la integridad de los datos.

2. Organizar lógica y físicamente los datos. Deberá existir una independencia de los datos de forma lógica y física.

3. Administrar mediante procesos la base de datos, facilitando el acceso a los datos según las solicitudes de los usuarios. A este enfoque se le llama concurrencia.

4. Obstaculizar, a usuarios no deseados, el acceso a la información en cualquier nivel, así como registrar dicho acceso. A este enfoque se le llama seguridad.

5. Permitir el respaldo y la recuperación de los datos. 6. El SGBD deberá permitir en todo momento las normas establecidas, al

mismo tiempo que ofrecer opciones de auditoría de datos.

Las estructuras de datos que forman parte del sistema físico son:

Los archivos de datos (o ficheros de datos). Es el lugar donde se almacenará la información de la base de datos. El diccionario de datos (o catálogo). Contienen los metadatos, es decir, “datos acerca de los datos”, que señalan la

estructura como serán almacenados. Los Índices. Indica el orden de los datos. Permiten tener un acceso rápido a elementos de información que

contienen valores determinados.

Page 16: Base d Datos

La organización lógica de los datos depende en realidad del diseñador de la base de datos, pues es él quien determinará la información que se almacenará y su organización. Los modelos de datos que el usuario puede considerar son:

Modelos lógicos basados en objetos.c El modelo entidad-relación. (E-R) El modelo binario. El modelo semántico de datos. El modelo infológico.

Modelos lógicos basados en registros.c Modelo relacional. Modelo de red. Modelo jerárquico.

Modelos físicos de los datos.c El modelo unificador. La memoria de cuadros.

Los señalados son solo los más representativos, pues a lo largo de la historia de las bases de datos han ido evolucionando constantemente. Cabe señalar que a lo largo del curso solo utilizaremos el Modelo E-R y el Modelo Relacional, que son los más sencillos y con mayor número de simpatizantes diseñadores de bases de datos. Ahora que conoces los niveles de abstracción, las estructuras de datos y los modelos de datos, conoceremos un concepto nuevo: Independencia de Datos. La capacidad de modificar una definición de esquema en un nivel de abstracción de la base de datos sin afectar la definición del esquema en el nivel inmediato superior, se llama independencia de datos. Para Korth y Silberschatz existen dos niveles de dicha independencia:

Independencia física. Es la capacidad de modificar el esquema físico sin obligar a que se vuelvan a escribir los programas de aplicaciones. En algunas ocasiones son necesarias modificaciones en el nivel físico para mejorar el rendimiento.

Independencia lógica. Es la capacidad de modificar el esquema conceptual sin obligar a que se vuelva a escribir los programas de aplicaciones. Las modificaciones en el nivel conceptual son necesarias siempre que se altera la estructura lógica de la base de datos.

La independencia lógica de los datos es más difícil de lograr que la independencia física, ya que los programas de aplicaciones dependen en alto grado de la estructura lógica de los datos a los que tienen acceso.

9. Lee las siguientes preguntas y observa atentamente el video “Organización y Funcionamiento de la Base de

Datos” del material de EMSaD, después contesta de forma breve y concisa. El asesor verificará tus respuestas de forma grupal.

¿Qué es un archivo informático? ¿Dónde se puede almacenar un archivo informático? ¿Cómo se compone un archivo informático? ¿En qué se dividen los registros?

Page 17: Base d Datos

¿De qué tipo pueden ser los campos? ¿Qué tipos de archivos existen de acuerdo a su forma de acceso? ¿Cómo se realiza el acceso secuencial a un archivo? ¿Cómo se realiza el acceso directo a un archivo? ¿Cuáles son las cuatro operaciones básicas que se pueden realizar en los archivos? ¿Cuál es la diferencia entre una alta, una baja, un cambio y una consulta en un archivo? Dibuja el diagrama de flujo de información y explica cada estado de información.

Page 18: Base d Datos

Menciona las ventajas importantes de usar una base de datos. Explica el modelo jerárquico de la base de datos. Explica brevemente el modelo de red de la base de datos. Explica los conceptos: Seleccionar, Pegar y Proyectar. Da ejemplos. 10. Realiza una investigación sobre los manejadores de bases de datos más comunes en la actualidad. El trabajo

deberá contener, para cada manejador, lo siguiente: a. Nombre del SGBD b. Versión c. Logotipo (Imagen) d. Fabricante e. Sitio del fabricante f. Distribución (¿Dónde se consigue el software?) g. Costo Total (Desglosado: Obtención o descarga y licenciamiento o activación) h. Tipo de Interfaz i. Tipo de usuarios j. Descripción del SGBD

El asesor calificará el trabajo en base a la lista de cotejo siguiente:

Cumple No. Características Pts.

SI NO

1 Se entregó el trabajo con limpieza y en la fecha establecida. 1

2 El trabajo cuenta con información de al menos cinco SGBDs distintos. 3

3 Cada SGBD investigado cuenta con la información solicitada. 2

4 La información solicitada es real. 2

6 El alumno escribió claramente. (Sintáctica y Semántica) 1

7 El trabajo no cuenta con faltas de ortografía. 1

Meta Total: 10

Page 19: Base d Datos

Observaciones Puntos Obtenidos

Firma del Asesor

1.2.2 Lenguajes de Bases de Datos

Cuando ya se ha implementado una base de datos, es decir, se ha diseñado la base de datos, se ha seleccionado el SGBD y se ha llenado ésta de datos, el usuario lo que requerirá en este momento será usarla, siendo las operaciones más comunes: las consultas, las modificaciones, actualizaciones y borrados de datos. Para esto el SGBD está compuesto por:

DDL: Lenguaje de Definición de Datos, DML: Lenguaje de Manipulación de Datos, y DCL: Lenguaje de Control de Datos.

De los cuales se desprenden:

SQL: Lenguaje Estándar de Consulta, y los Lenguajes de Programación

El DDL es proporcionado por el DBMS para que los usuarios definan las estructuras que almacenarán los datos. El DML permite llevar a cabo las tareas de consulta o manipulación de datos. El DCL se trabaja mediante algunos comandos SQL que permiten al administrador controlar el acceso a los datos de la base de datos. El SQL, como su nombre lo implica, es el lenguaje con el que se puede trabajar tanto en la definición, manipulación y el control de los datos, por ello la mayoría de los SGBDs trabajan todo como un mismo lenguaje para programar sus actividades. 11. Realiza una investigación sobre el SQL y contesta las siguientes preguntas: ¿Qué significa SQL? ¿Con qué comando SQL podemos crear una base da datos y una tabla? ¿Cuáles son los tres comandos SQL principales para realizar una consulta?

Page 20: Base d Datos

¿Cuáles comandos SQL permiten insertar, eliminar y modificar datos de una tabla? 12. Realiza una investigación sobre los lenguajes de programación más comunes en la actualidad. El trabajo deberá

contener, para cada lenguaje, lo siguiente: a. Nombre del lenguaje b. Versión c. Logotipo (Imagen) d. Fabricante e. Sitio del fabricante f. Tipo de lenguaje g. Tipo de Interfaz h. Descripción del lenguaje

El asesor calificará el trabajo en base a la lista de cotejo siguiente:

Cumple No. Características Pts.

SI NO

1 Se entregó el trabajo con limpieza y en la fecha establecida. 1

2 El trabajo cuenta con información de al menos cinco lenguajes distintos. 3

3 Cada lenguaje investigado cuenta con la información solicitada. 2

4 La información entregada es real. 2

6 El alumno escribió claramente. (Sintáctica y Semántica) 1

7 El trabajo no cuenta con faltas de ortografía. 1

Meta Total: 10

Observaciones Puntos Obtenidos

Firma del Asesor

1.2.3 Interfaces con otros sistemas

Los lenguajes de programación en general no solo funcionan para las bases de datos, sino para las interfaces que interactuarán con el SGBD principalmente. Pero estos lenguajes no pertenecen directamente con el SGBD que utiliza el usuario. Por lo tanto, los lenguajes de programación pueden crear variados sistemas que hagan enlaces a las bases de datos de los usuarios. De hecho, los sistemas de información de las empresas pueden comunicarse con distintas bases de datos de sus distintos departamentos, incluso con SGBDs distintos a la vez.

Page 21: Base d Datos

1.3 Usuarios de las Bases de Datos.

Objetivo del tema. Con este tema obtendrás herramientas que te facilitarán la identificación de los usuarios de las bases de datos, con apoyo de actividades de casos de la vida real.

Los usuarios son las personas que utilizan las bases de datos. Es decir, es toda persona que tiene algún tipo de contacto con la base de datos. Dependiendo de las actividades que realicen es su clasificación, además de que no todos los usuarios trabajan los mismos niveles de la base de datos. En esta unidad obtendrás los conocimientos básicos para poder clasificar a los usuarios de los DBMS. Continuemos con nuestras actividades. 1.3.1 Los Usuarios

Como ya se mencionó: “Los usuarios son todas aquellas personas que tienen algún tipo de contacto con la base de datos.” Pero entre todos los usuarios existentes se distinguen en especial a los usuarios finales que son aquellas personas para las que fue creada la base de datos. Gracias a los usuarios finales las bases de datos existen. En realidad los usuarios finales pueden clasificarse de forma sencilla, solo en avanzados y simples. Los primeros están capacitados en manipular el SGBD por medio de procedimientos complejos. Los segundos forman el grueso de la población de los usuarios finales, realizando operaciones o transacciones de uso común.

Sin embargo, para su estudio se considera una clasificación más detallada, de tal forma que los usuarios de las bases de datos se puedan clasificar en:

Usuarios especializados. Son usuarios complejos que escriben aplicaciones para la base de datos que no embonan en el marco tradicional de procesamiento de datos.

Usuarios casuales o sofisticados. Son usuarios complejos que interactúan con el sistema escribiendo sus consultas en un lenguaje de consulta de la base de datos.

Usuarios ingenuos. Son usuarios poco complejos que interactúan con el sistema llamando alguno de los programas de aplicaciones permanentes escritos previamente.

Dentro de los usuarios especializados se encuentran (Los DBAs entran en cualquiera de estas categorías.):

Diseñadores y desarrolladores. Son las personas encargadas de trabajar la fase de diseño de la base de datos y realizar las definiciones en el Diccionario de datos del SGBD a nivel interno. De esta forma, estos usuarios cubren las necesidades de otros usuarios.

Programadores de aplicaciones. Éstos son profesionales en computación que interactúan con el sistema

mediante llamadas de DML, las cuales están incrustadas en un programa escrito en un lenguaje interno al SGBD.

Dentro de los usuarios casuales se encuentran:

Operadores. Son los usuarios que verifican las actividades realizadas en los SGBD ya sea de forma directa, con reportes en pantalla, o de forma indirecta, obteniendo impresiones del mismo sistema. Estos usuarios no requieren de saber manipular la computadora.

Page 22: Base d Datos

Capturistas. Estos usuarios hacen el vaciado de la información a la base de datos, además dan el mantenimiento a la información mediante transacciones: altas, bajas y modificaciones.

Dentro de los usuarios ingenuos se encuentran:

Esporádicos. Son personas poco familiarizadas con la base de datos y que solo la utilizan para visualizar pequeñas porciones de la información basándose en criterios de filtrado y consulta.

Autónomos. Utilizan bases de datos personalizadas de fácil uso, cuyo ambiente es de tipo gráfico muy

amigable, creado por cualquier lenguaje de programación. Ahora que conocemos a los tipos de usuarios que existen, te presentamos la estructura del sistema, para que veas su relación todos los elementos que componen la base de datos.

Page 23: Base d Datos

13. De acuerdo a las actividades que realizan los siguientes empleados de una compañía X, escribe en el crucigrama el tipo de usuario de base de datos del que se trata.

1 6

5 2

3

4

Horizontal:

1) Michael es el ingeniero en sistemas de la compañía, y es el encargado de proporcionar a los demás usuarios de la compañía, procedimientos sencillos de consulta y vistas, manejando el DML del SGBD. ¿Qué tipo de usuario es Michael?

2) La ingeniera Patricia es la gerente de producción y ventas de la compañía, y cada semana solicita a su asistente le entregue un reporte de producción y ventas para analizarlo y así tomar decisiones importantes. Por lo tanto, tiene un contacto indirecto con la base de datos de la empresa, siendo un usuario ...

3) La contadora, Alma Nélida, tiene acceso a la base de datos de la compañía de forma regular, y debido a su excesiva carga de trabajo, se le desarrolló un ambiente gráfico de fácil manejo. La contadora es un usuario ...

4) Bryan tiene pocos conocimientos en informática, por lo que solo entra al sistema de base de datos de la compañía para hacer consultas sencillas preestablecidas. Por lo tanto, Bryan es un usuario …

Vertical:

5) Cuando se contrató a Mariana se le explicó que su trabajo consistiría en dar de alta todos los catálogos que la base de datos necesita para trabajar en los distintos departamentos de la empresa. Se le dio pues el puesto de usuario …

6) El ingeniero Hugo fue contratado en la compañía para realizar el análisis y diseño de la base de datos que se maneja. Por lo que, durante el diseño entrevistó a los demás empleados para cubrir sus demandas. ¿Qué tipo de usuario es el ingeniero Hugo?

Page 24: Base d Datos

14. Según el ejercicio anterior, señala junto del nombre del empleado de la compañía X, si se trata de un usuario

especializado, casual o ingenuo.

Empleado Tipo de Usuario Empleado Tipo de Usuario

Ing. Michael

Ing. Patricia

Ing. Cinthya

Ing. Bryan

Ing. Hugo

Lic. Mariana

Page 25: Base d Datos

1.4 Relaciones entre datos.

Objetivo del tema. Dentro de un conjunto de datos, podrás distinguir las relaciones entre ellos para poder trabajarlos en un modelo conceptual.

Parte importante en el diseño de una base de datos es determinar las relaciones entre los datos. Una relación la podemos definir como una asociación dada por dos elementos. Sin más preámbulos iniciemos las actividades del tema. 1.4 Relaciones “uno a uno”, “uno a varios”, “varios a uno” y “varios a varios” Iniciemos haciendo referencia a dos conjuntos A y B con elementos cualesquiera, para comprender de mejor manera las relaciones entre los datos. Los elementos de A y B no son necesariamente del mismo tipo, pero si tienen una relación que llamaremos R.

Si un elemento del conjunto A tiene relación con un elemento del conjunto B, y ese mismo elemento del conjunto B tiene relación con el mismo elemento del conjunto A, entonces la relación R es uno a uno (1 a 1).

R=1-1

Page 26: Base d Datos

Si un elemento del conjunto A tiene relación con varios elementos del conjunto B, pero cada elemento del conjunto B solo puede tener relación con uno del conjunto A, entonces la relación R es uno a varios (1 a n).

R=1-n

Si un elemento del conjunto A solo tiene relación con un elemento del conjunto B, pero los elementos del conjunto B tienen relación con varios elementos del conjunto A, entonces la relación R es varios a uno (n a 1).

R=n-1

Si todos los elementos del conjunto A tienen relación con todos los elementos del conjunto B y viceversa, entonces la relación R entre ellos es varios a varios (n a n).

R=n-n

Ahora, si suponemos que los conjuntos son tablas y los elementos relacionados son los registros de dichas tablas, entonces tendremos las cuatro formas de relacionar los datos:

Relación 1 a 1 Relación 1 a varios Relación varios a 1 Relación varios a varios

Estas relaciones son utilizadas en los modelos lógicos basados en objetos, en especial, en el Modelo Entidad-Relación (o Modelo E-R).

Page 27: Base d Datos

Para llevar a cabo un Modelo E-R es necesario hacer uso de cuatro sencillos símbolos.

El rectángulo, que nos servirá para identificar la entidad que estamos trabajando, o sea el objeto de estudio (no necesariamente físico) del cual desglosaremos los datos a almacenar en nuestra base de datos. La entidad terminará siendo una tabla de nuestra base de datos. La elipse, para señalar los atributos o características del objeto, o sea

las categorías en las que dividiremos la información de cada una de las entidades. Al final, estas serán los campos de la tabla. Cuando el atributo es un “atributo clave” el texto dentro de él se subraya. Más adelante, estos atributos clave se convertirán en “llaves primarias” de la tabla.

El tercer símbolo es el rombo, será el símbolo para señalar la relación entre las entidades, mismo donde se señalará el tipo de relación que existe entre los datos de dichas entidades. Esta misma relación deberá ser pasada al SGBD al momento de crear la base de datos.

Por último tenemos las líneas, que nos permitirán unir los atributos a las entidades y éstas a las relaciones. El modelo E-R no es más que una herramienta de diseño de la base de datos. Es muy utilizado este diseño en las bases de datos actuales pues fácilmente se pueden identificar los datos que se necesitan almacenar y la relación que existe entre ellos. Tomemos los siguientes ejemplos para comprender mejor al modelo E-R. Ejemplo 1: Relación varios a varios de las entidades Libro y Autor.

La relación para este ejemplo se puede explicar diciendo: “Un libro fue escrito por varios autores y un autor pudo escribir varios libros”. Ejemplo 2. Relación uno a uno de las entidades Alumno y Boleta.

Page 28: Base d Datos

La relación para este ejemplo se puede explicar diciendo: “Un alumno recibe una boleta de calificaciones y una boleta de calificaciones solo puede entregarse a un alumno”. Observemos además que la entidad Boleta tiene como atributos solo los datos principales de la boleta, pero no tiene los atributos Materias, Calificaciones de Materias, Faltas de Materias, etc. Esto se debe a que debería existir una entidad que contenga de forma particular dichos datos, por ejemplo la entidad Materia, que puede tener como atributos Nombre de la Materia, Calificación, Faltas. Ejemplo 3. Relación uno a varios de las entidades Salón y Alumno.

La relación para este ejemplo se puede explicar diciendo: “Un salón es ocupado por varios estudiantes a la vez y un estudiante solo puede estar en un salón a la vez”. Por supuesto, al poderse crear la relación 1 a n, podemos obtener la relación n a 1 invirtiendo el orden de las entidades. Ahora compara las explicaciones de los ejemplos con las reglas de relación R dadas al inicio del tema con los conjuntos A y B. ¿Pudiste reconocer las relaciones fácilmente? En el diseño del Modelo E-R, como pudiste observar, la forma como se obtienen los atributos una vez que se ha definido el elemento o entidad a almacenar en la base de datos, es dividiendo o categorizando la información que queremos conocer de esas entidades. Las relaciones se dan por sí solas una vez que se tienen las entidades con todos sus atributos. Los ejemplos mostrados solo utilizan dos entidades dentro del diseño, pero al asignar más entidades el diseño se torna más complejo e interesante, recordando que no necesariamente todas las entidades del diseño tienen algún tipo de relación con las otras. Para concluir, cabe mencionar que el Modelo E-R es tan práctico que incluso se puede utilizar como base en el diseño de bases de datos orientadas a objetos, o bien, para estudiar el diseño a la migración a la base de datos orientada a objetos, aunque en realidad el modelo propio sería el Modelo Orientado a Objetos. Ahora no queda más que practiques por tu cuenta para obtener la destreza necesaria para crear tus propios Modelos E-R y convertirlos después en bases de datos estables. 15. Realiza una investigación y resumen sobre el diseño del modelo E-R. El trabajo deberá contener, para cada

manejador, lo siguiente: a. Definición del Modelo E-R. b. Símbolos utilizados (hacer la diferencia entre atributo y atributo clave). c. Pasos a seguir para realizar el diseño del Modelo E-R.

El asesor calificará el trabajo en base a la lista de cotejo siguiente:

Page 29: Base d Datos

Cumple No. Características Pts.

SI NO

1 Se entregó el trabajo con limpieza y en la fecha establecida. 1

2 El trabajo cuenta con información solicitada. 4

4 La información solicitada es verídica. 3

6 El alumno escribió claramente. (Sintáctica y Semántica) 1

7 El trabajo no cuenta con faltas de ortografía. 1

Meta Total: 10

Observaciones Puntos Obtenidos

Firma del Asesor

16. Dibuja un modelo E-R para las entidades: Computadora y Usuario. No olvides determinar el tipo de relación

existente.

Page 30: Base d Datos

17. Dibuja un modelo E-R para las entidades: Papá, Mamá e Hijo. No olvides determinar el tipo de relación existente.

18. Dibuja un modelo E-R para las entidades: Equipo, Jugador y Estadísticas_del_Jugador. No olvides determinar el

tipo de relación existente.

19. En parejas o tríos discutan para obtener al menos un ejemplo más de cada tipo de relación. Compártanlas con el

grupo justificando sus conclusiones. El asesor fungirá como moderador.

Page 31: Base d Datos

1.5 Tipos de Modelos de Datos.

Objetivo del tema. En este tema analizarás los modelos de datos de acuerdo a sus características.

Felicidades este es el último tema de esta primera unidad, confiamos plenamente en que tu esfuerzo ha valido mucho hasta el momento y has cumplido con los objetivos que te fueron propuestos. Recuerda que en esta unidad solo hemos dado una breve introducción sobre el uso de las bases de datos, dándote las herramientas necesarias para tu curso de bases de datos. Iniciaste con los conceptos básicos, aprendiste sobre los manejadores de las bases de datos y los usuarios que las manejan y hasta has llegado a relacionar datos de entidades distintas. Parece poco, pero en realidad has avanzado un largo puente, ahora no queda más que seguir adelante y continuar con el mejor de tus esfuerzos para adquirir los conocimientos de la materia. En esta unidad te presentaremos teóricamente los tipos de modelos de datos más representativos actualmente. Felicidades, ahora hay que seguir con las actividades del tema 1.5, Tipos de Modelos de Datos. 1.5.1 Modelos Como ya se mencionó en el tema 1.2 Sistema de Manejo de Bases de Datos, la organización lógica de los datos depende del diseñador, y es precisamente el diseñador quien determinará el modelo a utilizar. Los modelos de datos más representativos se describen a continuación como un fragmento del libro “Fundamentos de bases de datos” de Korth y Silberschatz.

Modelos de datos (Modelos lógicos basados en registros) Modelo de Red. Los datos en el modelo de red se presentan por medio de conjuntos de registros y las relaciones entre los datos se presentan como ligas, que pueden considerarse como apuntadores. Los registros de la base de datos se organizan en forma de conjuntos de gráficas arbitrarias.

Page 32: Base d Datos

Modelo Jerárquico. Son similares a los modelos de red en cuanto a que los datos y las relaciones entre los datos se representan por medio de registros y ligas, respectivamente. El modelo jerárquico difiere del de red en que los registros están organizados como conjuntos de árboles en vez de gráficas arbitrarias. De ahí que también se llamen Modelos arborescentes o Modelos de Árbol.

Modelo Relacional. Las datos y las relaciones entre los datos se representan por medio de una serie de tablas, cada una de las cuales tiene varias columnas con nombres únicos. Este tipo de modelo puede resultar el más sencillo de diseñar, incluso es el utilizado en la mayoría de los SGBDs de ambiente gráfico comerciales en la actualidad.

Como se ha venido explicando, siempre existen nuevas tendencias en el modelado de datos, una de las de mayor difusión actualmente es: Modelo Orientado a Objetos. El esquema de una base de datos por objetos está representado por un conjunto de clases que definen las características y el comportamiento de los objetos que poblarán la base de datos. La diferencia principal respecto a los modelos examinados hasta ahora es la no positividad de los datos. En efecto, con una base de datos tradicional (entendiendo con este término cualquier base de datos no por objetos), las operaciones que se tienen que efectuar en los datos se les piden a las aplicaciones que los usan. Con una base de datos orientada a objetos, al contrario, los objetos memorizados en la base de datos contienen tanto los datos como las operaciones posibles con tales datos.

Page 33: Base d Datos

20. Trabajen en pares y dibujen en el espacio siguiente un cuadro sinóptico o mapa de conceptos acerca de los

modelos de datos.

Te invitamos a que continúes las siguientes unidades con la misma o mayor intensidad con la que terminaste esta unidad.

Page 34: Base d Datos

Autoevaluación 1. ¿Qué es una base de datos?

2. ¿Qué operaciones se pueden realizar con las bases de datos?

3. Dibuja encuadro sinóptico donde expliques la clasificación de los distintos tipos de usuarios.

4. Realiza un modelo E-R entre automóvil y dueño.

Page 35: Base d Datos

5. Realiza un modelo relacional de acuerdo a los datos del modelo E-R anterior.

6. Relaciona las siguientes columnas. Si el concepto no tiene relación entonces deja en blanco su inciso.

a) El archivo está constituido por… b) Son los responsables de la base de datos. c) Esta relación se explica cómo: “los elementos de un conjunto se relaciona con todos los elementos de otro conjunto y viceversa”. d) El registro se divide en _________ que pueden ser numéricos, alfabéticos o alfanuméricos. e) Modelo que se caracteriza por organizar la información por niveles. También se le conoce como modelo de Árbol. f) Se le llama así al sistema que permite manipular las bases de datos.

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

Relacional 1 a n Archivos SGBD Campos n a n Tablas Modelo Jerárquico Registros Datos DBA

Page 36: Base d Datos

INTRODUCCIÓN

En la unidad I hemos estudiado que existen distintos modelos de base de datos según los cuales la información puede ser almacenada y relacionada entre sí. Actualmente, para la mayoría de las aplicaciones que utilizan bases de datos, el modelo más empleado es el modelo relacional, por su gran versatilidad, potencia y por los formalismos matemáticos sobre los que se basa.

Este modelo permite representar la información del mundo real de una manera intuitiva, introduciendo conceptos cotidianos y fáciles de entender por cualquier inexperto. Asimismo, mantiene información sobre las propias características de la base de datos, que facilitan las modificaciones, disminuyendo los problemas ocasionados en las aplicaciones ya desarrolladas. Por otro lado, incorpora mecanismos de consulta muy potente, totalmente independiente del S.G.B.D (sistema gestor de base de datos), e incluso de la organización física de los datos.

Para observar bien el porqué ha surgido el modelo relacional, pensemos en cómo realizaríamos una lista de alumnos, si las computadoras no existiesen y necesitamos que nuestra lista quede almacenada. La manera más fácil de realizarlo es empleando papel y lápiz, de manera que en la página uno empezaríamos escribiendo los nombres de los primeros alumnos, si la página se acaba, cogemos otra, y hacemos la misma operación, de forma que, al final, la lista de alumnos está escrita o almacenada en varios páginas. Este método, que es el más directo, tiene el problema de qué ocurre cuando se desean introducir nuevos alumnos a la lista. Inicialmente, la tarea parece fácil, pues nos basta con seguir escribiendo líneas tras la última línea de la última página, e ir tomando nuevas hojas a mediada que las páginas se vayan llenando. No obstante, este método sólo es adecuado si la lista de alumnos no está ordenada según un criterio. Si la lista de alumnos ya está ordenada, y deseamos introducir un nuevo alumno, ¿cómo lo hacemos?, ¿escribiendo una línea por enmedio con letra más pequeña?, o bien ¿escribiendo de nuevo toda la lista, pero esta vez con los datos que se desea insertar? Está claro que ninguna de estas posibilidades es una solución factible.

Otra posibilidad de registrar la lista de alumnos es utilizando una ficha de cartón para los datos de cada alumno. Cada ficha de cartón tendrá los datos de cada alumno tales como nombre, apellidos, dirección, etc., se pondrá la información que nos interese guardar, de esta manera cada alumno queda almacenado en una ficha de cartón. Si se desea insertar un nuevo alumno a la lista, basta con rellenar su ficha y meterla en su posición adecuada. De la misma forma se puede proceder a la hora de eliminar alguna ficha. Pues bien, este último método es el que, a grandes rasgos, utiliza el modelo relacional. El modelo relacional representa una lista de alumnos, clientes, proveedores, facturas, empleados, etc., mediante registros o fichas cada uno de los cuales pueden ser manejados individualmente y con independencia de los demás. No obstante, para efectos de facilitar su visualización, puede ser posible ver a todos los registros juntos como si de una sola lista se tratase.

Para cumplir con el objetivo citados en esta unidad, desarrollaremos la unidad de la siguiente manera:

Estudiaremos el concepto de relación o tabla, como estructura básica del modelo relacional, todos los datos de una base de datos se representan en forma de relaciones, donde una relación es una tabla, con un conjunto de filas o tuplas y donde cada tupla tiene varias columnas o atributos.

Revisaremos también la teoría de la normalización, cuyas tres primeras formas fueron introducidas por Codd, que permite eliminar dependencias entre atributos que originan anomalías en la actualización de una base de datos y proporciona una estructura más regular de relaciones, contribuyendo al soporte para el diseño de una base de datos relacional.

Conoceremos también el conjunto de operadores que se aplican a las relaciones, algunos de los cuales son clásicos de la teoría de conjuntos, no hay que olvidar que una relación se define matemáticamente como un conjunto, mientras que otros fueron introducidos específicamente para el modelo relacional, todos ellos conforman lo que conoceremos como el algebra relacional.

BASE DE DATOS RELACIONALES

Objetivo de la unidad: Identificar la estructura básica de las bases de datos relacionales, la forma de expresarlas y manipularlas a través de las operadores del algebra relacional y el lenguaje de consultado estructurado (SQL).

UNIDAD 2

Page 37: Base d Datos

En la unidad anterior se reviso la arquitectura de un SGBD, los cuales al igual que las bases de datos han ido evolucionando, la primera generación estaba constituida por SGBD basados en el modelo de red y el modelo jerárquico, actualmente el modelo relacional representa la segunda generación de los SGBD, en donde los datos están estructurados a nivel lógico como tablas formadas por filas y columnas, aunque a nivel físico pueden tener una estructura completamente distinta.

Dada la popularidad del modelo relacional, muchos SGBD de la primera generación se han modificado para proporcionar una interfaz de usuario relacional, por lo que se creo un lenguaje estándar para controlar e interactuar con el SGBD. Lenguaje mejor conocido como SQL (Structured Query Language, lenguaje de consulta estructurado) que se utiliza para consultar, actualizar y administrar las bases de datos relacionales.

Por último se trabajaremos con SQL para generar de una base de datos vistas para los diferentes usuarios de la base de datos. Las vistas de SQL pueden ser utilizadas para mejorar la seguridad de una base de datos y para acomodarla a las necesidades particulares de los usuarios, según los privilegios o restricciones de acceso

A continuación te presentamos los contenidos organizados de esta unidad.

UNIDAD II. BASES DE DATOS RELACIONALES

FUENTES DE CONSULTA1. Adoración de Miguel Castaño, Mario G. Piattini. Fundamentos y Modelos de Base de Datos. México,

Alfaomega, 1999. 2. Pérez López César, Access 2003, 2002 y 2000. México, Alfaomega,2005. 3. M. Chordá, Visual FoxPro 6 Guía Práctica. México, Alfaomega, 2001. 4. Les Pinter, John Pinter. Visual FoxPro 3.0 y 5.0 Manual de programación. México, Mc Graw Hill, 1997.

Maneja Seapoya Tiene Utiliza

BASEDEDATOSRELACIONALES

ESTRUCTURABÁSICA

ÁLGEBRARELACIONAL

RELACIONES,TABLASOENTIDADES

COLUMNAS,

CAMPOSOATRIBUTOS

RENGLONES,REGISTROSOFILAS

CLAVESPRIMARIASYFORANEAS

NORMALIZACIÓN

OPERACIONESDECONJUNTOS

OPERACIONESRELACIONALES

PRIVILEGIOSDEACCESO

ELEMENTOS

RELACIONES

BÚSQUEDAS

VISTAS LENGUAJESQL

Page 38: Base d Datos

ATRIBUTOS

GRADO 4

CIUDAD Guadalajara Puebla Querétaro Morelia

DOMINIOS

TUPLAS

DESARROLLO

El modelo de datos relacional considera a la base de datos como un conjunto de relaciones, donde cada relación equivaldría a una tabla, es decir, las bases de datos relacionales se basan en el uso de tablas (también llamadas relaciones). Las tablas se representan gráficamente como una estructura rectangular formada por filas y columnas. Cada columna almacena información sobre una propiedad determinada de la tabla (se le llama también atributo). Cada fila posee los valores que toma cada uno de los atributos para cada elemento de la relación (a las filas se las llama también tuplas). ELEMENTOS DEL MODELO RELACIONAL Relación: Estructura rectangular formada por filas y columnas, y tiene un nombre. Tupla: Cada fila de la tabla y contiene los valores que toma cada uno de los atributos de una relación. Atributo: Cada columna de la tabla y representan una propiedad característica de la relación. Grado: Número de atributos de la relación. Cardinalidad: Número de túplas de una relación. Dominio: conjunto de valores admisibles para un atributo de una relación. A continuación se presenta una relación llamada “Socio”

En una relación, las tuplas pueden estar en cualquier orden, no podemos referenciar una tupla concreta mediante su posición entre las demás, y necesitamos alguna forma de seleccionar una tupla concreta. La forma de hacerlo es mediante una clave. Una clave es un atributo o conjunto de atributos cuyo valor es único y diferente para cada tupla.

2.1 ESTRUCTURAS BÁSICAS DE LAS BASES DE DATOS RELACIONALES

Objetivo temático: Distinguir los elementos básicos de la estructura de las bases de datos relacionales, mediante el estudio de sus características particulares.

CODIGO NOMBRE EDAD CIUDAD

124 Luis 23 Guadalajara

241 Ana 16 Puebla

392 Pablo 27 Guadalajara

189 Eugenia 19 Querétaro

820 Carla 37 Morelia

763 Héctor 33 Puebla

CLAVE PRIMARIA

Page 39: Base d Datos

Tipos de claves Clave candidata: Conjunto de atributos de una tabla cuyos valores son únicos en cada tupla de la relación. Clave primaria: Clave candidata que se escoge como identificador de las tuplas de una relación. Clave Foránea: Atributo de una tabla que hace referencia a otra relación, a través de la clave de otra tabla.

TERMINOLOGÍA DEL MODELO RELACIONAL

El modelo relacional permite incorporar restricciones a las claves de una relación. Unicidad: Mediante la cual se identifica que los valores de las claves primarias deben ser únicos, es decir, no deben repetirse. Obligatoriedad: Prohíbe que el atributo marcado como clave primaria admita valores nulos. Integridad referencial: Prohíbe colocar valores en una clave foránea que no estén reflejados en la tabla donde ese atributo es clave primaria.

ACTIVIDADES: Realiza un mapa conceptual sobre los elementos que integran un modelo entidad-relación.

TÉRMINO RELACIONAL EQUIVALENTE

Relación Tabla

Tupla Fila o Registro

Cardinalidad Número de filas

Atributo Columna o campo

Grado Número de columnas

Clave primaria Identificador único

Dominio Conjunto de valores

Page 40: Base d Datos

De la relación cliente identifica los siguientes elementos: nombre de la relación, tuplas, cardinalidad, atributos, grado, clave primaria, clave foranea y dominio del atributo nombre CLIENTE

cveCLI nombre dirección cveEST teléfono

C001 Fernando Calle Las Flores s/n 23 (442)2-13-34-45 C002 Josué Calle Guadalupe s/n 21 (552)2-45-67-78 C003 Manuel Calle Los Lomas s/n 26 (442)2-45-67-87 C004 Jorge Calle Pedregal s/n 21 (667)7-89-90-76 C005 Beatriz Calle Galeana s/n 25 (442)2-34-54-32

Organizar a los alumnos en equipos de 3 y realiza las siguientes actividades: Elabora el modelo entidad- relación de la siguiente situación. El gerente de una compañía de entretenimiento y capitación, que imparte cursos a empresas desea llevar un mayor control de su información. Los cursos que imparten tienen un código, nombre, tarifa y duración. Se tienen varios instructores de los cuales conocemos su cedula, nombre, dirección y número telefónico. De los empleados necesitamos conocer; clave empleado, nombre, horario, nombre de su empresa, teléfono y dirección. Los instructores pueden impartir un solo curso, y los empleados pueden estar inscritos en varios cursos.

Del modelo entidad-relación del ejercicio anterior, representa la entidad curso en un modelo base de datos relacional, de la cuál es necesario identificar lo siguiente: nombre de la relación, atributos, tuplas, clave primaria, cardinalidad, grado y el dominio de uno de sus campos.

Page 41: Base d Datos

NORMALIZACIÓN Una vez obtenido el esquema relacional resultante del modelo entidad - relación que representa una base de datos, normalmente tendremos una buen diseño de una base de datos. Pero otras veces, debido a fallos en el diseño o a problemas indetectables en esta fase del diseño, tendremos un esquema que puede producir una base de datos que incorpore estos problemas: Redundancia. Se llama así a los datos que se repiten continua e innecesariamente en las relaciones de una base de datos y, por lo tanto, posibilidad de inconsistencias. Significado de los campos. Los campos de una relación deberán ser por si solos significativos, no mezcles atributos de dos o más relaciones para realizar el modelo de datos relacional, ya que esto provoca confusión. Pérdida de integridad. Ocurre cuando en las tuplas de una relación se almacenan datos de cualquier tipo sin que exista ninguna restricción. Anomalías en la modificación de datos. Se presentan cuando al insertar un solo elemento haya que repetir tuplas en una tabla o al eliminar un elemento suponga eliminar varias tuplas. El principio fundamental reside en que las relaciones deben referirse a objetos o situaciones muy concretas y la solución suele ser dividir las relaciones en otras relaciones más adecuadas. El modelo relacional debe ser, por tanto, analizado para comprobar que no presenta los problemas anteriormente citados, evitando así la pérdida de información y aparición de inconsistencias. A continuación te presentamos un ejemplo donde existe redundancia e inconsistencia en una relación. ORDEN

Los principales problemas de esta relación se derivan de la gran cantidad de redundancia que presenta. Por ejemplo, número de orden, fecha, número de cliente, nombre del cliente y estado, se repiten los mismos datos en cada tupla cada vez que una misma orden incluye varios productos. Realizando un buen diseño del modelo Entidad-Relación y siguiendo la transformación del modelo relacional, se evitarían en gran parte estas anomalías, obteniendo un esquema exento de errores. Sin embargo, ante las posibles dudas respecto a sí un determinado esquema relacional es correcto, será preferible aplicar siempre a dicho esquema un método formal de análisis, que permite evitar redundancias y anomalías de actualización, esté método formal es la teoría de la normalización. NORMALIZACIÓN Es el proceso de simplificar las relaciones entre los campos de un registro. La normalización nos permite descomponer todos los grupos de datos en registros bidimensionales, elimina todas las relaciones en las que los datos no dependen completamente de la llave primaria del registro, además de eliminar todas las relaciones que contengan dependencia transitiva. El proceso de normalización incluye 3 formas normales para llegar a un buen diseño de base de datos. 1er Forma Normal Una tabla se encuentra en primera forma normal si impide que un atributo de un tupla pueda tomar más de un valor.

NO_ORDEN FECHA NO_CLIENTE NOM_CLIENTE ESTADO NO_PROD DESC_PROD CANT PRECIO

2301 2301 2301

2/23/08 2/23/08 2/23/08

101 101 101

MARTI MARTI MARTI

NEBRASKA NEBRASKA NEBRASKA

3786 4011 9132

RED RAQUETA PAQ-3

3 6 8

35 65 57

2302 2/25/08 107 HERMAN GEORGIA 5794 PAQ-6 4 5

2303 2303

2/27/08 2/27/08

110 110

WE-SPORTS WE-SPORTS

MIAMI MIAMI

4011 3143

RAQUETA FUNDA

2 2

65 10

Page 42: Base d Datos

Ejemplo

TRABAJADOR DNI Nombre Departamento 12121212A Andrés Mantenimiento 12345345G Norma Dirección

Gestión

Visualmente la tabla trabajador es una tabla, pero no una tabla relacional (lo que en terminología de bases de datos relacionales se llama relación). No cumple la primera forma normal. Lo cumpliría si estuviera de la siguiente forma:

TRABAJADOR DNI Nombre Departamento 12121212A Andrés Mantenimiento 12345345G Norma Dirección 12345345G Norma Dirección

2da Forma Normal Ocurre si una tabla está en primera forma normal y además cada atributo que no sea clave, depende de forma funcional completa de la clave primaria de la relación. Toda la clave primaria debe hacer dependientes al resto de atributos, si hay atributos que depende sólo de parte de la clave, entonces esa parte de la clave y esos atributos formarán otra tabla (dependencia funcional). Ejemplo:

ALUMNO DNI Codcurso Nombre Apepaterno Nota 12121219A 34 Pedro Valencia 9 12121219A 25 Pedro Valencia 8 3457775G 34 Ana Fernández 6 5674378J 25 Sara Crespo 7 5674378J 25 Sara Crespo 6 Considerando que el DNI y CodCurso forman la clave primaria para esta tabla, sólo la nota tiene dependencia funcional completa de la clave primaria. El nombre y los apellidos dependen de forma completa del DNI. La tabla no esta en 2FN, para arreglarlo, se crea una nueva tabla con esos atributos, quedando de la siguiente forma:

ALUMNO DNI Nombre ApePaterno 12121219A Pedro Valencia 3457775G Ana Fernández 5674378J Sara Crespo

ASISTENCIA DNI CodCurso Nota 12121219A 34 9 12121219A 25 8 3457775G 34 6 5674378J 25 7 5674378J 34 6

Page 43: Base d Datos

3er Forma Normal Ocurre cuando una tabla está en 2FN y además ningún atributo que no sea clave depende transitivamente de las claves de la tabla. Es decir no ocurre cuando algún atributo depende funcionalmente de atributos que no son clave. Ejemplo:

ALUMNO DNI Nombre ApePaterno CodEstado Estado 12121349A Salvador Velasco 34 Oaxaca 12121219A Pedro Valencia 34 Oaxaca 3457775G Ana Fernández 47 Querétaro 5674378J Sara Crespo 47 Querétaro 3456858S Marina Serrano 28 Puebla El estado depende funcionalmente del código de estado, lo que hace que la tabla no esté en 3FN. Al aplicar la 3FN quedaría de la siguiente forma:

ALUMNO DNI Nombre ApePaterno CodEstado 12121349A Salvador Velasco 34 12121219A Pedro Valencia 34 3457775G Ana Fernández 47 5674378J Sara Crespo 47 3456858S Marina Serrano 28

ESTADO CodEstado Estado 34 Oaxaca 47 Querétaro 28 Puebla ACTIVIDADES: Contesta las preguntas y resuelve el siguiente ejercicio. ¿Qué es la normalización? ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ¿Menciona y describe las formas de la normalización? ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________

Page 44: Base d Datos

Ejercicio: Aplica las tres formas formales sobre los siguientes datos no normalizados. FACTURA

SOLUCIÓN:

No.Factura No.Cliente Nom.Cliente Dir.Cliente Fech.Fact No.Prod Des.Producto Precio Cantidad Tot.Fact.

1890 1560 Luis Ramiro Satelite N.90 Qro. 12/07/2005 P134 llantas 250 6 2640

P135 pintura 450 2

P136 pinzas 120 2

1891 1564 Arturo Hernández Palmas N.15 Qro. 15/08/2005 P140 reflector 156 3 1663

P139 aceite 59 5

T135 pintura 450 2

Page 45: Base d Datos

DESARROLLO

Una base de datos relacional consta de varias tablas (relaciones) las cuales se pueden manipular a través de los operadores del álgebra relacional, permitiendo realizar consultas, selección y creación de nuevas tablas a partir de las ya existentes. Los operadores del álgebra relacional se clasifican en dos:

OPERADORES DE CONJUNTOS RELACIONALES

UNIÒN DIFERENCIA

INTERSECCIÒN PRODUCTO CARTESIANO

SELECCIÓN

PROYECCIÓN

El álgebra relacional incluye operadores tradicionales de conjuntos y operadores relacionales que permiten efectuar operaciones sobre una base de datos, tales como, selección, unión, intersección, diferencia, etc. También pueden crear vistas de los datos que faciliten mejor su consulta. OPERADORES DE CONJUNTOS

EDITOR

NOMBRE NACIONALIDAD INSTITUCIÓN Carlos S. Norteamericana Campus Monterrey. Luís H. Norteamericana IberoAmérica Cecilio G. Italiana Politécnico Nacional. UNIÓN La operación de unión junta en una nueva relación todas las tuplas o registros existentes en dichas tablas, eliminando las tuplas repetidas.

∪ EDITOR

2.2 ÁLGEBRA RELACIONAL Objetivo temático: Construir búsquedas en bases de datos relacionales, mediante el uso de operaciones básicas de algebra relacional, para la selección de registros específicos.

AUTOR NOMBRE NACIONALIDAD INSTITUCIÓN María Josefina L. Norteamericana Campus Monterrey Luis Joyanes A. Española Ciencia y Tecnología Cecilio G. Italiana Politécnico Nacional

NOMBRE NACIONALIDAD INSTITUCIÓN María Josefina L. Norteamericana Campus Monterrey Luis Joyanes A. Española Ciencia y Tecnología Cecilio G. Italiana Politécnico Nacional Carlos S. Norteamericana Campus Monterrey. Luís H. Norteamericana IberoAmérica

AUTOR

Page 46: Base d Datos

DIFERENCIA La operación diferencia junta en una nueva relación todas las tuplas o registros que no se repiten en ninguna de las tablas, eliminando tuplas repetidas. Tuplas que están en autor pero no en editor.

− EDITOR NOMBRE NACIONALIDAD INSTITUCIÓN María Josefina L. Norteamericana Campus Monterrey Luis Joyanes A. Española Ciencia y Tecnología INTERSECCIÓN La operación de intersección junta en una nueva relación todas las tuplas o registros que se encuentren repetidas en dichas tablas, eliminando las tuplas que son única.

∩ EDITOR

PRODUCTO CARTESIANO Genera una nueva relación definida sobre la unión de los atributos de ambas relaciones y cuya extensión esta constituida por la concatenación de cada tupla de la primera relación con cada tupla de la segunda relación.

SOCIO CÓDIGO NOMBRE DIRECCIÓN 1 Elena Manrique Hidalgo, 25 2 Manuel García Vergara, 56

SOCIO X LIBRO

CÓDIGO NOMBRE DIRECCIÓN LIBRO AUTOR EDITORIAL 1 Elena Manrique Hidalgo, 25 Pascal Date, C.J Addison 1 Elena Manrique Hidalgo, 25 Visual Basic Eduardo

Altamirano Mc Graw Hill

1 Elena Manrique Hidalgo, 25 SQL Standard Date, C.J Addison 2 Manuel García Vergara, 56 Pascal Date, C.J Addison 2 Manuel García Vergara, 56 Visual Basic Eduardo

Altamirano Mc Graw Hill

2 Manuel García Vergara, 56 SQL Standard Date, C.J Addison

NOMBRE NACIONALIDAD INSTITUCIÓN Cecilio G. Italiana Politécnico Nacional.

LIBRO LIBRO AUTOR EDITORIAL Pascal Date, C.J Addison Visual Basic Eduardo Altamirano Mc Graw Hill SQL Standard Date, C.J Addison

AUTOR

AUTOR

Page 47: Base d Datos

OPERADORES RELACIONALES SELECCIONAR Esta operación sirve para seleccionar ciertos registros o tuplas que cumplan con un criterio específico. Ejemplo:

AUTOR Nombre Nacionalidad Institución Date, C. J. Norteamericana Campus Monterrey Salvador, F. Española Politécnico Nacional Cecilio, S. Italiano Politécnico de Milán Ramos, I. Española Politécnico Villas

σ nacionalidad = “española” (AUTOR)

AUTOR Nombre Nacionalidad Institución Salvador, F. Española Politécnico Nacional Ramos, I. Española Politécnico Villas PROYECTAR La proyección de una relación es mostrar todos los atributos únicos, eliminando aquellos que se repiten. Ejemplo:

AUTOR Nombre Nacionalidad Institución Date, C. J. Norteamericana Campus Monterrey Salvador, F. Española Politécnico Nacional Cecilio, S. Italiano Politécnico de Milán Ramos, I. Española Politécnico Villas

π nacionalidad (AUTOR)

Nacionalidad Norteamericana Española Italiano

Page 48: Base d Datos

-

ACTIVIDADES: Revisa las siguientes tablas. ARTICULO PRODUCTO claveART descripción costoPTNH camisas 200GTHJ pantalones 300BJHK playeras 130 Realiza las siguientes operaciones de conjuntos.

∪ PRODUCTO ARTICULO

claveART descripción costo

∩ PRODUCTO claveART descripción costo PRODUCTO x ARTICULO claveART descripción costo claveART descripción costo

claveARTdescripción costoDFRE blusas 180BJHK playeras 130STGH pans 250

claveART descripción costo

ARTICULO PRODUCTO

ARTICULO

Page 49: Base d Datos

σ

ACTIVIDADES: Revisa la siguiente tabla. BIBLIOTECA

Realiza las siguientes operaciones relacionales. σ autor = “R. Tamanes” (BIBLIOTECA)

π Titulo, No Ej ( autor = “R.Tamanes” )

σ materia = “Política” (BIBLIOTECA)

π autor (BIBLIOTECA)

COD MATERIA AUTOR TÍTULO REF AÑO No EJ 1 Economía R. Tamanes Estr. Ec. España E001 1986 3 2 Politica Thomas H. Politica Int. P039 1975 1 3 Novela Pinter Les Historia de Elio N070 1978 2 4 Ingles George Beek Ingles I I045 1998 1 5 Politica R. Tamanes Politica Nac. P040 1989 2 6 Novela R. Tamanes El extranjero N069 1940 1 7 Economìa Fuentes Q. Hacienda Públi. E003 1974 2 8 Estadística Sixto Rios Métodos Estad. S002 1970 1

COD MATERIA AUTOR TÍTULO REF AÑO No EJ

TÍTULO No EJ

COD MATERIA AUTOR TÍTULO REF AÑO No EJ

AUTOR

Page 50: Base d Datos

DESARROLLO

En la arquitectura de los tres niveles de abstracción de una base de datos, se describe una vista como la estructura de la base de datos tal y como la ve un usuario en particular. En el modelo relacional, el término “vista” tiene un significado un tanto diferente. En lugar de ser todo el esquema externo de un usuario, una vista es una relación virtual, una relación que en realidad no existe como tal, y se genera a partir de aplicar las operaciones del álgebra relacional tales como: selecciones, proyecciones, uniones, etc. a las relaciones de una base de datos. Una vista es una relación virtual que se produce cuando un usuario realiza una consulta a las relaciones de una base de datos. Al usuario le parece que la vista es una relación que existe y la puede manipular como si se tratara de una relación, pero la vista no está almacenada físicamente. El contenido de una vista está definido como una consulta sobre una o varias relaciones. Las vistas son dinámicas porque los cambios que se realizan sobre las tablas que afectan a una vista se reflejan inmediatamente sobre ella. Las vistas son útiles por varias razones:

Proporcionan un mecanismo de seguridad, ocultando partes de la base de datos a ciertos usuarios. El usuario no sabrá que existen aquellos atributos que se han omitido al definir una vista.

Permiten que los usuarios accedan a los datos en el formato que ellos desean o necesitan, de modo

que los mismos datos pueden ser vistos con formatos distintos por distintos usuarios.

Permiten que los usuarios puedan realizar selecciones y proyecciones sobre las vistas. SINTAXIS DE UNA VISTA EN SQL CREATE VIEW <nombre de la vista> (nombre de los campos) AS <expresión de consulta> EJEMPLO: Realiza una vista de la relación alumno, que se llame estudiante, con los campos de expediente, nombre, domicilio y teléfono, de todos los alumnos que no tienen teléfono. ALUMNO MATRICULA NOMBRE DIRECCIÓN TELÉFONO 8945678 Juan Luis Pérez Av. de los Remedios No.18 (5) 674-89-00 8987654 Pedro Gómez C. San Juan de los Lagos No.8 (5) 844-78-66 8976541 Rebeca Cruz Montes Satélite No.123 No tiene 8973635 José López Canseco Av. Corregidora No.12 (5) 625-19-89 8973526 Margarita Godínez I. Av. Tláhuac No. 89 No tiene 8927262 Luis Ramírez Ramos Av. de los Niños Héroes No.1 (5) 738-28-19

2.3 VISTAS Objetivo temático: Describir las vistas, a partir del análisis de su aplicación y los privilegios de acceso.

Page 51: Base d Datos

CREATE VIEW estudiante (expediente, nombre, domicilio, teléfono) AS SELECT * FROM alumno WHERE TELEFONO = ‘No tiene’

ACTIVIDADES: Revisa las siguientes tablas. CLIENTE

ARTICULO

Muestra el resultado de las siguientes vistas. CREATE VIEW socio (clvSOC, nombre, domicilio, ciudad) AS SELECT claveCLI, nombre, dirección, estado FROM cliente WHERE estado=”Querétaro”

CREATE VIEW producto (clvprod, descripción, precio) AS SELECT claveART, descripción, costo FROM articulo WHERE costo < 200

ESTUDIANTE EXPEDIENTE NOMBRE DOMICILIO TELÉFONO 8976541 Rebeca Cruz Montes Satélite No.123 No tiene 8973526 Margarita Godínez I. Av. Tláhuac No. 89 No tiene

claveCLI nombre Dirección estado teléfono C001 Luis Fernando Calle Las Flores s/n Querétaro (442)2-13-34-45 C002 Josué Calle Guadalupe s/n Guadalajara (552)2-45-67-78 C003 Manuel Calle Los Lomas s/n Querétaro (442)2-45-67-87 C004 Jorge Calle Pedregal s/n Monterrey (667)7-89-90-76 C005 Luz Beatriz Calle Galeana s/n Querétaro (442)2-34-54-32

claveART descripción costo A001 camisas 200 A002 playeras 130 A003 pantalones 300 A004 blusas 180 A005 calcetas 30 A006 pans 250

Page 52: Base d Datos

DESARROLLO

Para crear las relaciones, modificarlas, eliminarlas, recuperar los datos almacenados en ellas, y para manipularlas en general, necesitamos un lenguaje formal que nos facilite el acceso, de lo contrario nos veríamos obligados a trabajar a bajo nivel, o nivel de máquina. Este lenguaje debe ser lo suficientemente expresivo para permitirnos llevar a cabo todas estas operaciones, y debe estar basado en formalismos que cumplan con todas las premisas expuestas en los apartados anteriores respecto a reglas de integridad, formas normales, etc. El lenguaje de consulta de bases de datos relacionales es, como ya anticipábamos, el llamado SQL (Structured Query Language). Este lenguaje, basado en el álgebra relacional anteriormente descrito, actúa de interfaz entre el usuario y la base de datos y facilita realizar todas las operaciones permitidas. El lenguaje fue diseñado para que, mediante un número muy reducido de comandos y una sintaxis simple, fuese capaz de realizar un gran número de operaciones. El aprendizaje de SQL es realmente rápido. Además, SQL es bastante flexible, en el sentido de que cláusulas SQL pueden ser anidadas indefinidamente dentro de otras cláusulas SQL, facilitando así que las consultas puedan utilizar varias relaciones, vistas u otras consultas. Además de poder ser usado directamente, es decir, en modo comando, desde el SGBD, SQL puede ser usado desde otros lenguajes de programación de tercera generación, tales como C, para poder acceder a los datos de la base de datos y usarlos para cualquier fin en el programa. SQL LENGUAJE DE CONSULTA ESTRUCTURADO El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por los diferentes SGBD para realizar determinadas operaciones sobre los datos de una base de datos o sobre la estructura de los mismos. COMPONENTES DE SQL El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos. COMANDOS Existen dos tipos de comandos SQL: DDL que permiten crear y definir nuevas bases de datos, campos e índices. DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos. COMANDOS DDL DESCRIPCIÓN EJEMPLO

CREATE Utilizado para crear nuevas tablas, campos e índices

CREATE TABLE libro; (código primary key char (4),; titulo character (25),; editorial character (20),; autor character (20))

DROP Empleado para eliminar tablas e índices DROP TABLE libro

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

ALTER TABLE libro DROP COLUMN editorial ALTER TABLE libro ADD COLUMN No Ej integer(3)

2.4 LENGUAJE RELACIONAL ESTÁNDAR Objetivo temático: Describir las operaciones básicas en una base de datos, mediante el lenguaje de consultas, para la mejor administración de la información.

Page 53: Base d Datos

COMANDOS DML DESCRIPCIÓN EJEMPLO

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

SELECT código, titulo, autor SELECT *

INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación

INSERT INTO libro(código, titulo, editorial, autor) VALUES (34, ‘Visual FoxPro’, ‘Mc Graw Hill’, ‘John Less’)

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

UPDATE libro SET editorial=’Rama’ WHERE titulo=’Informatica I’

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

DELETE FROM libro WHERE código= 34

CLÁUSULAS Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.

CLÁUSULA DESCRIPCIÓN EJEMPLO

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

SELECT código, titulo, autor FROM libro

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

SELECT código, titulo, autor FROM libro WHERE editorial=’Mc Graw Hill’

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

SELECT código, titulo, autor FROM libro WHERE editorial=’Mc Graw Hill’ GROUP BY titulo

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

SELECT código, titulo, autor FROM libro WHERE editorial=’Mc Graw Hill’ GROUP BY titulo HAVING No Ej <= 3

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

SELECT código, titulo, autor FROM libro WHERE editorial=’Mc Graw Hill’ ORDER BY código

OPERADORES LÓGICOS

OPERADOR DESCRIPCIÓN EJEMPLO

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

SELECT código, titulo, autor FROM libro WHERE (editorial=’Mc Graw Hill’) AND (titulo=’Informática I’)

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

SELECT código, titulo, autor FROM libro WHERE (editorial=’Mc Graw Hill’) OR (editorial=’Alfaomega’)

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

SELECT código, titulo, autor FROM libro WHERE NOT(editorial=’Mc Graw Hill’)

Page 54: Base d Datos

OPERADORES DE COMPARACIÓN O RELACIÓN OPERADOR DESCRIPCIÓN EJEMPLO

< Menor que

> Mayor que

<> Distinto de

<= Menor o igual que

>= Mayor o igual que

= Igual que

SELECT código, titulo, autor FROM libro WHERE editorial=’Mc Graw Hill’

BETWEEN Utilizado para especificar un intervalo de valores.

SELECT código, titulo, autor, FROM libro WHERE ((No Ej) BETWEEN ( 1 AND 3))

LIKE Utilizado en la comparación de un modelo. SELECT código, autor FROM libro WHERE titulo LIKE 'Matemáticas%'

In Utilizado para especificar registros de una base de datos

SELECT código, titulo, autor FROM EMPLEADO WHERE autor IN ('R. Tamanes', ' Sixto Rios')

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.

FUNCIÓN DESCRIPCIÓN EJEMPLO

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

SELECT AVG(No Ej) FROM libro

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

SELECT count (*) FROM libro

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

SELECT SUM(No Ej) FROM libro WHERE editorial=’Mc Graw Hill’;

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

SELECT MAX(No Ej) FROM libro

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

SELECT MIN(No Ej) FROM libro

ORDEN DE EJECUCIÓN DE LOS COMANDOS Dada una sentencia SQL de selección que incluye todas las posibles cláusulas, el orden de ejecución de las mismas

es

el

siguiente:

CLAUSULA

FROM

WHERE

GROUP BY

HAVING

SELECT

ORDER BY

Page 55: Base d Datos

ACTIVIDADES: Utilizando el lenguaje SQL realiza lo que se te pide a continuación. 1. CrearlatablaempleadoCampos No_empleado Nombre puesto Contratación salario comisión departamento Primary key * Tipo de dato Integer character Character Date integer Integer integer Longitud 15 20 8

La tabla empleado queda de la siguiente forma, con los siguientes valores en sus campos. EMPLEADO No_empleado Nombre Puesto Contratación Salario Comisión Departamento 7369 Eduardo vendedor 17-DIC-80 800 500 20 7499 Laura Oficinista 20-FEB-81 1600 1000 30 7521 Gerardo Presidente 22-FEB-81 1250 5000 30 7566 Manuel Vendedor 02-ABR-81 2975 500 20 7654 Oscar Vendedor 28-SEP-81 1250 500 30 7698 Luís Gerente 31-MAY-81 2850 2500 30 7782 Fernando Vendedor 09-JUN-81 2450 500 10 7788 Ramiro Vendedor 09-DIC-82 3000 500 20 7844 Rocío Oficinista 08-SEP-81 1500 1000 30 7876 Josué Vendedor 12-JUN-83 1100 500 20 7900 Javier Vendedor 03-DIC-81 950 500 30 2. Muestra no_empleado, nombre, puesto y salario de todos los empleados 3. Muestra no_empleado, nombre, contratación y salario de todos los empleados que tengan un salario menor

de $1500

4. Inserta los siguientes registros a la tabla empleado 7902, Cesar, Vendedor, 03-DIC-81,3000, 500,20 7934, Gustavo, Vendedor, 23-JUN-82, 1300, 500,10

Escribelasentencia:

Escribelasentencia:

Escribelasentencia:

Escribelasentencia:

Page 56: Base d Datos

5. Muestra a todos los empleados del departamento 10

6. Muestra no_empleado, nombre y puesto de todos los empleados que ganen más de $1000, agruparlos por

departamento. 7.

8. Muestra no_empleado, nombre y puesto de todos los empleados que ganen más de $1000, ordenarlos por

no_empleado. 9. Muestra no_empleado, nombre y puesto de todos los empleados que ganen más de $1000, agruparlos por

comisión y el grupo debe pertenecer al departamento 20 10. Modifica de la tabla empleado la comisión a $600 para todos los empleados que sean vendedores

11. Elimina de la tabla empleado el registro 7782 12. Modifica de la tabla empleado la longitud del campo nombre a 35

13. Elimina la tabla empleado.

Escribelasentencia:

Escribelasentencia:

Escribelasentencia:

Escribelasentencia:

Escribelasentencia:

Escribelasentencia:

Escribelasentencia:

Escribelasentencia:

Page 57: Base d Datos

AUTOEVALUCIÓN Evaluación de la unidad, para que valores tus avances hasta el momento. SITUACIÓN: I. Supongamos que queremos representar la información relativa a los alumnos de una escuela y las

asignaturas en que se hallan inscritos. Los alumnos tienen un expediente, nombre, apellidos y fecha nacimiento. Las asignaturas tienen un código y nombre. Dado que la relación entre alumno y asignatura es muchos a muchos, implica crear una nueva tabla con el nombre de inscripción, con los campos de numero de matriculas y convocatoria agotada, así como las claves de Alumno y Asignatura, o sea, expediente y código, realiza el diagrama Entidad -Relación, identificando todos sus elementos.

II. Realiza la conversión de la relación inscripción al modelo relacional, es decir, a tablas, con al menos cinco

registros, los puedes inventar.

III. Utilizando el lenguaje SQL realiza lo que se te pide:

a) Crealatabladealumno:

Page 58: Base d Datos

REALIZA UN CUADRO SINOPTICO SOBRE LOS OPERADORES DEL ALGEBRA RELACIONAL. REALIZA UN CUADRO SINOPTICO SOBRE LA NORMALIZACIÓN Y SUS TRES FORMAS NORMALES.

b) Insertadosregistroslosquetúdesees.

c) MuestraelnombreyapellidosdetodoslosalumnosquesunombreempiececonlaletraN.

d) Realizaunavistaestudiantedelarelaciónalumno,conloscampos(nombre,apellidos,fecha),detodoslosalumnosquehayannacidoentrelosañosde1985y1990.

e) Eliminadelatablaalumnoelregistroquetengaelexpediente=D01021345yeliminalatablade

asignatura.

Page 59: Base d Datos

VAYAMOS MÁS ALLÁ EJERCICIO PRÁCTICO 1.- En la ventana de escritorio de Windows clic sobre inicio, opción todos los programas y finalmente Visual Fox Pro 9. 2.- Aparecerá la pantalla principal del manejador visual Fox Pro.

3.- En la ventana de comandos escribe las siguientes sentencias SQL y realiza lo que se te pide.

SENTENCIAS 1.- CLOSE DATABASES CLEAR CREATE DATABASE recursos_humanos CREATE TABLE empleado; (no_emple INTEGER PRIMARY KEY ,; nombre CHARACTER(15),; puesto CHARACTER(20),; contratacion CHARACTER(15),; salario INTEGER,; comision INTEGER,; departamento INTEGER) BROWSE 2.- Con el comando INSERT agrega los siguientes registros a la tabla EMPLEADO. EMPLEADO

NO_EMPLE NOMBRE PUESTO CONTRATACIÓN SALARIO COMISIÓN DEPARTAMENTO 7369 7499 7521 7566 7654 7698 7782 7788 7839 7844 7876 7900

EDUARDO LAURA GERARDO MANUEL OSCAR LUIS FERNANDO RAMIRO JUAN ROCIO JOSUE JAVIER

VENDEDOR OFICINISTA PRESIDENTE VENDEDOR GERENTE VENDEDOR ANALISTA VENDEDOR OFICINISTA ANALISTA VENDEDOR CAPTURISTA

17-DIC-80 20-FEB-81 22-FEB-81 02-ABR-81 28-SEP-81 31-MAY-81 09-JUN-81 09-DIC-82 17-NOV-81 08-SEP-81 12-JUN-83 03-DIC-81

800 1600 1250 2975 1250 2850 2450 3000 5000 1500 1100 950

500 1000 5000 500 500 2500 500 500 500 1000 500 500

20 30 30 20 30 30 10 20 10 30 20 30

INSERT INTO EMPLEADO(NO_EMPLE, NOMBRE,PUESTO, CONTRATACION, SALARIO, COMISION, DEPARTAMENTO) VALUES(7369,'EDUARDO','VENDEDOR','17-DIC-80',800,500,20) Nota: Tienes que realizar un INSERT para cada registro que desees agregar. Para ver los registros insertados teclea BROWSE 3.- Ejecuta las siguientes sentencias y describe que es lo que realiza.

Escribequéhacelainstrucción:

A) SELECT * FROM EMPLEADO ESCRIBE QUÉ HACE LA SENTENCIA:

Page 60: Base d Datos

REALIZA UNA SENTENCIA QUE MUESTRE NOMBRE, SALARIO, COMISION DE TODOS LOS EMPLEADOS QUE GANEN UNA COMISION MAYOR A SU SALARIO. 4.- Ejecuta la siguiente sentencia y describe que es lo realiza. REALIZA UNA SENTENCIA QUE CAMBIE EL NUMERO DE DEPARTAMENTO POR 50 A TODOS LOS EMPLEADOS QUE TENGAN EL PUESTO DE OFICINISTA. 5.- EJECUTA LA SIGUIENTE SENTENCIA Y DESCRIBE QUE ES LO QUE REALIZA.

B) SELECT NO_EMPLE, NOMBRE, PUESTO FROM EMPLEADO WHERE PUESTO='VENDEDOR' ESCRIBE QUÉ HACE LA SENTENCIA:

C) SELECT NOMBRE FROM EMPLEADO WHERE NOMBRE LIKE '%A%' ESCRIBE QUE HACE LA SENTENCIA:

D) SELECT NOMBRE, PUESTO, SALARIO FROM EMPLEADO WHERE PUESTO IN ('PRESIDENTE', 'ANALISTA') ESCRIBE QUE HACE LA SENTENCIA:

Escríbela:

A) UPDATE EMPLEADO SET PUESTO= 'CAPTURISTA' WHERE DEPARTAMENTO=20 QUE HACE LA SENTENCIA:

Escríbela:

DELETE FROM EMPLEADO WHERE NOMBRE='GERARDO'

QUÉ HACE LA SENTENCIA:

CLOSE TABLES

PACK EMPLEADO QUÉ HACE LA SENTENCIA:

Page 61: Base d Datos

Introducción

ELABORACION Y MANEJO DE BASE DE DATOS.

Objetivo de la unidad. En esta unidad aprenderás a crear una base de datos sencilla, mediante las sentencias básicas de creación, consultas, modificación y ordenación.

La sociedad en que vivimos, están caracterizadas, entre otras cualidades, por el manejo de un volumen aceleradamente creciente de información de todo tipo: textual, audible, de video, etc., lo que conlleva métodos y técnicas de almacenamiento de los datos y acceso a los mismos radicalmente diferentes de las usadas desde tiempos ancestrales. Obviamente entre los métodos y técnicas que ocupan una posición central están aquellos que investigan y estudian la disciplina conocida como base de datos. Así mismo, cuando creamos bases de datos, es sumamente importante relacionarnos con las personas que los van a utilizar, pues gracias a la información que obtengamos de ellas decidiremos el mejor diseño que resuelva sus necesidades o problemas actuales. Los documentos que los usuarios generan también forman parte de esta recopilación de información. Las exigencias de los usuarios respecto a sistemas administrativos de base de datos más flexibles y eficientes ha obligado a dedicar una mayor atención a los datos y a su estructuración, buscándose una gestión más racional de la información en su conjunto, por lo cual ha pasado a ser considerada como un recurso fundamental de la organización. A medida que los diseñadores de sistemas de información se van convenciendo de la trascendencia que la gestión racional de los datos tiene para conseguir un desarrollo coherente y eficaz de estos sistemas, las bases de datos empiezan a ocupar un primer plano en las áreas de interés de los informáticos y de los usuarios.

En los últimos años, las bases de datos han experimentado profundos cambios y no son ya, como ocurría hace algunos años, competencia exclusiva de grandes instalaciones con sistemas de información que gestionen millones de registros; tampoco el diseño de bases de datos esta reservado actualmente a especialistas en las técnicas de estructuración de datos. Por el contrario, las bases de datos se han extendido alcanzando a sistemas de tipo medio y pequeño, con moderadas, e incluso bajas cargas de trabajo, viéndose implicados en su diseño, administración y manejo de muchos profesionales y multitud de usuarios que reclaman de ellas flexibilidad, sencillez y eficiencia. Es preciso una difusión de las técnicas relativas a la creación y utilización de las bases de datos.

Page 62: Base d Datos

En esta unidad podrás afinar tus conocimientos, para diseñar una base de datos. Has llegado pues, a una etapa crucial en la creación de base de datos, ya que se trata de lidiar directamente con las personas que usan o usarán el sistema. Una vez que hayas obtenido, de los mismos usuarios del sistema, toda la información que necesites, deberás analizarla de acuerdo a los datos que se manejan. Algunas herramientas que te ayudarán para esta causa son el modelo entidad-relación, modelo relacional, el diccionario de datos, que permite definir todos y cada uno de los datos a detalle; aplicar el proceso de normalización y utilizar el lenguaje de consultas SQL que nos ayudara a definir y realizar operaciones con la información contenida en la base de datos; actualmente son de las herramientas más utilizadas en la industria de la producción de sistemas de base de datos. En general, todo los SGBD se basan en el lenguaje de consultas SQL, por lo cual trataremos de darte todos los elementos necesarios para que puedas manejar cualquier SGBD de tipo relacional. Todo lo anterior te permitirá comprender de mejor manera el flujo de información que recorren los datos dentro del sistema de base de datos desde la entrada hasta la salida del mismo. Ya que analices los datos, podrás tomar las decisiones más óptimas para la creación del sistema administrativo de base de datos, mejorar los procesos básicos (captura, consulta, bajas y modificaciones) del mismo. El primer tema de esta unidad trata sobre la creación de una base de datos, aprenderás a generar la estructura de la base de datos y utilizar los comandos básicos para el manejo de la información.

Como podrás ver, dentro de las actividades de esta unidad aprenderás a diseñar y elaborar una base de datos, mediante el SGBD VPF, para que después empieces a utilizar los comandos para incorporar registros y cierre de la bases de datos. Sácales el mejor provecho a estos comandos (instrucciones), para que en un segundo momento puedas manejar de forma más eficiente la base de datos, para continuar con la realización de las consultas según se te indique, realizar modificaciones a la información almacenada en la base de datos y finalmente ordenar los registros de una base de datos para acelerar el manejo de la información de la base de datos y de ello depende tomar las mejores decisiones posibles. Estamos seguros que pondrás tu mayor esfuerzo para trabajar en esta unidad y te exhortamos a realizar todas las actividades sugeridas en las siguientes páginas, pues te orientarán de la mejor manera para crear la

base de datos, manipular a ésta de manera sencilla, flexible y eficiente y finalmente obtener las mejores decisiones posibles al momento de consultar de forma ordenada la información y presentarla al usuario final. Incluso puedes apoyarte de los siguientes recursos:

Page 63: Base d Datos

Bibliografía:

Andersen, Virginia. Access 2002.México, McGraw Hill, 2002.

VARIOS. Visual Fox Pro 6: Guía Práctica. México, Alfaomega RA-MA, 2005.

Pérez, Cesar. Domine Microsoft Access 2003,2002 y 2000. México, Alfaomega RA-MA, 2005.

Iglesias, Rubén. Visual Fox Pro 5. Fundamentos y Técnicas de Programación. México, Alfaomega RA-MA, 1998

Jamrich, June Parson y Oja Dan. Nuevas Perspectivas: Conceptos de Computación.México, Thomson

Editores, S.A., 2003.

Sitios Web:

Hernández, Rotcet. “Manual Teórico Práctico de Visual FoxPro 6.0”. Monografías.com. Fecha de Consulta: Mayo 2008. URL: <http:// www. Manual Teórico Práctico de Visual FoxPro 6_0 - Monografias_com.htm>

Hernández, Rotcet. “Lenguaje de Programación Visual Fox Pro 6.0”. Fecha de consulta: Mayo de 2008.

URL: http://www.mundomanuales.com/bases-de-datos/>

Instituto Galeno de Formación. “Manual de Access 2000”. Fecha de consulta: Mayo de 2008. URL: http:// ”http://www.tutorial-enlace.net/tutorial-1._Introduccion-18622.html.

DesarrolloWeb. “Tutorial de SQL”. DesarrolloWeb.com Fecha de consulta: Junio 2008. URL: http://www.miliuco.net/docs/sql.htm

Page 64: Base d Datos

Base de datos

Crear

Consultar

Modificar Sistema de Gestor de

Base de datos (SGBD/SMDB

)

VISUAL FOX PRO

Se crea

Llamado Ordenar

SQL

Registros

Estructura

A través

MODIFY STRUCTUR

EURE

Físicamente Lógicamente (Índices)

Formas

INSERT DELETE

BROWSE UPDATE

O p e r a c i o n e s

Comando

SELECT Utilizando

Page 65: Base d Datos

Desarrollo

3.1 Creación de una base de datos.

Objetivo del tema. Crear una base de datos elemental, mediante el uso de los comandos básicos, para el manejo de información.

Para un tratamiento “mecanizado” de la información es fundamental que los datos se organicen de forma que se facilite su gestión, es decir que el acceso a los mismos sea rápido y eficaz. Convencionalmente, el trabajo en informática de gestión, consistía en realizar una serie de programas en determinados lenguaje, para la creación, actualización, consulta y listado de datos, que trabajan con información de entrada para obtener unos resultados o datos de salida. El termino de BASE DE DATOS aparece por primera vez al comienzo de los años 60 del siglo XX, para expresar un conjunto de datos relacionados entre sí, que están estructurados de forma que puede acceder a ellos automática e independientemente de los programas que gestiona estos datos. Esta independencia se refiere a la posibilidad de modificar la estructura de los datos sin necesidad de cambiar los programas que los manipulan, evitando con ello lo problemas de actualización de datos previamente existentes. Toda base de datos esta formada por uno o varios bloques de información llamados TABLAS (inicialmente denominados ficheros o archivos) que normalmente tendrán alguna característica en común. Una TABLA o archivo de datos, es un conjunto conexo de información del mismo tipo, por ejemplo en una base de datos de una biblioteca, una tabla estará construida por la información relativa a todos los libros de la misma, otra tabla contendrá información sobre los lectores, etc. Cada tabla está formada por REGISTROS. Un registro es la unidad elemental de la información de la tabla. En la tabla de libros, un registro estaría constituido por la información correspondiente a cada libro concreto, con su título, autor, área, editorial, etc. Cada registro esta formado por uno o más elementos llamados CAMPOS. Un campo es cada una de las informaciones que interesa almacenar en cada registro, y es por tanto la unidad elemental de información del registro, por ejemplo un campo sería el titulo del libro, otro campo es su autor, etc. Gracias a la aparición de los llamados programas de usuario es posible realizar la gestión de una base de datos, sin tener que realizar programas que procesen esos datos, facilitando todas las operaciones de creación, actualización, consulta y creación de informes con los datos recogidos. La forma de almacenar las tablas, registros y campos es distinta, desde el punto de vista técnico, dependiendo de las características de la información que se quiere tratar. Sea cual sea la estructura de la base de datos, siempre se pueden incluir tablas de índices para facilitar una respuesta eficaz a determinados tipos de accesos. Estructura de las Bases de Datos Los sistemas de gestión de base de datos (abreviado mediante SGBD ó DBMS, en inglés) organizan y estructuran los datos de tal modo que puedan ser recuperados y manipulados por usuarios y programas de aplicación. Las estructuras de los datos y las técnicas de acceso proporcionadas por un DBMS particular determina su modelo de datos. El modelo de datos determina la “personalidad” de un DBMS, y las aplicaciones para las cuales está particularmente bien conformado.

Page 66: Base d Datos

Existe un tipo de lenguaje estándar normalizado para trabajar con bases de datos denominado SQL (Structured Query Languaje). SQL es un lenguaje de base de datos para bases de datos relacionales, y utiliza el modelo de datos relacional, el cual será el modelo a seguir durante el curso. Actividades:

Algunas veces para una base de datos se debe fungir como investigador, obteniendo la información de libros, revistas, Internet, enciclopedias etc. Pero en muchas de estas ocasiones no es fácil obtener la información, así que podríamos encontrarnos algunas dificultades para obtenerlos. Trabaja de la mejor manera posible las siguientes actividades para conocer aspectos importantes de las estructuras de datos, sus características así como sus ventajas y desventajas que hay de cada una. ¡Manos a la obra!

1. Investiga en libros, enciclopedias o Internet los conceptos de la tabla siguiente y, en tríos, contesta en una

hoja para entregar, con sus nombres completos y fecha, los siguientes incisos. El asesor verificará tus respuestas.

¿Qué es exactamente una base de datos relacional? ¿Cómo se almacenan los datos en una base de datos relacional? ¿Cómo se comparan las bases de datos relacionales con las tecnologías primitivas, tales como base de datos jerárquicas y en red?

Page 67: Base d Datos

¿Cuáles son las ventajas y desventajas del modelo relacional?

MODELO RELACIONAL

VENTAJAS DESVENTAJAS

El proceso de diseño de una base de datos puede dividirse en siete pasos, cada uno con metas y productos específicos, los cuales se listan desordenadamente a continuación:

Cree las tablas e introduzca datos. Determine que és lo que los usuarios esperan de la base de datos y cuáles son los datos necesarios

para proporcionar los cimientos destinados a alcanzar esos resultados. Determine la forma en que las tablas se encuentran relacionadas entre sí. Identifique los campos para cada tabla. Asigne un campo único para cada tabla con el fin de asegurarse de que no existan dos registros

iguales. Revise el diseño y repase los procedimientos con los usuarios. Planee la distribución de los datos entre las tablas relacionadas en la base de datos.

¿Cuáles son los siete pasos del proceso de diseño de una base de datos de manera ordenada?

PROCESO DE DISEÑO DE UNA BASE DE DATOS

1.

2.

3.

4.

5.

6.

7.

Antes de utilizar Visual Fox Pro o cualquier DBMS para crear las tablas, los formularios y los demás objetos que formarán la base de datos, es importante invertir algún tiempo en diseñar la base de datos. Independientemente de que esté utilizando una base de datos o un proyecto, un buen diseño de base de datos es la pieza clave para crear una base de datos que realice las operaciones que desee de una forma efectiva, precisa y eficaz. Hemos creado modelo de base de datos a un nivel lógico, mediante el modelo de base de datos relacional, sin embargo, el diseño de la base de datos no se ha completado todavía, falta crear el diseño de físico de la base de datos en un SGBD de tipo relacional, dado que nuestro modelo lleva ese enfoque.

Page 68: Base d Datos

Hasta el momento hemos definido un modelo de datos relacional, sin embargo es necesario llegar a la construcción de un diseño físico para poder aplicarlo utilizando una computadora; esto se logra al crear una base de datos en un SGBD, que en nuestro caso será Visual Fox Pro 9.0, el cual permitirá consolidar todo nuestro diseño de la base de datos. Primero tendremos que revisar que estructuras de datos tiene definidas nuestro SGBD seleccionado, para poder ajustar el modelo lógico de la base de datos al modelo físico, por lo cual revisaremos a continuación los datos que maneja nuestro SGBD.

Todos los datos de Visual FoxPro tienen un tipo, como una descripción de los valores permitidos, y el intervalo y tamaño de los valores. Una vez especificado el tipo de datos que está usando, Visual FoxPro puede almacenar y manipular los datos de forma eficaz.

Las variables y las matrices contienen un subconjunto de los tipos de datos disponibles de Visual FoxPro. Los tipos de datos adicionales sólo están disponibles para los campos de la tabla. Para agregar un campo de un tipo específico a una tabla por medio de programación, especifique el tipo de campo con una letra.

Puede especificar el tipo de datos que se almacena en cada campo de una tabla al crear la tabla. El tipo de datos de una variable o un elemento de matriz está determinado por el valor almacenado en la variable o elemento de matriz. La tabla siguiente muestra los tipos de datos de Visual FoxPro.

Tipos de datos de Visual FoxPro

Tipo de datos Descripción Tamaño Intervalo Character Cualquier texto 1 byte por carácter hasta

254 Cualquier carácter

Currency Importes monetarios 8 bytes - 922337203685477,5807 a 922337203685477,5807

Date Datos cronológicos formados por mes, año y día

8 bytes Al usar formatos de fecha estrictos, {^0001-01-01}, 1 de enero, 1 d.C. a {^9999-12-31}, 31 de diciembre, 9999 d.C.

DateTime Datos cronológicos formados por mes, año, día y hora

8 bytes Al usar formatos de fecha estrictos, {^0001-01-01}, 1 de enero, 1 d.C. a {^9999-12-31}, 31 de diciembre, 9999 d.C., más 00:00:00 a.m. a 11:59:59 p.m.

Logical Valor booleano verdadero o falso

1 byte Verdadero (.T.) o Falso (.F.)

Numeric Enteros o fracciones 8 bytes en la memoria; 1 a 20 bytes en una tabla

- 0,9999999999E+19 a 0,9999999999E+20

Variant Una variable de tipo Variant puede contener cualquier tipo de datos de Visual FoxPro y el valor Null. Una vez que se almacena un valor en una variable del tipo Variant, ésta asume el tipo de los datos que contiene.

Las variables tipo Variant se designan con el prefijo e en la sintaxis del lenguaje.

Vea el tipo de datos permitidos.

Vea el tipo de datos

Page 69: Base d Datos

Double Número de signo flotante de precisión doble

8 bytes +/-4,94065645841247E-324 a +/-8,9884656743115E307

Float Igual que Numeric 8 bytes en la memoria; 1 a 20 bytes en una tabla

- 0,9999999999E+19 a 0,9999999999E+20

General Referencia a un objeto OLE 4 bytes en una tabla Limitado por la memoria disponible

Integer Valores enteros 4 bytes -2147483647 a 2147483647 Memo Referencia a un bloque de

datos 4 bytes en una tabla Limitado por la memoria

disponible Character (Binario)

Datos de tipo Character que desea mantener sin modificación en las páginas de códigos

1 byte por carácter hasta 254

Memo (Binario) Datos de campo Memo que desea mantener sin modificación en las páginas de códigos

4 bytes en una tabla Limitado por la memoria disponible

La información en un sistema de base de datos relacional se distribuye entre las tablas relacionadas para optimizar el almacenamiento y la recuperación de la información. Los campos comunes relacionan a las tablas para que esa información pueda ser extraída y presentada de maneras útiles. Si esta diseñada y construida de forma apropiada, una base de datos puedes ser una herramienta esencial en la administración de la información personal o de negocios.

Componentes de Interfaz

Algunas herramientas más utilizadas son:

Ventana Examinar: una vista, tipo hoja de cálculo, de una tabla.

Ventana Código: para desplegar código asociado a varios eventos en los formularios y controles. Cuando un evento se dispara el código se ejecuta.

Ventana Depuración: permite examinar variables de memoria o valores campos y establecer puntos de interrupción. La ejecución del programa se detiene cuando una variable de memoria o una expresión con un punto de interrupción cambian de valor.

Comando Opciones (Menú de Herramientas): permite controlar la configuración de docenas de características en el entorno FoxPro, incluidos todos los comandos SET, así como planillas y bibliotecas de clases.

Ventana Propiedades: permite establecer propiedades en una buena cantidad de generadores, incluidos los generadores de formularios, informes etiquetas y de las bases de datos, también proporciona acceso a propiedades, métodos y código de eventos.

Page 70: Base d Datos

Administrador de Proyectos: Administra todos los componentes de un proyecto en cinco grupos: Bases de datos (con extensión .DBC), tablas libres (con extensión .DBF), vistas locales y remotas, conexiones, etc.

Generador de consultas: una recodificación completa del RQBE (Consulta Relacional Ejemplificada), esta herramienta maneja todos los aspectos de construir una consulta.

Barras de herramientas FoxPro: proporciona a los generadores aplicaciones más de una docena de barras de herramientas para colocar toda la herramienta para varias tareas justo al alcance de todos. Además, puedes diseñar tus propias barras de herramientas en conjunción con formularios, para proporcionar a los usuarios el mismo tipo de acceso instantáneo a las herramientas.

Creación de un proyecto. El Administrador de proyectos está organizado de forma muy parecida a un archivador. Consta de varias fichas, tales como: TODO, DATOS, DOCUMENTOS, CLASES, CÓDIGO y OTROS. Estas fichas le proporcionan un rápido y fácil acceso a los objetos que utilizará en el proyecto. Cuando se desarrolla una aplicación se utilizan las técnicas de ratón “señalar y pulsar” o “arrastrar y colocar” para poder acceder y manipular los componentes de la aplicación. Pasos para Crear un Proyecto:

1. Desde el Menú de Archivo de Visual FoxPro, seleccione NUEVO 2. Debajo del Botón de tipo de Archivo, selecciones PROYECTO 3. Pulse el botón NUEVO ARCHIVO 4. Introduzca el nombre del proyecto. 5. Pulse el Botón CREAR. 6. Establezca la vía de acceso del Proyecto desde la ventana de Comandos con la orden SET DEFAUL

TO ejemplo: SET DEFAUL TO C:\VFP\PROYEC1 Pasos para Abrir un Proyecto: Hay dos formas:

1. Establezca la vía de acceso del Proyecto desde la ventana de Comandos con la orden SET DEFAULT TO por ejemplo: SET DEFAUL TO C:\VFP\PROYEC1

2. O desde el Menú de Archivo de Visual Foxpro , seleccione ABRIR, seleccione el Proyecto y pulse el botón ACEPTAR

Creación de una base de datos con Visual Fox Pro.

En Visual FoxPro una base de datos es un conjunto de tablas relacionadas entre sí por un campo común. Estos archivos tienen extensión .DBC y se crean con el generador de bases de datos.

El término base de datos se refiere a un grupo de datos que almacena información sobre una o más tablas (archivos *.DBF).

Las bases de datos son archivos con extensión .DBC (DataBase Container) que guardan información acerca de todas las relaciones y arquitectura de construcción de Base de datos con tablas (archivos .DBF).

Page 71: Base d Datos

Pasos para crear una nueva base de datos:

1. Desde el administrador de proyectos, pulse la ficha DATOS. 2. Desde la lista de apartados de datos seleccione BASE DE DATOS. 3. Pulse el Botón NUEVO. 4. Escriba el Nombre de la nueva base de datos. 5. Pulse el botón CREAR (Debe aparecer la Ventana de Diseño de la Base de Datos)

Al comenzar un nuevo proyecto, el generador estará vacío. Se deben crear las tablas para almacenar la información en contenedor (Ventana de Diseño) de la Base de Datos y Luego se establecen la relaciones entre cada una de ellas. Creación de tablas. Las tablas pueden agregarse a una base de datos utilizando dos herramientas: El Asistente de Tablas o el Generador de Tablas. Se recomienda éste último debido a que tiene mayor flexibilidad para modificar campos, índices y reglas de validación. Pasos para Crear una Tabla:

1. Desde la Barra de herramientas, pulse el Botón NUEVA TABLA.

2. Pulse el Botón NUEVA TABLA 3. Introduzca el Nombre de la tabla 4. Pulse el botón GUARDAR. (Debe

aparecer la ventana del Generador de Tablas)

Para crear una nueva tabla libre

En el Administrador de Proyectos, seleccionar "Tablas libres" y luego "Nueva" para abrir el Generador de tablas.

Al crear una tabla, Visual FoxPro asigna por defecto un nombre de tabla como Tabla1.dbf y solicita ingresar un nombre y guardarlo.

Aqui aparecerá el diseñador de tablas, en el que se digita el campo, tipo y ancho de cada campo.

A continuación se procede a establecer los campos o atributos de la Tabla, los Índices y las reglas de Validación.

Page 72: Base d Datos

Definición de campos:

1. En el Generador de tablas, pulse el cuadro remarcado que se encuentra debajo del nombre de campo. 2. Introduzca el nombre del campo. 3. Pulse TAB para desplazarse hasta el cuadro de texto TIPO.

Como seleccionar tipos de campos:

1. Pulse la barra espaciadora o el botón de flecha desplegable que hay a la derecha del cuadro de texto TIPO.

2. Seleccione el Tipo de Datos (Carácter, Numérico, Fecha, Memo, Lógico, etc.) 3. Desplácese hasta el Ancho Decimal 4. Establezca el ancho Necesario del Campo.

Como editar los encabezados de campo: Los encabezados de campo aparecerán cuando esté examinando o editando tablas, y también en las cabeceras de columna de las cuadrículas, Formularios, Informes, etc.

1. Para Seleccionar el campo , pulse el cuadro de selección que aparece a la izquierda del campo y

2. luego pulse click en el cuadro de texto TITULO 3. Introduzca el titulo del Campo 4. Coloque los Títulos Necesarios a todos los campos de la tabla.

Cerrar una Base de Datos 1. Menú Archivo 2. Opción Salir

! VAMOS A REALIZAR UN PROYECTO DE UN SISTEMA DE ADMINISTRACIÓN DE BASE DE DATOS!

PERO...

¡Yo no se Programar…!

¿Cromo crear un proyecto?

¿Qué es un código?

¿Cromo crear una base de

datos?

Todas estas dudas serán resueltas según como se vaya avanzando en la

aplicación.

En la aplicación a desarrollar, la programación es mínima, y predomina

el uso de asistentes.

Page 73: Base d Datos

Desarrollo de la creación de una base de datos

1. Primero tendremos que generar una Carpeta llamada Proyecto_Miscelánea en la siguiente Ruta: C:\Documents and Settings\Mis documentos\Visual FoxPro Projects

Proseguiremos a entrar al ambiente de Visual Fox Pro 9.0 a partir de la siguiente secuencia de opciones:

1. Botón inicio -> 2. Todos los programas-> 3. Microsoft Visual Fox Pro 9.0-> 4. Visual Fox Pro 9.0

2. Nos aparece una pantalla de presentación del SGBD, que nos indica que se esta abriendo la aplicación.

3. Posteriormente haremos lo siguiente como lo muestra la siguiente pantalla:

1. Menú File-> 2. Opción New->

4. Posteriormente seleccionaremos la opción Project para diseñar, desarrollar y unir archivos relacionados para generar nuestro proyecto en Visual Fox Pro 9.0.

Seleccionado lo siguiente:

1. Project-> 2. New File->

Le llamaremos a nuestro proyecto “La Tiendita Departamental”, en donde crearemos nuestras tablas y realizaremos nuestra consulta.

1. Primero nos solicitara la ubicación de la carpeta donde guardaremos nuestro proyecto. Nuestro proyecto se llamará “La Tiendita Departamental y lo guardaremos en la carpeta de C:\ Mis documentos\Visual FoxPro Projects\BD1

Page 74: Base d Datos

2. Posteriormente nos aparecerá la barra de estado en la parte inferior de la ventana principal y dos ventanas dentro esta: la ventana de comandos (Command) y la de administrador de proyectos(Project Manager- Tiendita Departamental).

3. Lo que a continuación realizaremos será la creación de la base de datos:

1. Seleccionaremos la opción datos (Data)

de nuestra ventana del administrador de proyectos, La base de Datos se llamará

“Tiendita”. La cual contendrá las cinco tablas: Articulo, Proveedor, Catalogo, Venta_Art y Ventas.

2. Oprime el botón Nueva Tabla (New Table).

3. Nos solicitará el nombre de la primera tabla,

la cual llamaremos “Articulo”. De tal forma que al terminar de definir la tabla tendremos la siguiente pantalla:

4. Selecciona la pestaña índices (Indexes) y verifica con las tablas de las estructuras, las características de las claves.

5. Al aceptar el diseño de dicha tabla la aplicación nos preguntará si queremos introducir información a nuestra tabla:

Daremos clic en NO

6. Crea las tablas con base en los siguientes esquemas de tablas presentados, la cual contiene la definición de los tipos de datos, tamaños y ordenaciones.

Page 75: Base d Datos

Estructuras de tablas

Articulo CAMPO TIPO TAMAÑO DESCRIPCION INDEX NULL OBSERVACIONES cve_art Character 5 Clave del

articulo ↑ Primary - Pan:PN001

descripcion Character 35 - - - - existencias Numeric 2 - - - Min 0, Max 99

precio_compra Currency - Precio de compra

- - -

precio_venta Currency - Precio venta - - - cve_prov Numeric 3 Clave del

proveedor ↑Regular - Existente en la

tabla proveedor cve_tipo Numeric 3 clave de tipo

producto ↑Regular - Existente en la

tabla catalogo Proveedor

CAMPO TIPO TAMAÑO DESCRIPCION INDEX NULL OBSERVACIONES cve_prov Numeric 3 Clave de

proveedor ↑Primary - Del 1 al 999

nombre Character 30 Nombre de la empresa

- - -

direccion Memo - - - - - telefono Character 15 - - - (442) 2-20-24-31 contacto Character 35 Persona con la

que te comunicas - PUEDE SER VACIO

Catalogo

CAMPO TIPO TAMAÑO DESCRIPCION INDEX NULL OBSERVACIONES cve-tipo Numeric 3 Clave del tipo de

producto ↑ Primary - Del 1 al 999

tipo Character 2 Tipo de producto - - Enlatado, Lacteo, Refresco

Venta _Art

CAMPO TIPO TAMAÑO DESCRIPCION INDEX NULL OBSERVACIONES no_venta Numeric 5 Numero de venta ↑ Regular - Del 1 al 999

De la tabla de venta cve_art Character 5 Clave del articulo ↑ Regular - De la tabla de

artículo no_articulos Numeric 2 Suma de artículos

con la misma clave de articulo

- - Del 1 al 99

Venta

CAMPO TIPO TAMAÑO DESCRIPCION INDEX NULL OBSERVACIONES no_venta Numeric 5 Numero de venta ↑ Primary - Del 1 al 999

fecha Date - Fecha de la venta - - Predeterminada por el sistema

subtotal Currency - Subtotal de la venta

- - Suma de los costos de los artículos

vendidos considerando

“no_articulo” de c/u IVA Numeric 2 Porcentaje de IVA

calculado - - Normalmente 15 en

la codificación se dividira/100

Una vez creada la tabla NO se requerirá volver a crearla, simplemente se pone en uso y si se desea cambiar algún tipo de dato, simplemente se modificará la estructura.

Page 76: Base d Datos

7. Repite los pasos 2- 6 para crear la tabla Proveedor, consulta la estructura de la tabla y la tabla con los registros.

8. Repite los pasos 2- 6 para crear la tabla Catalogo, consulta la estructura de la tabla y la tabla con los registros.

9. Repite los pasos 2- 6 para crear la tabla Venta_Art, consulta la estructura de la tabla y la tabla con los registros.

10. Repite los pasos 2- 6 para crear la tabla Venta, consulta la estructura de la tabla y la tabla con los registros.

11. Establece las ligas seleccionando y arrastrando las llaves indicadas de una tabla a otra para que quede de la siguiente forma:

12. Continuaremos con la captura de información que contendrá cada una de nuestras tablas y recuerda que puedes introducir los registros a las tablas seleccionando el comando

Articulo cve_art descripcion existencias precio_compra precio_venta cve_prov cve_tipo PN001 Pan 10 1.00 1.50 040 001 AR010 Arroz Morelos 8 10.00 12.50 021 ZK021 Zucaritas

Kellogg’s 12 31.30 34.70 031 024

RF002 Coca de 600 ml

59 5.10 6.80 005 035

FR025 Frituras Sabritas

84 4.75 5.00 039 039

JM050 Jumex Jugo 7 2.00 2.95 036 032 FJ005 Fríjol de Mayo

Morelos 2 16.02 18.45 021 016

JIB087 Jitomate Bola 15 7.45 14.80 041 003 LA10 Leche Alpura 50 10.50 12.60 001 028 PC12 Colgate 18 18.87 23.20 012 040 SU15 Suavizante

Dawny 3 17.00 19.80 013 006

YA030 Activia 18 30.00 34.90 033 028 SP058 Sopa Fideo 50 1.50 2.45 025 017 AD158 Atún Dolores 25 6.20 8.40 029 021 JA044 Jabon Polvo

Ace 9 47.50 55.00 018 008

DG033 Grenetina de Durazno

18 5.50 6.90 032 033

Page 77: Base d Datos

EXAMINAR del menú VIEW (ver) o sobre cada tabla darle doble click.

Proveedor cve_prov nombre direccion telefono contacto

001 Alpura Nextengo No. 78, México, D.F. (55) 5- 864-8200 Ericka Corona Catana 002 FUD Cipreses #98

Fracc. Zona Industrial Benito Juarez Queretaro, Qro., C.P. 76120

(442) 199-3019 al 25

Andrés de la Cruz Cárdenas

003 Bimbo S. A Av. Tepalcapa No. 2, Tultitlán, Estado de México

(55) 9-177-74 02 German Álvarez A.

004 Wonder S.A Av. J. Vasconcelos # 127 Col. Hipód. Condesa - México D.F.

(506) 2265-2500 Eva Vargas Vargas

005 Coca- Cola Av. Ejercito Nacional # 223 - 11320 México D.F.

(55) 5-26-36-200, Fax 52636224

Deyanira Sánchez Aguillón

006 Pepsico S.A Av. Universidad # 1005, Col del Valle - 03100 México D.F.

(55) 5-20-00-900, Fax 55346488

Alma Yadira Guevara Rico

007 Mc Kormic Blvd. M. Ávila Camacho # 611 - 11220 México D.F.

(55) 26299000, Fax 55574791

Eloisa García Hernández

008 Hellmans Periférico Sur # 4080, Jardines del Pedregal - México D.F.

(55) 54816500, Fax 56527585

Omar García García

009 La costeña S.A Av. Tlahuac # 4766, Col. Cerro de la Estrella - México D.F.

No tiene Gelacio Hernández Martínez.

010 Del Monte Periférico Sur # 6611 - 16020 México D.F.

(55) 56767166, Fax 56766175

Martha De la Parra Aboytes

011 Kleenex Dr. Jesús Valenzuela # 25, Col. Doctores - México D.F.

(55) 91790350 Denisse Espinosa Mendoza

012 Palmolive- Misión Hills

Pról. Tecnológico Norte # 1000 - 94299 Querétaro

(55) 1958000, Fax 1957999

Adriana Ramírez Hernández.

013 Suavitel Blvd. López Portillo # 201, Col. Depend. Feder. - Guadalupe

01 (492) 9237291 Liliana Hernández López

014 Downy Paseo del Mineral # 352 - 99050 Fresnillo

01 (493) 9329501 Zyanya Paulina Hernández López

015 Cloralex Carr. Libre México-Texcoco, Km. 21.5 - Los Reyes la Paz

58580630, Fax 58580630

Mateo Aguilar Álvarez

016 Clorox Av. Univ. # 162 Col. Ex Hacienda Candiani - 68130 Oaxaca

5147202, Fax 5147212

José de la Cruz Landaverde Valles

017 Ariel Carretera Transistmica Km. 2 - 70620 Salina Cruz

No tiene Enrique Mier Procel

018 Ace Carr. Federal Tuxtepec # 202 - Tuxtepec

No tiene Pablo Chapela Mendoza

019 Roma Carr. Guadalajara 515, L. del Tecnológico - San Luís Potosí

8340000, Fax 8340010

Aarón Noe Basaldúa Quintana

020 Axion Av. Juárez # 3815 Las Mercedes - 78395 San Luís Potosí

8247440, Fax 8247539

Alejandra Ramos Prieto

021 Morelos Vía Rápida Oriente 11942 Zona Río - Tijuana

3820080, Fax 3812345

Josefina Chimal Aboytes

022 Mexica Carr. Transpeninsular y calle plinta # 200 - Ensenada

9044999, Fax 9044966

Alberto de Santiago Santiago

023 Verde Valle Blvd. Méx.-Laredo y Zaragoza s/n - 79090 Ciudad Valles

No tiene Daniel Almaraz Torres

024 Knorr Blvd. Lázaro Cárdenas # 1801 - 21100 Mexicali

6827000, Fax 6821052

Ana Díaz Barriga

025 La Moderna Carr. Transpeninsular Nte. 3565 - 23090 La Paz

1763735, Fax 1760844

Ofelia Chávez Trejo

026 La sierra Carretera Costera, Km. 245 - 30750 Tapachula

No tiene Rubí Solano Hernández

027 Aceite 1-2-3 Carr. Panamericana, Km. 1090 - Tuxtla Gutiérrez

6171100, Fax 6171120

Maricela Moreno Pacheco

028 Kartamus S.A Av. Constituyentes # 42, Col. Villas del Sol - 76046 Querétaro

(442) 2-48-4934,

Mariela Martínez Hernández

Page 78: Base d Datos

028 Kartamus S.A Av. Constituyentes # 42, Col. Villas del Sol - 76046 Querétaro

(442) 2-48-4934, Fax 2484934

Mariela Martínez Hernández

029 Dolores Insurgentes Sur # 2336 Col. San Ángel - México D.F.

(55) 5-66- 11- 597, Fax 56612951

Hilda Trejo Pérez

030 Nestle Calz. de Tlalpan # 2169, Col. Cd. Jardín - México D.F.

(55) 5-48-41-500, Fax 56895962

Maricruz Santos Arabela

031 Kellogg’s Km 1 Carrretera a Campo Militar. Querétaro, Qro.

(442) 2-11-1300 ext. 2510

Paulina Ruiz Lang

032 Gari Av. Aquiles Serdán # 431, Col. Nextengo - México D.F.

(55) 9-14-09-700, Fax 55619991

Sandra Sanabria Uribe

033 Danone Eje 3 Sur Esquina Lázaro Cárdenas - 06780 México D.F.

(55) 5-13-43-400Fax 55381249

Wendolly Nieto Vargas

034 Del valle Xochicalco # 17, Col. Narvarte - México D.F.

(55) 1-08-79-800, Fax 10879878

Ana Guevara Estrada

035 Gatorade Av. Insurgentes Sur # 943, Col.Napoles - México D.F.

(55) 5-35-10-089, Fax 53510090

Javier Maya Tellez

036 Jumex Río Po # 93 - 06500 México D.F. (55) 5-20-72-201, Fax 55142907

Luis Ugalde Ugalde

037 Bonafont Carr. México-Toluca # 3006, Km.19.5 - México D.F.

(55) 5-81-41-414, Fax 58141414

Marco Antonio Yañez Zarate

037 Corona Calz. I. Zaragoza # 1381, Col. Tepalcates - México D.F.

(55) 5-71-67-200, Fax 57633624

Kendall Kennedy

038 Superior Av. de Los Cien Metros # 831 - 07700 México D.F.

(55) 5-74-77-700, Fax 57477706

William Corgan

039 Sabritas Lateral Autopista Méx.-Qro # 111 - Cuautitlan Izcalli

58720887, Fax 58724880

Agustin Yang Betancourt

040 Pan Casero Conocido (442) 2-00-10-00 Carlos Guerrero Sánchez

041 Abastos(frutasy verduras)

Plazas del sol, Querétaro, Qro. No tiene Gustavo Castañeda

Catalogo cve-tipo tipo

001 Panadería 002 Frutas 003 Verduras 004 Salchichoneria 005 Blanqueador 006 Suavizantes 007 Papel higiénico 008 Detergentes 009 Insecticidas 010 Veladoras 011 Vinagre 012 Aceite 013 Servilletas 014 Pañuelos desechable 015 Arroz 016 Fríjol 017 Sopas 018 Caldo de pollo 019 Semillas

020 Mayonesa 021 Atún 022 Pan de caja 023 Enlatados 024 Cereal 025 Chocolate 026 Café 027 Avena 028 Lácteos 029 Mermelada 030 Galletas 031 Harina 032 Jugos 033 Gelatinas 034 Néctar 035 Refresco 036 Agua 037 Concentrados 038 Cerveza 039 Frituras 040 Pastas Dentales

Page 79: Base d Datos

Venta_Art no_venta cve_art no_articulos

08956 RF002 2 02959 JM050 7 05064 ZK021 1 03871 YA030 6 09997 DG033 5

Ventas

no_venta fecha subtotal IVA 06241 07/07/08 1207.59 12.17 05064 05/02/08 169.70 16.40 03871 07/11/08 241.49 22.29 08775 15/05/08 81.40 9.32 09997 06/28/08 290.61 5.52 08956 06/22/08 336.33 13.11 02959 05/15/08 141.30 2.08 07304 05/24/08 494.60 31.18 09048 07/13/08 293.32 18.05

13. Una vez capturada la información procederemos a realizar los filtros necesarios para realizar las siguientes consultas : a. ¿Qué artículos tienen un costo mayor a los $50.00?

1. Selecciona la tabla que utilizara para cada consulta.

2. Agregaremos todos los campos para visualizarlos en el resultado: 3. Seleccionaremos la ceja “Filtro” y pondremos los siguientes criterios:

4. Enseguida guardaremos la presente consulta de la siguiente manera: a. Selecciona Menú File -> Guardar y aparecerá la siguiente pantalla, en la cual le daremos el

nombre a nuestra consulta. Que le llamaremos Costomayor50.qbe

5. Para teclear la consulta, vamos a dar clic en el botón ejecutar.

6. Y podrás observar los resultados de dicha consulta. 7. De la misma forma realizaremos las siguientes consultas:

a. ¿Quién es el proveedor, la dirección y la clave del proveedor que no tiene teléfono? b. Descripción del artículo, precio de compra del mismo, clave del proveedor y clave del tipo de

producto cuya existencia es 2. c. ¿Cuál es el número de venta y la fecha que tiene una venta con subtotal menor a $ 200.00?

Page 80: Base d Datos

14. Por ultimo guardar los cambios y cerrar nuestra base de datos. 15. Evaluación de la práctica:

Reactivo Indicador Puntaje Apreciación Calificación 1. Creo la carpeta correctamente. 0.5 2. Acceso a VFP correctamente. 0.5 3. Imprimió la estructura de las 5 tablas

del “Proyecto_Miscelánea” correctamente

2

4. Creo los índices adecuadamente. 1 5. Creo las relaciones de las tablas

adecuadamente. 1

6. Imprimió los registros de las tablas: Articulo.dbf, Proveedor.dbf, Catalogo.dbf, Venta_Art.dbf y Venta-dbf.

2

7. Imprimió los resultados de las 4 consultas realizadas en la práctica.

4

8. Se elaboro con orden y limpieza. 1 9. Guardo el archivo con el nombre

asignado. 1

Calificación final Comandos Básicos ¿Qué es un comando?

Investigar los siguientes comandos Básicos:

Comando Significado Use Modify Structure

Browse Append Insert Delete Display Close

Page 81: Base d Datos

Actividades:

Ejercicio 1. Instrucciones: Relaciona cada botón de la izquierda con su significado correspondiente en la parte derecha.

Ejercicio 2. Instrucciones: Completa el siguiente cuadro.

No.

Archivo

Significado

Extensión

1. Project

2. Database Base de datos

3. Table

4. Query

1. ( )

A.

Cerrar

2. ( )

B. Abrir

3. ( )

C. Agregar tabla

4. ( )

D. Ejecutar

5. ( )

E. Acceso Directo a VFP 9.0

6. ( )

F. Nuevo

7. ( )

G. Barra de herramientas controles (Form Control Toolbars)

8. ( )

H. Ventana de comandos

9. ( )

I. Ventana de código

10. ( )

J. Entorno de datos

11. ( )

K. Nueva tabla

Page 82: Base d Datos

Ejercicio 3.

Departamento de vehículos automotores.

Suponga que es administrador de la base de datos del Departamento de Vehículos automotores. Debe

diseñar la estructura de registros de un nuevo sistema de información que contiene datos de licencias.

Empleando su licencia de conductor, diseñe un formato de registro eficaz al hacer lo siguiente:

Enumere cada campo que debe contener la licencia de conducir. Sus nombres de campo deben ser

descriptivos, no contener más de 15 caracteres y abarcar una sola palabra. Por ejemplo, use

NombreCompleto, no NC. Recuerde considerar que los datos podrían emplearse para salida impresa (los

campos que defina tal vez no sean exactamente los campos que aparecerán en la licencia del conductor).

Asigne un tipo de dato a cada campo. Tal vez use los siguientes tipos de datos: Carácter, numérico, fecha,

lógico y Memo.

Defina la longitud de cada campo. Tal vez tenga que hacer algunas suposiciones inteligentes, porque no

conoce el aspecto de los campos. Por ejemplo, conoce la longitud de su apellido, pero seguramente

algunos apellidos son más largos (use su buen juicio).

Donde sea apropiado, indique cómo se podrían minimizar los errores de entrada de datos.

Page 83: Base d Datos

Desarrollo

3.2 Consultas a una base de datos.

Objetivo del tema. Aprenderás a aplicar consultas a una base de datos, a través de los comandos de consulta básicos, para la obtención de información requerida.

Una vez capturada la información se podrán realizar consultas simples a la base de datos. Consultas Las consultas permiten visualizar datos de una tabla a partir de un criterio de selección, con el fín de organizar la información para un reporte o para consultar rápidamente un conjunto de datos. Con el Generador de consultas de Visual FoxPro puede especificar los criterios de selección, los campos que se visualizarán, la manera como se ordenará y agruparán los resultados e indicar las tablas que harán parte de la consulta. En el proceso de consulta se selecciona la tabla de la cual se desea extraer información, luego se especifican los criterios de selección, se envía la información a la pantalla, se genera un informe o reporte o se guardan los datos de la tabla. Estructura básica. La estructura básica en una instrucción en SQL consta de tres cláusulas: select, from y where.

La cláusula select corresponde a la operación proyección del álgebra relacional. Se usa para listar los atributos que se desean en el resultado de una consulta.

La cláusula from corresponde a la operación de producto cartesiano del álgebra relacional. Lista las

relaciones que se van a examinar en la evaluación de la expresión.

La cláusula where corresponde al predicado de selección del álgebra relacional. Consta de un predicado que incluye atributos de las relaciones que aparecen en la cláusula from.

Varias formas de realizar una consulta a la base de datos Una consulta la usaremos para obtener resultados rápidos y derivarlos a un destino preestablecido. Puede crear una consulta con el comando SELECT

1. En el diseñador de consultas 2. En la ventana de Comandos 3. En un programa Visual FoxPro (como cualquier otro comando de Visual FoxPro).

1. Creación de Consultas con el Diseñador de consultas.

Para construir una consulta con el cuadro de dialogo CONSULTAS:

1. Vaya al menú Archivo, opción Nuevo y 2. Luego señalar en el cuadro de diálogo Consulta

Page 84: Base d Datos

3. Una vez que haya decidido qué información necesita buscar, agregue las tablas y/o vistas donde se encuentren almacenadas.

4. Luego en la página Campos, seleccione los campos de interés, especifique un orden y una condición si es preciso, note que estas acciones son similares a las realizadas en el Generador de vistas, la diferencia en la interfaz radica en la ausencia de la página Criterios de actualización y en una opción llamada Configuración de la salida… de un menú emergente que a continuación vamos a describir.

5. Haga click del botón derecho en el Generador de consultas y en el menú emergente escoja la opción Configuración de salida…,

6. Se presentará el cuadro de diálogo señalando los posibles destinos: Examinar, Cursor, Tabla, Grafico, Pantalla, Informe, Etiqueta.

En nuestro estudio lo haremos con el lenguaje de consulta estructurado SQL, donde realizaremos las consultas a través de la ventana de comandos de la siguiente manera:

1. Seleccionar los campos que intervendrán en la consulta 2. Seleccionar las tablas que contienen dichos campos. 3. Poner el criterio o condición de búsqueda.

SQL forma el producto cartesiano de las relaciones nombradas en from, realiza una selección del álgebra relacional usando el predicado de la cláusula where y después proyecta el resultado a los atributos de la cláusula select. El resultado de una consulta en SQL es una relación. La serie de órdenes se pueden escribir directamente en la ventana de comandos. NOTA: * : La lista de atributos puede sustituirse por un asterisco (*) para seleccionar todos los atributos de todas las relaciones que aparecen en la cláusula from, significa todos los campos contenidos en la tabla. QUERY en VFP Select *; FROM clientes

Por lo tanto los comandos en SQL son los siguientes: SELECT <<lista de campos>> FROM <<lista de tablas>> WHERE << criterios de búsqueda>>

EJEMPLOS:

SELECT *; FROM ARTICULO

SELECT cve_art, descripción, existencias, precio venta;

FROM ARTÍCULO

SELECT cve_prov, nombre,telefono; FROM PROVEEDOR WHERE cve_prov=010

Otro tipo de sintaxis para realizar una consulta dependerá del SGBD, pero en general se hace como se describe a continuación: USES <base de datos y/o tabla> LIST <lista de campos> FOR <condición> Una consulta es la siguiente:

¿Qué alumnos no tienen teléfono de la base de datos Alumnos? Las instrucciones son las siguientes:

USES Alumnos LIST Nombre FOR Telefono = ‘No tiene’

Page 85: Base d Datos

Algunos otros comandos o comodines que podremos utilizar al realizar las consultas con de SQL son: Comandos de Funciones

OPERADOR

DESCRIPCION

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

Operadores de comparación

OPERADOR

DESCRIPCION

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

Caracteres COMODINES utilizados en SQL

COMODIN DESCRIPCION ?

Un carácter cualquiera

%

0, 1 o mas caracteres

_

1 carácter

Page 86: Base d Datos

Actividades: I. Instrucciones: Completa lo siguiente:

AND, OR y NOT son ejemplos de operadores_______________________ y se usan para especificar relaciones entre criterios de búsqueda.

El comando________________________ de SQL busca datos en un

campo y una tabla especifica.

El comando _____________de SQL cambia los datos de un campo especifico en uno o más registros.

El comando _________________de SQL proporciona acceso simultaneo a datos de varias tablas. II. Investiga en Internet, libros, revistas lo siguiente:

1. ¿Qué es un Join, cuál es su utilidad y da un ejemplo?

COMANDO

UTILIDAD

EJEMPLO

JOIN

III. Instrucciones: Realiza los siguientes ejercicios en tu laboratorio de centro de computo:

EJERCICIO 1 1. Abrir la base de datos Concesionario de la carpeta Mis documentos del disco duro. 2. Crear una tabla con el nombre de Clientes con los siguientes campos:

Nombre del campo

Tipo de dato

Código Cliente Charácter

Nombre Cliente

Charácter

Apellidos Cliente

Charácter

Dirección Cliente

Charácter

Población

Charácter

Código postal

Charácter

Provincia

Charácter

Telefono

Charácter

Fecha de nacimiento

Date

Page 87: Base d Datos

La clave principal es el campo Código cliente. 3. Crear otra tabla con el nombre de Coches vendidos con los siguientes campos.

Nombre del campo

Tipo de dato

Matricula

Charácter

Marca

Charácter

Modelo

Charácter

Color

Charácter

Precio

Charácter

Extras instalados

Memo

La clave principal será el campo Matricula.

4. Crear otra tabla con el nombre de Fechas de revisión con los siguientes campos:

Nombre del campo

Tipo de dato

No. revisión

Numeric

Cambio aceite

Logical

Cambio filtro

Logical

Revisión frenos

Logical

Otros

Memo

La clave principal es el campo No. de revisión. 5. Cerrar la base de datos. EJERCICIO 2. Realiza las siguiente Consulta básica a través de la ventana de comandos y muestra el resultado.

SELECT Nombre, Telefono;

FROM Clientes

Page 88: Base d Datos

EJERCICIO 3. Instrucciones: Realiza las siguientes consultas en SQL, utilizando la ventana de comandos:

1. ¿Cuál es el query en SQL que despliega todos los campos de la tabla clientes?

QUERY

2. Escribe el query que nos despliega el nombre y fecha de nacimiento de todos y cada uno de los clientes.

QUERY

3. Consulta que despliega el nombre del empleado y la dirección con código del cliente numero C005.

QUERY

4. Despliega el código del cliente, nombre, dirección para todos aquellos clientes que nacieron entre el 1 de enero de 1980 a 31 de Diciembre de 2000.

QUERY

Page 89: Base d Datos

5. Muestra el precio mayor de los coches vendidos.

QUERY

6. Despliega el costo mínimo de los coches vendidos

QUERY

7. Despliega la suma total de los precios de los coches vendidos.

QUERY

Page 90: Base d Datos

Desarrollo

3.3 Modificaciones a una base de datos.

Objetivo del tema. Aprenderás a modificar una base de datos, mediante el uso de las instrucciones básicas para la actualización de información.

Para manipular la base de datos existen dos formas de hacer modificaciones a través de comando en la ventana de comandos:

1. Modificar la estructura de base de datos 2. Modificar los registros de una tabla.

Si deseas modificar la estructura de la base de datos, únicamente tendrás que volver a acceder a estructura de la base de datos y realizar las modificaciones correspondientes, igualmente, si deseas modificar el contenido de los registros, lo único que tendrás que hacer es editar o desplegar los registros. Para modificar la estructura de una base de datos a través de la ventana de comandos, dentro del SGBD tendrás que seleccionar la base de datos y seleccionar la opción de modificar la estructura. La sintaxis es la siguiente: USE Databases Alumno Modify structure Para modificar los registros de la base de datos a través de comando utilizados en la ventana de comandos, bastará con editarlos, existen varias formas de hacerlo, por ejemplo, la edición de registros o el despliegue de registros, la forma de hacerlo es abrir o poner en uso la base de datos y solicitar la edición o el despliegue con los comandos Edit o Browse respectivamente. La sintaxis es la siguiente: USE <nombre tabla> Browse Ó USE <nombre de tabla> Edit USE<nombre de tabla> Append blank Append

Page 91: Base d Datos

Mencionaremos los comandos más usuales que son de gran ayuda al momento de manipular los datos:

Actividades:

1. Trabajo en parejas: investiga el siguiente comando, su sintaxis al utilizarlo y proporciona un ejemplo:

Comando Sintaxis Ejemplo

UPDATE

2. Instrucciones: Realiza las siguiente tareas de laboratorio:

¡Manos a la OBRA!!

3. Un amigo te sugiere crear una tabla para almacenar información acerca de un conjunto de libros viejos. Tú presentas una lista de los campos que incluiría en una tabla para almacenar dicha información. Para cada campo debe especificar el nombre del campo, el tipo de dato (texto, numérico, fecha etc.) y la longitud de campo, así como las claves principales.

4. Use VFP para crear la estructura de la tabla que especifico en la anterior actividad. Ingrese por lo menos 10 registros, utilizando los comandos antes visto en este capitulo e imprima una lista de todos los datos.

5. Elabore una lista de 5 consultas que serán útiles si su base de datos tuviera cientos de registros. Pruebe estas consultas en su tabla. En el caso de cada consulta, presente una lista de los registros y realice 3 modificaciones a sus registros e imprima los registros modificados.

APPEND BLANK Agrega registros en blanco a la base de datos seleccionada

COUNT Determina el número de registro en la base de datos

DISPLAY FILES Muestra información de la base de datos

DISPLAY STRUCTURE Muestra la estructura de una base de datos

MODIFY COMMAND Abre una ventana de modificación de texto

MODIFY STRUCTURE Modifica la estructura de una base de datos

REPLACE Actualiza los registros en una base de datos

INSERT Inserta un nuevo registro a la tabla.

DELETE Marca los registros de la tabla en uso que cumplen los criterios establecidos para eliminarlo. Es un borrado lógico.

PACK Elimina todos los registros de la tabla marcados. Eliminación física.

Page 92: Base d Datos

Desarrollo

3.4 Ordenación de la información.

Objetivo del tema. Aprenderás a ordenar los registros de una base de datos, mediante el uso de instrucciones de ordenación, para construir índices que aceleren el manejo de la información.

En base de datos una ordenación significa que los registros ase encuentren colocados en un orden ascendente o descendente de acuerdo con los valores alfabéticos o numéricos, dependiendo del tipo de dato del campo.

Generalmente una tabla se ordena para facilitar las búsquedas de información en la base de datos, si la tabla se encuentra desordenada,, podremos ordenarla mediante la selección de un campo que nosotros consideremos significativo par dicha búsqueda.

Para ordenar los registros de las bases de datos lo hace a través de dos formas:

Ordenación Física Ordenación lógica (indexar).

¿Cómo se organizan los registros de la base de datos?

Las tablas de una base de datos se organizan de diferentes maneras, dependiendo del uso que las personas deseen darle. Por ejemplo, un cliente que visita el sitio Web de WebMusic generalmente verá la información del tipo de registro DiscosCompactos por NombreCD o NombreArtista. El administrador de inventario, por lo general, deseará que los datos se ordenen por CantidadInventario para que pueda ver cuál CD debe ordenarse. El administrador de mercadotecnia estará más interesado en FechaProdcción para seguir una política de precios con los nuevos CD. Por tanto no hay una sola manera de organizar los datos para que se amolden a las necesidades de todos. Pero sí es posible ordenar o indexar las tablas de varias maneras.

El ordenamiento de una tabla (ordenamiento físico) es el orden en que se almacenan los registros en el disco. Por lo general las tablas ordenadas producen consultas y actualizaciones más rápidas, porque aprovechan algoritmos que rápidamente ubican los registros. En una tabla ordenada, los nuevos registros se insertan manteniendo el orden. Si no se especifica un orden, los nuevos registros se adjuntan al final del archivo, lo que da como resultado un archivo sin orden. Las consultas y actualizaciones dentro de una base de datos no ordenada son lentas, porque el único algoritmo para explorar una tabla no ordenada requiere una búsqueda secuencial de cada registro.

Casi todos los sistemas de administración de base de datos usan una clave de ordenamiento para determinar el orden en que almacenan los registros. La clave de ordenamiento (índice) de una tabla es uno o más campos, que se usan para especificar dónde se insertan los nuevos registros de una tabla. Una tabla solo puede una clave de ordenamiento a al vez, pero es posible cambiarla. Sin embargo, el cambio de una clave de ordenamiento llega a requerir mucho tiempo, porque el proceso reordena físicamente los registros del disco. El diseñador suele especificar la clave de ordenamiento de una tabla en el momento en que se crea la estructura de la base de datos.

Por lo tanto un ordenamiento lógico, es la creación de un índice por cualquier campo o campos que se use para consultar la base de datos proporcionando organizar los registros de ésta, empleando una serie de claves y punteros para almacenar los datos temporalmente, sin afectar la secuencia física de los registros especificada por el ordenamiento.

Page 93: Base d Datos

Una ordenación física se refiere a crear una copia de la tabla original, pero con los registros ordenados en relación al campo seleccionado o de ordenación, esto implica una duplicación de información y de espacio en el dispositivo de almacenamiento.

La serie de instrucciones par realizar la ordenación física es:

USES <Base de datos original o base> SORT ON <campo de ordenación >TO <Base de datos copia ordenada> (Con esto se ha creado una base de datos ordenada, pero no se encuentra activa).

Por ejemplo:

USE persona SORT TO persona _ ordenada ON nombre USE persona _ ordenada

Persona Persona _ ordenada

Juan Martínez Eduardo Garay

Roxana Cuellar Juan Martínez

Margarita Rosales Margarita Rosales

Pedro López Pedro López

Eduardo Garay Roxana Cuellar

Actividad: 1. Realizar una base de datos llamada Escuela. 2. Crear las tablas Alumno, Maestro, Materia etc. 3. Proseguir a realizar la ordenación física de la tabla Alumno debemos seleccionarla y crear una tabla

nueva con los registros ordenados. La ordenación que se solicita esta actividad es por matrícula del alumno.

Tabla original o base

Alumno Nombre Matricula Dirección Telefono

Juan Luis Pérez 8945678 Av. De los Remedios No. 18

(5)674-89-00

Pedro Gómez Cruz 8987654 San Juan de los Lagos No. 8

(5)844-78-66

Rebeca Cruz Montes 8976541 Satélite No. 123 (5)625-19-89 José López Canseco 8973635 Av. Corregidora No. 12 (5)876-09-12 Margarita Godínez Ibarra 89735256 Av. Tlahuac No. 89 (5)738-28-19 Luis Ramírez Ramos 8927262 Av. De los Niños Héroes

No. 1 No tiene

Las instrucciones para realizar la ordenación física será:

USES Alumno SORT ON <Matricula> TO Alumatri

Page 94: Base d Datos

Si ponemos en uso la base de datos Alumatri con la orden USE Alumatri; como sigue:

USE Alumatri Browse

Y pedimos visualizar la información con algún modo de despliegue, la tabla que veremos será:

Alumno Nombre Matricula Dirección Teléfono

La segunda forma de ordenación y la más recomendable es la ordenación por medio de índices o lógica, actualmente los SGBD ya traen integrado en el diseño de la estructura de la base de datos la especificación de ordenación por índices, de tal forma que la nueva información que se registre en nuestra base de datos ocupará su lugar en la tabla de forma ordenada con base en nuestros índices.

Esta forma de ordenación ocupa menos espacio de almacenamiento porque se trabaja sobre la misma base de datos original, haciendo referencia a un archivo índice (más pequeño que una copia de la misma base de datos) para desplegar la información de forma ordenada.

Por ejemplo en las siguientes tablas nos muestra que se indexan por fecha, el archivo de índice contiene una lista de claves y el número de registro que contiene más información acerca del CD que se lanzo en esa fecha.

Archivo Índice

# Numero articulo

Nombre CD

Nombre Artista

Fecha Producción

Cantidad de

Inventario

Precio sugerido

1 Wea56690-1 A Day Without

Rain

Enya 11/21/00 345 18.95

2 Umi983200 All that You

Can’t Leave

U2 10/31/00 234 19.95

3 EMD720167-1

The Beatles 1

The Beatles1

11/14/00 183 24.95

4 RCA-00-134 Everyday Dave Matthews

2/27/00 50 18.95

Clave # 10/13/00

11/14/00

3

11/21/00

1

2/27/00

4

2

Page 95: Base d Datos

Proceso de Indexación Cuando haya creado una tabla, puede ordenar los datos para acelerar la obtención de datos mediante índices. Con los índices, puede procesar rápidamente los registros para mostrarlos, consultarlos o imprimir. También puede seleccionar registros, controlar si se introducen valores duplicados en un campo y admitir relaciones entre tablas.

Índices

Son archivos que se utilizan para determinar el orden de los registros de una tabla dependiendo de un requerimiento establecido. Por ejemplo: cuando se insertan registros en una tabla estos no se encuentran ordenados, para ello es necesario utilizar comandos (index on, set order) que nos permitan ordenar los registros de acuerdo a la información que necesitamos.

Cuando creamos índices para una tabla lo hacemos sobre un solo archivo de índices en vez de ir creando un archivo por cada índice. Son los archivos compactos .CDX.

A un índice que está dentro de un archivo de índices, también se le denomina TAG, y como tal lo encontramos en varias instrucciones. Por tanto, es indistinto hablar de tag o de índice.

Para crear un tag no tenemos más que ir a la página de índices en la ventana de modificación de la estructura de una tabla. Ahí debemos indicar el nombre con el que nos referimos a él, el tipo de índice que es, el campo o la concatenación de campos (índices compuestos) que lo forman y, por ultimo, una condición de filtraje.

VFP ofrece cuatro tipos de índice diferentes, cada uno con características predeterminadas:

1. Normal 2. Único 3. Principal 4. Candidato

Los índices normales; es el índice clásico. Permite cualquier valor en la clave, esté repetido o no. Es el más utilizado. Determinan el orden en que se procesan los registros pero permite que se introduzcan valores duplicados en un campo. Puede agregar más de un índice normal a una tabla.

También puede crear un índice único; semejante al normal. Sin embargo, en el caso de que haya más de una clave repetida, solo se tiene en cuenta la que introdujo en primer lugar. Tiene poca utilidad y es un tipo de índice que prácticamente no se usa. Es aquel que selecciona y ordena un subconjunto de registros según la primera aparición de un valor en el campo que especifique. Si quiere seleccionar registros de esta manera, es posible que quiera crear una consulta o una vista en lugar de ello.

Los índices principales; impide que existan claves repetidas, provocándose un error en VFP. Sólo puede haber un índice principal. Aseguran que sólo se introducen valores únicos en un campo y

determinan el orden en el que se procesan los registros. Puede crear un índice principal para cada tabla si la tabla está incluida en la base de datos. Si la tabla ya tiene un índice principal, agregue un índice candidato. Este índice es el que define el campo clave.

Los índices candidatos; exactamente igual que la anterior. Su sentido reside en que como sólo puede haber un índice principal, todos los demás deben ser candidatos, candidatos, por tanto, a serlo. También imponen valores únicos y determinan en qué orden se procesan los registros, como un índice primario. Puede tener varios índices candidatos por tabla en bases de datos y en tablas libres.

Por ejemplo si en este momento necesitáramos una lista de precios probablemente la querríamos en orden alfabético y en otras ocasiones según el código, solucionaremos ambos casos creando dos índices.

Page 96: Base d Datos

Instrucciones relacionadas con los índices

Index

Permite crear índices .IDX y .CDX sobre las tablas. Los primeros nos e utilizan, y en los segundos, debemos ir indicando los diferentes tag del mismo. La forma de crear índices es:

INDEX codigo1+codigo2 TAG CodCod OF tabla1.cdx

Set Order To

Establece el orden de una tabla una vez que el archivo de índices está abierto. Se debe utilizar en el caso de que no haya incluido la cláusula ORDER en el comando USE. Por defecto, las tablas no están ordenadas,, por ello, debemos emitir un SET ORDER TO seguido del nombre del tag, no la expresión ni el nombre del campo. Si queremos volver a dejar el orden físico de la tabla, lo que haremos será incluir el código SET ORDER TO sin parámetros, o bien, con el 0.

Crear un índice

Al crear una tabla, Visual FoxPro crea el archivo .dbf correspondiente y, si la tabla contiene campos de tipo Memo o General, el archivo .fpt asociado. Puede optar por agregar rápidamente un índice a un campo al definirlo; de lo contrario, no se generará ningún archivo de índice en ese momento. Los registros introducidos en la nueva tabla se almacenarán en el orden de introducción, y al examinar la tabla aparecerán en ese orden.

Normalmente, conviene poder ver y tener acceso a los registros de la nueva tabla en un orden específico. Por ejemplo, puede ser adecuado ver los registros de la tabla de clientes ordenados alfabéticamente por nombres de empresa. Cuando se desea controlar el orden en que se muestran los registros y se tiene acceso a los mismos, es necesario crear un archivo de índice para la tabla creando la primera ordenación de registros, o clave de índice, de la tabla. A continuación puede establecer como orden de la tabla la nueva clave de índice y tener acceso a los registros siguiendo ese orden.

Para crear una clave de índice de una tabla

1. En el Administrador de proyectos, seleccione la tabla a la que quiere agregar un índice y, a continuación, elija Modificar.

2. En el Diseñador de tablas, seleccione la ficha Índices. 3. En el cuadro Nombre, escriba un nombre para el índice. 4. En la lista Tipo, seleccione el tipo de índice Normal. 5. En el cuadro Expresión, escriba el nombre del campo por el que quiere ordenar los registros.

–O bien-

Genere una expresión; para ello, elija el botón de diálogo situado al final del cuadro para mostrar el Generador de expresiones.

6. Si quiere seleccionar registros, escriba una expresión de filtro en el cuadro Filtro o seleccione el botón situado al final del cuadro para generar una expresión.

7. Elija Aceptar.

–O bien–

Utilice el comando Index.

Page 97: Base d Datos

Actividades: 1. Explique las diferencias entre ordenar (físico) e indexar (lógico)

DIEFERENCIAS

ORDENACION FISICA ORDENACION LOGICA (INDEXAR)

2. Investigar los siguientes comando para crear índices

COMANDO DESCRIPCION

SET ORDER

INDEX ON

SORT TO

REINDEX

3. Investigar en la ayuda de Visual Fox Pro: ¿Cómo ver los registros en orden ascendente o descendente

mediante un índice ascendente o descendente o bien leer un índice existente en orden ascendente o descendente?

Page 98: Base d Datos

Autoevaluación

¡EN HORA BUENA! Hemos cumplido con los objetivos de esta unidad y haz empezado

tu proyecto del sistema de base de datos. Ahora es tuyo el criterio, contesta

correctamente las siguientes preguntas y autoevalúate para verificar lo aprendido.

1. Completa la siguiente tabla.

Concepto Qué representa

Consulta

Ordenación Física

Ordenación Lógica

Lenguaje de Consulta Estructurado

SELECT

Anexa un registro al final de una tabla que contiene los valores de campo especificados.

UPDATE

Preguntas de Situación

2. Estas trabajando para una empresa que acaba de iniciar un proyecto de

base de datos. El jefe quiere “el tipo de base de datos más estándar“, de

modo que recomienda que la compañía evalúe software de administración

de base de datos

3. Estas analizando a un cliente de una compañía y pide información. Debido

a que cada cliente puede hacer varios pedidos, sabes que ésta es una

relación a muchos.

Page 99: Base d Datos

4. Está diseñando un tipo de registro que contiene información de cliente. Debe de usar un tipo de dato

para incluir información como teléfonos y números de Seguro Social porque, a pesar de

que estos datos parecen números, nunca los usará en operaciones matemáticas.

5. Eres dueño de una tienda de artículos de equipo de cómputo y mantienes una base de datos de inventario

que, además almacena los nombres de los mayoristas a los que compra cada artículo. Los mayoristas

Hewlett Packard acaban de cambiar su nombre por Compaq S.A, de modo que debe actualizar su base de

datos. La mejor manera de hacerlo consiste en realizar una actualización , que cambia

cada caso Hewlett Packard por Compaq S.A.

6. Estás diseñando la estructura de la base de datos de una compañía de venta por catalogo. Reconoce que

existe una relación muchos a muchos entre un pedido y los artículos que incluye. Esa pista que debe separar

los datos en dos : Pedidos y DetallePedido.

7. Imagine que debe accesar a un catalogo de tarjetas de biblioteca empleando SQL. Escriba la consulta SQL

que usaría para buscar libros de Luis Joyanes Aguilar en una tabla llamada Libros, donde los nombres de

autor, donde los nombres de autor están almacenados en un campo llamado NombreAutor.

Page 100: Base d Datos

8. Contesta el siguiente crucigrama.

5

9

8

3

10

7

2

4

-

6

1

Horizontal Vertical

1. Tipo de datos que acepta cualquier texto. 2. Valor booleano verdadero o falso. 3. Es una instrucción específica, utilizable dentro

de los programas. 4. Permite ordenar los registros de acorde a la

información que necesitamos.

5. Número de signo flotante de precisión doble. 6. Almacena fechas con el formato mm/dd/aa sin valores

de hora. 7. Tipo de dato ya sea enteros o fracciones. 8. Modifica la estructura de una base de datos. 9. Comando de Visual FoxPro que permite mostrar los

registros de una tabla, al abrir la ventana Examinar de la tabla en uso o seleccionada.

10. Tipo de dato que almacenar bloques de datos y el

tamaño de éstos depende de la cantidad de datos que escriba en ellos y se almacenan en un archivo distinto con el mismo nombre que la tabla y la extensión .FPT

Page 101: Base d Datos

Vayamos más allá

¿Sabías que?

ORACLE

Oracle Corporation, una de las mayores compañías de software del mundo y principal distribuidora de sistemas de gestión de bases de datos.

Los programas de bases de datos de Oracle permiten a las grandes empresas tener acceso y almacenar grandes cantidades de información, desde informes de ventas y listas

de clientes hasta reservas aéreas, en diferentes tipos de sistemas operativos. Oracle también fabrica herramientas para programadores de software, así como aplicaciones para gestión de información en servidores. La sede central de la compañía se encuentra en Redwood Shores, California.

Lawrence J. Ellison, Robert N. Miner y Edward Oates fundaron System Development Laboratories en 1977 con el objetivo de desarrollar programas de bases de datos para equipos informáticos. Ellison había trabajado en una compañía que desarrolló el primer mainframe compatible con los equipos IBM (International Business Machines Corporation). Ya en la nueva compañía, Ellison observó que IBM desarrollaba bases de datos llamadas bases de datos relacionales e intentó desarrollar sus propias versiones. System Development Laboratories derrotó a IBM en el mercado en 1979 con Oracle RDBMS (sistema de administración de base de datos relacional), el primer producto comercial que utilizó SQL (Structured Query Language, lenguaje de consulta estructurado). En la actualidad, todos los productos para bases de datos utilizan SQL como patrón.

En 1982 System Development Laboratories cambió su nombre a Oracle, en honor a su exitoso producto para bases de datos. Oracle se convirtió enseguida en el líder del sector de gestión de bases de datos y firmó contratos con algunas de las compañías más importantes de Estados Unidos y de todo el mundo. Durante la década de 1980 las ventas se doblaron año tras año, pasando de 2,5 millones de dólares estadounidenses en 1982 a 916 en 1990. En 1991 la compañía tuvo pérdidas por primera vez y se vio forzada a despedir a cientos de empleados y a reorganizar su sistema de administración. En 1992 remontó la crisis y volvió a ser rentable.

Posteriormente, Oracle comenzó a desarrollar hardware y software para controlar enormes bases de datos de vídeo, audio y texto, y a distribuir datos a través de redes globales. La compañía adquirió nCube Corporation, una empresa con sede en California, pionera en supercomputadoras, que utilizaba una técnica llamada procesamiento en paralelo. Esta compra permitió a Oracle combinar su software con hardware capaz de gestionar las enormes cantidades de datos necesarias para administrar bases de datos multimedia.

En 1996 Oracle comenzó a promover y desarrollar una plataforma de software para un equipo de bajo coste diseñado para acceder a Internet y funcionar de forma independiente al sistema operativo Windows de Microsoft Corporation. Esta iniciativa se enfrentó a la competencia de Sun Microsystems, Inc., IBM y otros fabricantes de equipos informáticos. Al año siguiente Oracle creó la división Network Computer Inc. (en la actualidad Liberate Technologies) para sacar al mercado su equipo de bajo costo.

Referencia: Microsoft ® Encarta ® 2008. © 1993-2007 Microsoft Corporation.

Page 102: Base d Datos

Autoevaluación 9. Completa la siguiente tabla.

Concepto Qué representa

Consulta

Es aquella que nos permite visualizar datos de una tabla a partir de un criterio de selección, con el fin de organizar la información para un reporte o para consultar rápidamente un conjunto de datos.

Ordenación Física Es el orden en que se almacenan los registros en el disco.

Ordenación Lógica

Es la creación de un índice por cualquier campo o campos que se use para consultar la base de datos proporcionando organizar los registros de ésta, empleando una serie de claves y punteros para almacenar los datos temporalmente, sin afectar la secuencia física de los registros especificada por el ordenamiento.

SQL Lenguaje de Consulta Estructurado

SELECT

Comando utilizado para consultar registros de la base de datos que satisfagan un criterio determinado

INSERT Anexa un registro al final de una tabla que contiene los valores de campo especificados.

UPDATE Actualiza registros de una tabla con nuevos valores , modificando los valores de los campos y registros especificados

Preguntas de Situación

10. Estas trabajando para una empresa que acaba de iniciar un proyecto de base

de datos. El jefe quiere “el tipo de base de datos más estándar“, de modo que

recomienda que la compañía evalúe software de administración de base de

datos

11. Estas analizando a un cliente de una compañía y pide información. Debido a

que cada cliente puede hacer varios pedidos, sabes que ésta es una relación

a muchos.

12. Está diseñando un tipo de registro que contiene información de cliente. Debe de usar un tipo de dato

para incluir información como teléfonos y números de Seguro Social porque, a pesar

de que estos datos parecen números, nunca los usará en operaciones matemáticas.

RELACIONAL

MUCHOS

CARACTER

Page 103: Base d Datos

13. Eres dueño de una tienda de artículos de equipo de cómputo y mantienes una base de datos de inventario

que, además almacena los nombres de los mayoristas a los que compra cada artículo. Los mayoristas

Hewlett Packard acaban de cambiar su nombre por Compaq S.A, de modo que debe actualizar su base de

datos. La mejor manera de hacerlo consiste en realizar una actualización , que cambia

cada caso Hewlett Packard por Compaq S.A.

14. Estás diseñando la estructura de la base de datos de una compañía de venta por catalogo. Reconoce que

existe una relación muchos a muchos entre un pedido y los artículos que incluye. Esa pista que debe separar

los datos en dos : Pedidos y DetallePedido.

15. Imagine que debe accesar a un catalogo de tarjetas de biblioteca empleando SQL. Escriba la consulta SQL que usaría para buscar libros de Luis Joyanes Aguilar en una tabla llamada Libros, donde los nombres de donde los nombres de autor están almacenados en un campo llamado NombreAutor.

16. Proporcione cinco ejemplos de datos que almacenaría en campos de datos numérico, lógico, fecha, imagen,

carácter, memo, currency.

Campo EJEMPLOS Numérico

Folio

Edad Cantidades artículos

Pagina(s) Semestre

Lógico Soltero/Casado Falso/Verdadero

Fecha Fecha de ingreso

Fecha de nacimiento

Fecha de egreso

Inicio de curso

Imagen Foto persona, alumno

Logo empresa Foto empresa Foto articulo Croquis

Carácter Teléfono Nombre Dirección Matricula

Memo Observaciones Comentarios Detalles Descripción del producto

Diagnósticos

Monetario Precio Egresos Ingresos IVA

UPDATE

TABLAS

SELECT NombreAutor; FROM LIBROS

WHERE NombreAutor = “Luis Joyanes Aguilar”

Page 104: Base d Datos

17. Contesta el siguiente crucigrama.

5

F

9 B

L

8 M R

O

3

C O

10 M A

7 N D O

2

L O G I

C

A

L

E U D W T

M M

4

I N D I C E S

O E F E

R Y

I -

C S

T

R

6 D

U A

1

C H A R A C T E R

T E

U

R

E

Horizontal Vertical

11. Tipo de datos que acepta cualquier texto. 12. Valor booleano verdadero o falso. 13. Es una instrucción específica, utilizable dentro de los

programas. 14. Permite ordenar los registros de acorde a la

información que necesitamos.

15. Número de signo flotante de precisión doble. 16. Almacena fechas con el formato mm/dd/aa

sin valores de hora. 17. Tipo de dato ya sea enteros o fracciones. 18. Modifica la estructura de una base de datos. 19. Comando de Visual FoxPro que permite

mostrar los registros de una tabla, al abrir la ventana Examinar de la tabla en uso o seleccionada.

20. Tipo de dato que almacenar bloques de

datos y el tamaño de éstos depende de la cantidad de datos que escriba en ellos y se almacenan en un archivo distinto con el mismo nombre que la tabla y la extensión .FPT

Page 105: Base d Datos

DESARROLLO

4.1 Manejo de funciones

Al finalizar el tema tendrás el conocimiento del uso de ciertos programas que tienen una finalidad específica, para utilizar la información de una base de datos.

Una función es una serie de instrucciones que realiza una tarea específica, y que podemos llamarla desde cualquier parte de nuestro programa. Esta compuesta de una serie de parámetros, los cuales son los datos que se procesaran para obtener un resultado cuando se mande a llamar a dicha función. Visual Fox Pro contiene una serie de funciones que te serán útiles para obtener ciertos datos, estas se dividen en funciones de tipo carácter, funciones de conversión de datos, funciones de fecha y hora, Funciones numéricas.

FUNCIONES DE TIPO CARACTER Función Descripción ALLTRIM ( ) Elimina los espacios en blanco iniciales y finales de la expresión de caracteres especificada

y devuelve la expresión recortada como una cadena de caracteres.

CTOD( ) Convierte una cadena de caracteres a tipo fecha

RTRIM( ) Devuelve la expresión de caracteres especificada con todos los espacios en blanco finales recortados.

LTRIM ( ) Devuelve la expresión de caracteres especificada después de eliminar los espacios en blanco iniciales.

DTOC( ) Convierte la expresión fecha a una cadena o expresión de tipo carácter.

FUNCIONES DE CONVERSIÓN DE DATOS

Función Descripción TTOC ( ) Convierte una expresión DateTime en un valor de tipo Character del formato especificado.

VAL( ) Convierte la expresión de caracteres a un valor numérico. CHR( ) Devuelve el carácter asociado al código ANSI numérico especificado.

TTOD ( ) Devuelve un valor de tipo Date a partir de una expresión de DateTime.

SYS ( ) Devuelve información del sistema de Microsoft Visual FoxPro.

Page 106: Base d Datos

FUNCIONES DE FECHA Y HORA Función Descripción DATE ( ) Devuelve la fecha actual del sistema, que está controlada por el sistema operativo, o crea un

valor Date compatible con el milenio.

DATETIME( ) Devuelve la fecha y la hora actuales como un valor DateTime o crea un valor DateTime compatible con el milenio.

CMONTH( ) Devuelve el nombre del mes a partir de una fecha dada o de una expresión de tipo DateTime.

DTOS ( ) Devuelve una cadena de caracteres de fecha con el formato AAAAMMDD a partir de una expresión de Date o de DateTime especificada.

TIME( ) Devuelve la hora actual del sistema en formato de 24 horas, en una cadena de 8 caracteres (HH:MM:SS).

FUNCIONES NUMÉRICAS

Función Descripción MAX ( ) Evalúa un conjunto de expresiones y devuelve la expresión con el valor máximo.

SIN( ) Devuelve el seno de un ángulo.

MIN( ) Evalúa un conjunto de expresiones y devuelve la expresión que tenga el valor mínimo.

COS ( ) Devuelve el coseno de una expresión numérica.

RTOD( ) Convierte radianes en grados.

Ejemplo de la función numérica SIN ( ) CLEAR ? SIN(0) && Resultado 0.00 ? SIN(PI( )/2) && Resultado 1.00 Ejemplo de la función de tipo fecha DATETIME( ) CLEAR SET CENTURY ON SET DATE TO AMERICAN ? DATETIME(1998, 02, 16, 12, 34, 56) && Resultado 02/16/1998 12:34:56 PM

Page 107: Base d Datos

Actividad 1 Realiza el código para obtener el valor máximo de cinco números.

Page 108: Base d Datos

4.2 Generador de Reportes

Al finalizar este tema podrás elaborar informes impresos utilizando la información que se encuentra guardada en la base de datos para que

sea más fácil la comprensión de dicha información

Un reporte es la información impresa resultado de una consulta, que se construye mediante la recolección de datos previamente guardados en la base de datos, un reporte puede contener texto, imágenes, líneas, cuadros calculados, funciones. En la mayoría de los SGBD existe un generador de reportes, el cual te ayudará a realizar un reporte de forma personalizada o por medio del asistente. Estructura General de un Reporte Un reporte necesita de ciertas características funcionales y estéticas para que se le pueda dar el uso adecuado y sirva a las necesidades de un usuario. Características funcionales:

Encabezado o titulo del reporte Número de página Fecha de elaboración Títulos en cada columna Agrupación de elementos relacionados entre si Totales o subtotales (en algunos casos)

Características estéticas:

Leerse de arriba hacia abajo Izquierda a derecha Combinación adecuada de colores

Creación de la Estructura Una vez que ya se tenga diseñado como va a verse nuestro reporte, ahora abriremos el administrador de proyectos de visual fox y elegiremos la pestaña Documents y la opción Reports, deberá ser una ventana como la siguiente:

Da un clic para crear un reporte nuevo

Page 109: Base d Datos

Como habíamos mencionado tendrás la posibilidad de crear un informe personalizado o con ayuda del asistente.

Seleccionaremos en este caso New Report y nos mostrará un formato en blanco en donde se creará la estructura de

l

reporte de forma personalizada, verás que esta compuesto por tres partes encabezado, cuerpo y pie de página

,

también nos mostrará la barra de controles de reportes la cual nos ayudará en el manejo de los objetos que contendrá

en reporte, en caso de que la barra de herramientas de reportes no aparezca la encontrarás en el menú View y Report

Controls Toolbar, una vez que aparezca esta ventana podras empezar a realizar tu reporte.

Agregar entorno de datos Coloca el nombre de cada elemento de la barra de controles de reportes.

Asistente Personalizado (Diseño en blanco)

Page 110: Base d Datos

Describe cual es el funcionamiento de cada una de las siguientes ventanas que se obtienen para generar un reporte utilizando el asistente.

Page 111: Base d Datos

Modificación de la estructura Para realizar algún cambio a un reporte debes ir al administrador de proyectos, seleccionar Documents, Reports y el reporte a modificar y dar clic en el botón Modify. A continuación aparecerá el formato del reporte y deberás guardar los cambios que realizaste.

Generación del reporte La generación del reporte se da cuando obtienes la impresión de este, es importe que tomes en cuenta el tipo y tamaño del papel que vas a utilizar, así como configuración de la impresora. Dibuja o Recorta y pega los botones de impresión y vista preliminar

Dar click

Page 112: Base d Datos

Investiga las siguientes cuestiones. ¿Cuáles son las sentencias en Visual fox Pro para crear, modificar y generar un reporte por medio de código? ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ¿Qué utilidad tiene la opción preparar página (Page Setup) y en que menú la encontramos? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ¿Para que utilizas los objetos que están en la barra de controles de reportes? _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Realiza con tu asesor un reporte con la base de datos Miscelánea que contenga los siguientes datos:

Clave del articulo Descripción Precio de compra Precio de venta Clave del proveedor Nombre del proveedor

Entrega tu reporte impreso a tu asesor. Realiza de forma individual un reporte que contenga los siguientes datos:

Número de venta Número de artículos Clave del articulo Descripción del articulo Subtotal

Entrega a tu asesor el archivo que generaste y el reporte impreso.

Page 113: Base d Datos

4.3 Generador de Pantallas

Al terminar el tema tendrás los conocimientos necesarios para poder crear pantallas en las cuales puedas introducir y manejar información de una

manera sencilla y rápida.

Es necesario la creación de pantallas o formularios para que el usuario tenga una interacción fácil con el sistema, es decir por medio de la pantalla pueda introducir y visualizar los datos necesarios de forma sencilla. Los formularios son objetos con propiedades, eventos y métodos que se pueden especificar desde el diseñador de formularios. En Visual Fox Pro tendremos la posibilidad de crear estos formularios por medio del administrador de proyectos, Seleccionaremos Documents y Form, a continuación dar clic en New, al igual que en los reportes podemos generar formularios personalizados o con la ayuda del asistente. A continuación aparecerá la siguiente pantalla en donde se empezará a crear el formulario que se desee. Otra forma de crear un formulario es con la instrucción CREATE FORM. Para crear el formulario será necesario que conozcamos los objetos que aparecerán en la barra de controles, que serán los que iremos insertando en la pantalla anterior.

Dar click

Page 114: Base d Datos

Investiga cuál es la función de los siguientes controles Control Descripción

Ahora que ya identificaste para que sirve cada control, para utilizarlos harás un clic en el objeto que desees insertar en tu formulario, cada objeto tiene ciertas características que conoceremos como propiedades. En el siguiente ejemplo se insertará un objeto Label y en la propiedad Caption se escribirá COLEGIO DE BACHILLERES DEL ESTADO DE QUERETARO. Para establecer el entorno de datos seguiremos los siguientes pasos:

1. En el menú Ver, elegir entorno de datos 2. En el cuadro Agregar tabla o vista, elija agregar 3. En el cuadro de dialogo Abrir elija la tabla que agregará al entorno de

datos. El cuadro de propiedades definirá el comportamiento de un formulario en tiempo de ejecución.

Page 115: Base d Datos

Completa la siguiente tabla con las características de las propiedades que se mencionan.

PROPIEDAD DESCRIPCIÓN OPCIÓN PREDETERMINADA

name

Backcolor Determina el color del formulario

BorderStyle 3

Caption Form1

Closable Controla si se puede cerrar el formulario haciendo doble clic en el cuadro de cierre

Movable

ScaleMode

Scrollbars Controla el tipo de barras de desplazamiento dentro del formulario

Modificación de una pantalla. A veces será necesario editar el formulario para realizar alguna modificación, esto lo podremos realizar desde el Administrador de proyectos, seleccionaremos Documents, Form y el formulario a modificar y daremos un clic en el botón Modify. Uso de pantalla

Para poder ejecutar el formulario lo haremos mediante el icono o con la sentencia DO FORM <<Nombre del formulario>> escrito en la ventana de comando o dentro de un programa.

Dar click

Page 116: Base d Datos

4.4 Bases de datos distribuidas Al terminar este tema podrás crear conexiones entre varias bases de datos para ir manejando la información de manera simultánea.

Aunque existen diferentes grados de distribución (Ejemplo, una base de datos centralizada con consulta distribuida, datos distribuidos en diferentes máquinas, etc.), Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder a los datos en cualquier parte de la red exactamente como si los datos estuvieran en tiempo real. Una base de datos distribuida tiene algunas ventajas, como la disponibilidad, al no depender de un solo sitio, si el sitio no está disponible, otro sitio cualquiera, que pueda responder a la solicitud de una transacción, puede reemplazar el sitio que se encuentra fuera de servicio; Puede tener mejor desempeño, ya que los sitios tendrán una porción de datos (la que les pertenece) y las consultas pueden apoyarse en que como hay varios sitios (computadores y bases de datos, es decir instancias), puede en algunos casos ser más eficiente al usar las ventajas del paralelismo (cada sitio procesa en paralelo la consulta y el resultado final podría entregarse más rápido)

En un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:

Hay múltiples computadores, llamados sitios o nodos. Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones para

transmitir datos y órdenes entre los sitios.

Las Doce Reglas de las Bases de Datos Distribuidas:

Principio fundamental: Para el usuario un sistema distribuido debe ser igual que uno centralizado.

Autonomía Local : Los sitios distribuidos deben ser autónomos, es decir que todas las operaciones en un sitio dado se controlan en ese sitio.

No dependencia de un sitio central : No debe de haber dependencia de un sitio central para obtener un servicio.

Operación Continua : Nunca debería apagarse para que se pueda realizar alguna función, como añadir un nuevo sitio.

Independencia con respecto a la localización : No debe de ser necesario que los usuarios sepan dónde están almacenados físicamente los datos, sino que más el usuario lo debe de ver como si solo existiera un sitio local

Independencia con respecto a la fragmentación : La fragmentación es deseable por razones de desempeño, los datos, pueden almacenarse en la localidad donde se utilizan con mayor frecuencia de manera que la mayor parte de las operaciones sean sólo locales y se reduzca el tráfico en la red.

Page 117: Base d Datos

Independencia de réplica : Si una relación dada (es decir, un fragmento dado de una relación ) se puede presentar en el nivel físico mediante varias copias almacenadas o réplicas, en muchos sitios distintos.

Procesamiento Distribuido de Consultas : El objetivo es convertir transacciones de usuario en instrucciones para manipulación de datos, y así reducir el trafico en la red implica que el proceso mismo de optimización de consultas debe ser distribuido.

Manejo Distribuido de Transacciones : Tiene dos aspectos principales, el control de recuperación y el control de concurrencia, cada uno de los cuales requiere un tratamiento más amplio en el ambiente distribuido.

Independencia con respecto al equipo : El SGBDD debe ser ejecutable en diferentes plataformas hardware . Independencia con respecto al Sistema Operativo: El sistema debe ser ejecutable varios diferentes SO. Independencia con respecto a la red : El sistema debe poder ejecutarse en diferentes redes. Todos los usuarios acceden a la BDD a través de un esquema global en forma transparente al usuario. Debe

ser posible ejecutar diferentes SGBDD locales que utilicen distintos modelos de datos.

Ejemplo 1.1 Considere un banco que tiene tres sucursales, en cada sucursal, un computador controla las terminales de la misma y el sistema de cuentas. Cada computador con su sistema de cuentas local en cada sucursal constituye un "sitio" de la BDD; las computadoras están conectadas por la red. Durante las operaciones normales, las aplicaciones en las terminales de la sucursal necesitan solo accesar la BD de la misma. Como solo acceden a la misma red local, se les llaman aplicaciones locales.

Desde el punto de vista tecnológico, aparentemente lo importante es la existencia de algunas transacciones que acceden información en más de una sucursal. Éstas transacciones son llamadas transacciones globales o transacciones distribuidas. La existencia de transacciones globales será considerada como una característica que nos ayude a discriminar entre las BDD y un conjunto de base de datos locales.

Una típica transacción global sería una transferencia de fondos de una sucursal a otra. Esta aplicación requiere de actualizar datos en dos diferentes sucursales y asegurarse de la real actualización en ambos sitios o en ninguno. Asegurar el buen funcionamiento de aplicaciones globales es una tarea difícil. En el ejemplo 1.1 las computadoras estaban geográficamente en diferentes puntos; también, BDD pueden ser construidas en una red local.

Este último tema hace referencia a las siguientes páginas http://tecnomaestros.awardspace.com/bases_datos_distribuidas.php http://html.rincondelvago.com/bases-de-datos-distribuidas.html