You are on page 1of 56

BASES DE DATOS I

Cu adernillo de procedimientos para el aprendizaje (Versin para fase inicial)

C O N LA C OL AB O RA C I N D E L uis Gabriel M ondrag n Torres

BASES DE DATOS I
Cuadernillo de procedimientos para el aprendizaje 2000. Secretara de Educacin Pblica/ Direccin General del Bachillerato COSTO DE RECUPERACIN $ 12.00

NDICE
Presentacin........................................................................................................................................................... UNIDAD I. Introduccin a las bases de datos............................................................................................ 1. Importancia, conceptos bsicos y objetivos de las bases de datos........................................................ 2. Sistema de manejo de bases de datos........................................................................................................... 3. Usuarios de las bases de datos....................................................................................................................... 4. Relaciones entre datos..................................................................................................................................... 5. Tipos de modelos entre datos........................................................................................................................ Qu he aprendido?................................................................................................................................................. Quiero saber ms...................................................................................................................................................... UNIDAD II. Bases de datos relacionales...................................................................................................... 1. Estructuras bsicas de las bases de datos relacionales y normalizacin............................................. 2. lgebra relacional............................................................................................................................................ 3. Vistas o subesquemas...................................................................................................................................... 4. Lenguaje relacional estndar SQL............................................................................................................... Qu he aprendido?................................................................................................................................................. Quiero saber ms...................................................................................................................................................... UNIDAD III. Manipulacin de bases de datos........................................................................................... 1. Creacin de una base de datos....................................................................................................................... 2. Consultas a una base de datos....................................................................................................................... 3. Modificaciones a una base de datos.............................................................................................................. 4. Ordenacin de la informacin....................................................................................................................... Qu he aprendido?................................................................................................................................................. Quiero saber ms..................................................................................................................................................... UNIDAD IV. Caractersticas avanzadas de las bases de datos.............................................................. 1. Manejo de variables y funciones................................................................................................................... 2. Generador de reportes.................................................................................................................................... 3. Generador de pantallas................................................................................................................................... 4. Creacin y manejo de bases de datos mltiples........................................................................................ Qu he aprendido?................................................................................................................................................. Quiero saber ms..................................................................................................................................................... 5 8 11 13 15 17 18 21 23 24 26 29 32 32 34 36 37 38 40 41 42 45 46 47 48 50 52 53 55 56

PRESENTACIN

El uso de las bases de datos se ha ido incrementando con el tiempo, de tal forma

que no dudaramos en decir que actualmente desempean un papel muy importante en todas las instituciones educativas o privadas, as como en las empresas que ofrecen diferentes tipos de servicios.

BASES DE DATOS I

Lo anterior se debe a la necesidad de contar con informacin rpida y oportuna, generndose sistemas de informacin ms eficientes, a partir de definir mejores modelos para representar la informacin. As, la importancia de la informacin en la mayora de las organizaciones ha conducido al desarrollo de una gran cantidad de conceptos y tcnicas para la gestin eficiente de los datos, lo que implica tanto la definicin de estructuras para almacenar la informacin como la bsqueda de mecanismos para su manipulacin. Es as como surgen las bases de datos y en especfico los sistemas gestores de bases de datos, cuyo objetivo es proporcionar un entorno donde sea posible recuperar, almacenar y manipular un conjunto de datos necesarios. Las bases de datos han evolucionado a tal grado que actualmente la demanda y oferta de usuarios y diseadores ha crecido respectivamente. Cuando surgieron las bases de datos se requera de un especialista en tcnicas de estructuracin de datos para disear los sistemas, actualmente muchos tcnicos y profesionistas cuentan con los elementos necesarios para realizar un buen sistema de bases de datos. Es importante que identifiques la importancia de cursar la asignatura de Bases de Datos I, ya que sta te brindar los elementos tericos-prcticos para generar y operar con las bases de datos relacionales y resolver problemas de complejidad creciente a travs de sistemas sencillos. Conforme vayas avanzando en el estudio de esta asignatura, te dars cuenta que no es fcil desarrollar soluciones prcticas en el primer intento, sobre todo cuando disean bases de datos grandes, ya que para lograrlo necesitars utilizar toda una metodologa para disear bases de datos. La ejercitacin en problemas de este tipo te permitir conocer y profundizar en el estudio y manejo de Sistemas de Bases de Datos. Para que puedas realizar el estudio de esta asignatura es conveniente que entiendas la manera particular en la que se estructura esta gua. Las unidades estn constituidas por las siguientes secciones: Qu voy aprender. En este apartado encontrars los propsitos y los objetivos de cada una de las unidades didcticas. Es muy importante que tengas en mente lo que vas a lograr con el estudio de los temas del programa, tener claridad de la meta es fundamental para poder utilizar las herramientas de que disponemos para llegar a ella. Con la intencin de presentarte un proceso real de trabajo, en la primera unidad se describe el planteamiento de una situacin laboral, la cual llamaremos Situacin de aprendizaje. Durante el desarrollo de toda la gua se harn referencias al Manual de Ejercicios y Prcticas, en donde se presentar la solucin parcial de dicha situacin, la parte faltante te corresponder desarrollarla. Tambin debes desarrollar las prcticas, ya que ellas te darn los elementos de modelaje en la solucin de la situacin de aprendizaje. 5

Cmo aprendo? En esta seccin encontrars las actividades de aprendizaje que te irn llevando paso a paso a travs de estrategias de solucin, pero sintete con la libertad de probar otros caminos despus de que hayas dominado el que se te propone. En todos los temas te presentamos una tabla con tres columnas: en la primera de ellas, titulada actividades de aprendizaje se incluye una secuencia de acciones que debes realizar para acercarte con mayor facilidad al estudio de esta asignatura, hacindose referencias al manual de ejercicios y prcticas para reforzar los contenidos revisados y resolver la situacin de aprendizaje; en la segunda, recursos, se proporcionan algunas sugerencias para que encuentres fcilmente la informacin que requieres; finalmente, en la tercera columna, llamada productos, se anotan los resultados concretos que debes obtener al terminar la secuencia de actividades correspondiente a cada tema, tales productos deben servirte como un control de tu propio avance. Te servir tambin para ir formando un glosario con los trminos ms usuales y sus definiciones; es decir, un diccionario personal que te ayudar en caso de dudas al utilizar alguna de las herramientas que ests estudiando. Qu he aprendido? Al concluir el estudio de cada unidad, te convendr detenerte a pensar acerca de tus logros y descubrir qu tan firme y precisa se est llevando a cabo tu formacin en esta asignatura. Se te plantean una serie de reflexiones que te ayudarn a valorar tu esfuerzo. No es un examen sino una evaluacin, se trata de que ejerzas tu capacidad de reflexin acerca de ti mismo y que, en caso necesario, revises aquellos puntos del programa de estudio que consideres que todava no dominas por completo. Ser el momento de revisar tambin tus actitudes con respecto a la manera en que estudias. Te sugerimos que elabores una tabla de logros para que lleves tu registro personal, seguramente al ir anotndolos, te dars cuenta con satisfaccin que el esfuerzo ha valido la pena. Quiero saber ms. En esta seccin se proponen actividades adicionales para que, a tu eleccin, puedas extender tu horizonte de conocimiento. Es muy conveniente que asumas que no todo lo que necesitas saber se te proporcionar en un curso, por el contrario, debers estar siempre alerta a enfrentar nuevos retos para que tu aprendizaje sea realmente el que necesitas para resolver tus propios problemas. Tu participacin es muy importante para que el estudio de las Bases de Datos tenga sentido y utilidad real. Te dars cuenta que es satisfactorio descubrir que puedes ser cada vez ms eficiente en el manejo de nuevos medios para enfrentar tus problemas y, en la mayora de los casos, encontrar la mejor solucin que est a tu alcance. Ubicacin de la asignatura La asignatura de Bases de Datos I, se ubica en el eje bsico de la estructura de la Capacitacin en Informtica y corresponde al quinto semestre. La importancia de esta asignatura es que te permite aprender conceptos, principios generales y operaciones bsicas de las bases de datos relacionales de un modo inmediato, mediante el conocimiento general de la teora y la solucin de problemas de complejidad creciente, para que puedas desarrollar bases de datos sencillas y as facilitar la continuidad de tus estudios sobre el tema.

La ubicacin grfica dentro de la Capacitacin en Informtica es la siguiente.


Sistemas de Informacin I Sistemas de Informacin I

EJE BSICO

Lgica Computacional y Programacin

Bases de Datos I

Bases de Datos II

EJE DE APLICACIN

Aplicaciones Grficas con Programas Integrados

Aplicaciones Especficas con Programas Integrados

EJE COMPLEMENTARIO

Introduccin a las Redes

Relacin directa Relacin indirecta

Objetivo de la asignatura Aplicar los conceptos, principios generales y operaciones bsicas de las bases de datos relacionales en modo inmediato, mediante el conocimiento general de la teora y la solucin de problemas de complejidad creciente, para desarrollar sistemas sencillos y facilitar la continuidad de estudios sobre el tema.

QU VOY A APRENDER?

INTRODUCCIN A LAS BASES DE DATOS


Objetivo de la Unidad:
Comprender el concepto, aplicacin, uso, tipos y estructuras bsicas de las bases de datos, mediante el anlisis de sus objetivos, lenguajes de manipulacin, tipos de usuario, relaciones entre datos y modelos, para identificar los problemas que es posible resolver mediante este tipo de herramientas.

UNIDAD I

Las organizaciones han crecido mucho y por lo tanto han requerido sistematizar la informacin que ocupan para sus transacciones. Es por ello que desde los 70s se opt por cambiar los sistemas de archivos a bases de datos, para facilitar el acceso a la informacin, considerando que es importante en la organizacin y la gestin de recursos de informacin, dado que permite eficientar los tiempos de consulta para tomar desiciones en el momento adecuado. Es importante sealar que tendremos que seguir cierta metodologa para disear bases de datos medianas o grandes, y generar as sistemas de procesamiento de transacciones, es decir, elaborar sistemas que utilizan grandes cantidades de informacin almacenadas en bases de datos, en las cuales se realizan muchas transacciones o modificaciones diariamente. Si nuestro objetivo es generar bases de datos chicas, entonces no ser tan necesario utilizar toda una metodologa para disearla. Por lo anterior, empezaremos por explicarte qu son las bases de datos, cmo se disean y los problemas ms comunes que se presentan al realizar un mal diseo, para poder definir sistemas informticos que permitan procesar informacin de una manera rpida y confiable. Abordaremos la descripcin de las aplicaciones de software que permiten manipular de forma rpida y confiable la informacin contenida en una base de datos, ya que sin ste nuestra base de datos quedara a un nivel descriptivo y con datos contenidos en papel. Estas aplicaciones de software se conocen como Sistemas Gestores de Bases de Datos (SGBD) o Sistemas Manejadores de Bases de Datos (DBMS, siglas en ingls de Data Base Manager System), y se caracterizan por tener una organizacin fsica y lgica, utilizar un lenguaje especfico y tener interfaces con otros sistemas de comunicaciones. Asimismo, definiremos las relaciones entre datos, los principales modelos conceptuales para la representacin de la estructura lgica de los datos, as como los usuarios de las bases de datos. En el desarrollo de la situacin de aprendizaje, las actividades que se te proponen y aquellas que realices por cuenta propia, podrs identificar la forma de disear bases de datos relacionales, apoyndote en el lgebra relacional y el lenguaje SQL.

Los temas que forman el contenido de esta unidad se presentan a continuacin: Unidad I. Introduccin a las bases de datos

Bases de datos

Utilizando Gestores de bases de datos

Tienen una Organizacin

Utilizan Lenguajes

Fsica

Lgica

Describir

Manejar datos

Consultas

Programas

Utilizan el Diseo de datos

Pueden tener Problemas De

Redundancia

Inconsistencia

Integridad

Seguridad

Tienen Usuarios Como Finales Diseadores o programas Operadores o capturitas Lista rbol Modelos conceptuales De tipo Reticular Relacional

Debes notar que los conceptos ms importantes estn sombreados, prstales especial atencin puesto que forman parte del conjunto de conceptos fundamentales en tus estudios de Informtica.

A continuacin te presentamos el eje rector de la gua, en el cual se te presenta un proceso real de trabajo muy similar a los que te podrs encontrar en el campo laboral. SITUACIN DE APRENDIZAJE El servicio de mensajera FQB actualmente cuenta con 50 sucursales distribuidas por todo el pas, stas se encargan de recibir o enviar paquetes a travs de toda la Repblica Mexicana, dichos paquetes pueden ser desde una carta hasta paquetes de 100 kg. El gerente regional ha detectado una serie de problemticas con los envos, ya que en algunas ocasiones se pierden las rdenes de envo o no se llenan correctamente y los paquetes no llegan a sus destinos; de igual manera, llegan paquetes cuyo destino no coincide con la sucursal, por lo cual se tienen que regresar a su origen para volverse a enviar, provocando molestias con los usuarios del servicio de mensajera FQB. La forma en que opera la paquetera es la siguiente: El encargado de recibir los paquetes registra en una libreta de clientes los datos generales de ste y del destinatario, tales como: nombre, direccin y telfono, asignndoles una clave nica de identificacin para tener sus datos a la mano por si surge algn problema en el envo o recepcin del paquete. Como segundo paso, el encargado registra en la libreta de salidas las caractersticas del o los paquetes, tales como: clave del artculo, descripcin y costo. Asimismo, registra la clave nica de identificacin del cliente que enva el paquete. En caso de desconocer alguna caracterstica del paquete se auxilia con una libre de artculos, en donde se encuentran dichos datos. Lo siguiente que realiza es generar una factura de contratacin del servicio con los siguientes datos: nmero de factura, fecha de facturacin, datos generales del cliente remitente y destinatario, as como los datos generales de las sucursales de origen y destino, y por ltimo, la descripcin de los paquetes, costo por paquete y total del envo.

Los datos generales de las sucursales son: Estado, direccin, telfono y clave de identificacin de la sucursal. Cuando llega un paquete, el encargado registra los datos del mismo en la libreta de entradas, incluyendo tanto la clave nica de identificacin del cliente que enva como el que recibe, y en la libreta de clientes tambin registra los datos generales de ambos clientes, incluyendo las claves nicas de identificacin asignadas. Por ltimo cataloga el paquete segn el destino, para que en el momento oportuno se enve.

El gerente regional decide sistematizar el servicio de mensajera, de tal forma que se cuente con una base de datos relacional que almacene la informacin descrita, la cual se pueda manipular a travs de pantallas de captura y consulta, y permita elaborar facturaciones mediante la generacin de reportes, utilizando una aplicacin de bases de datos.

10

CMO APRENDO?
1. IMPORTANCIA, CONCEPTOS BSICOS Y OBJETIVOS DE LAS BASES DE DATOS Objetivo: Familiarizarse con los objetivos, aplicaciones, terminologa y problemas fundamentales de las bases de datos y los sistemas para su manejo, mediante el estudio de su importancia, la problemtica que abordan y sus caractersticas bsicas. Es importante que identifiques la importancia de las bases de datos como medio de almacenamiento de informacin, as como las implicaciones que tiene realizar un mal diseo de la base de datos, ya que esto provoca ciertos problemas con la informacin que podran causar grandes complicaciones en la informacin de una organizacin. Por lo anterior identificaremos a las bases de datos como el medio de almacenamiento de informacin, la forma de realizar un diseo confiable y, por ende, los principales problemas que implicara realizar un mal diseo. En la actualidad las bases de datos son el elemento crucial en las reas que utilizan sistemas computarizados, ya que permite mantener y operar informacin en forma organizada, segura, confiable y en grandes cantidades. Primero empezaremos por definir algunos conceptos indispensables para entender aspectos importantes de la asignatura. Una base de datos es un conjunto de datos organizados y relacionados entre s, de forma lgica, que en su totalidad dan informacin sobre aspectos reales. Entenderemos como dato un hecho real conocido que podemos registrar, el cual por s solo no da informacin. Definiremos informacin como un conjunto de datos que le dan significado a diversos aspectos del mundo real. Imaginemos que la Secretara de Hacienda y Crdito Pblico al momento de hacer sus recaudaciones de impuestos de las personas fsicas (personas que trabajan por honorarios o que prestan algn servicio), registraran los pagos en un conjunto de bases de datos iguales en cada entidad federativa y como nosotros tenemos la obligacin de hacer nuestra declaracin, pero nos encontramos en una entidad federativa diferente de donde tenemos nuestro domicilio y es el ltimo da para entregarla, lo ms sencillo sera ir a pagar en donde estamos; pero al regresar a casa y al cabo de un mes nos llega un requerimiento de incumplimiento de nuestro pago de impuestos. Por qu se nos requiere, si pagamos puntualmente? La respuesta es que existe un problema de redundancia de informacin en las bases de datos, es decir, tenemos una serie de bases de datos de gran tamao que almacenan la misma informacin, provocando una duplicacin innecesaria de informacin y desperdicio de espacio por almacenamiento, esto provoca al mismo tiempo un problema de inconsistencia, ya que la base de datos de nuestra localidad no est actualizada con respecto de donde realizamos el pago y en caso de que si se encuentre actualizada, pudieron haber surgido irregularidades al momento de capturar la informacin, provocando un problema, que en este caso se trata de un requerimiento por parte de Hacienda.
11

La solucin a este problema es que exista una sola base de datos, donde se registre toda la informacin actualizada de los pagos y a la cual puedan acceder las oficinas de Hacienda de cada entidad federativa. A su vez, esto provoca una serie de problemticas de integridad y seguridad de informacin, ya que van a existir varios usuarios que utilicen la misma base de datos. 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 el pago de impuestos de un contribuyente, el dato impuesto deber contener un valor numrico y el dato contribuyente un conjunto de letras, de tal forma que dichos datos no acepten otros valores diferentes a los especificados. Con respecto a la seguridad nos referimos a los usuarios que tienen autorizacin o privilegios para manipular la base de datos, de tal forma que algunos usuarios slo tendrn autorizacin para introducir informacin especfica como el pago del impuesto, pero no para modificar el R.F.C. del contribuyente, esto implica que algunos usuarios tendrn el privilegio de visualizar los datos, mientras que otros tendrn el privilegio de consultarlos y actualizarlos. La Secretara de Hacienda y Crdito Pblico en la actualidad cuenta con una sola base de datos compartida entre todas las entidades federativas, tomando las precauciones necesarias para evitar los problemas de redundancia, inconsistencia, integridad y seguridad de su informacin. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Productos Adoracin de Miguel y Mario Resumen y definicin de las Realiza un resumen sobre la importancia de las bases de datos, Piattini. Fundamentos y modelos bases de datos. as como su definicin. de Bases de Datos. Mxico, Alfaomega Grupo Editor, 1999, pp. 3-33. En un cuadro sinptico marca las Adoracin de Miguel y Mario principales problemticas que se Piattini. Op. cit., pp. 6-7. presentan al realizar un mal diseo de una base de datos, tales como redundancia, inconsistencia, integridad y seguridad. Investiga sobre la independencia de datos y funciones (operaciones). Realiza los ejercicios 1 y 2. A partir de revisar y analizar la situacin de aprendizaje, identifica qu problemas de redundancia e inconsistencia pueden existir. Cuadro sinptico sobre las principales problemticas que se presentan al realizar un mal diseo de una base de datos.

Adoracin de Miguel y Mario Ficha de contenido sobre la independencia de datos y Piattini. Op. cit., pp. 21-22. funciones. Manual de ejercicios y prcticas. Situacin de aprendizaje. Ejercicios 1 y 2 resueltos. Ficha de contenido sobre las posibles problemticas de redundancia e inconsistencia que puedan existir en la situacin de aprendizaje.

12

2. SISTEMAS DE MANEJO DE BASES DE DATOS Objetivo: Reconocer los componentes fundamentales de los sistemas de manejo de bases de datos, a travs del estudio de sus elementos fsicos y lgicos, los diferentes lenguajes de que se compone un manejador de bases de datos y las posibles interfaces con otros sistemas de comunicaciones como la INTERNET. Los sistemas de base de datos se disean para almacenar grandes cantidades de informacin. La gestin de datos implica tanto la definicin de estructuras para el almacenamiento de la informacin como la provisin de mecanismos para la manipulacin de la misma. Los sistemas de base de datos deben proporcionar la seguridad de la informacin almacenada en ellos y evitar prosibles fallas o resultados errneos como la cada del sistema del acceso de personas ajenas a ste. El propsito principal de un sistema de bases de datos es proporcionar un entorno que sea conveniente y eficiente, para las personas que lo usan en la recuperacin y almacenamiento de la informacin. As, los Sistemas de Manejo de Bases de Datos, 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 un SGBD es un conjunto de programas o software de aplicacin general, que permite crear y manipular una cantidad variable de bases de datos computarizada, a partir de utilizar un diccionario de datos o catlogo que es donde se definen los datos, la estructura de stos y las restricciones de los datos que se almacenarn en la base de datos. Cabe aclarar que no siempre es necesario usar un SGBD de aplicacin general para crear una Base de Datos computarizada (el cual requerir siempre de un catlogo), tambin se podra crear a partir de escribir una serie de programas en un lenguaje de programacin, como el Turbo Pascal, para manipular una base de datos especfica creando as nuestro propio SGBD de aplicacin especfica (no requiere de catlogo). Los elementos de un SGBD se pueden presentar a travs de la definicin de tres niveles de abstraccin que pueden ser observados y que son: el nivel fsico, el nivel lgico o interno y nivel conceptual o externo, los cuales conforman la estructura y nos brindan los detalles de cmo se almacenan y mantienen los 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; las operaciones ms comunes que se usan son: la consulta, modificacin, actualizacin y el borrado de datos, para esto el SGBD ofrece un lenguaje de manipulacin de datos (DML, siglas en ingls de data manipulation language).

13

NIVEL EXTERNO

VISTA EXTERNA1

...
ESQUEMA CONCEPTUAL

VISTA EXTERNAn

NIVEL CONCEPTUAL

NIVEL LGICO O INTERNO

ESQUEMA INTERNO

BASE DE DATOS ALMACENADA

El nivel externo es la vista que tienen los usuarios del sistema, es decir, el usuario n slo ve lo que requiere de la informacin de la base de datos, el resto est ocult. El nivel conceptual presenta informacin referente a las entidades, datos, relaciones, operaciones y restricciones que tienen los usuarios en la base de datos. El nivel lgico o interno detalla la estructura fsica de almacenamiento de la base de datos, as como los direccionamientos de la informacin. Sin embargo, cuando estas bases de datos son usadas por personas que nicamente realizan transacciones simples y predefinidas por el sistema, se deben desarrollar interfaces amigables para ellos, para que puedan manipular la base de datos. Entenderemos por interface al medio que permite comunicar a dos dispositivos electrnicos entre s (por ejemplo dos computadoras) o a un dispositivo electrnico con un usuario. A continuacin te presentamos las interfaces ms utilizadas por un SGBD: Interfaces basadas en mens. Mediante la presentacin de un men desplegable se le presentan al usuario una serie de opciones a elegir para realizar ciertas solicitudes o transacciones. Es un ambiente que evita al usuario memorizar toda una serie de instrucciones para realizar sus movimientos, ya que ste lo va llevando paso a paso. Interfaces grficas. El usuario selecciona o realiza una serie de movimientos o transacciones, a travs de seleccionar con un apuntador en un grfico o imagen presentada en la pantalla lo que desea hacer. Sin embargo, existen otros tipos de interfaces a nivel de comunicacin, como la INTERNET, en donde un usuario de cualquier parte del mundo puede compartir informacin con otros usuarios, sin importar las distancias.

14

A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Adoracin de Miguel y Elabora un resumen sobre los Sistemas Gestores de Bases de Datos Mario Piattini. Op. cit., (SGBD), sus elementos fsicos y pp. 28-31, 62,63. lgicos (nivel de abstraccin) y su arquitectura segn el modelo ANSI/ESPARC o de tres esquemas. Realiza una ficha de contenido sobre Adoracin de Miguel y los lenguajes de los SGBD. Mario Piattini. Op. cit., pp. 43-51. Productos Resumen y arquitectura sobre los SGBD, segn el modelo de ANSI/ESPARC o tres esquemas, comentando dicho modelo. Ficha de contenido sobre los lenguajes de los SGBD.

3. USUARIOS DE LAS BASES DE DATOS Objetivo: Identificar los principales tipos de usuarios de bases de datos, mediante el anlisis de situaciones reales de trabajo o vida, para ubicar el papel del operador y desarrollador de bases de datos. Cuando se disea una base de datos mediana o grande se debe tener en cuenta que estn involucradas personas en el desarrollo, mantenimiento, diseo y uso de las bases de datos, cada una de estas personas tiene un rol determinante en el manejo de la base de datos. Cuando se genera una base de datos pequea como la agenda, lo ms comn es que una sola persona la disee, construya y use. Entre los diferentes tipos de usuarios que pueden intervenir en el desarrollo de una base de datos se encuentran: Usuarios diseadores y desarrolladores Son las personas encargadas de disear la base de datos y realizar las definiciones en el SGBD a nivel interno, para cubrir los requerimientos de los dems usuarios de la base de datos. stos se encargan de disear e implementar los mdulos e interfaces del SGBD en forma de paquetes de software. Un SGBD es un sistema complejo de software que consta de diversos componentes o mdulos, como los mdulos para implementar el catlogo, los lenguajes de consulta, los procesadores de interfaz, el acceso a los datos y la seguridad. El SGBD debe poder comunicarse con otros programas del sistema, como el sistema operativo y los compiladores de diversos lenguajes de programacin.1

Elmasri y Navarrete. Sistemas de Bases de Datos, conceptos fundamentales. 2a. edicin, Mxico, Eddison-Wesley Iberoamericana, 1997, p. 11.

15

Usuarios operadores y capturistas Son las personas encargadas de hacer el vaciado de informacin en la base de datos, as como de llevar a cabo el funcionamiento y mantenimiento del sistema de informacin. Usuarios finales Requieren tener acceso directo a la base de datos para realizar consultas, modificaciones y generar reportes, de hecho la base de datos existe para ellos. Dentro de este tipo de usuarios tenemos la siguiente clasificacin: Espordicos. Personas que utilizan la base de datos algunas veces para solicitar informacin con diferentes criterios. Smples o paramtricos. Forman el grueso de la poblacin de los usuarios finales, realizan operaciones o transacciones de uso comn, que se han probado exhaustivamente. En este grupo se encuentran las personas que utilizan a los sistemas bancarios, reservaciones de cualquier tipo, entre otras. Avanzados. Son las personas capacitadas para manipular al SGBD, las cuales tienen requerimientos complejos de informacin. Autnomos. Utilizan bases de datos personalizadas de fcil uso, cuyo ambiente es de tipo grfico, es decir, mantiene un ambiente amigable. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.

Actividades de aprendizaje Recursos Desarrolla un cuadro sinptico sobre Adoracin de Miguel y Mario Piattini. Op. cit., los tipos de usuarios: finales, diseadores, desarrolladores, pp. 35-38. operadores y capturistas. A partir de revisar y analizar la situacin de aprendizaje, identifica en que momentos intervendrn los diferentes tipos de usuarios para realizar el diseo de la base de datos. Situacin de aprendizaje.

Productos Cuadro sinptico acerca de los diferentes tipos de usuarios de una base de datos. Ficha de contenido sobre los usuarios que intervendrn en el diseo de la base de datos.

16

4. RELACIONES ENTRE DATOS Objetivo: Clasificar un conjunto de datos, mediante el anlisis de las relaciones existentes entre ellos, para preparar la identificacin del modelo conceptual. Un conjunto de datos puede describir un objeto del mundo real, al cual llamaremos ENTIDAD, dichos datos o atributos pueden servir para relacionar una entidad con otra al tener stas datos en comn, es decir, los valores que pueden tomar los datos son de caractersticas similares en las entidades, a stos se les conoce como atributo clave (dato que permite la relacin entre entidades). A continuacin te presentamos un ejemplo de una entidad cualquiera con sus atributos y valores asignados. Atributos Valores

Zapato

Tipo = Tenis Color = Blanco Nmero = 21 1/2 Marca = Reebok Modelo = Clsico

Entidad Supongamos que adems de la entidad Zapato incorporamos otra entidad: Persona cuyos atributos son nombre, edad y sexo. Podramos relacionar las dos entidades mediante la relacin Tiene, quedando el siguiente esquema de ER:
Nombre 1 N Tipo Color

Edad

PERSONA

TIENE

ZAPATO

Nmero

Sexo

Modelo

Marca

Este tipo de relacin se conoce como binaria o vnculo binario, ya que tenemos dos entidades conectadas a una misma relacin, y los ndices 1 y N (1:N) significan que a la entidad PERSONA se le pueden relacionar o vincular a N entidades ZAPATO. Igualmente, si tuviramos tres entidades conectadas a una misma relacin se entender que es una relacin ternaria, y si los ndices indican (1:1) significa que la relacin entre entidades es de una a una, asimismo si los ndices son (N:1) quiere decir que la relacin entre entidades es de N a una.
17

A continuacin se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje Elabora un resumen sobre las relaciones entre datos, identificando elementos como: entidad, atributo, atributo clave, valor y relacin o interrelacin. Realiza el ejercicio 3. Recursos Productos Adoracin de Miguel y Mario Resumen sobre el modelado Piattini. Op. cit., pp. 103-109. de datos utilizando el modelo Entidad Relacin o Entidad-Interrelacin. Manual de ejercicios y prcticas. Ejercicio 3 resuelto.

5. TIPOS DE MODELOS DE DATOS Objetivo: Identificar la estructura lgica subyacente en un conjunto de datos, a partir de modelos conceptuales de lista, rbol o red, para identificarlos como casos particulares del modelo relacional y preparar el diseo de una base de datos relacional. Para realizar el diseo conceptual de la base de datos, primero debemos saber que existen varios tipos de modelos de datos, los cuales son un conjunto de elementos que sirven para describir la estructura de una base de datos, entenderemos por conjunto de elementos a los tipos de datos, relaciones entre ellos y las posibles restricciones que se establecen para esos datos. Conforme se han ido implementado las bases de datos, se han creado varios modelos de datos, los cuales se clasifican en tres niveles dependiendo del conjunto de elementos que presentan en la estructura de datos. 1. Modelo de alto nivel o conceptual. Los usuarios no expertos en el rea de informtica podran interpretar o leer este tipo de modelo, ya que el conjunto de elementos que presenta (entidades, atributos y relaciones) son muy significativos para cualquier persona. Entenderemos por entidad a la representacin real de un objeto o cosa, por ejemplo: una persona, un documento, un perro, etc. Un atributo es una propiedad o caracterstica importante que da una informacin ms completa de una entidad; y una relacin describe la interfaz o relacin que existe entre dos o ms entidades. 2. Modelo de bajo nivel o fsicos. Este tipo de modelo va dirigido a los usuarios expertos en el rea de informtica, ya que es ms abstracto, presenta la forma en como se almacena la base de datos en la computadora y las rutas de acceso de la misma. 3. Modelo de representacin o de implementacin. Es el punto intermedio entre los dos modelos anteriores, de tal forma que un usuario no experto podra interpretarlo, pero podra ver ciertos detalles de la forma en que se encuentran organizados los datos. En este ltimo modelo se encuentran los SGBD comerciales. De este modelo se desprenden tres esquemas o modelos ms: relacional, de red, jerrquico.

18

Modelo relacional. Tiene un mayor sustento terico y es el ms utilizado actualmente en el mundo de las aplicaciones de bases de datos, implicando un mayor desarrollo de SGBD de tipo relacional. Este modelo presenta a la base de datos como un conjunto de tablas (concepto que revisaremos a detalle en la unidad II) relacionadas entre s. Modelo de red. Los datos de la base se presentan como registros y conjuntos, cada conjunto define una relacin de uno a n registros. Los conjuntos pueden tener a un mismo registro como participante o propietario. Modelo jerrquicos o arborescentes. Presenta una estructura de tipo Padre Hijo. Un esquema de este tipo presenta a los registros ordenados de forma jerrquica, es decir, en forma de rbol Cuando se define el modelo de datos el diseador de la base elabora un modelo conceptual de los datos a utilizar en sta, de tal forma que sea independiente de cualquier SGBD. Para lograrlo se debe considerar que este modelo sea: 1. Expresivo, para distinguir los tipos datos, restricciones y relaciones. 2. Sencillo, ya que cualquier usuario debe entenderlo, independientemente de tener o no elementos de diseo de bases de datos. 3. Diagramtico, para que de forma visual se pueda interpretar el esquema conceptual del diseo de la base de datos (utilizando como base al diagrama de Entidad Relacin). 4. Formal, ya que el modelo del diseo conceptual no debe ser ambiguo, sino claro y confiable. Para el diseo conceptual nos apoyaremos solamente en el modelo relacional: el diagrama o modelo de Entidad-relacin, el cual explicaremos a continuacin. Modelo de Entidad Relacin (ER). Es utilizado en diseo de bases de datos relacionales. Lo importante de este modelo es representar a los datos como entidades que se pueden relacionar con otras, cuya caracterstica es que tienen atributos propios. Para empezar a entender el modelo definiremos a la ENTIDAD como un objeto del mundo real, independiente de los dems objetos existentes, cuya principal propiedad es que tienen caractersticas o ATRIBUTOS propios, donde cada atributo de cada entidad podr almacenar un VALOR, pero si este valor hace nico a la entidad, entonces a este atributo se le conoce como ATRIBUTO CLAVE.

19

La siguiente tabla presenta la notacin bsica para realizar diagramas de Entidad Relacin.
Smbolo Entidad Significado

Vnculo o relacin

Atributo

Atributo clave

De tal forma que la entidad Zapato con sus atributos la podramos representar en el siguiente diagrama:
Tipo Color Nmero Marca Modelo

ZAPATO

A continuacin se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje Recursos Realiza un cuadro sinptico sobre Adoracin de Miguel y Mario los modelos de datos de alto nivel Piattini. Op. cit., pp. 92, 123o conceptual, de bajo nivel o fsico 129, 297-312, 357-370. y de representacin o de implementacin y a partir de este ltimo sus esquemas de datos ms comerciales: relacional (modelo de Entidad-Relacin), de red y Jerrquico. Realiza el ejercicio 4. Manual de ejercicios y prcticas. Productos Cuadro sinptico sobre los modelos de datos y los esquemas de stos ms comerciales.

Ejercicio 4 resuelto. Resolucin de la Prctica 1.

Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 1, donde realizars el diagrama de entidad relacin.

20

QU HE APRENDIDO?
A continuacin encontrars la evaluacin de la unidad, para que valores tus avances hasta el momento. I Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parntesis la definicin que le corresponda. Concepto ( ) Dato. ( ) SGBD. ( ) Base de datos. ( ) Informacin. ( ) Catlogo. Definicin a) Conjunto de datos organizados y relacionados entre s, de forma lgica. b) Hecho real conocido que podemos registrar. c) Conjuntos de elementos relacionados que indican un aspecto del mundo real. d) Conjunto de programas o software de aplicacin general. e) Estructura donde se definen los datos, la estructura y las restricciones de stos.

II. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ) Existen dos niveles para realizar un modelo de base de datos: el de alto nivel o conceptual y el de bajo nivel o fsico. ( ) El modelo relacional es el que tiene un mayor sustento terico, adems de ser el ms utilizado actualmente. ( ) Una entidad es la representacin virtual de un objeto o cosa. ( ) Para seleccionar un SGBD no es necesario considerar el costo por la gestin de la base de datos. III. Identifica en el siguiente Diagrama de Entidad Relacin lo que se seala y escribe qu significa en las lneas segn su enumeracin.
1 Direccin 3 Nombre R.F.C.

Niveles

CASA

TIENE UN

DUEO

Edad

Color 4 2

Nacionalidad

Edo Civil

21

1.-_______________________________ 2.-_______________________________ 3.-_______________________________ 4.-_______________________________ 5.-_______________________________ IV. Lee las siguientes preguntas y contstalas correctamente. 1. 2. 3. 4. 5. Qu es redundancia en una base de datos? Qu es inconsistencia en una base de datos? Qu es integridad en una base de datos? Qu es seguridad en una base de datos? Qu tipos de relaciones se pueden hacer entre datos?

V. Selecciona la opcin correcta para cada enunciado y coloca la letra correspondiente dentro del parntesis. 1. ( ) En el modelo de ANSI/ESPARC se presenta informacin referente a las entidades datos, relaciones, operaciones y restricciones que tienen los usuarios en la base de datos.

a) b) c) d) e)

Nivel interno. Nivel conceptual. Nivel externo. Nivel lgico. Nivel fsico.

2. ( ) Forman el grueso de la poblacin de usuarios, los cuales realizan transacciones de uso comn. a) b) c) d) e) Usuarios diseadores. Usuarios capturistas. Usuarios desarrolladores. Usuarios finales. Usuarios operadores. ) Los mens desplegables se consideran como...

3. ( a) b) c) d) e)

lenguajes de la base de datos. interfaces amigables del usuario. elementos del diseo de la base de datos. conjunto de esquemas que se utilizan en el modelo ER. arquitectura del diagrama de ANSI/ESPARC o de tres esquemas.

22

QUIERO SABER MS
Explica en qu consiste el ciclo de vida de una base de datos. Investiga sobre otros modelos para representar los datos, por ejemplo el orientado a objetos. Investiga acerca del modelo de entidad - relacin extendido. Identifica otros lenguajes lenguajes que utiliza el SGBD.

23

QU VOY A APRENDER?

BASES DE DATOS RELACIONALES


Objetivo de la Unidad:
Conocer las caractersticas de las bases de datos relacionales y la forma estndar de expresarlas, mediante el anlisis de sus estructuras bsicas, distintas vistas, as como la utilizacin de herramientas de lgebra relacional y lenguaje SQL, para poder comunicar un diseo conceptual.

UNIDAD II

Hoy en da el modelo relacional se ha establecido como el principal modelo para las aplicaciones de procesamiento de datos, dejando atrs a los sistemas de bases de datos basados en el modelo de red o jerquico, cuya principal diferencia es que mientras en el modelo de red y jerrquico los datos se representan mediante conjuntos de registros y las relaciones entre ellos mediante enlaces, en el modelo relacional los datos y las relaciones se representan a travs de tablas. Las bases de datos relacionales se presentan como un conjunto de entidades, relaciones o vnculos y atributos, que hoy en da se utilizan en numerosas organizaciones. Es por ello que en esta unidad nos encargaremos de revisar a detalle las caractersticas de las bases de datos relacionales, la forma de realizar consultas utilizando el lgebra relacional y la forma de crearlas y manipularlas al utilizar un lenguaje estructurado de consultas. En este modelo de datos relacional utilizaremos estructuras bsicas como lo son las tablas o relaciones, renglones o tuplas y columnas o atributos. Tambin revisaremos las reglas de normalizacin. Realizars ejercicios de lgebra relacional para empezar a introducirte en las posibles operaciones que se pueden realizar con una base de datos relacional. En la unidad anterior revisamos la arquitectura de un SGBD con el modelo de ANSI/ESPARC, en el cual se establece una serie de vistas en el nivel externo, es decir, partes de la informacin contenida en la base de datos que el usuario ve, segn los privilegios o restricciones de acceso, y en esta unidad te explicaremos a detalle, precisamente esas vistas. Los SGBD como ya se ha mencionado sirven para manipular la informacin contenida en una base de datos. En la actualidad existe una gran variedad de SGBD de tipo relacional, por lo cual se ha creado un lenguaje nico para expresar los elementos, relaciones, bsquedas y otras operaciones posibles con la base de datos, para manipularla. Este lenguaje, mejor conocido por sus siglas en ingls SQL (Structured Query Lenguage, en espaol: Lenguaje Estructurado de Consultas), es independiente de cualquier SGBD, por lo cual facilita a los usuarios diseadores y desarrolladores de bases de datos su trabajo de diseo.

24

A continuacin te presentamos los contenidos organizados de esta unidad. Unidad II. Bases de datos relacionales
Bases de datos relacionales

Maneja Base de datos relacional

Se apoya en lgebra relacional

Tiene Vistas Segn los Privilegios de acceso

Utiliza un Lenguaje relacional estndar SQL

No olvides que para resolver la situacin de aprendizaje que se planteo en la unidad anterior, tendrs que incorporar nuevos aprendizajes que se te indicarn en las actividades de aprendizaje y que ser resuelta parcialmente en las prcticas planteadas en toda la Gua.

25

CMO APRENDO?
1. ESTRUCTURAS BSICAS DE LAS BASES DE DATOS RELACIONALES Y NORMALIZACIN Objetivo: Disear y normalizar una base de datos sencilla, a partir de la identificacin de relaciones, la especificacin de campos y la aplicacin de las reglas de normalizacin, para contar con una especificacin susceptible de desarrollarse. El modelo de datos relacional considera a la base de datos como un conjunto de relaciones, donde cada relacin equivaldra a una tabla. Si visualizamos una relacin o entidad como una tabla de valores, cada fila de la tabla representa una coleccin de valores de datos relacionados entre s. Dichos valores se pueden interpretar como hechos que describen una entidad o un vnculo entre entidades del mundo real. El nombre de la tabla y los nombres de las columnas ayudan a interpretar el significado de los valores que estn en cada fila de la tabla... En la terminologa del modelo relacional, una fila o rengln se denomina tupla, una cabecera de columna un atributo y la tabla es una relacin. El tipo de datos que describe los tipos de valores que pueden aparecer en cada columna se llama dominio.2 A continuacin te presentamos una tabla o relacin llamada Alumnos, con los siguientes atributos: nombre, matrcula, direccin y telfono, con seis tuplas, filas o renglones. Tambin identificaremos a las tuplas como registros, donde cada dominio de stos se considera como la unidad mnima de almacenamiento en el modelo de datos relacional.
Nombre de la relacin Atributos

ALUMNO Tuplas

NOMBRE Juan Luis Prez Pedro Gmez C. Rebeca Cruz Montes Jos Lpez Canseco Margarita Godnez I. Luis Ramrez Ramos

MATRCULA 8945678 8987654 8976541 8973635 8973526 8927262

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 (5) 625-19-89 (5) 876-09-12 (5) 738-28-19 No tiene

En el ejemplo anterior se puede ver que una tabla o relacin se ve como un conjunto de filas, tuplas o registros; debemos considerar que pueden existir atributos o columnas cuyos valores sean nicos en cada tupla de la relacin, de tal forma que no podamos identificar dos tuplas con valores idnticos en la misma columna, a estas columnas las llamaremos claves candidatas. Identificaremos como clave primaria a una clave candidata, la cual seguir conservando sus caractersticas en todo momento, es decir, los valores sern siempre nicos en cada tupla sin importar que se anexen ms tuplas o registros.
2

Elmasri y Navathe. Op. cit., p. 140.

26

Si en la relacin existen ms de dos claves candidatas, el usuario asignar una como clave primaria y las dems como claves secundarias. Una clave externa o fornea es una clave candidata que hace referencia a otra relacin mediante un atributo en comn. Un atributo primo es cualquier clave candidata y un atributo no primo es cualquier atributo que no sea clave candidata. Es importante hacer notar que las siguientes palabras las utilizaremos como sinnimos: Entidad = Relacin = Tabla Atributo = Campo = Columna (pueden ser utilizadas como claves) Fila = Tupla = Registro Como hemos definido, las claves primas son los valores de una columna los cuales no se repiten en ningn dominio; sin embargo, para cuidar la integridad de la relacin, estos valores no pueden ser nulos, ya que si en algunas tuplas definimos los valores de dicha columna con un valor nulo, tendremos serios problemas para distinguir una tupla de otra, basndonos en este campo. Sin embargo, existen ciertas reglas para lograr un mejor diseo del modelo de datos relacional, tales como: 1. Significado de los campos. Al disear una relacin procura que los campos sean por s solos significativos, no mezcles atributos de dos o ms entidades para realizar el modelo de datos relacional, ya que esto provocar que sea confuso. 2. Redundancia en las tuplas por valores similares en los campos. Si existe mucha repeticin de dominios de un campo en una relacin, esto provocar una saturacin en el almacenamiento de la informacin. Si dividimos dicha relacin en dos o ms relaciones, la primera con los atributos de la entidad principal y la segunda con los datos que podra crear redundancia en las tuplas de un campo, esto ahorrar espacio y evitar problemas de inconsistencia. A continuacin te presentamos un ejemplo donde existe redundancia e inconsistencia en una relacin. Empleado
Nombre Juan Prez Pulido Pedro Acacio Lpez Luis Manuel Pedrasa Homero Snchez S. ... Institucin Bachilleres Bachilleres Bachilleres Bachilleras Direccin Institucin Av. de los Milagros S/N Av. de los Milagros S/N Av. de los Milagros S/N Av. de los Milagros S/N rea CFT CFT CFT CFT Subrea Tcnica Pedaggica Pedaggica Tcnica

2,000 Tuplas

La redundancia se encuentra en los campos: Institucin, direccin, rea y subrea.

27

Si la persona que captura dicha informacin lo realiza incorrectamente, es decir, tiene errores de captura, podra causar problemas de inconsistencia, sobre todo en los campos Institucin, direccin, rea y subrea. A continuacin te presentamos la forma en que se resolveran los problemas de redundancia e inconsistencia.
Empleado Nombre Juan Prez Pulido Pedro Acacio Lpez Luis Manuel Pedrasa Homero Snchez S. ... Clave Institucin 1115 1115 1115 1115 2,000 Tuplas Clave 14A 14B 123J reas rea Subrea CFT Tcnica CFT Pedaggica ASD Almacn Clave rea 14A 14B 14A 14B

Institucin Clave Institucin 1115 Bachilleres 1116 Conalep ...

Direccin Institucin Av. de los Milagros S/N Calle Santiago No. 125

15 Tuplas

50 Tuplas

Donde los campos subrayados presentan problemas de redundancia e inconsistencia. La relacin principal Empleado, evita completamente la redundancia y en general la inconsistencia, ya que solamente se escriben una vez los datos de la Institucin, as como los datos del rea donde pertenece. Si desde la relacin Empleado requerimos el nombre o la direccin de la Institucin, solamente haremos referencia a estos datos mediante la clave primaria Institucin ->Clave desde la clave externa empleado ->Clave Institucin. Nota. La forma de hacer referencia a un campo de una relacin ser: Relacin > Campo Normalizacin En el ejemplo anterior utilizamos un criterio de normalizacin: cuando nuestro modelo de datos relacional es insatisfactorio, debe dividirse en relaciones ms pequeas con algunos atributos del primero. En el proceso de la normalizacin, segn la propuesta original de Codd (1972a), se somete un esquema de relacin a una serie de pruebas para certificar si pertenece o no a una cierta forma normal. En un principio, Codd propuso tres formas normales, a las cuales llam primera, segunda y tercera formas normales.3 A continuacin te las explicamos.

Elmasri y Navathe. Op. cit., p. 413.

28

Primera forma de normalizacin: Establece que los dominios de una relacin deben ser indivisibles; esto quiere decir que los valores que toman las tuplas de cualquier campo no pueden ser otras relaciones. Segunda forma de normalizacin: Establece que para vincular dos relaciones debe existir solamente una clave primaria en la relacin que vincula y un clave fornea en la relacin vinculada. Tercera forma de normalizacin: Primero debe cumplir con la segunda forma de normalizacin, y si eliminamos la clave primaria de la relacin que vincula, no debe afectar las definiciones de los otros campos. A continuacin se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje Recursos Productos Realiza una consulta bibliogrfica Adoracin de Miguel y Mario Ficha de contenido con los conceptos solicitados. sobre los conceptos bsicos que se Piattini. Op. cit., pp.129-135, utilizan para describir al diseo 265-273. de datos relacionales (estructuras bsicas de las bases de datos relacionales). En un cuadro sinptico seala las Adoracin de Miguel y Mario Cuadro sinptico sobre las reglas o formas de normalizacin. Piattini. Op. cit., pp. 273-287. formas de normalizacin. Realiza los ejercicios 5 y 6. Manual de ejercicios y prcticas. Ejercicios 5 y 6 resueltos.

2. LGEBRA RELACIONAL Objetivo: Construir bsquedas en bases de datos relacionales, mediante el uso de operaciones bsicas de lgebra relacional, para seleccionar registros especficos. El lgebra relacional sirve para manipular relaciones enteras y para que vayamos ubicando las posibles operaciones de seleccin y consulta en bases de datos relacionales, as como las operaciones de conjuntos. Podemos catalogar las operaciones del lgebra relacional en dos:
Operaciones de conjuntos Unin Diferencia Interseccin Producto cartesiano Operaciones con bases de datos relacionales Seleccin Proyeccin Reunin (esta operacin
no se verisar en la gua).

29

Operaciones de conjuntos Las operaciones de la teora de conjuntos se aplican al modelo relacional, porque las tablas o relaciones se pueden ver como un conjunto de registros o tuplas y podemos tratar los registros de dos tablas como conjuntos. La nica restriccin que existe en las operaciones de unin, diferencia e interseccin es que las relaciones contengan los mismos campos o atributos. A continuacin se definen estas operaciones. Unin. Cuando tenemos una o ms tablas, la operacin de unin junta en el resultado todas las tuplas o registros existentes en dichas tablas, eliminando las tuplas repetidas. Su sintaxis es la siguiente: Tabla1 Tabla2 Diferencia. Cuando tenemos una o ms tablas, la operacin diferencia junta en el resultado todas las tuplas o registros que no se repiten en ninguna de las tablas, eliminando las tuplas repetidas. Su sintaxis es la siguiente: Tabla1Tabla2 Interseccin. Cuando tenemos una o ms tablas, la operacin de interseccin junta en el resultado todas las tuplas o registros que se encuentren repetidas en dichas tablas, eliminando las tuplas que son nicas Su sintaxis es la siguiente: Tabla1 Tabla2 Producto cartesiano. Crea registros con los campos combinados de las dos tablas, es decir, el resultado ser una nueva tabla que contenga los campos o atributos de las dos tablas y los registros se llenarn de la siguiente manera: Desde ndice1 = Registro uno hasta el registro n de la tabla 1 Haz Desde ndice2 = Registro uno hasta registro n de la tabla 2 Haz Llena la tabla respuesta con ndice1 + ndice 2 Grficamente lo veramos de la siguiente manera:
Tabla 1 Clave 1 1115 1116 Institucin Bachilleres Conalep Direccin Institucin Av. de los Milagros S/N Calle Santiago No. 125 Tabla 2 Clave 2 14A 14B 123J rea CFT CFT ASD Subrea Tcnica Pedaggica Almacn

Tabla Resultado (Tabla 1 PRODUCTO CARTESIANO Tabla 2)


Clave 1 1115 1115 1115 1116 1116 1116 Institucin Bachilleres Bachilleres Bachilleres Conalep Conalep Conalep Direccin Institucin Av. de los Milagros S/N Av. de los Milagros S/N Av. de los Milagros S/N Calle Santiago No. 125 Calle Santiago No. 125 Calle Santiago No. 125 Clave 2 14A 14B 123J 14A 14B 123J rea CFT CFT ASD CFT CFT ASD Subrea Tcnica Pedaggica Almacn Tcnica Pedaggica Almacn

30

Operaciones con base de datos relacionales Seleccionar: esta operacin sirve para seleccionar ciertos registros o tuplas que cumplan con un criterio especfico, si tomamos en consideracin la tabla Resultado del ejemplo anterior, un criterio de seleccin podra ser: todas las tuplas de tabla Resultado cuya clave2 sea 123J. El resultado sera el siguiente:
Clave 1 1115 1116 Institucin Bachilleres Conalep Direccin Institucin Av. de los Milagros S/N Calle Santiago No. 125 Clave 2 123J 123J rea ASD ASD Subrea Almacn Almacn

La sintaxis que se ocupar ser la siguiente: <Criterio de seleccin> (<Nombre de la Tabla o relacin>), donde s significa seleccin. Proyectar: selecciona algunos atributos o campos de una relacin y desecha las otras columnas, ya que lo nico que permite visualizar son los campos seleccionados, proyectando as una seccin de la relacin. Si tomamos nuevamente la tabla Resultado, y seleccionamos las columnas Institucin y Direccin Institucin, el resultado sera el siguiente:
Institucin Bachilleres Bachilleres Bachilleres Conalep Conalep Conalep Direccin Institucin Av. de los Milagros S/N Av. de los Milagros S/N Av. de los Milagros S/N Calle Santiago No. 125 Calle Santiago No. 125 Calle Santiago No. 125

La sintaxis que se ocupar ser la siguiente: <Lista de atributos> (<Nombre de la Tabla o relacin>), donde p significa seleccin. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Productos Realiza un cuadro sinptico sobre Adoracin de Miguel y Mario Cuadro sinptico sobre el Piattini. Op. cit., pp. 167-182. lgebra relacional. el lgebra relacional, indicando las operaciones de conjuntos y las operaciones con bases de datos relacionales. Realiza los ejercicios 7 y 8. Manual de ejercicios y prcticas. Ejercicios 7 y 8 resueltos.

31

3. VISTAS O SUBESQUEMAS Objetivo: Describir el uso y aplicacin de las vistas en las bases de datos relacionales, mediante la enumeracin de sus caractersticas en trminos de privilegios de consulta y ordenamiento, para satisfacer las necesidades de los diferentes tipos de usuarios. Al elaborar una base de datos, es necesario tener claridad de qu es lo que se va a realizar y para quin, ya que si bien el desarrollador de sta debe conocer perfectamente los componentes o niveles de la base, existen partes o componentes a los que los usuarios slo pueden accesar por razones de seguridad, quedando as algunos datos ocultos al usuario. As, las relaciones de datos que se hacen visibles a los usuarios se les denomina vistas. Por s mismas las vistas constituyen un importante mecanismo de autorizacin discrecional. Por ejemplo, si el propietario A de una relacin R desea que otra cuenta B pueda leer nicamente ciertos campos de R, A puede crear una vista V de R que incluya slo esos atributos, y despus otorgar a B el privilegio de SELECT para V. Lo mismo se aplica cuando se desea limitar a B a la lectura de slo ciertas tuplas de R; se puede crear una vista V definindola por medio de una consulta que seleccione slo las tuplas de R que A desea poner al alcance de B.4 Hablaremos ms sobre vistas en el siguiente tema. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Productos Realiza un resumen sobre el uso y Adoracin de Miguel y Mario Resumen sobre vistas. aplicacin de las vistas en las Piattini. Op. cit., pp. 136, bases de datos relacionales, 423-425. mediante el establecimiento de privilegios y la forma de ordenarlas por medio de ndices. Realiza los ejercicios 9 y 10. Manual de ejercicios y prcticas. Ejercicios 9 y 10 resueltos.

4. LENGUAJE RELACIONAL ESTNDAR SQL Objetivo: Expresar elementos, relaciones, bsquedas y vistas sencillas, mediante el lenguaje estandarizado SQL, para contar con un instrumento de diseo independiente de cualquier manejador especfico. Ante la necesidad de contar con un lenguaje de consultas cmodas para el usuario de bases de datos comerciales, surge el SQL, el cual se ha convertido en el lenguaje comercial de mayor influencia para realizar consultas en las bases de datos relacionales.

Elmasri y Navathe. Op. cit., p. 604.

32

En este tema definiremos los trminos que se utilizarn en el lenguaje SQL: esquema SQL, al cual se le hace referencia mediante un nombre y se establece el nombre del usuario que es propietario de dicho esquema. Asimismo, definiremos otros elementos que se encuentran dentro del esquema, como son: las tablas, vistas, dominios y concesiones de autorizacin. A continuacin te presentamos la forma en que se encuentran organizados los elementos del esquema. NOMBRE DEL ESQUEMA SQL

Relacin 1 Usuario propietario Usa al

Vista 1

Relacin 2

Vista 2

. . .
Relacin n

. . .
Vista n

Dominios

Usuarios x

Ve si tiene

Restricciones de acceso/ autorizacin

A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Productos Adoracin de Miguel y Mario Resumen sobre el lenguaje Realiza un resumen sobre el Piattini. Op. cit., pp. 215-260. SQL. lenguaje de relacin estndar SQL, considerando sus elementos, las relaciones, bsquedas y vistas que se puedan expresar en dicho lenguaje. Realiza los ejercicios 11 y 12. Manual de ejercicios y prcticas. Ejercicios 11 y 12 resueltos. Resolucin de la prctica 2.

Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 2, donde realizars la transformacin del diagrama de entidad relacin al diseo de datos relacional.

33

QU HE APRENDIDO?
A continuacin encontrars la evaluacin de la unidad, para que valores tus avances hasta el momento. I. Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parntesis la definicin que le corresponda. Concepto ( ( ( ) Clave externa o fornea. ) Clave primaria. ) Clave candidata. Definicin a) Clave candidata que hace referencia a otra relacin mediante un atributo en comn. b) Si en la relacin existen ms de dos claves candidatas, el usuario asignar una segunda. c) Clave candidata, la cual seguir conservando sus caractersticas en todo momento siendo esta la principal. d) Columnas cuyos valores sean nicos en cada tupla de la relacin, de tal forma que no podamos identificar dos tuplas con valores idnticos en la misma columna.

) Clave secundaria.

II. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ) A una base de datos relacional se le considera un conjunto de relaciones.

( ) Cada atributo de la tabla representa una coleccin de valores de datos relacionados entre s. ( ) Una fila se denomina tupla, una cabecera de columna un atributo y la tabla es una relacin. ( ) Un atributo no primo es cualquier clave candidata y un atributo primo es cualquier atributo que no sea clave candidata. III. Lee las siguientes preguntas y contstalas correctamente. 1. En qu consiste la primera forma de normalizacin? 2. Explica la segunda forma de normalizacin. 3. En qu consiste la tercera forma de normalizacin? 4. Qu es seguridad en una base de datos?

34

IV. Selecciona la opcin correcta para cada enunciado y coloca la letra correspondiente dentro del parntesis. 1. ( ) Para realizar una consulta en SQL, uno de los pasos debe ser... a) seleccionar campos. b) plantear una pregunta. c) seleccionar las tuplas. d) plantear relaciones. e) establecer modelos. 2. ( ) Una vista se puede considerar como una tabla... a) base. b) relacional. c) virtual. d) entidad. e) secundaria.

35

QUIERO SABER MS
Revisa otras formas de transformar modelos conceptuales a modelos lgicos de datos. Investiga sobre otros lenguajes de consulta a bases de datos relacional como lo es el SQL3. Estudia la operacin Reunin del lgebra relacional. Analiza el clculo relacional. Como comentbamos en la unidad I, las bases de datos estn tomando una importancia nica, ya que facilitan el acceso rpido y confiable a la informacin de una organizacin. Es necesario escoger un SGBD entre todos los comerciales que existen para crear aplicaciones de bases de datos, es sabido que actualmente el ritmo con que cambia el software es bastante acelerado provocando que posiblemente en algunos aos el SGBD que seleccionamos sea obsoleto. Sin embargo, nuestra preocupacin nos lleva a tratar de darte todos los elementos necesarios para que, cuando llegue el momento de cambiar o utilizar otro SGBD, seas capaz de entenderlo y aplicar las herramientas que contiene.

36

QU VOY A APRENDER?

MANIPULACIN DE BASES DE DATOS


Objetivo de la Unidad:
Disear y construir una base de datos sencilla, mediante su modificacin, ordenacin y realizacin de consultas, para desarrollar aplicaciones elementales.

UNIDAD III

Las bases de datos han tomado gran importancia, ya que facilitan el acceso rpido y confiable a la informacin de una organizacin, asimismo se ha desarrollado un sinnmero de SGBD comerciales de tipo relacional los cuales permiten la creacin y manipulacin de las bases de datos diseadas bajo un modelo relacional, permitiendo seleccionar uno con base a las necesidades y posibilidades de la organizacin. El ritmo con que cambia el software es bastante acelerado provocando que posiblemente en algunos aos el SGBD que seleccionamos no se encuentre en el mercado, sin embargo se seguir utilizando el lenguaje de consultas SQL para definir y realizar operaciones con la informacin contenida en la base de datos. En general, todos 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. Empezaremos por realizar operaciones bsicas con Visual Fox Pro 5.0 tales como la creacin, uso y cierre de una base de datos, en un segundo momento realizaremos operaciones de consulta y modificacin de la base de datos y de su estructura, finalizando con ordenaciones lgicas y fsicas de la informacin contenida en la base de datos, funciones ya revisadas en lgebra relacional y el lenguaje estndar relacional SQL. A continuacin te presentamos el esquema de los contenidos que se revisarn en esta unidad. Unidad III. Manipulacin de bases de datos
Bases de datos Operaciones Crear Consultar Modificar Ordenar las genera Sistema gestor de bases de datos

Estructura

Registros

Fsicamente

Lgicamente (ndices)

37

CMO APRENDO?
1. CREACIN DE UNA BASE DE DATOS Objetivo: Crear y manipular bases de datos elementales, mediante las instrucciones de creacin de archivos, definicin de campos e incorporacin de registros, para familiarizarse con los comandos bsicos del programa. Hemos creado modelos 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 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 el Visual Fox Pro 5.0, el cual nos permitir consolidar todo nuestro diseo de la base de datos. Es importante que no olvides que as como seleccionamos Visual Fox Pro 5.0 como nuestro SGBD, podrs utilizar cualquier otro para realizar aplicaciones prcticas, sin embargo ste debe ser de tipo relacional para que puedas aplicar lo que propone este curso. Primero tendremos que revisar qu 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.
TIPO DE DATO
Carcter Monetario Numrico Flotante Fecha FechaHora Doble Entero Lgico Memo General Carcter (binario) Memo (binario)

Un conjunto de hasta 254 letras o caracteres. 20 dgitos, con signo de pesos y punto decimal. 20 dgitos, con signo y punto decimal. Para nmeros muy cortos o muy largos de tipo exponencial. Son fechas con el formato mm/dd/aa. Informacin de calendario y hora en formato de 8 bytes. Ms preciso que el punto flotante. Almacena valores enteros. Acepta el valor cierto/falso (True/False). Almacena informacin de cualquier tipo. Almacena objetos OLE (imgenes). Almacena informacin de tipo texto con base en una pgina de cdigos. Almacena informacin de tipo memo con base en una pgina de cdigos.

DESCRIPCIN

Realizaremos el ejercicio con la primer tabla presentada en la unidad II, en donde aparecen los atributos de la relacin alumnos. Alumno
NOMBRE MATRCULA DIRECCIN TELFONO 38

Estableceremos un tipo de dato y tamao para cada campo de la tabla alumno, segn juzguemos conveniente, de tal forma que tendramos la siguiente estructura de datos: Tabla: Alumnos.
NOMBRE DEL CAMPO NOMBRE MATRCULA DIRECCIN TELFONO TIPO DE DATO CARCTER NUMRICO CARCTER CARCTER TAMAO 25 7 35 12 DECIMALES (S ES NUMRICO) 0

Al terminar el diseo fsico o creacin de la base de datos (estructura de la base de datos), procederemos a capturar las tuplas o registros de la tabla, quedando la informacin capturada como se muestra en la siguiente tabla.
ALUMNOS NOMBRE Juan Luis Prez Pedro Gmez C. Rebeca Cruz Montes Jos Lpez Canseco Margarita Godnez I. Luis Ramrez Ramos MATRCULA 8945678 8987654 8976541 8973635 8973526 8927262 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 (5) 625-19-89 (5) 876-09-12 (5) 738-28-19 No tiene

Cuando es la primera vez que creamos una estructura de base de datos de forma fsica, nuestro SGBD nos pregunta si queremos capturar los registros en ese momento o despus. Si por alguna razn no aceptaste capturarlos en este momento, tendremos que poner en uso la tabla Alumnos. Nota. La extensin DBF significa Data Base File (Archivo de base de datos). A continuacin se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje Recursos Realiza una consulta bibliogrfica Susan L. Reber y otros. Visual sobre la forma de crear una base Fox Pro 5.0. Mxico, Prentice de datos, as como incorporar Hall, 1998, Captulos 1 y 2. registros, abrirla y cerrarla. Realiza los ejercicios propuestos en los Captulos 1 y 2. Realiza el ejercicio 13. Susan L. Reber y otros. Op. cit. Manual de ejercicios y prcticas. Productos Ficha de contenido sobre la creacin de una base de datos, incorporacin de registros, abrirla y cerrarla. Ejercicios resueltos. Ejercicio 13 resuelto.

39

2. CONSULTAS A UNA BASE DE DATOS Objetivo: Realizar consultas a una base de datos, aplicando expresiones de lgebra relacional, para construir filtros y criterios de bsqueda. Una vez capturada la informacin se podrn realizar consultas simples a la base de datos. A continuacin te presentamos la estructura de una consulta: En el lenguaje estndar relacional SQL, ya hemos realizado consultas de la siguiente forma: 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. De tal forma que los comandos en SQL son los siguientes: SELECT <lista de campos> FROM <lista de tablas> WHERE <criterio de bsqueda> Cuando realizamos una consulta en un SGBD se realiza de una manera muy similar, la cual describimos a continuacin: 1. Seleccionar las tablas que contienen dichos campos. 2. Seleccionar los campos que intervendrn en la consulta. 3. Poner el criterio o condicin de bsqueda. La sintaxis o forma de realizar la consulta depender del SGBD, pero en general la forma simple de hacerla sera la siguiente serie de rdenes (stas se pueden escribir directamente en la ventana de comandos): USES <base de datos> LIST <lista de campos> FOR <condicin > Una consulta podra ser: qu alumnos no tienen telfono de la base de datos Alumnos, la serie de rdenes sera la siguiente: USES Alumnos LIST Nombre FOR Telfono =No tiene A continuacin se te presentan las actividades que debes realizar para cubrir con este tema.

40

Actividades de aprendizaje Recursos En un cuadro sinptico seala la Susan L. Reber y otros. forma de crear consultas en un Op. cit., Captulos 5 y 7. SGBD, a travs de establecer la estructura y comandos bsicos de un Query. Realiza los ejercicios propuestos en los Captulos 5 y 7. Susan L. Reber y otros. Op. cit.

Productos Cuadro sinptico sobre el Query.

Ejercicios resueltos.

3. MODIFICACIONES A UNA BASE DE DATOS Objetivo: Modificar una base de datos tanto en su estructura como en su contenido, mediante el uso de las instrucciones para agregar o eliminar campos, cambiar los atributos de los campos o el contenido de los mismos. Si deseas modificar la estructura de la base de datos, nicamente tendrs que volver a accesar 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. Dentro del SGBD tendrs que seleccionar la base de datos y seleccionar la opcin de modificar estructura. Para modificar los registros de la base de datos 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. En cualquier modo de despliegue o edicin del SGBD, el usuario podr modificar el contenido de los registros. Si visualizamos los registros desplegados en el modo Browse, veremos que stos no estn ordenados de ninguna forma, es decir, no hay una ordenacin ascendente o descendente en ninguno de los campos. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Elabora una ficha de contenido sobre la forma de modificar una estructura de bases de datos y la informacin contenida en la tabla (registros). Recursos Susan L. Reber y otros. Op. cit., Captulo 3. Productos Ficha de contenido sobre modificaciones a la estructura de una base de datos y a los registros. Ejercicios resueltos. Resolucin de la prctica 3.

Realiza los ejercicios propuestos en el Susan L. Reber y otros. Captulo 3. Op. cit. Con relacin a la situacin de aprendizaje, desarrolla la prctica 3, donde realizars la creacin, consulta y modificacin de la base de datos. Manual de ejercicios y prcticas.

41

4. ORDENACIN DE LA INFORMACIN Objetivo: Ordenar lgica y fsicamente los registros de una base de datos, mediante el uso de instrucciones, para construir ndices y reordenar registros. A continuacin te explicaremos qu son las ordenaciones y qu tipos de ordenaciones existen en las bases de datos. En bases de datos una ordenacin significa que los registros se 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 base se encuentra desordenada, podremos ordenarla mediante la seleccin de un campo que nosotros consideremos significativo para dicha bsqueda. Podemos ordenar de dos formas, la primera se refiere a usar una ordenacin fsica la cual 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 rdenes para realizar la ordenacin fsica ser: USES <Base de datos original o base> SORT ON <Campo de ordenacin> TO <Base de datos copia ordenada> (Con esto se ha creado otra base de datos ordenada, pero no se encuentra activa) Ejemplo: Para ordenar la tabla Alumno debemos seleccionarla y crear una nueva tabla con los registros ordenados. La ordenacin que se solicita en este ejemplo es por matrcula del alumno. Tabla original o base
ALUMNOS NOMBRE Juan Luis Prez Pedro Gmez C. Rebeca Cruz Montes Jos Lpez Canseco Margarita Godnez I. Luis Ramrez Ramos MATRCULA 8945678 8987654 8976541 8973635 8973526 8927262 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 (5) 625-19-89 (5) 876-09-12 (5) 738-28-19 No tiene

La serie de rdenes para crear la ordenacin fsica ser: USES ALUMNOS SORT ON <MATRCULA > TO <ALUMATRI>

42

Si ponemos en uso la base de datos ALUMATRI con la orden USE ALUMATRI y pedimos visualizar la informacin con algn modo de despliegue, la tabla que veremos ser la siguiente:
ALUMNOS NOMBRE Luis Ramrez Ramos Juan Luis Prez Margarita Godnez I. Jos Lpez Canseco Rebeca Cruz Montes Pedro Gmez C. MATRCULA 8927262 8945678 8973526 8973635 8976541 8987654 DIRECCIN Av. de los Nios Hroes No 1 Av. de los Remedios No. 18 Av. Tlhuac No. 89 Av. Corregidora No. 12 Satlite N0. 123 San Juan de los Lagos No. 8 TELFONO No tiene (5) 674-89-00 (5) 738-28-19 (5) 876-09-12 (5) 625-19-89 (5) 844-78-66

Si observas la tabla podrs ver que se encuentra ordenada ascendentemente por la matrcula, lamentablemente esta forma de ordenacin no es muy prctica cuando tratamos grandes cantidades de informacin, dado que el tiempo que requiere el SGBD para realizarla es demasiado, adems de que podramos saturar nuestro dispositivo de almacenamiento. La segunda forma de ordenacin y la ms recomendable en todos los aspectos, 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 nuestro ndice. 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. A continuacin te presentamos como interacta el archivo ndice con la base de datos, al ordenar de forma lgica y ascendentemente la tabla Alumnos, con el campo de ordenacin matrcula. Consideraremos nicamente los campos nombre y matrcula e incluiremos un nmero de registro para referenciar. ARCHIVO NDICE
Orden 1 2 3 4 5 6 No. Reg. 6 1 5 4 3 2 No. Reg. 1 2 3 4 5 6

ALUMNOS
NOMBRE Juan Luis Prez Pedro Gmez C. Rebeca Cruz Montes Jos Lpez Canseco Margarita Godnez I. Luis Ramrez Ramos MATRCULA 8945678 8987654 8976541 8973635 8973526 8927262

Si se solicitar el despliegue de informacin de los tres primeros registros ordenados, se hara referencia al archivo ndice y de ah se vera que son los registros 6,1 y 5. Este archivo ndice se encuentra integrado en la base de datos original, cuando se definen en la estructura de base de datos en un SGBD relacional.

43

A continuacin se presentan las actividades que debers realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Realiza un resumen sobre los tipos de ordenacin fsico y por ndices. Realiza los ejercicios propuestos en el Captulo 4. Recursos Susan L. Reber y otros. Op. cit., Captulo 4. Susan L. Reber y otros. Op. cit. Productos Resumen sobre tipos de ordenacin. Ejercicios resueltos. Resolucin de la prctica 4.

Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 4, donde realizars la ordenacin fsica y lgica de la base de datos.

44

QU HE APRENDIDO?
Contesta la siguiente evaluacin, para que valores tus avances hasta el momento. I. Lee con atencin cada uno de los siguientes tipos de datos y coloca dentro del parntesis la descripcin que le corresponda. Tipo de dato ( ) OLE. ( ( ( ( ( ( ) Float. ) Binary. ) Logical. ) Date. ) Numeric. ) Character. Descripcin a) Un conjunto de letras o caracteres. b) Valores numricos reales o enteros. c) Acepta el valor cierto/falso (True/False). d) Son fechas con el formato dd/mm/aa. e) Para nmeros muy cortos o muy largos de tipo exponencial. f) Objetos que se pueden vincular o incrustar. g) Permite manipular imgenes.

II. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ) Las declaraciones, consultas y otras operaciones en el SGBD se tendrn que escribir en ingls.

( ) En el SGBD Visual Fox Pro 5.0 existe una venta para escribir comandos. ( ) Cuando es la primera vez que creamos una estructura de base de datos de forma fsica, nuestro SGBD nos pregunta si queremos capturar los registros en ese momento.

( ) Existen dos modos de despliegue de informacin en nuestro SGBD. III. Lee las siguientes preguntas y contstalas correctamente. 1. 2. 3. 4. 5. Qu es una consulta? Qu es un SGBD? Qu es una ordenacin fsica? Qu es una ordenacin lgica o por medio de ndices? Incorpora 5 registros ms a la tabla Alumnos y realiza otra serie de consultas: a) Cuntos alumnos se apellidan Godnez?, b) Despliega los nombres de los alumnos cuyas matrculas comienzan con 89 y no tienen telfono, c) Despliega la matrcula de los alumnos cuya primera letra de su nombre o apellido sea C. 6. Ordena la tabla alumnos por direccin, matrcula y telfono.

45

QUIERO SABER MS
Revisa cul es la forma de consultar informacin de varias tablas a la vez. Investiga cules son los comandos para realizar todas las operaciones que se realizaron en la ventana del Navegador.

46

QU VOY A APRENDER?

CARACTERSTICAS AVANZADAS DE LAS BASES DE DATOS


Objetivo de la Unidad:
Instrumentar estructuras relacionales de mediana complejidad, mediante el manejo de variables, la generacin de reportes, pantallas y bases de datos mltiples, para implementar aplicaciones ms poderosas y agregar elementos que faciliten el manejo de la base a otros usuarios.

UNIDAD IV

En esta unidad te presentaremos la forma de implementar aplicaciones ms poderosas, a partir de definir la utilizacin de variables y las funciones ya definidas en el Sistema Gestor de Bases de Datos, para obtener resultados de la base de datos. Describiremos la forma de crear reportes y pantallas (formatos), para presentar la informacin al usuario con una presentacin amigable, de tal forma que las consultas y la operacin de la base de datos sean fciles de realizar. Por ltimo, realizaremos una serie de operaciones con una base de datos relacional, al crear y manejar varias tablas interconectadas. A continuacin te presentamos un esquema con los que contenidos de en esta unidad.

Sistema Gestor de Base de Datos Maneja

Variables

Funciones

Generador de

Base de datos mltiples

Reportes

Pantallas

47

CMO APRENDO?
1. MANEJO DE VARIABLES Y FUNCIONES Objetivo: Utilizar variables y las funciones interconstruidas en la base de datos, mediante la aplicacin de las reglas de construccin y empleo correctas, para sintetizar o completar informacin de la base de datos. Algunas veces requerimos datos que se pueden calcular a partir de los datos almacenados en la base de datos, por lo cual para evitar la redundancia de la informacin se considera que no se requiere almacenarlos. Sin embargo, estos datos, aunque sean temporales para realizar consultas, deben almacenarse en lo que se conoce como variables, para poder manipularse. Entenderemos por variable a un espacio asignado en memoria para manipular un dato de cualquier tipo. En los Sistemas Gestores de Base de Datos a las variables se les conoce como campos calculados, es decir, es el campo virtual que opera con los campos de una tabla y permite consultar su resultado. Las consultas que se realizan con campos calculados ocupan las siguiente expresiones de clculo:
Operadores aritmticos + * / Funcin Suma Resta Multiplicacin Divisin Funcin Menor que Mayor que Diferente Igual Menor o igual Mayor o igual Funcin El resultado es cierto cuando se presentan dos preposiciones y stas son verdaderas, en caso de que una preposicin sea falsa, el resultado ser falso. El resultado es cierto cuando una de las dos preposiciones presentadas es verdadera, en caso de que las dos sean falsas, el resultado ser falso. Niega la proposicin presentada.

Operadores de comparacin < > <> = <= >= Operadores lgicos Y (and) O (Or) No (Not)

48

Ejemplo: Supongamos que tenemos la siguiente tabla sobre nuestros clientes, los cuales compran n productos a un costo m. CLIENTES
Nombre Juan Luis Guerra Prez Pedro Torres Alcantar Maritza Galindo Escalante Luis Manuel Pelayo Montes Antonio Torres Heredia David Hernndez Martnez Jos Luis Mndez Lpez Telfono 612-98-00 786-00-98 844-98-09 612-23-72 768-09-87 876-09-09 844-40-22 Cantidad de productos 3 7 6 12 1 5 20 Costo unitario/ producto $50.00 $47.00 $129.00 $18.50 $20.00 $1,203.00 $420.00

Si quisiramos saber lo que gasto el cliente en todos los productos, necesitaramos utilizar un campo calculado llamado totales, el cual se calculara al multiplicar el campo cantidad de productos por el campo costo unitario/producto. De tal forma, tendramos lo siguiente: Totales = Cantidad de productos * Costo unitario/producto.
Totales $ 150.00 $ 329.00 $ 774.00 $ 222.00 $ 20.00 $ 6,015.00 $ 8,400.00

Cuando ocupamos funciones en una base de datos, lo hacemos generalmente para resumir informacin contenida en una tabla, las funciones a final de cuentas sirven para realizar consultas especficas sobre algn campo de la base de datos. Las funciones interconstruidas ms comunes son las siguientes:
Funcin Suma Promedio Mnimo Mximo Cuenta Para Descripcin Calcula la suma de todos los valores de un campo numrico. Calcula la media aritmtica sobre todos los valores de un campo numrico. Devuelve el valor ms pequeo de un campo numrico. Devuelve el valor ms grande de un campo numrico. Devuelve el nmero de registros que contiene una tabla. Condiciona las funciones anteriores bajo un criterio especfico.

49

Si consideramos la tabla del ejemplo anterior Clientes, podemos realizar las siguientes consultas utilizando funciones: Consulta 1 Suma Cantidad de productos Resultado: 54 Consulta 3 Mnimo Cantidad de productos Resultado: 1 Consulta 5 Cuenta Clientes Resultado: 7 Consulta 2 Promedio Costo unitario/producto Resultado: $ 269.643 Consulta 4 Mximo Cantidad de productos Resultado: 20 Consulta 6 Cuenta Clientes para Cantidad productos >=7 Resultado: 3

Consulta 7 Suma Costo unitario/producto para Cantidad de Productos <6 Resultado: $ 1,273.00 A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje En una ficha de contenido desarrolla el tema de variables o campos calculados, as como las funciones. Realiza los ejercicios propuestos para campos calculados en el Captulo 8. Recursos Susan L. Reber y otros. Op. cit.. Productos Ficha de contenido sobre variables y funciones. Ejercicios resueltos.

Susan L. Reber y otros. Op. cit.

2. GENERADOR DE REPORTES Objetivo: Elaborar reportes de presentacin de resultados en pantalla y por escrito, a partir de informacin seleccionada de una base de datos de una manera organizada y esttica, para facilitar su consulta. A continuacin estudiaremos el tema de REPORTES O INFORMES, a partir de definir la estructura general de estos, la forma de crearlos y modificarlos en un SGBD, as como la generacin del reporte. Hasta el momento slo hemos visualizado la informacin en pantalla, segn las vistas que presenta el SGBD, sin embargo, un reporte permite presentar la informacin de una base de datos de forma organizada y esttica en una hoja impresa, esta informacin es extrada o calculada a partir de los datos almacenados en la tabla.
50

Visto un reporte desde el Sistema Gestor de Base de Datos se considera como un archivo que contiene la definicin de la estructura del reporte, la cual utiliza etiquetas o encabezados, informacin de los campos de la base de datos y algunos campos calculados o variables. Un reporte presenta la siguiente estructura: Cabecera de pgina
Etiqueta

Detalles

Campo 1

Pie de pgina En la cabecera de pgina se encuentran los siguientes datos:


Encabezado del reporte: contiene informacin que ir al principio del reporte. Encabezado de pgina: contiene informacin que aparecer en todas las pginas del reporte.

Pueden ser las etiquetas de los campos. Encabezado de grupo: cuando el informe est dividido en grupos, aparecern los datos del grupo.

La seccin de detalles contiene la informacin general del reporte, es aqu donde se despliegan los registros de una base de datos al poner el campo dentro de esta seccin, para que se desplieguen sus registros partir de los criterios establecidos para el reporte. Dentro del pie de pgina se encuentran los siguientes datos:
Pie de grupo: contiene la informacin que va al final del grupo, puede ser un valor calculado. Pie de pgina: contiene la informacin que se requiere que aparezca en todas las pginas, Pie de reporte: contiene la informacin que va al final de todo el reporte, como pueden ser

como lo es el nmero de pgina.

las sumas totales y el nombre del responsable del reporte.

La forma de crear, modificar y generar un reporte queda a disposicin del SGBD. A nivel de SQL, las instrucciones que podramos usar seran las siguientes: Para crear un reporte: CREATE REPORT <Nombre del reporte> Para modificar un reporte: MODIFY REPORT <Nombre del reporte> Para generar un reporte: REPORT FORM <Nombre del reporte> Es importante recalcar que para generar un reporte debemos considerar la orientacin del papel de la impresora que se va a utilizar para imprimirlo.

51

A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Elabora un resumen sobre las ventajas de los reportes, su estructura, la forma de crearlos, modificarlos y generarlos. Recursos Susan L. Reber y otros. Op. cit., Captulos 6 y 8. Productos Resumen sobre reportes.

Realiza los ejercicios relacionados Susan L. Reber y otros. con reportes propuestos en los Op. cit. Captulos 6 y 8. Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 5, donde realizars un reporte de la base de datos.

Ejercicios resueltos.

Resolucin de la prctica 5.

3. GENERADOR DE PANTALLAS Objetivo: Desplegar campos y registros seleccionados en pantalla, mediante el uso de las instrucciones o controles de creacin de pantallas, para construir vistas sobre la base de datos que satisfaga necesidades especficas. Una PANTALLA o FORMULARIO es una herramienta visible en todos los SGBD para introducir o editar informacin de una o varias tablas de una base de datos relacional, en una secuencia personalizada por el usuario. Los formularios los disea el usuario para interactuar con la base de datos contenida en el SGBD de una forma ms amigable, adems de que al usuario comn le presenta nicamente la informacin que requiere, generando vistas de la informacin. En una pantalla el usuario puede incluir imgenes (al igual que en los reportes), encabezados de la pantalla, etiquetas de los campos a utilizar y los campos. Existen ciertos objetos o herramientas para navegar entre los registros, que pueden facilitar las ediciones o consultas de los usuarios, stas varan segn el tipo de SGBD. No olvides que para crear una pantalla se debe seleccionar la base de datos a visualizar. Cuando ya se tiene diseada la pantalla, la podemos poner en uso para editar, capturar o consultar informacin. La forma de crear, modificar y poner en uso una pantalla queda a disposicin del SGBD. A nivel de SQL, las instrucciones que podramos usar seran las siguientes: Para crear una pantalla: CREATE SCREEN <Nombre de la pantalla> Para modificar una pantalla: MODIFY SCREEN <Nombre de la pantalla> Para generar una pantalla: SELECT SCREEN <Nombre de la pantalla>
52

A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Realiza un resumen sobre pantallas, su estructura, la forma de crearlas, modificarlas y generarlas. Realiza los ejercicios propuestos en el Captulo 10. Recursos Susan L. Reber y otros. Op. cit., Captulo 10 . Productos Resumen sobre pantallas.

Susan L. Reber y otros. Op. cit., Captulo 10 .

Ejercicios resueltos. Resolucin de la prctica 6.

Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 6, donde realizars una pantalla para manipular la base de datos.

4. CREACIN Y MANEJO DE BASES DE DATOS MLTIPLES Objetivo: Construir bases de datos mltiples, a partir de la vinculacin de bases de datos sencillas, para reducir la redundancia y asegurar la consistencia de la informacin. Cuando nuestra base de datos es de tipo relacional, es decir, contiene ms de dos tablas, stas deben tener un campo en comn, tal y como lo vimos en la unidad II. La idea de usar bases de datos relacionales es para evitar la redundancia y la inconsistencia de la informacin, cuyo diseo revisamos a detalle tambin en esta unidad. Ahora te explicaremos cmo conectar dos tablas a nivel fsico en un SGBD. Ubiquemos el ejercicio de la unidad II, cuando hablbamos de los datos del empleado, recordars que dividimos la tabla principal en varias para evitar los errores de redundancia e inconsistencia, quedando las siguientes tablas:
Empleado Nombre Juan Prez Pulido Pedro Acacio Lpez Luis Manuel Pedrasa Homero Snchez S. Clave Institucin 1115 1115 1115 1115 Clave rea. 14A 14B 14A 14B Direccin Av. de los Milagros S/N Calle Santiago No. 125

reas Clave 14A 14B 123J

Institucin Clave Nombre 1115 Bachilleres 1116 Conalep rea CFT CFT ASD Subrea Tcnica Pedaggica Almacn 53

Donde los campos sealados son claves primarias. La forma de realizar dichas conexiones en un nivel fsico y en un SGBD ser el siguiente:
INSTITUCIN CLAVE NOMBRE DIRECCIN

EMPLEADO NOMBRE CVEINSTITU CVEAREA

REAS CLAVE REA SUBREA

Podemos generar reportes o pantallas usando bases de datos relacionales, slo hay que hacer referencia a la tabla de la que se est leyendo el campo y eso es todo. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Realiza un resumen sobre la forma de crear y manipular bases de datos mltiples a un nivel fsico, en un SGBD (en especfico Visual Fox Pro V 5.0). Recursos Susan L. Reber y otros. Op. cit., Captulo 5 y 7. Productos Resumen sobre bases de datos relacionales en un SGBD.

Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 7, donde realizars un reporte y una pantalla para manipular la base de datos relacional.

Resolucin de la prctica 7.

54

QU HE APRENDIDO?
A continuacin te presentamos la evaluacin de la unidad, para que valores tus avances hasta el momento. I Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parntesis la definicin que le corresponda. Concepto ( ( ( ( ( ( ) Para ) Promedio ) Cuenta ) Mximo ) Suma ) Mnimo Definicin a) Calcula la suma de todos los valores de un campo numrico. b) Calcula la media aritmtica sobre todos los valores de un campo numrico. c) Devuelve el valor ms pequeo de un campo numrico. d) Devuelve el valor ms grande de un campo numrico. e) Devuelve el nmero de registros que contiene una tabla. f) Condiciona las funciones anteriores bajo un criterio especfico.

II. Lee con atencin cada una de las siguiente proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ( ( ( ) Los campos que conectan dos tablas en las bases de datos relacionales deben ser del mismo tipo. ) Un reporte desde el Sistema Gestor de Base de Datos, se considera como un archivo que contiene la definicin de la estructura del reporte. ) Los formularios los disea el usuario para interactuar con el Sistema Gestor de Bases de Datos. ) Una base de datos de tipo relacional contiene una o ms tablas.

III. Lee las siguientes preguntas y contstalas correctamente. 1. Qu es un reporte? 2. Qu es una pantalla? 3. Explica brevemente qu es una base de datos relacional. 4. Explica la estructura de una pantalla del SGBD Visual Fox Pro 5.0 5. Explica la lgica para relacionar dos tablas de una base de datos relacional.

55

QUIERO SABER MS
Investiga sobre la forma de generar reportes y pantallas en otros SGBD, como son: Visual dBase 5.5 y Access 97 o 2000, entre otros. Realiza consultas con campos calculados en bases de datos relacionales. Elabora un cuadro comparativo de la forma de conectar dos o ms tablas en diferentes SGBD.

56

You might also like