Você está na página 1de 117

INDICE

Introduccin a las Bases de Datos

Bases de Datos Relacionales

37

Elaboracin y Manejo de Bases de Datos

62

Caractersticas avanzadas de las Bases de Datos

106

INTRODUCCIN A LAS BASES DE DATOS Objetivo de la unidad. Al finalizar esta unidad podrs explicar por qu son importantes las bases de datos tras el anlisis de sus objetivos, tipos de usuarios y relaciones; esto comprende las bases de lo que vers en las unidades siguientes.

INTRODUCCIN
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 haras?; iras directamente a un libro para investigar?, iras con algn profesor o pariente tuyo para preguntarle?, entraras a Google para investigar todo lo relacionado con esa frase?, veras una pelcula que hiciera referencia al personaje que dijo la frase? o compraras una lmina en la papelera para investigar? En realidad hay muchas ms formas de investigar la frase y al personaje, por tanto la lmina de la papelera, los libros, las revistas y el internet podran ser considerados bases de datos. Las bases de datos nos permiten conocer cierta informacin 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 informacin que nos interesa. Es decir, podemos pensar en varias palabras, por ejemplo: freno, ruido, azul, camin y aire. Estas palabras son consideradas los datos. Cuando juntamos estos mismos datos o palabras creamos entonces la informacin, pero ten cuidado, tienes que ordenar bien los datos para que comprendas la informacin: Datos freno, ruido, azul, camin y aire. Datos desordenados El freno hace ruido azul en el camin de aire. Datos ordenados El camin azul de frenos de aire hace ruido.

Ahora bien, el lugar donde se encuentran los datos ordenados (Informacin), se le llama base de datos y se encuentran dentro de una tablas que se dividen en campos y registros. En esta unidad comprenders mejor los conceptos: dato, informacin, base de datos, tablas, campos, registros y algunos otros ms 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 bsicos de las bases de datos podrs describir los componentes fundamentales de los sistemas de computadora que manejan las bases de datos informticas, tanto en su nivel fsico como lgico, el tipo de lenguaje que se utiliza con ellas y las interfaces. Los usuarios de las bases de datos tambin tienen que ser estudiados, pues no todos son iguales. Este tema ser el tercero por ver. Despus podrs distinguir los conjuntos de datos, mediante el anlisis de las relaciones que haya entre ellos, pues como te acabas de dar cuenta, los datos se pueden relacionar entre s para crear la informacin.

Por ltimo tendrs que realizar las actividades que se te pidan para analizar los tipos de modelos de datos y estudiar sus caractersticas. Ahora te mostramos un diagrama que explica cmo estudiaremos lo anterior:

Como podrs ver, hay muchas cosas por hacer, as que no hay que entretenerse ms 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 pondrn su mayor esfuerzo para trabajar en esta unidad, as que a continuacin se les enumeran algunos recursos ms con los que pueden apoyarse:

Bibliografa: Silberschats, Abraham. Fundamentos de Bases de Datos. Mxico, McGraw Hill Interamericana. Frreeze, Wayne. SQL manual de referencia del programador. Mxico, Thompson Paraninfo, S.A.. Groff, J. R. & Weinberg, P. N. SQL manual de referencia. Mxico, McGraw Hill. Garca Rincn, Luis F. Bases de datos: Un enfoque prctico. Mxico, Editorial Trillas. Prez, Cesar. Domine Microsoft Access 2003 y 2000. Mxico, Alfaomega RA-MA.

Sitios Web: http://www.geocities.com/hugocd1275

DESARROLLO
1.1 Bases de Datos. Objetivo del tema. Al finalizar las actividades podrs explicar qu tan importantes son las bases de datos, describir sus objetivos y sealar los problemas que ocurren por el manejo de la informacin y los datos.

Cuando algunos de tus maestros te solicita una investigacin qu es lo que haces?, dnde investigas normalmente? El lugar de donde sacas la informacin de tu investigacin es un sitio donde se encuentra organizado de tal forma que lo puedas utilizar, ya sea un libro, una revista, una monografa, un diccionario o del mismo internet. Estos contenedores son la base de tu informacin, es decir son la base de datos fuente de tu trabajo. La base de datos es un concepto integrado a la informtica para permitir a las personas manipular grandes cantidades de informacin, ya sea correspondientes a su trabajo, a su hogar, sus hobbies o de prcticamente cualquier cosa y as poder consultar dicha informacin de forma rpida y segura en todo momento. Es decir, las bases de datos permiten a las personas que manejan algn sistema de informacin, el almacenar, consultar, eliminar y actualizar la informacin que ah se encuentra. Las bases de datos computacionales dependen de sistemas que los controlen, que pueden ser diseados especficamente para una actividad en especial, como un control de nminas o de inventarios. Al momento que vayas realizando una a una las actividades siguientes comprenders la importancia de las bases de datos y los elementos que las conforman, as mismo podrs juzgar el uso que se le puede dar a la informacin almacenada. As que manos a la obra! 1.1.1 Importancia de las Bases de Datos y de los Sistemas de Informacin Los sistemas de bases de datos comenzaron a aparecer durante la dcada de 1960, sufriendo grandes cambios en los siguientes aos transformando sus conceptos y tecnologas. Para comprender de mejor manera el funcionamiento, necesidad y componentes de una base de datos, deberemos empezar por conocer los conceptos bsicos que estars utilizando a lo largo del curso. Es importante destacar que entre ms pronto te familiarices con los conceptos bsicos de las bases de datos y te relaciones con ellos, ser ms fcil comprender las dems unidades. Trabaja de la mejor manera posible las siguientes actividades, incluye calidad en tus trabajos.

1. Lee las siguientes preguntas y observa atentamente el video Base de Datos del material de EMSaD, despus contesta de forma breve y concisa. El asesor verificar tus respuestas de forma grupal. Por qu se puede considerar al Archivo General de la Nacin como una Base de Datos?

Qu es un registro?

Qu es un campo?

Qu es un tipo de dato?

Cules son los tipos de datos ms 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?

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 escrbanlos en los espacios destinados. Despus, 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 bibliografa dada, libros especializados, la Enciclopedia Encarta y en Internet la definicin de Base de Datos. Asegrate de obtener definiciones de al menos cuatro fuentes distintas. Fuente Definicin de Base de Datos

4. Trabajen en pares y dibujen en el espacio siguiente un cuadro sinptico 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. No. 1 2 3 4 Caractersticas Se entreg el trabajo con limpieza y en la fecha establecida. El trabajo contiene todos los conceptos bsicos considerados en el temario. El alumno escribi claramente. El trabajo no cuenta con faltas de ortografa. Meta Total: Observaciones Pts. 1 6 1 2 10 Puntos Obtenidos Cumple SI NO

Firma del Asesor

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 justificacin de su estudio. Ahora que tienes una idea ms clara de las bases de datos, es buen momento para analizar la siguiente definicin: Una Base de Datos es bsicamente un sistema computarizado para guardar registros; es decir, es un sistema computarizado cuya finalidad general es almacenar informacin y permitir a los usuarios recuperar y actualizar esa informacin 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 tambin un usuario podr crear formularios para poder introducir, borrar, buscar o modificar los datos que maneje. Si bien un dato es la mnima expresin de la informacin, la informacin es una coleccin de datos estructurados y organizados de forma tal que nos entrega un conocimiento. Al usuario dueo de la base de datos es llamado DBA, Administrador de la Base de Datos, cuyos privilegios de acceso son los de ms alto rango. As como los DBAs, tambin existen otros usuarios que manipulan de forma distinta las bases de datos, pero stos sern estudiados ms adelante. Dentro de las actividades de los DBAs se encuentran: Definir el esquema de la base de datos. Como primer punto se disear un modelo de la base de datos. Definir la estructura de almacenamiento y el acceso. El DBA deber configurar el conjunto de tablas que almacenarn la informacin. Modificar el esquema y la organizacin fsica. Se refiere a los cambios que pueda surgir en la base de datos, ya sea una migracin, eliminacin 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 informacin 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 justificacin del uso de un SGBD van directamente relacionadas con la informacin y los datos. Informacin y Datos, dos conceptos que bien podra tacharse de sinnimos, pero que sin embargo son diferentes en sus relaciones. 6. Investiga en la bibliografa dada, libros especializados, la Enciclopedia Encarta y/o en Internet la definicin de Dato e Informacin y llena el siguiente cuadro comparativo. Asegrate de obtener definiciones de varias fuentes.

Dato

Informacin

Definicin

Caractersticas

Diferencias

1.1.3 Redundancia e Inconsistencia de Datos Existen dos conceptos que una base de datos bien diseada no debe compartir y otros dos que s debera compartir. Las primeras dos son: Redundancia. Se dice que una base de datos es redundante cuando se pueden conseguir en una consulta ms de un registro de datos idnticos. Es decir, la misma informacin se encuentra ms de una sola vez dentro de la base de datos. Se pudiera pensar que si se tiene la misma informacin ms de una vez permitira a la base de datos trabajar de forma ms segura ante cambios, sin embargo es precisamente en las actualizaciones donde ocurren con ms frecuencia los errores por redundancia, ya que si se llegara a actualizar un solo registro y los dems que eran idnticos a la informacin original no son tocados, entonces se provocara un problema ms grave, el de inconsistencia. Otra desventaja de la redundancia es la acumulacin de mayor cantidad de informacin que afecta directamente al dispositivo de almacenamiento de la base de datos, pues entre ms informacin, ms espacio utilizado en disco.

Inconsistencia. La inconsistencia se refiere a contar con informacin incompleta o incorrecta. Por ejemplo, si alguien modifica de forma errnea la base de datos de un cliente de la empresa donde se especifica la direccin del mismo, entonces cuando se consulte dicho cliente se mostrar la direccin errnea y al momento de quererlo localizar sera prcticamente imposible. Para evitar la inconsistencia se debe evitar en primera instancia la redundancia y se debern establecer privilegios de acceso a los usuarios de la base de 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 informacin a almacenar; es decir, si se va a registrar un dato numrico como la edad de una persona, entonces el espacio dentro de la base de datos deber ser de tipo numrico y deber contener un nmero, 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 anlisis previo al diseo de la base de datos.

Seguridad. Nos referimos al tipo de acceso, autorizacin y privilegios con los que contar la base de datos para con los usuarios de la misma. Por ejemplo, el cliente de tarjeta de dbito de un banco accede a ciertas opciones del cajero automtico que son distintas a las del gerente de la misma sucursal del banco donde se encuentra el cajero. O bien, un supervisor podr ver informacin 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 mximo 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.

Base de Datos Redundante e Inconsistente

Situacin 1:

Base de Datos con Integridad y Seguridad en la Informacin Situacin 1:

Ventajas y Desventajas:

Ventajas y Desventajas:

Situacin 2:

Situacin 2:

Ventajas y Desventajas:

Ventajas y Desventajas:

1.2 Sistemas de Manejo de Bases de Datos. Objetivo del tema. Una vez concluido este tema podrs describir los componentes fundamentales de los sistemas de manejo de bases de datos de acuerdo a sus elementos fsicos y lgicos, los lenguajes y las interfaces. En esta unidad comenzar tu trabajo de involucramiento con las bases de datos, conociendo sus componentes generales fsicos y lgicos. Tambin conocers 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 interactan con ellos. Empecemos por conocer las razones por las cuales existen los Sistemas de Manejo de Bases de Datos, segn el libro Fundamentos de Bases de Datos de Henry F. Korth y Abraham Silberschatz. Objetivos de los sistemas de bases de datos. Considrese la parte de una empresa bancaria que conserva la informacin 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. Adems 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 organizacin bancaria. Cada vez que se necesita, se agregan nuevos programas de aplicaciones al sistema. Por ejemplo, supngase que una nueva ley del gobierno permite a la institucin de ahorro ofrecer cuentas de cheques. Como resultado, se crean nuevos archivos permanentes que contienen toda la informacin 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 ms archivos y ms 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 estn escritos en varios lenguajes de programacin. El ambiente que se acaba de describir es un Sistema de Procesamiento de Archivos caracterstico, 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 mltiples Problemas de seguridad Problemas de integridad Estos problemas, entre otros, han fomentado el desarrollo de los Sistemas de Manejo de Bases de Datos.

1.2.1 Organizacin Fsica y Lgica Los Sistemas de Manejo de Bases de Datos o Sistemas de Administracin de Bases de Datos (DBMS), o tambin 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 podra decir que la base de datos es el recurso que contiene la organizacin de la informacin y el SGBD es el medio para manipularla. En otras palabras el SGBD es un software o conjunto de programas de aplicacin general que funciona a partir de utilizar un Diccionario de Datos o Catlogo. El conjunto de informacin almacenado en cierto momento en la base de datos se llama Instancia de la Base de Datos. Y al diseo general de la base de datos se llama Estructura de la Base de Datos. Segn el Dr. C. J. Date, como lo marca en su libro Introduccin 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 trminos generales: El nivel interno (nivel fsico), es el que est ms cerca del almacenamiento fsico; es decir, es el que tiene que ver con la forma en que los datos estn almacenados fsicamente. El nivel conceptual (nivel lgico de la comunidad, o bien, solo nivel lgico), es un nivel de indireccin con los otros dos. El nivel externo (nivel lgico de usuario, o nivel de visin), es el ms prximo 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 percepcin de una comunidad de usuarios.

El nivel fsico es el nivel ms bajo de abstraccin, en el que se describe cmo se almacenan los datos, es decir, aqu se detallan las estructuras de datos. En el nivel conceptual es el siguiente nivel ms alto de abstraccin, en el que se describe cules son los datos reales que estn almacenados en la base de datos y qu relaciones existen entre ellos. En cambio, el nivel de visin es el nivel de abstraccin ms 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 informacin almacenada. Como se podra pensar, la mayora de las personas solo desearn consultar pequeas secciones de toda nuestra base de datos. Para poder visualizar dichas consultas los usuarios hacen uso de interfaces. Las ms usadas por los DBMS se encuentran a continuacin:

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 lgica de lo que necesita, podran haber errores durante su ejecucin. Esta opcin es muy utilizada por DBAs.

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

Interfaz grfica. Las opciones de las transacciones estn ubicadas en imgenes 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. Adems, los usuarios podrn compartir, mediante distintas interfaces, la misma base de datos, siempre y cuando cumplan con los privilegios que les otorgue el DBA.

8. Crea un mapa mental o cuadro sinptico, donde sintetices el tema visto. Puedes investigar al respecto para que tu trabajo sea ms completo.

Una base de datos es una coleccin de archivos interrelacionados creado por un SGBD, donde la coleccin comprende objetos, ya sean tablas, formularios, informes, consultas y guiones (scripts). La funcin 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 lgica y fsicamente los datos. Deber existir una independencia de los datos de forma lgica y fsica. 3. Administrar mediante procesos la base de datos, facilitando el acceso a los datos segn las solicitudes de los usuarios. A este enfoque se le llama concurrencia. 4. Obstaculizar, a usuarios no deseados, el acceso a la informacin en cualquier nivel, as como registrar dicho acceso. A este enfoque se le llama seguridad. 5. Permitir el respaldo y la recuperacin de los datos. 6. El SGBD deber permitir en todo momento las normas establecidas, al mismo tiempo que ofrecer opciones de auditora de datos. Las estructuras de datos que forman parte del sistema fsico son: Los archivos de datos (o ficheros de datos). Es el lugar donde se almacenar la informacin de la base de datos. El diccionario de datos (o catlogo). Contienen los metadatos, es decir, datos acerca de los datos, que sealan la estructura como sern almacenados. Los ndices. Indica el orden de los datos. Permiten tener un acceso rpido a elementos de informacin que contienen valores determinados.

La organizacin lgica de los datos depende en realidad del diseador de la base de datos, pues es l quien determinar la informacin que se almacenar y su organizacin. Los modelos de datos que el usuario puede considerar son: Modelos lgicos basados en objetos.c El modelo entidad-relacin. (E-R) El modelo binario. El modelo semntico de datos. El modelo infolgico. Modelos lgicos basados en registros.c Modelo relacional. Modelo de red. Modelo jerrquico. Modelos fsicos de los datos.c El modelo unificador. La memoria de cuadros. Los sealados son solo los ms representativos, pues a lo largo de la historia de las bases de datos han ido evolucionando constantemente. Cabe sealar que a lo largo del curso solo utilizaremos el Modelo E-R y el Modelo Relacional, que son los ms sencillos y con mayor nmero de simpatizantes diseadores de bases de datos. Ahora que conoces los niveles de abstraccin, las estructuras de datos y los modelos de datos, conoceremos un concepto nuevo: Independencia de Datos. La capacidad de modificar una definicin de esquema en un nivel de abstraccin de la base de datos sin afectar la definicin del esquema en el nivel inmediato superior, se llama independencia de datos. Para Korth y Silberschatz existen dos niveles de dicha independencia: Independencia fsica. Es la capacidad de modificar el esquema fsico sin obligar a que se vuelvan a escribir los programas de aplicaciones. En algunas ocasiones son necesarias modificaciones en el nivel fsico para mejorar el rendimiento. Independencia lgica. 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 lgica de la base de datos. La independencia lgica de los datos es ms difcil de lograr que la independencia fsica, ya que los programas de aplicaciones dependen en alto grado de la estructura lgica de los datos a los que tienen acceso. 9. Lee las siguientes preguntas y observa atentamente el video Organizacin y Funcionamiento de la Base de Datos del material de EMSaD, despus contesta de forma breve y concisa. El asesor verificar tus respuestas de forma grupal. Qu es un archivo informtico?

Dnde se puede almacenar un archivo informtico?

Cmo se compone un archivo informtico? En qu se dividen los registros?

De qu tipo pueden ser los campos?

Qu tipos de archivos existen de acuerdo a su forma de acceso?

Cmo se realiza el acceso secuencial a un archivo?

Cmo se realiza el acceso directo a un archivo?

Cules son las cuatro operaciones bsicas que se pueden realizar en los archivos?

Cul es la diferencia entre una alta, una baja, un cambio y una consulta en un archivo?

Dibuja el diagrama de flujo de informacin y explica cada estado de informacin.

Menciona las ventajas importantes de usar una base de datos.

Explica el modelo jerrquico 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 investigacin sobre los manejadores de bases de datos ms comunes en la actualidad. El trabajo deber contener, para cada manejador, lo siguiente: a. Nombre del SGBD b. Versin c. Logotipo (Imagen) d. Fabricante e. Sitio del fabricante f. Distribucin (Dnde se consigue el software?) g. Costo Total (Desglosado: Obtencin o descarga y licenciamiento o activacin) h. Tipo de Interfaz i. Tipo de usuarios j. Descripcin del SGBD El asesor calificar el trabajo en base a la lista de cotejo siguiente: No. 1 2 3 4 6 7 Caractersticas Se entreg el trabajo con limpieza y en la fecha establecida. El trabajo cuenta con informacin de al menos cinco SGBDs distintos. Cada SGBD investigado cuenta con la informacin solicitada. La informacin solicitada es real. El alumno escribi claramente. (Sintctica y Semntica) El trabajo no cuenta con faltas de ortografa. Meta Total: Pts. 1 3 2 2 1 1 10 Cumple SI NO

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 diseado 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 ms comunes: las consultas, las modificaciones, actualizaciones y borrados de datos. Para esto el SGBD est compuesto por: DDL: Lenguaje de Definicin de Datos, DML: Lenguaje de Manipulacin de Datos, y DCL: Lenguaje de Control de Datos. De los cuales se desprenden: SQL: Lenguaje Estndar de Consulta, y los Lenguajes de Programacin El DDL es proporcionado por el DBMS para que los usuarios definan las estructuras que almacenarn los datos. El DML permite llevar a cabo las tareas de consulta o manipulacin 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 definicin, manipulacin y el control de los datos, por ello la mayora de los SGBDs trabajan todo como un mismo lenguaje para programar sus actividades. 11. Realiza una investigacin sobre el SQL y contesta las siguientes preguntas: Qu significa SQL?

Con qu comando SQL podemos crear una base da datos y una tabla?

Cules son los tres comandos SQL principales para realizar una consulta?

Cules comandos SQL permiten insertar, eliminar y modificar datos de una tabla?

12. Realiza una investigacin sobre los lenguajes de programacin ms comunes en la actualidad. El trabajo deber contener, para cada lenguaje, lo siguiente: a. Nombre del lenguaje b. Versin c. Logotipo (Imagen) d. Fabricante e. Sitio del fabricante f. Tipo de lenguaje g. Tipo de Interfaz h. Descripcin del lenguaje El asesor calificar el trabajo en base a la lista de cotejo siguiente: No. 1 2 3 4 6 7 Caractersticas Se entreg el trabajo con limpieza y en la fecha establecida. El trabajo cuenta con informacin de al menos cinco lenguajes distintos. Cada lenguaje investigado cuenta con la informacin solicitada. La informacin entregada es real. El alumno escribi claramente. (Sintctica y Semntica) El trabajo no cuenta con faltas de ortografa. Meta Total: Observaciones Pts. 1 3 2 2 1 1 10 Puntos Obtenidos Cumple SI NO

Firma del Asesor

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

1.3 Usuarios de las Bases de Datos. Objetivo del tema. Con este tema obtendrs herramientas que te facilitarn la identificacin 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 algn tipo de contacto con la base de datos. Dependiendo de las actividades que realicen es su clasificacin, adems de que no todos los usuarios trabajan los mismos niveles de la base de datos. En esta unidad obtendrs los conocimientos bsicos 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 algn 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 estn capacitados en manipular el SGBD por medio de procedimientos complejos. Los segundos forman el grueso de la poblacin de los usuarios finales, realizando operaciones o transacciones de uso comn. Sin embargo, para su estudio se considera una clasificacin ms 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 interactan con el sistema escribiendo sus consultas en un lenguaje de consulta de la base de datos. Usuarios ingenuos. Son usuarios poco complejos que interactan 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 categoras.): Diseadores y desarrolladores. Son las personas encargadas de trabajar la fase de diseo 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 computacin que interactan con el sistema mediante llamadas de DML, las cuales estn 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.

Capturistas. Estos usuarios hacen el vaciado de la informacin a la base de datos, adems dan el mantenimiento a la informacin mediante transacciones: altas, bajas y modificaciones. Dentro de los usuarios ingenuos se encuentran: Espordicos. Son personas poco familiarizadas con la base de datos y que solo la utilizan para visualizar pequeas porciones de la informacin basndose en criterios de filtrado y consulta. Autnomos. Utilizan bases de datos personalizadas de fcil uso, cuyo ambiente es de tipo grfico muy amigable, creado por cualquier lenguaje de programacin. Ahora que conocemos a los tipos de usuarios que existen, te presentamos la estructura del sistema, para que veas su relacin todos los elementos que componen la base de datos.

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

Horizontal: 1) Michael es el ingeniero en sistemas de la compaa, y es el encargado de proporcionar a los dems usuarios de la compaa, 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 produccin y ventas de la compaa, y cada semana solicita a su asistente le entregue un reporte de produccin 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 Nlida, tiene acceso a la base de datos de la compaa de forma regular, y debido a su excesiva carga de trabajo, se le desarroll un ambiente grfico de fcil manejo. La contadora es un usuario ... 4) Bryan tiene pocos conocimientos en informtica, por lo que solo entra al sistema de base de datos de la compaa 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 consistira en dar de alta todos los catlogos 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 compaa para realizar el anlisis y diseo de la base de datos que se maneja. Por lo que, durante el diseo entrevist a los dems empleados para cubrir sus demandas. Qu tipo de usuario es el ingeniero Hugo?

14. Segn el ejercicio anterior, seala junto del nombre del empleado de la compaa 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

1.4 Relaciones entre datos. Objetivo del tema. Dentro de un conjunto de datos, podrs distinguir las relaciones entre ellos para poder trabajarlos en un modelo conceptual.

Parte importante en el diseo de una base de datos es determinar las relaciones entre los datos. Una relacin la podemos definir como una asociacin dada por dos elementos. Sin ms prembulos 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 relacin que llamaremos R.

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

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

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

Si todos los elementos del conjunto A tienen relacin con todos los elementos del conjunto B y viceversa, entonces la relacin 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: Relacin 1 a 1 Relacin 1 a varios Relacin varios a 1 Relacin varios a varios Estas relaciones son utilizadas en los modelos lgicos basados en objetos, en especial, en el Modelo EntidadRelacin (o Modelo E-R).

Para llevar a cabo un Modelo E-R es necesario hacer uso de cuatro sencillos smbolos. El rectngulo, que nos servir para identificar la entidad que estamos trabajando, o sea el objeto de estudio (no necesariamente fsico) 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 sealar los atributos o caractersticas del objeto, o sea las categoras en las que dividiremos la informacin de cada una de las entidades. Al final, estas sern los campos de la tabla. Cuando el atributo es un atributo clave el texto dentro de l se subraya. Ms adelante, estos atributos clave se convertirn en llaves primarias de la tabla. El tercer smbolo es el rombo, ser el smbolo para sealar la relacin entre las entidades, mismo donde se sealar el tipo de relacin que existe entre los datos de dichas entidades. Esta misma relacin deber ser pasada al SGBD al momento de crear la base de datos.

Por ltimo tenemos las lneas, que nos permitirn unir los atributos a las entidades y stas a las relaciones. El modelo E-R no es ms que una herramienta de diseo de la base de datos. Es muy utilizado este diseo en las bases de datos actuales pues fcilmente se pueden identificar los datos que se necesitan almacenar y la relacin que existe entre ellos. Tomemos los siguientes ejemplos para comprender mejor al modelo E-R. Ejemplo 1: Relacin varios a varios de las entidades Libro y Autor.

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

La relacin 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 adems 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 debera existir una entidad que contenga de forma particular dichos datos, por ejemplo la entidad Materia, que puede tener como atributos Nombre de la Materia, Calificacin, Faltas. Ejemplo 3. Relacin uno a varios de las entidades Saln y Alumno.

La relacin para este ejemplo se puede explicar diciendo: Un saln es ocupado por varios estudiantes a la vez y un estudiante solo puede estar en un saln a la vez. Por supuesto, al poderse crear la relacin 1 a n, podemos obtener la relacin n a 1 invirtiendo el orden de las entidades. Ahora compara las explicaciones de los ejemplos con las reglas de relacin R dadas al inicio del tema con los conjuntos A y B. Pudiste reconocer las relaciones fcilmente? En el diseo 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 informacin 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 diseo, pero al asignar ms entidades el diseo se torna ms complejo e interesante, recordando que no necesariamente todas las entidades del diseo tienen algn tipo de relacin con las otras. Para concluir, cabe mencionar que el Modelo E-R es tan prctico que incluso se puede utilizar como base en el diseo de bases de datos orientadas a objetos, o bien, para estudiar el diseo a la migracin a la base de datos orientada a objetos, aunque en realidad el modelo propio sera el Modelo Orientado a Objetos. Ahora no queda ms que practiques por tu cuenta para obtener la destreza necesaria para crear tus propios Modelos E-R y convertirlos despus en bases de datos estables. 15. Realiza una investigacin y resumen sobre el diseo del modelo E-R. El trabajo deber contener, para cada manejador, lo siguiente: a. Definicin del Modelo E-R. b. Smbolos utilizados (hacer la diferencia entre atributo y atributo clave). c. Pasos a seguir para realizar el diseo del Modelo E-R. El asesor calificar el trabajo en base a la lista de cotejo siguiente:

No. 1 2 4 6 7

Caractersticas Se entreg el trabajo con limpieza y en la fecha establecida. El trabajo cuenta con informacin solicitada. La informacin solicitada es verdica. El alumno escribi claramente. (Sintctica y Semntica) El trabajo no cuenta con faltas de ortografa. Meta Total: Observaciones

Pts. 1 4 3 1 1 10

Cumple SI NO

Puntos Obtenidos

Firma del Asesor

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

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

18. Dibuja un modelo E-R para las entidades: Equipo, Jugador y Estadsticas_del_Jugador. No olvides determinar el tipo de relacin existente.

19. En parejas o tros discutan para obtener al menos un ejemplo ms de cada tipo de relacin. Comprtanlas con el grupo justificando sus conclusiones. El asesor fungir como moderador.

1.5 Tipos de Modelos de Datos. Objetivo del tema. En este tema analizars los modelos de datos de acuerdo a sus caractersticas.

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 introduccin sobre el uso de las bases de datos, dndote las herramientas necesarias para tu curso de bases de datos. Iniciaste con los conceptos bsicos, 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 ms que seguir adelante y continuar con el mejor de tus esfuerzos para adquirir los conocimientos de la materia. En esta unidad te presentaremos tericamente los tipos de modelos de datos ms 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 organizacin lgica de los datos depende del diseador, y es precisamente el diseador quien determinar el modelo a utilizar. Los modelos de datos ms representativos se describen a continuacin como un fragmento del libro Fundamentos de bases de datos de Korth y Silberschatz. Modelos de datos (Modelos lgicos 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 grficas arbitrarias.

Modelo Jerrquico. 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 jerrquico difiere del de red en que los registros estn organizados como conjuntos de rboles en vez de grficas arbitrarias. De ah que tambin 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 ms sencillo de disear, incluso es el utilizado en la mayora de los SGBDs de ambiente grfico comerciales en la actualidad.

Como se ha venido explicando, siempre existen nuevas tendencias en el modelado de datos, una de las de mayor difusin 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 caractersticas y el comportamiento de los objetos que poblarn 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 trmino 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.

20. Trabajen en pares y dibujen en el espacio siguiente un cuadro sinptico o mapa de conceptos acerca de los modelos de datos.

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

Autoevaluacin
1. Qu es una base de datos?

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

3. Dibuja encuadro sinptico donde expliques la clasificacin de los distintos tipos de usuarios.

4. Realiza un modelo E-R entre automvil y dueo.

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 relacin entonces deja en blanco su inciso. a) El archivo est constituido por b) Son los responsables de la base de datos. c) Esta relacin se explica cmo: 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 numricos, alfabticos o alfanumricos. e) Modelo que se caracteriza por organizar la informacin por niveles. Tambin se le conoce como modelo de rbol. f) Se le llama as al sistema que permite manipular las bases de datos. ( ( ( ( ( ( ( ( ( ( ( ) ) ) ) ) ) ) ) ) ) ) Relacional 1an Archivos SGBD Campos nan Tablas Modelo Jerrquico Registros Datos DBA

INTRODUCCIN U N I D A D

BASE DE DATOS RELACIONALES Objetivo de la unidad: Identificar la estructura bsica de las bases de datos relacionales, la forma de expresarlas y manipularlas a travs de las operadores del algebra relacional y el lenguaje de consultado estructurado (SQL).

En la unidad I hemos estudiado que existen distintos modelos de base de datos segn los cuales la informacin puede ser almacenada y relacionada entre s. Actualmente, para la mayora de las aplicaciones que utilizan bases de datos, el modelo ms empleado es el modelo relacional, por su gran versatilidad, potencia y por los formalismos matemticos sobre los que se basa. Este modelo permite representar la informacin del mundo real de una manera intuitiva, introduciendo conceptos cotidianos y fciles de entender por cualquier inexperto. Asimismo, mantiene informacin sobre las propias caractersticas 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 organizacin fsica de los datos. Para observar bien el porqu ha surgido el modelo relacional, pensemos en cmo realizaramos una lista de alumnos, si las computadoras no existiesen y necesitamos que nuestra lista quede almacenada. La manera ms fcil de realizarlo es empleando papel y lpiz, de manera que en la pgina uno empezaramos escribiendo los nombres de los primeros alumnos, si la pgina se acaba, cogemos otra, y hacemos la misma operacin, de forma que, al final, la lista de alumnos est escrita o almacenada en varios pginas. Este mtodo, que es el ms directo, tiene el problema de qu ocurre cuando se desean introducir nuevos alumnos a la lista. Inicialmente, la tarea parece fcil, pues nos basta con seguir escribiendo lneas tras la ltima lnea de la ltima pgina, e ir tomando nuevas hojas a mediada que las pginas se vayan llenando. No obstante, este mtodo slo es adecuado si la lista de alumnos no est ordenada segn un criterio. Si la lista de alumnos ya est ordenada, y deseamos introducir un nuevo alumno, cmo lo hacemos?, escribiendo una lnea por enmedio con letra ms pequea?, 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 solucin factible. Otra posibilidad de registrar la lista de alumnos es utilizando una ficha de cartn para los datos de cada alumno. Cada ficha de cartn tendr los datos de cada alumno tales como nombre, apellidos, direccin, etc., se pondr la informacin que nos interese guardar, de esta manera cada alumno queda almacenado en una ficha de cartn. Si se desea insertar un nuevo alumno a la lista, basta con rellenar su ficha y meterla en su posicin adecuada. De la misma forma se puede proceder a la hora de eliminar alguna ficha. Pues bien, este ltimo mtodo 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 dems. No obstante, para efectos de facilitar su visualizacin, 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 relacin o tabla, como estructura bsica del modelo relacional, todos los datos de una base de datos se representan en forma de relaciones, donde una relacin es una tabla, con un conjunto de filas o tuplas y donde cada tupla tiene varias columnas o atributos. Revisaremos tambin la teora de la normalizacin, cuyas tres primeras formas fueron introducidas por Codd, que permite eliminar dependencias entre atributos que originan anomalas en la actualizacin de una base de datos y proporciona una estructura ms regular de relaciones, contribuyendo al soporte para el diseo de una base de datos relacional. Conoceremos tambin el conjunto de operadores que se aplican a las relaciones, algunos de los cuales son clsicos de la teora de conjuntos, no hay que olvidar que una relacin se define matemticamente como un conjunto, mientras que otros fueron introducidos especficamente para el modelo relacional, todos ellos conforman lo que conoceremos como el algebra relacional.

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 generacin estaba constituida por SGBD basados en el modelo de red y el modelo jerrquico, actualmente el modelo relacional representa la segunda generacin de los SGBD, en donde los datos estn estructurados a nivel lgico como tablas formadas por filas y columnas, aunque a nivel fsico pueden tener una estructura completamente distinta. Dada la popularidad del modelo relacional, muchos SGBD de la primera generacin se han modificado para proporcionar una interfaz de usuario relacional, por lo que se creo un lenguaje estndar 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, segn los privilegios o restricciones de acceso A continuacin te presentamos los contenidos organizados de esta unidad. UNIDAD II. BASES DE DATOS RELACIONALES

BASEDEDATOS RELACIONALES

Maneja

Seapoya

Tiene

Utiliza

ESTRUCTURA BSICA

LGEBRA RELACIONAL

VISTAS

LENGUAJESQL

RELACIONES,TABLAS OENTIDADES COLUMNAS, CAMPOSO ATRIBUTOS RENGLONES, REGISTROSOFILAS CLAVESPRIMARIAS YFORANEAS NORMALIZACIN

OPERACIONESDE CONJUNTOS OPERACIONES RELACIONALES

PRIVILEGIOSDE ACCESO

ELEMENTOS

RELACIONES

BSQUEDAS

FUENTES DE CONSULTA 1. Adoracin de Miguel Castao, Mario G. Piattini. Fundamentos y Modelos de Base de Datos. Mxico, Alfaomega, 1999. 2. Prez Lpez Csar, Access 2003, 2002 y 2000. Mxico, Alfaomega,2005. 3. M. Chord, Visual FoxPro 6 Gua Prctica. Mxico, Alfaomega, 2001. 4. Les Pinter, John Pinter. Visual FoxPro 3.0 y 5.0 Manual de programacin. Mxico, Mc Graw Hill, 1997.


DESARROLLO

2.1 ESTRUCTURAS BSICAS DE LAS BASES DE DATOS RELACIONALES Objetivo temtico: Distinguir los elementos bsicos de la estructura de las bases de datos relacionales, mediante el estudio de sus caractersticas particulares.

El modelo de datos relacional considera a la base de datos como un conjunto de relaciones, donde cada relacin equivaldra a una tabla, es decir, las bases de datos relacionales se basan en el uso de tablas (tambin llamadas relaciones). Las tablas se representan grficamente como una estructura rectangular formada por filas y columnas. Cada columna almacena informacin sobre una propiedad determinada de la tabla (se le llama tambin atributo). Cada fila posee los valores que toma cada uno de los atributos para cada elemento de la relacin (a las filas se las llama tambin tuplas). ELEMENTOS DEL MODELO RELACIONAL Relacin: 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 relacin. Atributo: Cada columna de la tabla y representan una propiedad caracterstica de la relacin. Grado: Nmero de atributos de la relacin. Cardinalidad: Nmero de tplas de una relacin. Dominio: conjunto de valores admisibles para un atributo de una relacin. A continuacin se presenta una relacin llamada Socio

CLAVE PRIMARIA

CIUDAD Guadalajara Puebla Quertaro Morelia

DOMINIOS

CODIGO 124 241 392


TUPLAS

NOMBRE Luis Ana Pablo Eugenia Carla Hctor

EDAD 23 16 27 19 37 33

CIUDAD Guadalajara Puebla Guadalajara Quertaro Morelia Puebla

189 820 763

ATRIBUTOS

GRADO 4

En una relacin, las tuplas pueden estar en cualquier orden, no podemos referenciar una tupla concreta mediante su posicin entre las dems, 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.

Tipos de claves Clave candidata: Conjunto de atributos de una tabla cuyos valores son nicos en cada tupla de la relacin. Clave primaria: Clave candidata que se escoge como identificador de las tuplas de una relacin. Clave Fornea: Atributo de una tabla que hace referencia a otra relacin, a travs de la clave de otra tabla. TERMINOLOGA DEL MODELO RELACIONAL TRMINO RELACIONAL Relacin Tupla Cardinalidad Atributo Grado Clave primaria Dominio EQUIVALENTE Tabla Fila o Registro Nmero de filas Columna o campo Nmero de columnas Identificador nico Conjunto de valores

El modelo relacional permite incorporar restricciones a las claves de una relacin. Unicidad: Mediante la cual se identifica que los valores de las claves primarias deben ser nicos, es decir, no deben repetirse. Obligatoriedad: Prohbe que el atributo marcado como clave primaria admita valores nulos. Integridad referencial: Prohbe colocar valores en una clave fornea que no estn reflejados en la tabla donde ese atributo es clave primaria. ACTIVIDADES: Realiza un mapa conceptual sobre los elementos que integran un modelo entidad-relacin.

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

CLIENTE cveCLI nombre


C001 C002 C003 C004 C005 Josu Manuel Jorge Beatriz

direccin

cveEST

telfono
(442)2-13-34-45 (552)2-45-67-78 (442)2-45-67-87 (667)7-89-90-76 (442)2-34-54-32

Fernando Calle Las Flores s/n Calle Guadalupe s/n Calle Los Lomas s/n Calle Pedregal s/n Calle Galeana s/n

23 21 26 21 25

Organizar a los alumnos en equipos de 3 y realiza las siguientes actividades: Elabora el modelo entidad- relacin de la siguiente situacin. El gerente de una compaa de entretenimiento y capitacin, que imparte cursos a empresas desea llevar un mayor control de su informacin. Los cursos que imparten tienen un cdigo, nombre, tarifa y duracin. Se tienen varios instructores de los cuales conocemos su cedula, nombre, direccin y nmero telefnico. De los empleados necesitamos conocer; clave empleado, nombre, horario, nombre de su empresa, telfono y direccin. Los instructores pueden impartir un solo curso, y los empleados pueden estar inscritos en varios cursos.

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

NORMALIZACIN Una vez obtenido el esquema relacional resultante del modelo entidad - relacin que representa una base de datos, normalmente tendremos una buen diseo de una base de datos. Pero otras veces, debido a fallos en el diseo o a problemas indetectables en esta fase del diseo, 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 relacin debern ser por si solos significativos, no mezcles atributos de dos o ms relaciones para realizar el modelo de datos relacional, ya que esto provoca confusin. Prdida de integridad. Ocurre cuando en las tuplas de una relacin se almacenan datos de cualquier tipo sin que exista ninguna restriccin. Anomalas en la modificacin 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 solucin suele ser dividir las relaciones en otras relaciones ms adecuadas. El modelo relacional debe ser, por tanto, analizado para comprobar que no presenta los problemas anteriormente citados, evitando as la prdida de informacin y aparicin de inconsistencias. A continuacin te presentamos un ejemplo donde existe redundancia e inconsistencia en una relacin. ORDEN
NO_ORDEN 2301 2301 2301 2302 2303 2303 FECHA 2/23/08 2/23/08 2/23/08 2/25/08 2/27/08 2/27/08 NO_CLIENTE 101 101 101 107 110 110 NOM_CLIENTE MARTI MARTI MARTI HERMAN WE-SPORTS WE-SPORTS ESTADO NEBRASKA NEBRASKA NEBRASKA GEORGIA MIAMI MIAMI NO_PROD 3786 4011 9132 5794 4011 3143 DESC_PROD RED RAQUETA PAQ-3 PAQ-6 RAQUETA FUNDA CANT 3 6 8 4 2 2 PRECIO 35 65 57 5 65 10

Los principales problemas de esta relacin se derivan de la gran cantidad de redundancia que presenta. Por ejemplo, nmero de orden, fecha, nmero 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 diseo del modelo Entidad-Relacin y siguiendo la transformacin del modelo relacional, se evitaran en gran parte estas anomalas, 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 mtodo formal de anlisis, que permite evitar redundancias y anomalas de actualizacin, est mtodo formal es la teora de la normalizacin.

NORMALIZACIN Es el proceso de simplificar las relaciones entre los campos de un registro. La normalizacin 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, adems de eliminar todas las relaciones que contengan dependencia transitiva. El proceso de normalizacin incluye 3 formas normales para llegar a un buen diseo de base de datos. 1 Forma Normal Una tabla se encuentra en primera forma normal si impide que un atributo de un tupla pueda tomar ms de un valor.
er

Ejemplo DNI 12121212A 12345345G TRABAJADOR Nombre Departamento Andrs Mantenimiento Norma Direccin Gestin

Visualmente la tabla trabajador es una tabla, pero no una tabla relacional (lo que en terminologa de bases de datos relacionales se llama relacin). No cumple la primera forma normal. Lo cumplira si estuviera de la siguiente forma: TRABAJADOR Nombre Departamento Andrs Mantenimiento Norma Direccin Norma Direccin

DNI 12121212A 12345345G 12345345G 2


da

Forma Normal

Ocurre si una tabla est en primera forma normal y adems cada atributo que no sea clave, depende de forma funcional completa de la clave primaria de la relacin. Toda la clave primaria debe hacer dependientes al resto de atributos, si hay atributos que depende slo de parte de la clave, entonces esa parte de la clave y esos atributos formarn otra tabla (dependencia funcional). Ejemplo: DNI 12121219A 12121219A 3457775G 5674378J 5674378J Codcurso 34 25 34 25 25 ALUMNO Nombre Pedro Pedro Ana Sara Sara Apepaterno Valencia Valencia Fernndez Crespo Crespo Nota 9 8 6 7 6

Considerando que el DNI y CodCurso forman la clave primaria para esta tabla, slo 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 Nombre Pedro Ana Sara

DNI 12121219A 3457775G 5674378J

ApePaterno Valencia Fernndez Crespo

DNI 12121219A 12121219A 3457775G 5674378J 5674378J

ASISTENCIA CodCurso 34 25 34 25 34

Nota 9 8 6 7 6

3 Forma Normal Ocurre cuando una tabla est en 2FN y adems ningn atributo que no sea clave depende transitivamente de las claves de la tabla. Es decir no ocurre cuando algn atributo depende funcionalmente de atributos que no son clave. Ejemplo: ALUMNO ApePaterno Velasco Valencia Fernndez Crespo Serrano

er

DNI 12121349A 12121219A 3457775G 5674378J 3456858S

Nombre Salvador Pedro Ana Sara Marina

CodEstado 34 34 47 47 28

Estado Oaxaca Oaxaca Quertaro Quertaro Puebla

El estado depende funcionalmente del cdigo de estado, lo que hace que la tabla no est en 3FN. Al aplicar la 3FN quedara de la siguiente forma: ALUMNO ApePaterno Velasco Valencia Fernndez Crespo Serrano

DNI 12121349A 12121219A 3457775G 5674378J 3456858S

Nombre Salvador Pedro Ana Sara Marina ESTADO Estado Oaxaca Quertaro Puebla

CodEstado 34 34 47 47 28

CodEstado 34 47 28

ACTIVIDADES: Contesta las preguntas y resuelve el siguiente ejercicio. Qu es la normalizacin? ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ Menciona y describe las formas de la normalizacin? ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________

Ejercicio: Aplica las tres formas formales sobre los siguientes datos no normalizados.
FACTURA No.Factura No.Cliente 1890 1560 Nom.Cliente Luis Ramiro Dir.Cliente Fech.Fact No.Prod P134 P135 P136 1891 1564 Arturo Hernndez Palmas N.15 Qro. 15/08/2005 P140 P139 T135 Des.Producto llantas pintura pinzas reflector aceite pintura Precio 250 450 120 156 59 450 Cantidad 6 2 2 3 5 2 1663 Tot.Fact. 2640

Satelite N.90 Qro. 12/07/2005

SOLUCIN:

DESARROLLO 2.2 LGEBRA RELACIONAL Objetivo temtico: Construir bsquedas en bases de datos relacionales, mediante el uso de operaciones bsicas de algebra relacional, para la seleccin de registros especficos.

Una base de datos relacional consta de varias tablas (relaciones) las cuales se pueden manipular a travs de los operadores del lgebra relacional, permitiendo realizar consultas, seleccin y creacin de nuevas tablas a partir de las ya existentes. Los operadores del lgebra relacional se clasifican en dos: OPERADORES DE CONJUNTOS RELACIONALES UNIN DIFERENCIA SELECCIN INTERSECCIN PROYECCIN PRODUCTO CARTESIANO

El lgebra relacional incluye operadores tradicionales de conjuntos y operadores relacionales que permiten efectuar operaciones sobre una base de datos, tales como, seleccin, unin, interseccin, diferencia, etc. Tambin pueden crear vistas de los datos que faciliten mejor su consulta.

OPERADORES DE CONJUNTOS AUTOR NACIONALIDAD Norteamericana Espaola Italiana EDITOR NACIONALIDAD Norteamericana Norteamericana Italiana

NOMBRE Mara Josefina L. Luis Joyanes A. Cecilio G.

INSTITUCIN Campus Monterrey Ciencia y Tecnologa Politcnico Nacional

NOMBRE Carlos S. Lus H. Cecilio G. UNIN

INSTITUCIN Campus Monterrey. IberoAmrica Politcnico Nacional.

La operacin de unin junta en una nueva relacin todas las tuplas o registros existentes en dichas tablas, eliminando las tuplas repetidas. AUTOR EDITOR NACIONALIDAD Norteamericana Espaola Italiana Norteamericana Norteamericana INSTITUCIN Campus Monterrey Ciencia y Tecnologa Politcnico Nacional Campus Monterrey. IberoAmrica

NOMBRE Mara Josefina L. Luis Joyanes A. Cecilio G. Carlos S. Lus H.

DIFERENCIA La operacin diferencia junta en una nueva relacin todas las tuplas o registros que no se repiten en ninguna de las tablas, eliminando tuplas repetidas. Tuplas que estn en autor pero no en editor. AUTOR EDITOR NACIONALIDAD Norteamericana Espaola INSTITUCIN Campus Monterrey Ciencia y Tecnologa

NOMBRE Mara Josefina L. Luis Joyanes A.

INTERSECCIN La operacin de interseccin junta en una nueva relacin todas las tuplas o registros que se encuentren repetidas en dichas tablas, eliminando las tuplas que son nica. AUTOR NOMBRE Cecilio G. EDITOR NACIONALIDAD Italiana INSTITUCIN Politcnico Nacional.

PRODUCTO CARTESIANO Genera una nueva relacin definida sobre la unin de los atributos de ambas relaciones y cuya extensin esta constituida por la concatenacin de cada tupla de la primera relacin con cada tupla de la segunda relacin. SOCIO NOMBRE Elena Manrique Manuel Garca

CDIGO 1 2

DIRECCIN Hidalgo, 25 Vergara, 56

LIBRO Pascal Visual Basic SQL Standard

LIBRO AUTOR Date, C.J Eduardo Altamirano Date, C.J

EDITORIAL Addison Mc Graw Hill Addison

SOCIO X LIBRO CDIGO 1 1 1 2 2 2 NOMBRE Elena Manrique Elena Manrique Elena Manrique Manuel Garca Manuel Garca Manuel Garca DIRECCIN Hidalgo, 25 Hidalgo, 25 Hidalgo, 25 Vergara, 56 Vergara, 56 Vergara, 56 LIBRO Pascal Visual Basic SQL Standard Pascal Visual Basic SQL Standard AUTOR Date, C.J Eduardo Altamirano Date, C.J Date, C.J Eduardo Altamirano Date, C.J EDITORIAL Addison Mc Graw Hill Addison Addison Mc Graw Hill Addison

OPERADORES RELACIONALES SELECCIONAR Esta operacin sirve para seleccionar ciertos registros o tuplas que cumplan con un criterio especfico. Ejemplo: Nombre Date, C. J. Salvador, F. Cecilio, S. Ramos, I. AUTOR Nacionalidad Norteamericana Espaola Italiano Espaola Institucin Campus Monterrey Politcnico Nacional Politcnico de Miln Politcnico Villas

nacionalidad = espaola (AUTOR) AUTOR Nacionalidad Espaola Espaola Institucin Politcnico Nacional Politcnico Villas

Nombre Salvador, F. Ramos, I. PROYECTAR

La proyeccin de una relacin es mostrar todos los atributos nicos, eliminando aquellos que se repiten. Ejemplo: Nombre Date, C. J. Salvador, F. Cecilio, S. Ramos, I. AUTOR Nacionalidad Norteamericana Espaola Italiano Espaola Institucin Campus Monterrey Politcnico Nacional Politcnico de Miln Politcnico Villas

nacionalidad (AUTOR)

Nacionalidad Norteamericana Espaola Italiano

ACTIVIDADES: Revisa las siguientes tablas. ARTICULO

claveART PTNH GTHJ BJHK

descripcin camisas pantalones playeras

costo 200 300 130

claveARTdescripcin DFRE blusas BJHK playeras STGH pans


PRODUCTO

costo 180 130 250

Realiza las siguientes operaciones de conjuntos. ARTICULO PRODUCTO PRODUCTO ARTICULO

claveART

descripcin

costo

claveART descripcin

costo

ARTICULO

PRODUCTO

claveART descripcin
PRODUCTO

costo

ARTICULO

claveART

descripcin

costo

claveART

descripcin

costo

ACTIVIDADES: Revisa la siguiente tabla. BIBLIOTECA COD 1 2 3 4 5 6 7 8 MATERIA Economa Politica Novela Ingles Politica Novela Economa Estadstica AUTOR R. Tamanes Thomas H. Pinter Les George Beek R. Tamanes R. Tamanes Fuentes Q. Sixto Rios TTULO Estr. Ec. Espaa Politica Int. Historia de Elio Ingles I Politica Nac. El extranjero Hacienda Pbli. Mtodos Estad. REF E001 P039 N070 I045 P040 N069 E003 S002 AO 1986 1975 1978 1998 1989 1940 1974 1970 No EJ 3 1 2 1 2 1 2 1

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

COD

MATERIA

AUTOR

TTULO

REF

AO

No EJ

Titulo, No Ej (

autor = R.Tamanes )

TTULO

No EJ

materia = Poltica (BIBLIOTECA)

COD

MATERIA

AUTOR

TTULO

REF

AO

No EJ

autor (BIBLIOTECA)

AUTOR

DESARROLLO

2.3 VISTAS Objetivo temtico: Describir las vistas, a partir del anlisis de su aplicacin y los privilegios de acceso.

En la arquitectura de los tres niveles de abstraccin 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 trmino vista tiene un significado un tanto diferente. En lugar de ser todo el esquema externo de un usuario, una vista es una relacin virtual, una relacin 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 relacin 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 relacin que existe y la puede manipular como si se tratara de una relacin, pero la vista no est almacenada fsicamente. El contenido de una vista est definido como una consulta sobre una o varias relaciones. Las vistas son dinmicas 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 <expresin de consulta> EJEMPLO: Realiza una vista de la relacin alumno, que se llame estudiante, con los campos de expediente, nombre, domicilio y telfono, de todos los alumnos que no tienen telfono. ALUMNO MATRICULA 8945678 8987654 8976541 8973635 8973526 8927262 NOMBRE Juan Luis Prez Pedro Gmez C. Rebeca Cruz Montes Jos Lpez Canseco Margarita Godnez I. Luis Ramrez Ramos DIRECCIN Av. de los Remedios No.18 San Juan de los Lagos No.8 Satlite No.123 Av. Corregidora No.12 Av. Tlhuac No. 89 Av. de los Nios Hroes No.1 TELFONO (5) 674-89-00 (5) 844-78-66 No tiene (5) 625-19-89 No tiene (5) 738-28-19

CREATE VIEW estudiante (expediente, nombre, domicilio, telfono) AS SELECT * FROM alumno WHERE TELEFONO = No tiene EXPEDIENTE 8976541 8973526 NOMBRE Rebeca Cruz Montes Margarita Godnez I. ESTUDIANTE DOMICILIO Satlite No.123 Av. Tlhuac No. 89 TELFONO No tiene No tiene

ACTIVIDADES: Revisa las siguientes tablas. CLIENTE claveCLI nombre C001 Luis Fernando C002 Josu C003 C004 C005 Manuel Jorge Luz Beatriz Direccin Calle Las Flores s/n Calle Guadalupe s/n Calle Los Lomas s/n Calle Pedregal s/n Calle Galeana s/n estado telfono Quertaro (442)2-13-34-45 Guadalajara (552)2-45-67-78 Quertaro Monterrey Quertaro (442)2-45-67-87 (667)7-89-90-76 (442)2-34-54-32

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

Muestra el resultado de las siguientes vistas. CREATE VIEW socio (clvSOC, nombre, domicilio, ciudad) AS SELECT claveCLI, nombre, direccin, estado FROM cliente WHERE estado=Quertaro

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

DESARROLLO

2.4 LENGUAJE RELACIONAL ESTNDAR Objetivo temtico: Describir las operaciones bsicas en una base de datos, mediante el lenguaje de consultas, para la mejor administracin de la informacin.

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 veramos obligados a trabajar a bajo nivel, o nivel de mquina. 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 anticipbamos, el llamado SQL (Structured Query Language). Este lenguaje, basado en el lgebra relacional anteriormente descrito, acta de interfaz entre el usuario y la base de datos y facilita realizar todas las operaciones permitidas. El lenguaje fue diseado para que, mediante un nmero muy reducido de comandos y una sintaxis simple, fuese capaz de realizar un gran nmero de operaciones. El aprendizaje de SQL es realmente rpido. Adems, SQL es bastante flexible, en el sentido de que clusulas SQL pueden ser anidadas indefinidamente dentro de otras clusulas SQL, facilitando as que las consultas puedan utilizar varias relaciones, vistas u otras consultas. Adems de poder ser usado directamente, es decir, en modo comando, desde el SGBD, SQL puede ser usado desde otros lenguajes de programacin de tercera generacin, 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, clusulas, 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 DESCRIPCIN EJEMPLO

CREATE

CREATE TABLE libro; (cdigo primary key char (4),; Utilizado para crear nuevas tablas, campos e titulo character (25),; ndices editorial character (20),; autor character (20)) Empleado para eliminar tablas e ndices DROP TABLE libro ALTER TABLE libro DROP COLUMN editorial

DROP

ALTER

Utilizado para modificar las tablas agregando campos o cambiando la definicin de los ALTER TABLE libro campos. ADD COLUMN No Ej integer(3)

COMANDOS DML SELECT

DESCRIPCIN

EJEMPLO

Utilizado para consultar registros de la base SELECT cdigo, titulo, autor de datos que satisfagan un criterio determinado SELECT * INSERT INTO libro(cdigo, titulo, editorial, Utilizado para cargar lotes de datos en la autor) base de datos en una nica operacin VALUES (34, Visual FoxPro, Mc Graw Hill, John Less) UPDATE libro Utilizado para modificar los valores de los SET editorial=Rama campos y registros especificados WHERE titulo=Informatica I Utilizado para eliminar registros de una tabla DELETE FROM libro de una base de datos WHERE cdigo= 34

INSERT

UPDATE

DELETE

CLUSULAS Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular. CLUSULA FROM DESCRIPCIN EJEMPLO

Utilizada para especificar la tabla de la cual SELECT cdigo, titulo, autor se van a seleccionar los registros FROM libro Utilizada para especificar las condiciones que SELECT cdigo, titulo, autor deben reunir los registros que se van a FROM libro seleccionar WHERE editorial=Mc Graw Hill SELECT cdigo, titulo, autor Utilizada para separar los registros FROM libro seleccionados en grupos especficos WHERE editorial=Mc Graw Hill GROUP BY titulo SELECT cdigo, titulo, autor FROM libro Utilizada para expresar la condicin que debe WHERE editorial=Mc Graw Hill satisfacer cada grupo GROUP BY titulo HAVING No Ej <= 3 SELECT cdigo, titulo, autor Utilizada para ordenar los registros FROM libro seleccionados de acuerdo con un orden WHERE editorial=Mc Graw Hill especfico ORDER BY cdigo

WHERE

GROUP BY

HAVING

ORDER BY

OPERADORES LGICOS OPERADOR AND DESCRIPCIN EJEMPLO SELECT cdigo, titulo, autor Es el "y" lgico. Evala dos condiciones y FROM libro devuelve un valor de verdad slo si ambas WHERE (editorial=Mc Graw son ciertas. (titulo=Informtica I) SELECT cdigo, titulo, autor Es el "o" lgico. Evala dos condiciones y FROM libro devuelve un valor de verdad si alguna de las WHERE (editorial=Mc Graw dos es cierta. (editorial=Alfaomega)

Hill)

AND

OR

Hill)

OR

NOT

SELECT cdigo, titulo, autor Negacin lgica. Devuelve el valor contrario FROM libro de la expresin. WHERE NOT(editorial=Mc Graw Hill)

OPERADORES DE COMPARACIN O RELACIN OPERADOR < > <> <= >= = BETWEEN DESCRIPCIN Menor que Mayor que Distinto de Menor o igual que Mayor o igual que Igual que SELECT cdigo, titulo, autor, Utilizado para especificar un intervalo de FROM libro valores. WHERE ((No Ej) BETWEEN ( 1 AND 3)) Utilizado en la comparacin de un modelo. SELECT cdigo, autor FROM libro WHERE titulo LIKE 'Matemticas%' SELECT cdigo, titulo, autor FROM libro WHERE editorial=Mc Graw Hill EJEMPLO

LIKE

In

SELECT cdigo, titulo, autor Utilizado para especificar registros de una FROM EMPLEADO base de datos WHERE autor IN ('R. Tamanes', ' Sixto Rios')

FUNCIONES DE AGREGADO Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor que se aplica a un grupo de registros. FUNCIN AVG COUNT DESCRIPCIN EJEMPLO

Utilizada para calcular el promedio de los SELECT AVG(No Ej) valores de un campo determinado FROM libro Utilizada para devolver el nmero de registros SELECT count (*) de la seleccin FROM libro SELECT SUM(No Ej) Utilizada para devolver la suma de todos los FROM libro valores de un campo determinado WHERE editorial=Mc Graw Hill; Utilizada para devolver el valor ms alto de SELECT MAX(No Ej) un campo especificado FROM libro Utilizada para devolver el valor ms bajo de SELECT MIN(No Ej) un campo especificado FROM libro

SUM

MAX MIN

ORDEN DE EJECUCIN DE LOS COMANDOS Dada una sentencia SQL de seleccin que incluye todas las posibles clusulas, el orden de ejecucin de las mismas es el siguiente: CLAUSULA FROM WHERE GROUP BY HAVING SELECT ORDER BY

ACTIVIDADES: Utilizando el lenguaje SQL realiza lo que se te pide a continuacin.

1. Crearlatablaempleado
Campos Primary key Tipo de dato Longitud No_empleado * Integer Nombre character 15 puesto Character 20 Contratacin Date 8 salario integer comisin Integer departamento integer

Escribelasentencia:

La tabla empleado queda de la siguiente forma, con los siguientes valores en sus campos. EMPLEADO No_empleado Nombre Puesto Contratacin Salario Comisin 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 Lus 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 Roco 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

Escribelasentencia:

3. Muestra no_empleado, nombre, contratacin y salario de todos los empleados que tengan un salario menor de $1500

Escribelasentencia:

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:

5. Muestra a todos los empleados del departamento 10

Escribelasentencia:

6. Muestra no_empleado, nombre y puesto de todos los empleados que ganen ms de $1000, agruparlos por departamento. 7.

Escribelasentencia:

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

Escribelasentencia:

9. Muestra no_empleado, nombre y puesto de todos los empleados que ganen ms de $1000, agruparlos por comisin y el grupo debe pertenecer al departamento 20

Escribelasentencia:

10. Modifica de la tabla empleado la comisin a $600 para todos los empleados que sean vendedores

Escribelasentencia:

11. Elimina de la tabla empleado el registro 7782

Escribelasentencia:

12. Modifica de la tabla empleado la longitud del campo nombre a 35

Escribelasentencia:

13. Elimina la tabla empleado.

Escribelasentencia:

AUTOEVALUCIN Evaluacin de la unidad, para que valores tus avances hasta el momento. SITUACIN: I. Supongamos que queremos representar la informacin 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 cdigo y nombre. Dado que la relacin entre alumno y asignatura es muchos a muchos, implica crear una nueva tabla con el nombre de inscripcin, con los campos de numero de matriculas y convocatoria agotada, as como las claves de Alumno y Asignatura, o sea, expediente y cdigo, realiza el diagrama Entidad -Relacin, identificando todos sus elementos.

II.

Realiza la conversin de la relacin inscripcin 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:

b) Insertadosregistroslosquetdesees.

c) MuestraelnombreyapellidosdetodoslosalumnosquesunombreempiececonlaletraN.

d) Realizaunavistaestudiantedelarelacinalumno,conloscampos(nombre,apellidos,fecha),de todoslosalumnosquehayannacidoentrelosaosde1985y1990.

e) Eliminadelatablaalumnoelregistroquetengaelexpediente=D01021345yeliminalatablade asignatura.

REALIZA UN CUADRO SINOPTICO SOBRE LOS OPERADORES DEL ALGEBRA RELACIONAL.

REALIZA UN CUADRO SINOPTICO SOBRE LA NORMALIZACIN Y SUS TRES FORMAS NORMALES.

VAYAMOS MS ALL EJERCICIO PRCTICO 1.- En la ventana de escritorio de Windows clic sobre inicio, opcin 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

Escribequhacelainstruccin:

2.- Con el comando INSERT agrega los siguientes registros a la tabla EMPLEADO. EMPLEADO
NO_EMPLE 7369 7499 7521 7566 7654 7698 7782 7788 7839 7844 7876 7900 NOMBRE EDUARDO LAURA GERARDO MANUEL OSCAR LUIS FERNANDO RAMIRO JUAN ROCIO JOSUE JAVIER PUESTO VENDEDOR OFICINISTA PRESIDENTE VENDEDOR GERENTE VENDEDOR ANALISTA VENDEDOR OFICINISTA ANALISTA VENDEDOR CAPTURISTA CONTRATACIN 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 SALARIO 800 1600 1250 2975 1250 2850 2450 3000 5000 1500 1100 950 COMISIN 500 1000 5000 500 500 2500 500 500 500 1000 500 500 DEPARTAMENTO 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.
A) SELECT * FROM EMPLEADO
ESCRIBE QU HACE LA SENTENCIA:

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:

REALIZA UNA SENTENCIA QUE MUESTRE NOMBRE, SALARIO, COMISION DE TODOS LOS EMPLEADOS QUE GANEN UNA COMISION MAYOR A SU SALARIO. Escrbela:

4.- Ejecuta la siguiente sentencia y describe que es lo realiza.


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

REALIZA UNA SENTENCIA QUE CAMBIE EL NUMERO DE DEPARTAMENTO POR 50 A TODOS LOS EMPLEADOS QUE TENGAN EL PUESTO DE OFICINISTA.
Escrbela:

5.- EJECUTA LA SIGUIENTE SENTENCIA Y DESCRIBE QUE ES LO QUE REALIZA.

DELETE FROM EMPLEADO WHERE NOMBRE='GERARDO' QU HACE LA SENTENCIA:

CLOSE TABLES PACK EMPLEADO


QU HACE LA SENTENCIA:

Introduccin
ELABORACION Y MANEJO DE BASE DE DATOS.

Objetivo de la unidad. En esta unidad aprenders a crear una base de datos sencilla, mediante las sentencias bsicas de creacin, consultas, modificacin y ordenacin.

La sociedad en que vivimos, estn caracterizadas, entre otras cualidades, por el manejo de un volumen aceleradamente creciente de informacin de todo tipo: textual, audible, de video, etc., lo que conlleva mtodos y tcnicas de almacenamiento de los datos y acceso a los mismos radicalmente diferentes de las usadas desde tiempos ancestrales. Obviamente entre los mtodos y tcnicas que ocupan una posicin central estn 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 informacin que obtengamos de ellas decidiremos el mejor diseo que resuelva sus necesidades o problemas actuales. Los documentos que los usuarios generan tambin forman parte de esta recopilacin de informacin. Las exigencias de los usuarios respecto a sistemas administrativos de base de datos ms flexibles y eficientes ha obligado a dedicar una mayor atencin a los datos y a su estructuracin, buscndose una gestin ms racional de la informacin en su conjunto, por lo cual ha pasado a ser considerada como un recurso fundamental de la organizacin. A medida que los diseadores de sistemas de informacin se van convenciendo de la trascendencia que la gestin 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 inters de los informticos y de los usuarios. En los ltimos aos, las bases de datos han experimentado profundos cambios y no son ya, como ocurra hace algunos aos, competencia exclusiva de grandes instalaciones con sistemas de informacin que gestionen millones de registros; tampoco el diseo de bases de datos esta reservado actualmente a especialistas en las tcnicas de estructuracin de datos. Por el contrario, las bases de datos se han extendido alcanzando a sistemas de tipo medio y pequeo, con moderadas, e incluso bajas cargas de trabajo, vindose implicados en su diseo, administracin y manejo de muchos profesionales y multitud de usuarios que reclaman de ellas flexibilidad, sencillez y eficiencia. Es preciso una difusin de las tcnicas relativas a la creacin y utilizacin de las bases de datos.

En esta unidad podrs afinar tus conocimientos, para disear una base de datos. Has llegado pues, a una etapa crucial en la creacin de base de datos, ya que se trata de lidiar directamente con las personas que usan o usarn el sistema. Una vez que hayas obtenido, de los mismos usuarios del sistema, toda la informacin que necesites, debers analizarla de acuerdo a los datos que se manejan. Algunas herramientas que te ayudarn para esta causa son el modelo entidad-relacin, modelo relacional, el diccionario de datos, que permite definir todos y cada uno de los datos a detalle; aplicar el proceso de normalizacin y utilizar el lenguaje de consultas SQL que nos ayudara a definir y realizar operaciones con la informacin contenida en la base de datos; actualmente son de las herramientas ms utilizadas en la industria de la produccin 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 informacin que recorren los datos dentro del sistema de base de datos desde la entrada hasta la salida del mismo. Ya que analices los datos, podrs tomar las decisiones ms ptimas para la creacin del sistema administrativo de base de datos, mejorar los procesos bsicos (captura, consulta, bajas y modificaciones) del mismo.

El primer tema de esta unidad trata sobre la creacin de una base de datos, aprenders a generar la estructura de la base de datos y utilizar los comandos bsicos para el manejo de la informacin. Como podrs ver, dentro de las actividades de esta unidad aprenders a disear y elaborar una base de datos, mediante el SGBD VPF, para que despus empieces a utilizar los comandos para incorporar registros y cierre de la bases de datos. Scales el mejor provecho a estos comandos (instrucciones), para que en un segundo momento puedas manejar de forma ms eficiente la base de datos, para continuar con la realizacin de las consultas segn se te indique, realizar modificaciones a la informacin almacenada en la base de datos y finalmente ordenar los registros de una base de datos para acelerar el manejo de la informacin de la base de datos y de ello depende tomar las mejores decisiones posibles. Estamos seguros que pondrs tu mayor esfuerzo para trabajar en esta unidad y te exhortamos a realizar todas las actividades sugeridas en las siguientes pginas, pues te orientarn 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 informacin y presentarla al usuario final. Incluso puedes apoyarte de los siguientes recursos:

Bibliografa: Andersen, Virginia. Access 2002.Mxico, McGraw Hill, 2002. VARIOS. Visual Fox Pro 6: Gua Prctica. Mxico, Alfaomega RA-MA, 2005. Prez, Cesar. Domine Microsoft Access 2003,2002 y 2000. Mxico, Alfaomega RA-MA, 2005. Iglesias, Rubn. Visual Fox Pro 5. Fundamentos y Tcnicas de Programacin. Mxico, Alfaomega RA-MA, 1998 Jamrich, June Parson y Oja Dan. Nuevas Perspectivas: Conceptos de Computacin.Mxico, Thomson Editores, S.A., 2003.

Sitios Web: Hernndez, Rotcet. Manual Terico Prctico de Visual FoxPro 6.0. Monografas.com. Fecha de Consulta: Mayo 2008. URL: <http:// www. Manual Terico Prctico de Visual FoxPro 6_0 - Monografias_com.htm> Hernndez, Rotcet. Lenguaje de Programacin Visual Fox Pro 6.0. Fecha de consulta: Mayo de 2008. URL: http://www.mundomanuales.com/bases-de-datos/> Instituto Galeno de Formacin. 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

Crear O p e r a c i o n e s

Base de datos
Se crea Sistema de Gestor de Base de datos (SGBD/SMDB )

Consultar

A travs

SQL

Utilizando

SELECT

Estructura Modificar Registros Ordenar Formas


Comando

MODIFY STRUCTUR EURE BROWSE UPDATE INSERT DELETE

Llamado

VISUAL FOX PRO

Fsicamente

Lgicamente (ndices)

Desarrollo
3.1 Creacin de una base de datos. Objetivo del tema. Crear una base de datos elemental, mediante el uso de los comandos bsicos, para el manejo de informacin.

Para un tratamiento mecanizado de la informacin es fundamental que los datos se organicen de forma que se facilite su gestin, es decir que el acceso a los mismos sea rpido y eficaz. Convencionalmente, el trabajo en informtica de gestin, consista en realizar una serie de programas en determinados lenguaje, para la creacin, actualizacin, consulta y listado de datos, que trabajan con informacin de entrada para obtener unos resultados o datos de salida. El termino de BASE DE DATOS aparece por primera vez al comienzo de los aos 60 del siglo XX, para expresar un conjunto de datos relacionados entre s, que estn estructurados de forma que puede acceder a ellos automtica 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 actualizacin de datos previamente existentes. Toda base de datos esta formada por uno o varios bloques de informacin llamados TABLAS (inicialmente denominados ficheros o archivos) que normalmente tendrn alguna caracterstica en comn. Una TABLA o archivo de datos, es un conjunto conexo de informacin del mismo tipo, por ejemplo en una base de datos de una biblioteca, una tabla estar construida por la informacin relativa a todos los libros de la misma, otra tabla contendr informacin sobre los lectores, etc. Cada tabla est formada por REGISTROS. Un registro es la unidad elemental de la informacin de la tabla. En la tabla de libros, un registro estara constituido por la informacin correspondiente a cada libro concreto, con su ttulo, autor, rea, editorial, etc. Cada registro esta formado por uno o ms 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 informacin del registro, por ejemplo un campo sera el titulo del libro, otro campo es su autor, etc. Gracias a la aparicin de los llamados programas de usuario es posible realizar la gestin de una base de datos, sin tener que realizar programas que procesen esos datos, facilitando todas las operaciones de creacin, actualizacin, consulta y creacin de informes con los datos recogidos. La forma de almacenar las tablas, registros y campos es distinta, desde el punto de vista tcnico, dependiendo de las caractersticas de la informacin 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 gestin de base de datos (abreviado mediante SGBD DBMS, en ingls) organizan y estructuran los datos de tal modo que puedan ser recuperados y manipulados por usuarios y programas de aplicacin. Las estructuras de los datos y las tcnicas 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.

Existe un tipo de lenguaje estndar 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 informacin de libros, revistas, Internet, enciclopedias etc. Pero en muchas de estas ocasiones no es fcil obtener la informacin, as que podramos encontrarnos algunas dificultades para obtenerlos. Trabaja de la mejor manera posible las siguientes actividades para conocer aspectos importantes de las estructuras de datos, sus caractersticas 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 tros, 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?

Cmo se almacenan los datos en una base de datos relacional?

Cmo se comparan las bases de datos relacionales con las tecnologas primitivas, tales como base de datos jerrquicas y en red?

Cules son las ventajas y desventajas del modelo relacional?

MODELO RELACIONAL VENTAJAS DESVENTAJAS

El proceso de diseo de una base de datos puede dividirse en siete pasos, cada uno con metas y productos especficos, los cuales se listan desordenadamente a continuacin: Cree las tablas e introduzca datos. Determine que s lo que los usuarios esperan de la base de datos y cules 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 diseo y repase los procedimientos con los usuarios. Planee la distribucin de los datos entre las tablas relacionadas en la base de datos. Cules son los siete pasos del proceso de diseo de una base de datos de manera ordenada?

PROCESO DE DISEO 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 dems objetos que formarn la base de datos, es importante invertir algn tiempo en disear la base de datos. Independientemente de que est utilizando una base de datos o un proyecto, un buen diseo 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 lgico, mediante el modelo de base de datos relacional, sin embargo, el diseo de la base de datos no se ha completado todava, falta crear el diseo de fsico de la base de datos en un SGBD de tipo relacional, dado que nuestro modelo lleva ese enfoque.

Hasta el momento hemos definido un modelo de datos relacional, sin embargo es necesario llegar a la construccin de un diseo fsico 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 diseo de la base de datos. Primero tendremos que revisar que estructuras de datos tiene definidas nuestro SGBD seleccionado, para poder ajustar el modelo lgico de la base de datos al modelo fsico, por lo cual revisaremos a continuacin los datos que maneja nuestro SGBD.

Todos los datos de Visual FoxPro tienen un tipo, como una descripcin de los valores permitidos, y el intervalo y tamao 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 slo estn disponibles para los campos de la tabla. Para agregar un campo de un tipo especfico a una tabla por medio de programacin, 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 Character Currency Date Descripcin Cualquier texto Importes monetarios Datos cronolgicos formados por mes, ao y da Tamao 1 byte por carcter hasta 254 8 bytes 8 bytes Intervalo Cualquier carcter - 922337203685477,5807 a 922337203685477,5807 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. 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., ms 00:00:00 a.m. a 11:59:59 p.m. Verdadero (.T.) o Falso (.F.) - 0,9999999999E+19 a 0,9999999999E+20 Vea el tipo de datos

DateTime

Datos cronolgicos formados por mes, ao, da y hora

8 bytes

Logical Numeric Variant

Valor booleano verdadero o falso Enteros o fracciones

1 byte 8 bytes en la memoria; 1 a 20 bytes en una tabla

Una variable de tipo Variant Vea el tipo de datos puede contener cualquier tipo permitidos. 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.

Double Float General Integer Memo Character (Binario)

Nmero de signo flotante de precisin doble Igual que Numeric Referencia a un objeto OLE Valores enteros Referencia a un bloque de datos

8 bytes 8 bytes en la memoria; 1 a 20 bytes en una tabla 4 bytes en una tabla 4 bytes 4 bytes en una tabla

+/-4,94065645841247E-324 a +/-8,9884656743115E307 - 0,9999999999E+19 a 0,9999999999E+20 Limitado por la memoria disponible -2147483647 a 2147483647 Limitado por la memoria disponible

Datos de tipo Character que 1 byte por carcter hasta desea mantener sin 254 modificacin en las pginas de cdigos Limitado por la memoria disponible

Memo (Binario) Datos de campo Memo que 4 bytes en una tabla desea mantener sin modificacin en las pginas de cdigos

La informacin en un sistema de base de datos relacional se distribuye entre las tablas relacionadas para optimizar el almacenamiento y la recuperacin de la informacin. Los campos comunes relacionan a las tablas para que esa informacin pueda ser extrada y presentada de maneras tiles. Si esta diseada y construida de forma apropiada, una base de datos puedes ser una herramienta esencial en la administracin de la informacin personal o de negocios. Componentes de Interfaz Algunas herramientas ms utilizadas son: Ventana Examinar: una vista, tipo hoja de clculo, de una tabla.

Ventana Cdigo: para desplegar cdigo asociado a varios eventos en los formularios y controles. Cuando un evento se dispara el cdigo se ejecuta.

Ventana Depuracin: permite examinar variables de memoria o valores campos y establecer puntos de interrupcin. La ejecucin del programa se detiene cuando una variable de memoria o una expresin con un punto de interrupcin cambian de valor.

Comando Opciones (Men de Herramientas): permite controlar la configuracin de docenas de caractersticas 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, tambin proporciona acceso a propiedades, mtodos y cdigo de eventos.

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

Generador de consultas: una recodificacin 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 ms de una docena de barras de herramientas para colocar toda la herramienta para varias tareas justo al alcance de todos. Adems, puedes disear tus propias barras de herramientas en conjuncin con formularios, para proporcionar a los usuarios el mismo tipo de acceso instantneo a las herramientas.

Creacin 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, CDIGO y OTROS. Estas fichas le proporcionan un rpido y fcil acceso a los objetos que utilizar en el proyecto. Cuando se desarrolla una aplicacin se utilizan las tcnicas de ratn sealar y pulsar o arrastrar y colocar para poder acceder y manipular los componentes de la aplicacin. Pasos para Crear un Proyecto: 1. 2. 3. 4. 5. 6. Desde el Men de Archivo de Visual FoxPro, seleccione NUEVO Debajo del Botn de tipo de Archivo, selecciones PROYECTO Pulse el botn NUEVO ARCHIVO Introduzca el nombre del proyecto. Pulse el Botn CREAR. Establezca la va de acceso del Proyecto desde la ventana de Comandos con la orden TO ejemplo: SET DEFAUL TO C:\VFP\PROYEC1

SET DEFAUL

Pasos para Abrir un Proyecto: Hay dos formas: 1. Establezca la va 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 botn ACEPTAR

Creacin 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 comn. Estos archivos tienen extensin .DBC y se crean con el generador de bases de datos. El trmino base de datos se refiere a un grupo de datos que almacena informacin sobre una o ms tablas (archivos *.DBF). Las bases de datos son archivos con extensin .DBC (DataBase Container) que guardan informacin acerca de todas las relaciones y arquitectura de construccin de Base de datos con tablas (archivos .DBF).

Pasos para crear una nueva base de datos: 1. 2. 3. 4. 5. Desde el administrador de proyectos, pulse la ficha DATOS. Desde la lista de apartados de datos seleccione BASE DE DATOS. Pulse el Botn NUEVO. Escriba el Nombre de la nueva base de datos. Pulse el botn CREAR (Debe aparecer la Ventana de Diseo de la Base de Datos)

Al comenzar un nuevo proyecto, el generador estar vaco. Se deben crear las tablas para almacenar la informacin en contenedor (Ventana de Diseo) de la Base de Datos y Luego se establecen la relaciones entre cada una de ellas. Creacin 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 validacin. Pasos para Crear una Tabla: 1. Desde la Barra de herramientas, pulse el Botn NUEVA TABLA. 2. Pulse el Botn NUEVA TABLA 3. Introduzca el Nombre de la tabla 4. Pulse el botn 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 diseador de tablas, en el que se digita el campo, tipo y ancho de cada campo.

A continuacin se procede a establecer los campos o atributos de la Tabla, los ndices y las reglas de Validacin.

Definicin 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 botn de flecha desplegable que hay a la derecha del cuadro de texto TIPO. 2. Seleccione el Tipo de Datos (Carcter, Numrico, Fecha, Memo, Lgico, etc.) 3. Desplcese hasta el Ancho Decimal 4. Establezca el ancho Necesario del Campo. Como editar los encabezados de campo: Los encabezados de campo aparecern cuando est examinando o editando tablas, y tambin en las cabeceras de columna de las cuadrculas, Formularios, Informes, etc. 1. Para Seleccionar el campo , pulse el cuadro de seleccin 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 Ttulos Necesarios a todos los campos de la tabla. Cerrar una Base de Datos 1. Men Archivo 2. Opcin Salir

! VAMOS A REALIZAR UN PROYECTO DE UN SISTEMA DE ADMINISTRACIN DE BASE DE DATOS! PERO... Cromo crear un proyecto?

Yo no se Programar!

Cromo crear una base de datos?

Qu es un cdigo?

Todas estas dudas sern resueltas segn como se vaya avanzando en la aplicacin. En la aplicacin a desarrollar, la programacin es mnima, y predomina el uso de asistentes.

Desarrollo de la creacin de una base de datos

1. Primero tendremos que generar una Carpeta llamada Proyecto_Miscelnea 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. 2. 3. 4. Botn inicio -> Todos los programas-> Microsoft Visual Fox Pro 9.0-> Visual Fox Pro 9.0 2. Nos aparece una pantalla de presentacin del SGBD, que nos indica que se esta abriendo la aplicacin. 3. Posteriormente haremos lo siguiente como lo muestra la siguiente pantalla: 1. Men File-> 2. Opcin New->

4. Posteriormente seleccionaremos la opcin Project para disear, 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 ubicacin 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

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 ManagerTiendita Departamental).

3. Lo que a continuacin realizaremos ser la creacin de la base de datos:

1. Seleccionaremos la opcin 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 botn Table). Nueva Tabla (New

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 pestaa ndices (Indexes) y verifica con las tablas de las estructuras, las caractersticas de las claves.

5. Al aceptar el diseo de dicha tabla la aplicacin nos preguntar si queremos introducir informacin a nuestra tabla: Daremos clic en NO

6. Crea las tablas con base en los siguientes esquemas de tablas presentados, la cual contiene la definicin de los tipos de datos, tamaos y ordenaciones.

Estructuras de tablas Articulo CAMPO cve_art descripcion existencias precio_compra precio_venta cve_prov cve_tipo

TIPO Character Character Numeric Currency Currency Numeric Numeric

TAMAO 5 35 2 3 3

DESCRIPCION Clave del articulo Precio de compra Precio venta Clave del proveedor clave de tipo producto

INDEX Primary Regular Regular

NULL -

OBSERVACIONES Pan:PN001 Min 0, Max 99 Existente en la tabla proveedor Existente en la tabla catalogo

Proveedor CAMPO cve_prov nombre direccion telefono contacto

TIPO Numeric Character Memo Character Character

TAMAO 3 30 15 35

DESCRIPCION Clave de proveedor Nombre de la empresa Persona con la que te comunicas

INDEX Primary -

NULL

OBSERVACIONES Del 1 al 999 (442) 2-20-24-31 PUEDE SER VACIO

Catalogo CAMPO cve-tipo tipo

TIPO Numeric Character

TAMAO 3 2

DESCRIPCION Clave del tipo de producto Tipo de producto

INDEX Primary -

NULL -

OBSERVACIONES Del 1 al 999 Enlatado, Lacteo, Refresco

Venta _Art CAMPO no_venta cve_art no_articulos

TIPO Numeric Character Numeric

TAMAO 5 5 2

DESCRIPCION Numero de venta Clave del articulo Suma de artculos con la misma clave de articulo

INDEX Regular Regular -

NULL -

OBSERVACIONES Del 1 al 999 De la tabla de venta De la tabla de artculo Del 1 al 99

Venta CAMPO no_venta fecha subtotal

TIPO Numeric Date Currency

TAMAO 5 -

DESCRIPCION Numero de venta Fecha de la venta Subtotal de la venta

INDEX Primary -

NULL -

IVA

Numeric

Porcentaje de IVA calculado

OBSERVACIONES Del 1 al 999 Predeterminada por el sistema Suma de los costos de los artculos vendidos considerando no_articulo de c/u Normalmente 15 en la codificacin se dividira/100

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

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 informacin que contendr cada una de nuestras tablas y recuerda que puedes introducir los registros a las tablas seleccionando el comando Articulo cve_art PN001 AR010 ZK021 RF002 FR025 JM050 FJ005 JIB087 LA10 PC12 SU15 YA030 SP058 AD158 JA044 DG033

descripcion Pan Arroz Morelos Zucaritas Kelloggs Coca de 600 ml Frituras Sabritas Jumex Jugo Frjol de Mayo Morelos Jitomate Bola Leche Alpura Colgate Suavizante Dawny Activia Sopa Fideo Atn Dolores Jabon Polvo Ace Grenetina de Durazno

existencias 10 8 12 59 84 7 2 15 50 18 3 18 50 25 9 18

precio_compra 1.00 10.00 31.30 5.10 4.75 2.00 16.02 7.45 10.50 18.87 17.00 30.00 1.50 6.20 47.50 5.50

precio_venta 1.50 12.50 34.70 6.80 5.00 2.95 18.45 14.80 12.60 23.20 19.80 34.90 2.45 8.40 55.00 6.90

cve_prov 040 021 031 005 039 036 021 041 001 012 013 033 025 029 018 032

cve_tipo 001 024 035 039 032 016 003 028 040 006 028 017 021 008 033

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

Proveedor cve_prov 001 002

nombre Alpura FUD

003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028

Bimbo S. A Wonder S.A Coca- Cola Pepsico S.A Mc Kormic Hellmans La costea S.A Del Monte Kleenex Palmolive- Misin Hills Suavitel Downy Cloralex Clorox Ariel Ace Roma Axion Morelos Mexica Verde Valle Knorr La Moderna La sierra Aceite 1-2-3 Kartamus S.A

direccion Nextengo No. 78, Mxico, D.F. Cipreses #98 Fracc. Zona Industrial Benito Juarez Queretaro, Qro., C.P. 76120 Av. Tepalcapa No. 2, Tultitln, Estado de Mxico Av. J. Vasconcelos # 127 Col. Hipd. Condesa - Mxico D.F. Av. Ejercito Nacional # 223 11320 Mxico D.F. Av. Universidad # 1005, Col del Valle - 03100 Mxico D.F. Blvd. M. vila Camacho # 611 11220 Mxico D.F. Perifrico Sur # 4080, Jardines del Pedregal - Mxico D.F. Av. Tlahuac # 4766, Col. Cerro de la Estrella - Mxico D.F. Perifrico Sur # 6611 - 16020 Mxico D.F. Dr. Jess Valenzuela # 25, Col. Doctores - Mxico D.F. Prl. Tecnolgico Norte # 1000 94299 Quertaro Blvd. Lpez Portillo # 201, Col. Depend. Feder. - Guadalupe Paseo del Mineral # 352 - 99050 Fresnillo Carr. Libre Mxico-Texcoco, Km. 21.5 - Los Reyes la Paz Av. Univ. # 162 Col. Ex Hacienda Candiani - 68130 Oaxaca Carretera Transistmica Km. 2 70620 Salina Cruz Carr. Federal Tuxtepec # 202 Tuxtepec Carr. Guadalajara 515, L. del Tecnolgico - San Lus Potos Av. Jurez # 3815 Las Mercedes - 78395 San Lus Potos Va Rpida Oriente 11942 Zona Ro - Tijuana Carr. Transpeninsular y calle plinta # 200 - Ensenada Blvd. Mx.-Laredo y Zaragoza s/n - 79090 Ciudad Valles Blvd. Lzaro Crdenas # 1801 21100 Mexicali Carr. Transpeninsular Nte. 3565 23090 La Paz Carretera Costera, Km. 245 30750 Tapachula Carr. Panamericana, Km. 1090 Tuxtla Gutirrez Av. Constituyentes # 42, Col. Villas del Sol - 76046 Quertaro

telefono (55) 5- 864-8200 (442) 199-3019 al 25 (55) 9-177-74 02 (506) 2265-2500 (55) 5-26-36-200, Fax 52636224 (55) 5-20-00-900, Fax 55346488 (55) 26299000, Fax 55574791 (55) 54816500, Fax 56527585 No tiene (55) 56767166, Fax 56766175 (55) 91790350 (55) 1958000, Fax 1957999 01 (492) 9237291 01 (493) 9329501 58580630, Fax 58580630 5147202, Fax 5147212 No tiene No tiene 8340000, Fax 8340010 8247440, Fax 8247539 3820080, Fax 3812345 9044999, Fax 9044966 No tiene 6827000, Fax 6821052 1763735, Fax 1760844 No tiene 6171100, Fax 6171120 (442) 2-48-4934,

contacto Ericka Corona Catana Andrs de la Cruz Crdenas German lvarez A. Eva Vargas Vargas Deyanira Snchez Aguilln Alma Yadira Guevara Rico Eloisa Garca Hernndez Omar Garca Garca Gelacio Hernndez Martnez. Martha De la Parra Aboytes Denisse Espinosa Mendoza Adriana Ramrez Hernndez. Liliana Hernndez Lpez Zyanya Paulina Hernndez Lpez Mateo Aguilar lvarez Jos de la Cruz Landaverde Valles Enrique Mier Procel Pablo Chapela Mendoza Aarn Noe Basalda Quintana Alejandra Ramos Prieto Josefina Chimal Aboytes Alberto de Santiago Santiago Daniel Almaraz Torres Ana Daz Barriga Ofelia Chvez Trejo Rub Solano Hernndez Maricela Moreno Pacheco Mariela Martnez Hernndez

028 029 030 031 032 033 034 035 036 037 037 038 039 040 041

Kartamus S.A Dolores Nestle Kelloggs Gari Danone Del valle Gatorade Jumex Bonafont Corona Superior Sabritas Pan Casero Abastos(frutasy verduras)

Av. Constituyentes # 42, Col. Villas del Sol - 76046 Quertaro Insurgentes Sur # 2336 Col. San ngel - Mxico D.F. Calz. de Tlalpan # 2169, Col. Cd. Jardn - Mxico D.F. Km 1 Carrretera a Campo Militar. Quertaro, Qro. Av. Aquiles Serdn # 431, Col. Nextengo - Mxico D.F. Eje 3 Sur Esquina Lzaro Crdenas - 06780 Mxico D.F. Xochicalco # 17, Col. Narvarte Mxico D.F. Av. Insurgentes Sur # 943, Col.Napoles - Mxico D.F. Ro Po # 93 - 06500 Mxico D.F. Carr. Mxico-Toluca # 3006, Km.19.5 - Mxico D.F. Calz. I. Zaragoza # 1381, Col. Tepalcates - Mxico D.F. Av. de Los Cien Metros # 831 07700 Mxico D.F. Lateral Autopista Mx.-Qro # 111 - Cuautitlan Izcalli Conocido Plazas del sol, Quertaro, Qro.

(442) 2-48-4934, Fax 2484934 (55) 5-66- 11- 597, Fax 56612951 (55) 5-48-41-500, Fax 56895962 (442) 2-11-1300 ext. 2510 (55) 9-14-09-700, Fax 55619991 (55) 5-13-43400Fax 55381249 (55) 1-08-79-800, Fax 10879878 (55) 5-35-10-089, Fax 53510090 (55) 5-20-72-201, Fax 55142907 (55) 5-81-41-414, Fax 58141414 (55) 5-71-67-200, Fax 57633624 (55) 5-74-77-700, Fax 57477706 58720887, Fax 58724880 (442) 2-00-10-00 No tiene

Mariela Martnez Hernndez Hilda Trejo Prez Maricruz Santos Arabela Paulina Ruiz Lang Sandra Sanabria Uribe Wendolly Nieto Vargas Ana Guevara Estrada Javier Maya Tellez Luis Ugalde Ugalde Marco Antonio Yaez Zarate Kendall Kennedy William Corgan Agustin Yang Betancourt Carlos Guerrero Snchez Gustavo Castaeda

Catalogo cve-tipo 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019

tipo Panadera Frutas Verduras Salchichoneria Blanqueador Suavizantes Papel higinico Detergentes Insecticidas Veladoras Vinagre Aceite Servilletas Pauelos desechable Arroz Frjol Sopas Caldo de pollo Semillas

020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040

Mayonesa Atn Pan de caja Enlatados Cereal Chocolate Caf Avena Lcteos Mermelada Galletas Harina Jugos Gelatinas Nctar Refresco Agua Concentrados Cerveza Frituras Pastas Dentales

Venta_Art no_venta 08956 02959 05064 03871 09997 cve_art RF002 JM050 ZK021 YA030 DG033 no_articulos 2 7 1 6 5

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

13.

Una vez capturada la informacin procederemos a realizar los filtros necesarios para realizar las siguientes consultas : a. Qu artculos 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 botn ejecutar.

6. Y podrs observar los resultados de dicha consulta. 7. De la misma forma realizaremos las siguientes consultas: a. Quin es el proveedor, la direccin y la clave del proveedor que no tiene telfono? b. Descripcin del artculo, precio de compra del mismo, clave del proveedor y clave del tipo de producto cuya existencia es 2. c. Cul es el nmero de venta y la fecha que tiene una venta con subtotal menor a $ 200.00?

14. 15.

Por ultimo guardar los cambios y cerrar nuestra base de datos. Evaluacin de la prctica: Reactivo 1. 2. 3. Indicador Creo la carpeta correctamente. Acceso a VFP correctamente. Imprimi la estructura de las 5 tablas del Proyecto_Miscelnea correctamente Creo los ndices adecuadamente. Creo las relaciones de las tablas adecuadamente. Imprimi los registros de las tablas: Articulo.dbf, Proveedor.dbf, Catalogo.dbf, Venta_Art.dbf y Ventadbf. Imprimi los resultados de las 4 consultas realizadas en la prctica. Se elaboro con orden y limpieza. Guardo el archivo con el nombre asignado. Puntaje 0.5 0.5 2 Apreciacin Calificacin

4. 5. 6.

1 1 2

7. 8. 9.

4 1 1 Calificacin final

Comandos Bsicos Qu es un comando?

Investigar los siguientes comandos Bsicos:

Comando Use Modify Structure Browse Append Insert Delete Display Close

Significado

Actividades:
Ejercicio 1. Instrucciones: Relaciona cada botn de la izquierda con su significado correspondiente en la parte derecha. 1. ( ) A. Cerrar

2. 3.

( (

) )

B. C.

Abrir Agregar tabla

4. 5. 6. 7.

( ( ( (

) ) ) )

D. E. F. G.

Ejecutar Acceso Directo a VFP 9.0 Nuevo Barra de herramientas controles (Form Control Toolbars) Ventana de comandos Ventana de cdigo Entorno de datos

8. 9.

( (

) ) )

H. I. J.

10. (

11. (

K.

Nueva tabla

Ejercicio 2. Instrucciones: Completa el siguiente cuadro.

No. 1. 2. 3. 4.

Archivo Project Database Table Query

Significado

Extensin

Base de datos

Ejercicio 3.

Departamento de vehculos automotores. Suponga que es administrador de la base de datos del Departamento de Vehculos automotores. Debe disear la estructura de registros de un nuevo sistema de informacin que contiene datos de licencias. Empleando su licencia de conductor, disee 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 ms de 15 caracteres y abarcar una sola palabra. Por ejemplo, use NombreCompleto, no NC. Recuerde considerar que los datos podran emplearse para salida impresa (los campos que defina tal vez no sean exactamente los campos que aparecern en la licencia del conductor). Asigne un tipo de dato a cada campo. Tal vez use los siguientes tipos de datos: Carcter, numrico, fecha, lgico 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 ms largos (use su buen juicio). Donde sea apropiado, indique cmo se podran minimizar los errores de entrada de datos.

Desarrollo
3.2 Consultas a una base de datos. Objetivo del tema. Aprenders a aplicar consultas a una base de datos, a travs de los comandos de consulta bsicos, para la obtencin de informacin requerida.

Una vez capturada la informacin se podrn realizar consultas simples a la base de datos. Consultas Las consultas permiten visualizar datos de una tabla a partir de un criterio de seleccin, con el fn de organizar la informacin para un reporte o para consultar rpidamente un conjunto de datos. Con el Generador de consultas de Visual FoxPro puede especificar los criterios de seleccin, los campos que se visualizarn, la manera como se ordenar y agruparn los resultados e indicar las tablas que harn parte de la consulta. En el proceso de consulta se selecciona la tabla de la cual se desea extraer informacin, luego se especifican los criterios de seleccin, se enva la informacin a la pantalla, se genera un informe o reporte o se guardan los datos de la tabla. Estructura bsica. La estructura bsica en una instruccin en SQL consta de tres clusulas: select, from y where. La clusula select corresponde a la operacin proyeccin del lgebra relacional. Se usa para listar los atributos que se desean en el resultado de una consulta. La clusula from corresponde a la operacin de producto cartesiano del lgebra relacional. Lista las relaciones que se van a examinar en la evaluacin de la expresin. La clusula where corresponde al predicado de seleccin del lgebra relacional. Consta de un predicado que incluye atributos de las relaciones que aparecen en la clusula from. Varias formas de realizar una consulta a la base de datos Una consulta la usaremos para obtener resultados rpidos y derivarlos a un destino preestablecido. Puede crear una consulta con el comando SELECT 1. En el diseador de consultas 2. En la ventana de Comandos 3. En un programa Visual FoxPro (como cualquier otro comando de Visual FoxPro).

1. Creacin de Consultas con el Diseador de consultas. Para construir una consulta con el cuadro de dialogo CONSULTAS: 1. Vaya al men Archivo, opcin Nuevo y 2. Luego sealar en el cuadro de dilogo Consulta

3. Una vez que haya decidido qu informacin necesita buscar, agregue las tablas y/o vistas donde se encuentren almacenadas. 4. Luego en la pgina Campos, seleccione los campos de inters, especifique un orden y una condicin 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 pgina Criterios de actualizacin y en una opcin llamada Configuracin de la salida de un men emergente que a continuacin vamos a describir. 5. Haga click del botn derecho en el Generador de consultas y en el men emergente escoja la opcin Configuracin de salida, 6. Se presentar el cuadro de dilogo sealando 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 travs de la ventana de comandos de la siguiente manera: 1. Seleccionar los campos que intervendrn en la consulta 2. Seleccionar las tablas que contienen dichos campos. 3. Poner el criterio o condicin de bsqueda. SQL forma el producto cartesiano de las relaciones nombradas en from, realiza una seleccin del lgebra relacional usando el predicado de la clusula where y despus proyecta el resultado a los atributos de la clusula select. El resultado de una consulta en SQL es una relacin. 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 clusula 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 bsqueda>> EJEMPLOS: SELECT *; FROM ARTICULO SELECT cve_art, descripcin, existencias, precio venta; FROM ARTCULO 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 continuacin: USES <base de datos y/o tabla> LIST <lista de campos> FOR <condicin> Una consulta es la siguiente: Qu alumnos no tienen telfono de la base de datos Alumnos? Las instrucciones son las siguientes: USES Alumnos LIST Nombre FOR Telefono = No tiene

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

OPERADOR AVG

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

COUNT

Utilizada para devolver el nmero de registros de la seleccin

SUM

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

MAX

Utilizada para devolver el valor ms alto de un campo especificado

MIN

Utilizada para devolver el valor ms bajo de un campo especificado

Operadores de comparacin

OPERADOR BETWEEN

DESCRIPCION Utilizado para especificar un intervalo de valores.

LIKE

Utilizado en la comparacin de un modelo.

In

Utilizado para especificar registros de una base de datos

Caracteres COMODINES utilizados en SQL

COMODIN ?

DESCRIPCION Un carcter cualquiera

% 0, 1 o mas caracteres _ 1 carcter

Actividades:
I. Instrucciones: Completa lo siguiente: AND, OR y NOT son ejemplos de operadores_______________________ y se usan para especificar relaciones entre criterios de bsqueda. 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 ms 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, cul 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 Cdigo Cliente Nombre Cliente Apellidos Cliente Direccin Cliente Poblacin Cdigo postal Provincia Telefono Fecha de nacimiento Charcter Charcter Charcter Charcter Charcter Charcter Charcter Charcter Date

La clave principal es el campo Cdigo cliente. 3. Crear otra tabla con el nombre de Coches vendidos con los siguientes campos. Nombre del campo Matricula Marca Modelo Color Precio Extras instalados La clave principal ser el campo Matricula. 4. Crear otra tabla con el nombre de Fechas de revisin con los siguientes campos: Nombre del campo No. revisin Cambio aceite Cambio filtro Revisin frenos Otros La clave principal es el campo No. de revisin. 5. Cerrar la base de datos. Numeric Logical Logical Logical Memo Tipo de dato Charcter Charcter Charcter Charcter Charcter Memo Tipo de dato

EJERCICIO 2. Realiza las siguiente Consulta bsica a travs de la ventana de comandos y muestra el resultado. SELECT Nombre, Telefono; FROM Clientes

EJERCICIO 3. Instrucciones: Realiza las siguientes consultas en SQL, utilizando la ventana de comandos: 1. Cul 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 direccin con cdigo del cliente numero C005.

QUERY

4. Despliega el cdigo del cliente, nombre, direccin para todos aquellos clientes que nacieron entre el 1 de enero de 1980 a 31 de Diciembre de 2000.

QUERY

5. Muestra el precio mayor de los coches vendidos.

QUERY

6. Despliega el costo mnimo de los coches vendidos

QUERY

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

QUERY

Desarrollo
3.3 Modificaciones a una base de datos. Objetivo del tema. Aprenders a modificar una base de datos, mediante el uso de las instrucciones bsicas para la actualizacin de informacin.

Para manipular la base de datos existen dos formas de hacer modificaciones a travs 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 tendrs 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 tendrs que hacer es editar o desplegar los registros. Para modificar la estructura de una base de datos a travs de la ventana de comandos, dentro del SGBD tendrs que seleccionar la base de datos y seleccionar la opcin de modificar la estructura. La sintaxis es la siguiente: USE Databases Alumno Modify structure Para modificar los registros de la base de datos a travs de comando utilizados en la ventana de comandos, bastar con editarlos, existen varias formas de hacerlo, por ejemplo, la edicin de registros o el despliegue de registros, la forma de hacerlo es abrir o poner en uso la base de datos y solicitar la edicin 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

Mencionaremos los comandos ms usuales que son de gran ayuda al momento de manipular los datos:

APPEND BLANK COUNT DISPLAY FILES DISPLAY STRUCTURE MODIFY COMMAND MODIFY STRUCTURE REPLACE INSERT DELETE

Agrega registros en blanco a la base de datos seleccionada Determina el nmero de registro en la base de datos Muestra informacin de la base de datos Muestra la estructura de una base de datos Abre una ventana de modificacin de texto Modifica la estructura de una base de datos Actualiza los registros en una base de datos Inserta un nuevo registro a la tabla. Marca los registros de la tabla en uso que cumplen los criterios establecidos para eliminarlo. Es un borrado lgico. Elimina todos los registros de la tabla marcados. Eliminacin fsica.

PACK

Actividades:
1. Trabajo en parejas: investiga el siguiente comando, su sintaxis al utilizarlo y proporciona un ejemplo: Comando UPDATE Sintaxis Ejemplo

2. Instrucciones: Realiza las siguiente tareas de laboratorio: Manos a la OBRA!! 3. Un amigo te sugiere crear una tabla para almacenar informacin acerca de un conjunto de libros viejos. T presentas una lista de los campos que incluira en una tabla para almacenar dicha informacin. Para cada campo debe especificar el nombre del campo, el tipo de dato (texto, numrico, 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 sern 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.

Desarrollo
3.4 Ordenacin de la informacin.

Objetivo del tema. Aprenders a ordenar los registros de una base de datos, mediante el uso de instrucciones de ordenacin, para construir ndices que aceleren el manejo de la informacin.

En base de datos una ordenacin significa que los registros ase encuentren colocados en un orden ascendente o descendente de acuerdo con los valores alfabticos o numricos, dependiendo del tipo de dato del campo. Generalmente una tabla se ordena para facilitar las bsquedas de informacin en la base de datos, si la tabla se encuentra desordenada,, podremos ordenarla mediante la seleccin de un campo que nosotros consideremos significativo par dicha bsqueda. Para ordenar los registros de las bases de datos lo hace a travs de dos formas: Ordenacin Fsica Ordenacin lgica (indexar). Cmo 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 informacin 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 cul CD debe ordenarse. El administrador de mercadotecnia estar ms interesado en FechaProdccin para seguir una poltica 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 fsico) es el orden en que se almacenan los registros en el disco. Por lo general las tablas ordenadas producen consultas y actualizaciones ms rpidas, porque aprovechan algoritmos que rpidamente 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 bsqueda secuencial de cada registro. Casi todos los sistemas de administracin 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 ms campos, que se usan para especificar dnde 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 fsicamente los registros del disco. El diseador 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 lgico, es la creacin 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 fsica de los registros especificada por el ordenamiento.

Una ordenacin fsica se refiere a crear una copia de la tabla original, pero con los registros ordenados en relacin al campo seleccionado o de ordenacin, esto implica una duplicacin de informacin y de espacio en el dispositivo de almacenamiento. La serie de instrucciones par realizar la ordenacin fsica es: USES <Base de datos original o base> SORT ON <campo de ordenacin >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 Juan Martnez Roxana Cuellar Margarita Rosales Pedro Lpez Eduardo Garay Persona _ ordenada Eduardo Garay Juan Martnez Margarita Rosales Pedro Lpez Roxana Cuellar

Actividad:
1. Realizar una base de datos llamada Escuela. 2. Crear las tablas Alumno, Maestro, Materia etc. 3. Proseguir a realizar la ordenacin fsica de la tabla Alumno debemos seleccionarla y crear una tabla nueva con los registros ordenados. La ordenacin que se solicita esta actividad es por matrcula del alumno. Tabla original o base Alumno Nombre Juan Luis Prez Pedro Gmez Cruz Rebeca Cruz Montes Jos Lpez Canseco Margarita Godnez Ibarra Luis Ramrez Ramos Matricula 8945678 8987654 8976541 8973635 89735256 8927262 Direccin Av. De los Remedios No. 18 San Juan de los Lagos No. 8 Satlite No. 123 Av. Corregidora No. 12 Av. Tlahuac No. 89 Av. De los Nios Hroes No. 1 Telefono (5)674-89-00 (5)844-78-66 (5)625-19-89 (5)876-09-12 (5)738-28-19 No tiene

Las instrucciones para realizar la ordenacin fsica ser: USES Alumno SORT ON <Matricula> TO Alumatri

Si ponemos en uso la base de datos Alumatri con la orden USE Alumatri; como sigue: USE Alumatri Browse Y pedimos visualizar la informacin con algn modo de despliegue, la tabla que veremos ser: Alumno Nombre Matricula Direccin Telfono

La segunda forma de ordenacin y la ms recomendable es la ordenacin por medio de ndices o lgica, actualmente los SGBD ya traen integrado en el diseo de la estructura de la base de datos la especificacin de ordenacin por ndices, de tal forma que la nueva informacin 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 ordenacin ocupa menos espacio de almacenamiento porque se trabaja sobre la misma base de datos original, haciendo referencia a un archivo ndice (ms pequeo que una copia de la misma base de datos) para desplegar la informacin 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 nmero de registro que contiene ms informacin acerca del CD que se lanzo en esa fecha. Archivo ndice Clave 10/13/00 # 2 11/14/00 3

11/21/00

2/27/00

Numero articulo Wea56690-1

Nombre CD A Day Without Rain All that You Cant Leave The Beatles 1 Everyday

Nombre Artista Enya

Fecha Produccin 11/21/00

Cantidad de Inventario 345

Precio sugerido 18.95

Umi983200

U2

10/31/00

234

19.95

3 4

EMD7201671 RCA-00-134

The Beatles1 Dave Matthews

11/14/00 2/27/00

183 50

24.95 18.95

Proceso de Indexacin Cuando haya creado una tabla, puede ordenar los datos para acelerar la obtencin de datos mediante ndices. Con los ndices, puede procesar rpidamente los registros para mostrarlos, consultarlos o imprimir. Tambin 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 informacin 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, tambin 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 ms que ir a la pgina de ndices en la ventana de modificacin 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 concatenacin de campos (ndices compuestos) que lo forman y, por ultimo, una condicin de filtraje. VFP ofrece cuatro tipos de ndice diferentes, cada uno con caractersticas predeterminadas: 1. 2. 3. 4. Normal nico Principal Candidato

Los ndices normales; es el ndice clsico. Permite cualquier valor en la clave, est repetido o no. Es el ms utilizado. Determinan el orden en que se procesan los registros pero permite que se introduzcan valores duplicados en un campo. Puede agregar ms de un ndice normal a una tabla. Tambin puede crear un ndice nico; semejante al normal. Sin embargo, en el caso de que haya ms 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 prcticamente no se usa. Es aquel que selecciona y ordena un subconjunto de registros segn la primera aparicin 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, provocndose un error en VFP. Slo puede haber un ndice principal. Aseguran que slo 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 slo puede haber un ndice principal, todos los dems deben ser candidatos, candidatos, por tanto, a serlo. Tambin 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 necesitramos una lista de precios probablemente la querramos en orden alfabtico y en otras ocasiones segn el cdigo, solucionaremos ambos casos creando dos ndices.

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 clusula ORDER en el comando USE. Por defecto, las tablas no estn ordenadas,, por ello, debemos emitir un SET ORDER TO seguido del nombre del tag, no la expresin ni el nombre del campo. Si queremos volver a dejar el orden fsico de la tabla, lo que haremos ser incluir el cdigo SET ORDER TO sin parmetros, 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 rpidamente un ndice a un campo al definirlo; de lo contrario, no se generar ningn archivo de ndice en ese momento. Los registros introducidos en la nueva tabla se almacenarn en el orden de introduccin, y al examinar la tabla aparecern en ese orden. Normalmente, conviene poder ver y tener acceso a los registros de la nueva tabla en un orden especfico. Por ejemplo, puede ser adecuado ver los registros de la tabla de clientes ordenados alfabticamente 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 ordenacin de registros, o clave de ndice, de la tabla. A continuacin 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 continuacin, elija Modificar. 2. En el Diseador 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 Expresin, escriba el nombre del campo por el que quiere ordenar los registros. O bienGenere una expresin; para ello, elija el botn de dilogo situado al final del cuadro para mostrar el Generador de expresiones. 6. Si quiere seleccionar registros, escriba una expresin de filtro en el cuadro Filtro o seleccione el botn situado al final del cuadro para generar una expresin. 7. Elija Aceptar. O bien Utilice el comando Index.

Actividades: 1. Explique las diferencias entre ordenar (fsico) e indexar (lgico) DIEFERENCIAS ORDENACION FISICA ORDENACION LOGICA (INDEXAR)

2. Investigar los siguientes comando para crear ndices COMANDO SET ORDER DESCRIPCION

INDEX ON

SORT TO

REINDEX

3. Investigar en la ayuda de Visual Fox Pro: Cmo 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?

Autoevaluacin
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 autoevalate para verificar lo aprendido.

1. Completa la siguiente tabla. Concepto Consulta Ordenacin Fsica Qu representa

Ordenacin Lgica

Lenguaje de Consulta Estructurado

SELECT

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

UPDATE

Preguntas de Situacin 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 ms estndar, de modo que recomienda que la compaa evale software de administracin de base de datos 3. Estas analizando a un cliente de una compaa y pide informacin. Debido a que cada cliente puede hacer varios pedidos, sabes que sta es una relacin a muchos.

4. Est diseando un tipo de registro que contiene

informacin de cliente. Debe de usar un tipo de dato

para incluir informacin como telfonos y nmeros de Seguro Social porque, a pesar de que estos datos parecen nmeros, nunca los usar en operaciones matemticas. 5. Eres dueo de una tienda de artculos de equipo de cmputo y mantienes una base de datos de inventario que, adems almacena los nombres de los mayoristas a los que compra cada artculo. 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 actualizacin cada caso Hewlett Packard por Compaq S.A. 6. Ests diseando la estructura de la base de datos de una compaa de venta por catalogo. Reconoce que existe una relacin muchos a muchos entre un pedido y los artculos que incluye. Esa pista que debe separar los datos en dos : Pedidos y DetallePedido. , que cambia

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

8. Contesta el siguiente crucigrama.

10

Horizontal 5. 6. 1. 2. 3. 4. Tipo de datos que acepta cualquier texto. Valor booleano verdadero o falso. Es una instruccin especfica, utilizable dentro de los programas. Permite ordenar los registros de acorde a la informacin que necesitamos. 7. 8. 9.

Vertical Nmero de signo flotante de precisin doble. Almacena fechas con el formato mm/dd/aa sin valores de hora. Tipo de dato ya sea enteros o fracciones. Modifica la estructura de una base de datos. 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 tamao 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 extensin .FPT

Vayamos ms all
Sabas que?
ORACLE Oracle Corporation, una de las mayores compaas de software del mundo y principal distribuidora de sistemas de gestin de bases de datos. Los programas de bases de datos de Oracle permiten a las grandes empresas tener acceso y almacenar grandes cantidades de informacin, desde informes de ventas y listas de clientes hasta reservas areas, en diferentes tipos de sistemas operativos. Oracle tambin fabrica herramientas para programadores de software, as como aplicaciones para gestin de informacin en servidores. La sede central de la compaa 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 informticos. Ellison haba trabajado en una compaa que desarroll el primer mainframe compatible con los equipos IBM (International Business Machines Corporation). Ya en la nueva compaa, 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 administracin 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 patrn. 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 lder del sector de gestin de bases de datos y firm contratos con algunas de las compaas ms importantes de Estados Unidos y de todo el mundo. Durante la dcada de 1980 las ventas se doblaron ao tras ao, pasando de 2,5 millones de dlares estadounidenses en 1982 a 916 en 1990. En 1991 la compaa tuvo prdidas por primera vez y se vio forzada a despedir a cientos de empleados y a reorganizar su sistema de administracin. 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 vdeo, audio y texto, y a distribuir datos a travs de redes globales. La compaa adquiri nCube Corporation, una empresa con sede en California, pionera en supercomputadoras, que utilizaba una tcnica 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 diseado 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 informticos. Al ao siguiente Oracle cre la divisin 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.

Autoevaluacin
9. Completa la siguiente tabla. Concepto Qu representa Es aquella que nos permite visualizar datos de una tabla a partir de un criterio de seleccin, con el fin de organizar la informacin para un reporte o para consultar rpidamente un conjunto de datos.

Consulta

Ordenacin Fsica

Es el orden en que se almacenan los registros en el disco. Es la creacin 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 fsica de los registros especificada por el ordenamiento. Lenguaje de Consulta Estructurado Comando utilizado para consultar registros de la base de datos que satisfagan un criterio determinado Anexa un registro al final de una tabla que contiene los valores de campo especificados. Actualiza registros de una tabla con nuevos valores , modificando los valores de los campos y registros especificados

Ordenacin Lgica

SQL

SELECT

INSERT

UPDATE

Preguntas de Situacin 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 ms estndar, de modo que recomienda que la compaa evale software de administracin de base de datos RELACIONAL

11. Estas analizando a un cliente de una compaa y pide informacin. Debido a que cada cliente puede hacer varios pedidos, sabes que sta es una relacin MUCHOS a muchos.

12. Est diseando un tipo de CARACTER

registro que contiene informacin de cliente. Debe de usar un tipo

de dato

para incluir informacin como telfonos y nmeros de Seguro Social porque, a pesar

de que estos datos parecen nmeros, nunca los usar en operaciones matemticas.

13. Eres dueo de una tienda de artculos de equipo de cmputo y mantienes una base de datos de inventario que, adems almacena los nombres de los mayoristas a los que compra cada artculo. 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 actualizacin cada caso Hewlett Packard por Compaq S.A. 14. Ests diseando la estructura de la base de datos de una compaa de venta por catalogo. Reconoce que existe una relacin muchos a muchos entre un pedido y los artculos que incluye. Esa pista que debe separar los datos en dos TABLAS : Pedidos y DetallePedido. UPDATE , que cambia

15. Imagine que debe accesar a un catalogo de tarjetas de biblioteca empleando SQL. Escriba la consulta SQL que usara para buscar libros de Luis Joyanes Aguilar en una tabla llamada Libros, donde los nombres de donde los nombres de autor estn almacenados en un campo llamado NombreAutor. SELECT NombreAutor; FROM LIBROS WHERE NombreAutor = Luis Joyanes Aguilar

16. Proporcione cinco ejemplos de datos que almacenara en campos de datos numrico, lgico, fecha, imagen, carcter, memo, currency.

Campo Numrico

Folio

Edad

EJEMPLOS Cantidades artculos

Pagina(s)

Semestre

Lgico

Soltero/Casado

Falso/Verdadero

Fecha

Fecha de ingreso Foto persona, alumno Telfono

Fecha de nacimiento Logo empresa

Fecha de egreso Foto empresa

Inicio de curso

Imagen

Foto articulo

Croquis

Carcter

Nombre

Direccin

Matricula

Memo

Observaciones

Comentarios

Detalles

Descripcin del producto IVA

Diagnsticos

Monetario

Precio

Egresos

Ingresos

17. Contesta el siguiente crucigrama.

B R

F L O

M 2

10

M E M O

N U

O D 4

O W

A T

M E R I C

I F Y S T R
1

S E

D A

U C T U R E H A R A C

T E

Horizontal

Vertical 15. Nmero de signo flotante de precisin doble. 16. Almacena fechas con el formato mm/dd/aa sin valores de hora.

11. Tipo de datos que acepta cualquier texto. 12. Valor booleano verdadero o falso. 13. Es una instruccin especfica, utilizable dentro de los programas. 14. Permite ordenar los registros de acorde a la informacin que necesitamos.

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 tamao 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 extensin .FPT

DESARROLLO
4.1 Manejo de funciones

Al finalizar el tema tendrs el conocimiento del uso de ciertos programas que tienen una finalidad especfica, para utilizar la informacin de una base de datos.

Una funcin es una serie de instrucciones que realiza una tarea especfica, y que podemos llamarla desde cualquier parte de nuestro programa. Esta compuesta de una serie de parmetros, los cuales son los datos que se procesaran para obtener un resultado cuando se mande a llamar a dicha funcin. Visual Fox Pro contiene una serie de funciones que te sern tiles para obtener ciertos datos, estas se dividen en funciones de tipo carcter, funciones de conversin de datos, funciones de fecha y hora, Funciones numricas.

FUNCIONES DE TIPO CARACTER Funcin ALLTRIM ( ) Descripcin Elimina los espacios en blanco iniciales y finales de la expresin de caracteres especificada y devuelve la expresin recortada como una cadena de caracteres. Convierte una cadena de caracteres a tipo fecha Devuelve la expresin de caracteres especificada con todos los espacios en blanco finales recortados. LTRIM ( ) Devuelve la expresin de caracteres especificada despus de eliminar los espacios en blanco iniciales. DTOC( ) Convierte la expresin fecha a una cadena o expresin de tipo carcter.

CTOD( ) RTRIM( )

Funcin TTOC ( ) VAL( ) CHR( )

FUNCIONES DE CONVERSIN DE DATOS Descripcin Convierte una expresin DateTime en un valor de tipo Character del formato especificado. Convierte la expresin de caracteres a un valor numrico. Devuelve el carcter asociado al cdigo ANSI numrico especificado.

TTOD ( ) SYS ( )

Devuelve un valor de tipo Date a partir de una expresin de DateTime. Devuelve informacin del sistema de Microsoft Visual FoxPro.

FUNCIONES DE FECHA Y HORA Funcin DATE ( ) Descripcin Devuelve la fecha actual del sistema, que est controlada por el sistema operativo, o crea un valor Date compatible con el milenio. 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 expresin de tipo DateTime. DTOS ( ) Devuelve una cadena de caracteres de fecha con el formato AAAAMMDD a partir de una expresin 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).

DATETIME( )

FUNCIONES NUMRICAS Funcin MAX ( ) Descripcin Evala un conjunto de expresiones y devuelve la expresin con el valor mximo.

SIN( )

Devuelve el seno de un ngulo.

MIN( )

Evala un conjunto de expresiones y devuelve la expresin que tenga el valor mnimo.

COS ( )

Devuelve el coseno de una expresin numrica.

RTOD( )

Convierte radianes en grados.

Ejemplo de la funcin numrica SIN ( ) CLEAR ? SIN(0) && Resultado 0.00 ? SIN(PI( )/2) && Resultado 1.00 Ejemplo de la funcin 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

Actividad 1 Realiza el cdigo para obtener el valor mximo de cinco nmeros.

4.2 Generador de Reportes

Al finalizar este tema podrs elaborar informes impresos utilizando la informacin que se encuentra guardada en la base de datos para que sea ms fcil la comprensin de dicha informacin

Un reporte es la informacin impresa resultado de una consulta, que se construye mediante la recoleccin de datos previamente guardados en la base de datos, un reporte puede contener texto, imgenes, lneas, cuadros calculados, funciones. En la mayora 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 caractersticas funcionales y estticas para que se le pueda dar el uso adecuado y sirva a las necesidades de un usuario. Caractersticas funcionales: Encabezado o titulo del reporte Nmero de pgina Fecha de elaboracin Ttulos en cada columna Agrupacin de elementos relacionados entre si Totales o subtotales (en algunos casos) Caractersticas estticas: Leerse de arriba hacia abajo Izquierda a derecha Combinacin adecuada de colores Creacin de la Estructura Una vez que ya se tenga diseado como va a verse nuestro reporte, ahora abriremos el administrador de proyectos de visual fox y elegiremos la pestaa Documents y la opcin Reports, deber ser una ventana como la siguiente:

Da un clic para crear un reporte nuevo

Como habamos mencionado tendrs la posibilidad de crear un informe personalizado o con ayuda del asistente.

Asistente

Personalizado (Diseo en blanco)

l , Seleccionaremos en este caso New Report y nos mostrar un formato en blanco en donde se crear la estructura de reporte de forma personalizada, vers que esta compuesto por tres partes encabezado, cuerpo y pie de pginat tambin nos mostrar la barra de controles de reportes la cual nos ayudar en el manejo de los objetos que contendrr en reporte, en caso de que la barra de herramientas de reportes no aparezca la encontrars en el men View y Repo 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.

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

Modificacin de la estructura Para realizar algn cambio a un reporte debes ir al administrador de proyectos, seleccionar Documents, Reports y el reporte a modificar y dar clic en el botn Modify. A continuacin aparecer el formato del reporte y debers guardar los cambios que realizaste.

Dar click

Generacin del reporte La generacin del reporte se da cuando obtienes la impresin de este, es importe que tomes en cuenta el tipo y tamao del papel que vas a utilizar, as como configuracin de la impresora. Dibuja o Recorta y pega los botones de impresin y vista preliminar

Investiga las siguientes cuestiones. Cules son las sentencias en Visual fox Pro para crear, modificar y generar un reporte por medio de cdigo? ______________________________________________________________________________________________ ______________________________________________________________________________________________ ______________________________________________________________________________________________ ______________________________________________________________________________________________ ___________________ Qu utilidad tiene la opcin preparar pgina (Page Setup) y en que men la encontramos? ______________________________________________________________________________________________ ______________________________________________________________________________________________ ______________________________________________________________________________________________ __________________________________ Para que utilizas los objetos que estn en la barra de controles de reportes? ______________________________________________________________________________________________ ______________________________________________________________________________________________ _________________________________________________ Realiza con tu asesor un reporte con la base de datos Miscelnea que contenga los siguientes datos: Clave del articulo Descripcin 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: Nmero de venta Nmero de artculos Clave del articulo Descripcin del articulo Subtotal Entrega a tu asesor el archivo que generaste y el reporte impreso.

4.3 Generador de Pantallas

Al terminar el tema tendrs los conocimientos necesarios para poder crear pantallas en las cuales puedas introducir y manejar informacin de una manera sencilla y rpida.

Es necesario la creacin de pantallas o formularios para que el usuario tenga una interaccin fcil 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 mtodos que se pueden especificar desde el diseador de formularios. En Visual Fox Pro tendremos la posibilidad de crear estos formularios por medio del administrador de proyectos, Seleccionaremos Documents y Form, a continuacin dar clic en New, al igual que en los reportes podemos generar formularios personalizados o con la ayuda del asistente.

Dar click

A continuacin aparecer la siguiente pantalla en donde se empezar a crear el formulario que se desee.

Otra forma de crear un formulario es con la instruccin CREATE FORM. Para crear el formulario ser necesario que conozcamos los objetos que aparecern en la barra de controles, que sern los que iremos insertando en la pantalla anterior.

Investiga cul es la funcin de los siguientes controles Control Descripcin

Ahora que ya identificaste para que sirve cada control, para utilizarlos hars un clic en el objeto que desees insertar en tu formulario, cada objeto tiene ciertas caractersticas 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 ejecucin.

Completa la siguiente tabla con las caractersticas de las propiedades que se mencionan. PROPIEDAD name Backcolor BorderStyle Caption Closable Movable ScaleMode Scrollbars Controla el tipo de barras de desplazamiento dentro del formulario Controla si se puede cerrar el formulario haciendo doble clic en el cuadro de cierre Determina el color del formulario 3 Form1 DESCRIPCIN OPCIN PREDETERMINADA

Modificacin de una pantalla. A veces ser necesario editar el formulario para realizar alguna modificacin, esto lo podremos realizar desde el Administrador de proyectos, seleccionaremos Documents, Form y el formulario a modificar y daremos un clic en el botn Modify.

Dar click

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.

4.4 Bases de datos distribuidas


Al terminar este tema podrs crear conexiones entre varias bases de datos para ir manejando la informacin de manera simultnea.

Aunque existen diferentes grados de distribucin (Ejemplo, una base de datos centralizada con consulta distribuida, datos distribuidos en diferentes mquinas, etc.), Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual mltiples sitios de bases de datos estn 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 transaccin, puede reemplazar el sitio que se encuentra fuera de servicio; Puede tener mejor desempeo, ya que los sitios tendrn una porcin 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 ms eficiente al usar las ventajas del paralelismo (cada sitio procesa en paralelo la consulta y el resultado final podra entregarse ms rpido)

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 mltiples computadores, llamados sitios o nodos. Estos sitios deben de estar comunicados por medio de algn 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. Autonoma Local : Los sitios distribuidos deben ser autnomos, 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. Operacin Continua : Nunca debera apagarse para que se pueda realizar alguna funcin, como aadir un nuevo sitio. Independencia con respecto a la localizacin : No debe de ser necesario que los usuarios sepan dnde estn almacenados fsicamente los datos, sino que ms el usuario lo debe de ver como si solo existiera un sitio local Independencia con respecto a la fragmentacin : La fragmentacin es deseable por razones de desempeo, los datos, pueden almacenarse en la localidad donde se utilizan con mayor frecuencia de manera que la mayor parte de las operaciones sean slo locales y se reduzca el trfico en la red.

Independencia de rplica : Si una relacin dada (es decir, un fragmento dado de una relacin ) se puede presentar en el nivel fsico mediante varias copias almacenadas o rplicas, en muchos sitios distintos. Procesamiento Distribuido de Consultas : El objetivo es convertir transacciones de usuario en instrucciones para manipulacin de datos, y as reducir el trafico en la red implica que el proceso mismo de optimizacin de consultas debe ser distribuido. Manejo Distribuido de Transacciones : Tiene dos aspectos principales, el control de recuperacin y el control de concurrencia, cada uno de los cuales requiere un tratamiento ms 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 travs 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 estn 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 tecnolgico, aparentemente lo importante es la existencia de algunas transacciones que acceden informacin en ms de una sucursal. stas transacciones son llamadas transacciones globales o transacciones distribuidas. La existencia de transacciones globales ser considerada como una caracterstica que nos ayude a discriminar entre las BDD y un conjunto de base de datos locales. Una tpica transaccin global sera una transferencia de fondos de una sucursal a otra. Esta aplicacin requiere de actualizar datos en dos diferentes sucursales y asegurarse de la real actualizacin en ambos sitios o en ninguno. Asegurar el buen funcionamiento de aplicaciones globales es una tarea difcil. En el ejemplo 1.1 las computadoras estaban geogrficamente en diferentes puntos; tambin, BDD pueden ser construidas en una red local.

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

Você também pode gostar