Está en la página 1de 94

Bases de datos

Programa desarrollado

rea de Ciencias Exactas, Ingenieras y Tecnolgicas

Cuatrimestre TRES

Programa de la asignatura:

Bases de datos
Clave: 210910311 y 150910311

Febrero de 2011

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

Bases de datos
Programa desarrollado

SECRETARA DE EDUCACIN PBLICA Alonso Lujambio Irazbal

SUBSECRETARA DE EDUCACIN SUPERIOR Rodolfo Tuirn Gutirrez

PROGRAMA DE EDUCACIN SUPERIOR ABIERTA Y A DISTANCIA COORDINACIN GENERAL Manuel Quintero Quintero

COORDINACIN ACADMICA Soila del Carmen Lpez Cuevas

DISEO INSTRUCCIONAL Eliangel Navarro Flores y Juan Oropeza Mota

EVALUACIN Y ACREDITACIN DE PROGRAMAS EDUCATIVOS Brenda Mariana Cruz Reyes

AGRADECEMOS LA COLABORACIN EN EL DESARROLLO DE ESTE MATERIAL A: Mtra. Claudia Gabriela Hernndez Medina y Mtra. Vernica Martnez Prez Secretara de Educacin Pblica, 2011

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

Bases de datos
Programa desarrollado

Tabla de contenidos I. INFORMACIN GENERAL DE LA ASIGNATURA ................................................................................................. 7 a. Ficha de identificacin ............................................................................................................................................ 7 b. Descripcin ............................................................................................................................................................... 7 c. Propsito ................................................................................................................................................................... 8 II. FUNDAMENTACIN TERICA DE LA ASIGNATURA........................................................................................ 8 III. COMPETENCIAS A DESARROLLAR .................................................................................................................... 8 Competencia general ................................................................................................................................................. 8 Competencias especficas.......................................................................................................................................... 9 IV. TEMARIO .................................................................................................................................................................... 9 V. METODOLOGA DE TRABAJO ............................................................................................................................... 9 VI. EVALUACIN .......................................................................................................................................................... 10 VII. MATERIAL DE APOYO ......................................................................................................................................... 11 Bibliografa bsica...................................................................................................................................................... 11 Bibliografa complementaria ..................................................................................................................................... 11 Pginas electrnicas ................................................................................................................................................. 11 Otros recursos ............................................................................................................................................................ 12 VIII. DESARROLLO DE CONTENIDOS POR UNIDADAD ..................................................................................... 13 UNIDAD 1. Introduccin a las Bases de datos ......................................................................................................... 13 Propsito de la unidad .............................................................................................................................................. 13 Competencia especfica............................................................................................................................................ 13 Presentacin de la unidad ........................................................................................................................................ 14 Actividad 1. Presentacin ......................................................................................................................................... 14 1.1. Conceptos generales ......................................................................................................................................... 15 1.1.1. Conceptos informticos bsicos ................................................................................................................... 17 Actividad 2. Conceptos bsicos de la asignatura ................................................................................................. 23
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

Bases de datos
Programa desarrollado

1.1.2. Conceptos especficos de Bases de datos ................................................................................................. 24 Actividad 3. Generar el concepto propio de Base de datos ................................................................................ 27 1.2. Tipos de Bases de datos .................................................................................................................................. 27 1.2.1. Base de datos de rbol (jerrquica) ............................................................................................................. 29 1.2.2. Base de datos de red ..................................................................................................................................... 33 1.2.3. Base de datos relacional ............................................................................................................................... 35 Actividad 4. Tabla comparativa de los tipos de Bases de datos ........................................................................ 36 1.2.4. Sistema Gestor de Base de Datos (SGBD) ................................................................................................ 38 Actividad 5. Reporte de investigacin. Aplicacin de los Sistemas Gestores de Bases de Datos por medio de un anlisis de caractersticas ............................................................................................................................. 39 1.2.5. Estructura de un Sistema Gestor de Base de Datos ................................................................................ 39 Evidencia de aprendizaje. Reporte. Integracin general de elementos especficos de las Bases de datos ...................................................................................................................................................................................... 40 Consideraciones especficas de la unidad............................................................................................................. 40 Cierre de la unidad .................................................................................................................................................... 41 Fuentes de consulta .................................................................................................................................................. 41 UNIDAD 2. Anlisis........................................................................................................................................................ 42 Propsito de la unidad .............................................................................................................................................. 42 Competencia especfica............................................................................................................................................ 42 Presentacin de la unidad ........................................................................................................................................ 43 2.1. Lineamientos metodolgicos de recopilacin de requerimientos ............................................................... 43 2.1.1. Anlisis. Concepto .......................................................................................................................................... 44 2.1.2. Estructura de las entradas, procesos y salidas ......................................................................................... 45 Actividad 1. Eleccin de caso .................................................................................................................................. 46 2.1.3. Herramientas de estudios de factibilidad (operacional, financiero y econmico) ................................. 46 Actividad 2. Eleccin y elaboracin del instrumento de recopilacin de informacin ..................................... 48 2.1.4. Reporte del estudio de factibilidad ............................................................................................................... 48
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

Bases de datos
Programa desarrollado

2.1.5. Requerimientos de hardware y software..................................................................................................... 48 Actividad 3. Reporte sobre el estudio de factibilidad ........................................................................................... 49 2.2. Tcnicas de modelado de datos ...................................................................................................................... 50 2.2.1. Modelado de objetos ...................................................................................................................................... 50 2.2.2. Modelado entidad relacin (E-R).................................................................................................................. 51 2.2.3. Normalizacin .................................................................................................................................................. 54 2.2.4. Modelado relacional ....................................................................................................................................... 56 Actividad 4. Modelados bsicos .............................................................................................................................. 59 Evidencia de aprendizaje. Anlisis y modelado .................................................................................................... 59 Consideraciones especficas de la unidad............................................................................................................. 60 Cierre de la unidad ................................................................................................................................................... 60 Fuentes de consulta .................................................................................................................................................. 61 UNIDAD 3. Diseo ......................................................................................................................................................... 62 Propsito de la unidad .............................................................................................................................................. 62 Competencia especfica............................................................................................................................................ 62 Presentacin de la unidad ........................................................................................................................................ 62 3.1. Diseo de prototipo de Bases de datos.......................................................................................................... 63 Actividad 1. Tablas lgicas ....................................................................................................................................... 64 3.1.1. Concepto de Structured Query Language (SQL) ...................................................................................... 64 3.1.2. Tipos de datos ................................................................................................................................................. 67 3.1.3. Generacin de Diccionario de datos............................................................................................................ 69 Actividad 2. Diccionario de datos ............................................................................................................................ 70 Actividad 3. Entrega de tablas lgicas y diccionario de datos ............................................................................ 71 3.1.4. Instrucciones SQL: Data Definition Language (DDL) y Data Manipulation Language (DML) ............ 71 3.1.5. lgebra relacional ........................................................................................................................................... 76 Actividad 4. Ejercicio: Funciones bsicas de SQL y lgebra relacional ............................................................ 92
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

Bases de datos
Programa desarrollado

Evidencia de aprendizaje. Desarrollo e integracin de prototipo ....................................................................... 92 Consideraciones especficas de la unidad............................................................................................................. 93 Cierre de la unidad .................................................................................................................................................... 93 Examen final ............................................................................................................................................................... 93 Fuentes de consulta .................................................................................................................................................. 94

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

Bases de datos
Programa desarrollado

I. INFORMACIN GENERAL DE LA ASIGNATURA a. Ficha de identificacin

Nombre de las Ingenieras: Nombre del curso o asignatura Clave de asignatura: Seriacin: Cuatrimestre: Horas contempladas:

Telemtica y Desarrollo de software Bases de datos 210910311 y 150910311 No aplica Tercero 72

b. Descripcin La asignatura de Bases de datos forma parte del tercer cuatrimestre de las Ingenieras en Telemtica y Desarrollo de software, las cuales demandan el conocimiento estructural de una amplia gama de informacin, entre la cual se encuentran las tcnicas de modelaje para realizar Bases de datos, que cumplan con las necesidades del sector productivo en el cual el ingeniero se desempee. En la asignatura de Bases de datos se toman en cuenta la orientacin de la necesidad, el anlisis por medio de elementos que permitan recabar la informacin necesaria, hasta llegar al diseo lgico, que no es ms que el bosquejo final donde el estudiante demostrar la solucin prctica de casos reales con tcnicas de modelaje como son: modelado de objetos, modelado entidad relacin, normalizacin y modelado relacional; as el estudiante crea el prototipo y selecciona el Sistema Gestor de Base de Datos ms adecuado. Durante la asignatura, el estudiante se encontrar inmerso en diferentes escenarios, los cuales se le pueden presentar en un contexto laboral, por lo anterior deber analizar minuciosamente las situaciones y ensayar los diferentes roles que le permitan atender las demandas del contexto como: lder, analista, diseador o usuario final. La asignatura requiere que los estudiantes hagan uso de sus habilidades de anlisis e interpretacin de la necesidad en cuestin. Para cumplir con la competencia general de la asignatura, se debe desarrollar una serie de habilidades como: toma de decisin, anlisis y seleccin del gestor de Base de datos a utilizar, dar propuestas de solucin, considerando sus propios alcances y los requerimientos de hardware y recursos del usuario. La importancia de esta asignatura para las Ingenieras en Telemtica y Desarrollo de software se centra en las tcnicas de modelaje, as como en mostrarle al estudiante cmo se lleva a cabo la estructuracin de una Base de datos, lo cual es fundamental para su adecuada formacin integral. La asignatura se encuentra conformada por tres unidades: 1. Introduccin a las Bases de datos 2. Anlisis
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

Bases de datos
Programa desarrollado

3. Diseo En la primera unidad se abarcan los conceptos generales informticos y especficos de las Bases de datos, los tipos y su estructura. En la segunda unidad se muestran los temas combinando la teora y la prctica, ya que aborda la estructura de los procesos, entradas y salidas, herramientas de estudios de factibilidad (operacional, financiero y econmico), el desarrollo del Reporte del estudio de factibilidad, los requerimientos de hardware y software, as como la aplicacin de las tcnicas de modelados. Finalmente, la tercera unidad est enfocada en trabajar con las estructuras Structured Query Language (SQL) que son: Data Definition Language (DDL) y Data Manipulation Language (DML), los tipos de datos que se trabajan en las Bases de datos, diccionario de datos y lgebra relacional.

c. Propsito El propsito fundamental del curso es aplicar los conocimientos adquiridos para generar un prototipo de Base de datos documental, que permita dar solucin a los requerimientos del usuario.

II. FUNDAMENTACIN TERICA DE LA ASIGNATURA Los fundamentos que justifican la asignatura son de carcter terico-prctico, dado que la estructura de las unidades est diseada de una manera en la que la primera unidad abarca los conceptos generales informticos y especficos de las Bases de datos, los tipos y su estructura, as como gestores, sus elementos y caractersticas, para que el estudiante los aplique conforme va avanzando en su temario. Por otra parte, la unidad dos muestra los temas combinando la teora y la prctica, ya que aborda la estructura de los procesos, entradas y salidas, herramientas de estudios de factibilidad (operacional, financiero y econmico), el desarrollo del Reporte del estudio de factibilidad, los requerimientos de hardware y software, as como la aplicacin de las tcnicas de modelados, incluyendo conceptos y ejemplificacin prctica de los temas que se abordan. Finalmente, la unidad 3 est enfocada a cuestiones totalmente prcticas, dado que tiene la facultad de estructurar los modelos y finalizar con el prototipo esperado, tomando como base las estructuras Structured Query Language (SQL) que son: Data Definition Language (DDL) y Data Manipulation Language (DML), los tipos de datos que se trabajan en las Bases de datos, el diccionario de datos y el lgebra relacional.

III. COMPETENCIAS A DESARROLLAR

Competencia general Realizar prototipos de Bases de datos documentales, que sirvan de modelo para dar solucin a problemas relacionados con la gestin de informacin, por medio de tcnicas de modelaje que partan del anlisis del problema y los requerimientos del usuario final.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

Bases de datos
Programa desarrollado

Competencias especficas Diferenciar los conceptos especficos de Bases de datos para comprender los tipos de stas, as como sus Sistemas Gestores, por medio de las caractersticas que las describen. Analizar problemas de gestin de informacin para elegir la alternativa que responda a los requerimientos de acuerdo al resultado de los datos obtenidos por medio del estudio de factibilidad (financiero, operacional y econmico). Elaborar modelados de Bases de datos documentales para representar la informacin que satisfaga las necesidades de gestin de informacin, mediante las tcnicas de modelaje utilizadas para generar un prototipo.

IV. TEMARIO UNIDAD 1. Introduccin a las Bases de datos 1.1. Conceptos generales 1.1.1. Conceptos informticos bsicos 1.1.2. Conceptos especficos de Bases de datos 1.2. Tipos de Bases de datos 1.2.1. Base de datos de rbol (jerrquica) 1.2.2. Base de datos de red 1.2.3. Base de datos relacional 1.2.4. Sistema Gestor de Base de Datos (SGBD) 1.2.5. Estructura de un Sistema Gestor de Base de Datos UNIDAD 2. Anlisis 2.1. Lineamientos metodolgicos de recopilacin de requerimientos 2.1.1. Anlisis. Concepto 2.1.2. Estructura de las entradas, procesos y salidas 2.1.3. Herramientas de estudios de factibilidad (operacional, financiero y econmico) 2.1.4. Reporte del estudio de factibilidad 2.1.5. Requerimientos de hardware y software 2.2. Tcnicas de modelado de datos 2.2.1. Modelado de objetos 2.2.2. Modelado entidad relacin (E-R) 2.2.3. Normalizacin 2.2.4. Modelado relacional UNIDAD 3. Diseo 3.1. Diseo de prototipo de Bases de datos 3.1.1. Concepto de Structured Query Language (SQL) 3.1.2. Tipos de datos 3.1.3. Generacin de Diccionario de datos 3.1.4. Instrucciones SQL: Data Definition Language (DDL) y Data Manipulation Language (DML) 3.1.5. lgebra relacional V. METODOLOGA DE TRABAJO

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

Bases de datos
Programa desarrollado

La asignatura de Bases de datos presenta nociones tericas y prcticas que requieren y provocan un alto grado de abstraccin, ya que se enfoca en abordar conceptos bsicos y especficos, que sern de uso continuo y se aplicarn en las tcnicas de modelaje para el desarrollo de prototipos, de forma documental. Por tal razn es importante contar con una unidad introductoria a conceptos generales y especficos de las Bases de datos, dado que en las unidades siguientes se manejan aspectos tanto tericos como prcticos, con el objetivo de que el estudiante vaya aplicando sus conocimientos sobre las tcnicas de modelaje en un caso prctico, por ello se plantea una metodologa de Aprendizaje Basado en Casos (ABC). Desde el inicio de la primera unidad, el estudiante interacta con las herramientas del aula virtual, como lo son foros, glosarios, bases de datos y wiki. Posteriormente, se llevan a cabo trabajos colaborativos, as como tambin se presentan actividades de investigacin que complementen los contenidos, lo que permite ejercitar y presentar sus evidencias de aprendizaje de los temas vistos en cada unidad.

VI. EVALUACIN En el marco del Programa de la ESAD, la evaluacin se conceptualiza como un proceso participativo, sistemtico y ordenado que inicia desde el momento en que el estudiante ingresa al aula virtual, por lo que se le considera desde un enfoque integral y continuo. Por lo anterior, para aprobar la asignatura de Bases de datos, se espera la participacin responsable y activa del estudiante, as como una comunicacin estrecha con su facilitador para que pueda evaluar objetivamente su desempeo. Para lo cual es necesaria la recoleccin de evidencias que permitan apreciar el proceso de aprendizaje de contenidos: declarativos, procedimentales y actitudinales. En este contexto la evaluacin es parte del proceso de aprendizaje, en el que la retroalimentacin permanente es fundamental para promover el aprendizaje significativo y reconocer el esfuerzo. Es requisito indispensable la entrega oportuna de cada una de las tareas, actividades y evidencias, as como la participacin en foros, wikis, blogs y dems actividades programadas en cada una de las unidades, dentro del tiempo especificado y conforme a las indicaciones dadas. La calificacin se asignar de acuerdo con la rbrica establecida para cada actividad, por lo que es importante que el estudiante la revise antes de realizar la actividad correspondiente.

A continuacin se presenta el esquema general de evaluacin. RECURSOS Y HERRAMIENTAS Actividades formativas (envos a taller y tareas). Interaccin en el aula y trabajo colaborativo (foros y bases de datos). E-Portafolio (evidencias de aprendizaje y autoreflexiones). Examen final. VALOR 30% 10% 50% 10%

Cabe sealar que para aprobar la asignatura, se debe de obtener la calificacin mnima indicada por ESAD.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

10

Bases de datos
Programa desarrollado

VII. MATERIAL DE APOYO

Bibliografa bsica Celma, M.; Casamayor, J.C.; Mota, L. (2003) Bases de datos relacionales. Madrid: Pearson-Prentice Hall. Conallen, Jim. (s. f.) Building Web Applications With UML. Segunda edicin. EUA: Addison-Wesley. MasterMagazine (2005) Definicin de ASCII. Recuperado el 21 de enero de 2011, de http://www.mastermagazine.info/termino/3926.php Prez L, Csar. (2008) Oracle 10g: administracin y anlisis de bases de datos. Segunda edicin. Mxico: Alfaomega. Quiroz, Javier. (2003) El modelo relacional de bases de datos en Boletn de Poltica Informtica Nm. 6 (Versin electrnica). Recuperado el 26 de enero de 2011, de http://www.inegi.org.mx/inegi/contenidos/espanol/prensa/contenidos/articulos/tecnologia/relacional.p df Schmuller, Joseph. (s. f.) Aprendiendo UML en 24 horas. Mxico: Prentice Hall. Silberschatz, Abraham. (2006). Fundamentos de Bases de Datos. Espaa: McGraw-Hill. Definicin de requerimiento de hardware en Diccionario de informtica. Recuperado el 2 de enero de 2011, de http://www.alegsa.com.ar/Dic/requerimiento%20de%20hardware.php

Bibliografa complementaria Forouzan A, Behrouz. (2003) Introduccin a la Ciencia de la Computacin. Primera edicin. Mxico: Thomson Real Academia Espaola (2001) Diccionario de la lengua espaola. Vigsima segunda edicin (Versin digital). Recuperado el 19 de enero de 2011, de http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica

Pginas electrnicas www.aulaclic.net Pone a disposicin descargas de cursos gratuitos: cursos informticos, metodologa de algoritmos, entre otros. Asimismo, muestra artculos de temas de inters informtico. www.aulafacil.com Pone a disposicin manuales y tutoriales de temas varios: idiomas, informtica y cultura general. www.bibliotheka.net Pone a disposicin una lista de libros y artculos relacionados con la materia, as como materiales de conocimiento en general, todo ello de manera gratuita. www.gratisprogramas.net Pone a disposicin una serie de programas gratuitos y de fcil acceso. www.infoamerica.org
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

11

Bases de datos
Programa desarrollado

Pone a disposicin gran cantidad de artculos relacionados con la comunicacin. www.mastermagazine.info Pone a disposicin gran cantidad de artculos relacionados con trminos empleados en la asignatura de Bases de datos. www.realraptalk.com Pone a disposicin una serie de informacin general, de diferentes tipos, as como blogs y foros que sirven para intercambiar y obtener una visin ms amplia sobre los conceptos relacionados con la asignatura. www.senavirtual.edu.com Pone a disposicin cursos virtuales con certificacin gratuita, en los que se abarcan temas relacionados con ofimtica, diseo web, programacin orientada a objetos, modelado de objetos y calidad en el desarrollo de software. www.taringa.com Pone a disposicin la colaboracin con una comunidad de nivel, donde se puede encontrar informacin sobre Bases de datos, as como la referida a cualquier otro tipo de informacin que se requiera.

Otros recursos Excel Access Structured Query Language (SQL) en su modalidad sencilla

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

12

Bases de datos
Programa desarrollado

VIII. DESARROLLO DE CONTENIDOS POR UNIDADAD UNIDAD 1. Introduccin a las Bases de datos

Propsito de la unidad

En la presente unidad analizars el proceso para la elaboracin del prototipo de base de datos documental, tomando en cuenta el concepto de bases de datos, los diversos tipos que existen de ellas, as como los diferentes Sistemas Gestores de Bases de Datos.

Competencia especfica

Diferenciar los conceptos especficos de Bases de datos para comprender los tipos de stas, as como sus Sistemas Gestores, por medio de las caractersticas que las describen.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

13

Bases de datos
Programa desarrollado

Presentacin de la unidad

Bienvenido(a) al curso de Bases de datos. En esta primera unidad se establecen los principios fundamentales de Bases de datos y gestores, con la finalidad de que exista una familiaridad con los diversos conocimientos que la asignatura requiere, como lo son trminos informticos bsicos y especficos de bases de datos. Repasar y retroalimentar conceptos informticos bsicos servir para recordar la importancia que tienen para ser aplicados a esta asignatura, se abordar desde el concepto de informtica hasta los Sistemas Gestores de Bases de Datos (SGBD), pasando por lo que son las unidades de almacenamiento, los sistemas numricos, as como los cdigos, entre otros conceptos, lo que permitir dar cumplimiento al propsito de la unidad.

Actividad 1. Presentacin Antes de entrar de lleno en el estudio de la asignatura se presenta un foro de discusin general, el cual ha sido creado para que se comente cualquier asunto relacionado con Bases de datos, de este modo los estudiantes se conocern y podrn apoyarse entre ellos mismos para resolver dudas, inquietudes, externar comentarios, etctera. Ingresa al aula virtual para realizar la actividad. Para comenzar tu participacin, ingresa al foro: Presentacin.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

14

Bases de datos
Programa desarrollado

1.1. Conceptos generales En la actualidad la tecnologa ha crecido a pasos agigantados, por tal razn hablar de informacin tiene que ver con el ajuste de esta misma en su totalidad, pero de manera electrnica, dejando a un lado el trabajo rudimentario, por eso el impacto y puntualidad de este tema es parte de la columna vertebral del conocimiento general de informtica, lo que permitir distinguir, identificar y aplicar los conceptos adquiridos en cualquiera que sea el escenario que el estudiante enfrente, tanto en su formacin acadmica y laboral, como en el mbito personal y social, aplicando las habilidades adquiridas sobre los tipos de bases de datos y gestores. Teniendo en cuenta estos antecedentes, y antes de continuar con la asignatura, es preciso comentar algunas cuestiones de suma importancia referidas a la informacin y a la informtica, ya que stas son la base del presente curso.

La palabra INFORMTICA se integra por la contraccin de los vocablos Informacin y Automtica Habitualmente la palabra informacin est ligada a la adquisicin de conocimientos; se dice haber recibido informacin cuando se conoce algo que se ignoraba. Relacionado con este trmino se encuentra el concepto de informtica, la cual trata sobre la adquisicin, representacin, tratamiento y transmisin de la informacin, es decir, la informtica es la ciencia que estudia el tratamiento racional de la informacin por medio de mquinas automticas. La Real Academia Espaola define a la informtica como: conjunto de conocimientos cientficos y tcnicas que hacen posible el tratamiento automtico de la informacin por medio de ordenadores.1 Con base en lo anterior, se puede sealar que los primeros ordenadores surgieron ante la necesidad de realizar grandes clculos en aplicaciones militares, que escapaban a las posibilidades humanas. Actualmente, las ventajas que representan los ordenadores son: rapidez, fiabilidad, gran capacidad de almacenamiento y un precio asequible. Ante esto, la informtica, o ciencia de los ordenadores, aparece como un intento de estructurar todos los avances tecnolgicos y de programacin que se producen vertiginosamente. Los primeros estudios de la informacin partieron de la aplicacin la teora de las probabilidades, iniciado por Claude Elwood Shannon, a mediados de los aos cuarenta.

Claude Elwood Shannon (1916-2001). Ingeniero electrotcnico y matemtico estadounidense. Naci en Michigan y curs estudios en la Universidad de Michigan. 1 Real Academia Espaola (2001) Diccionario de la lengua espaola. Vigsima segundaTecnologa de Massachusetts y en el 19 En 1940 obtuvo su doctorado en el Instituto de edicin (Versin digital). Recuperado de enero de 2011, de http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica 1941 ingres en los laboratorios Bell, donde trabaj en el desarrollo de sistemas de encriptacin digital. Siete aos ms tarde estableci las leyes fundamentales de la Educacin Superior Abierta a su trabajo A mathematical theory of transmisin y compresin de datosyenDistancia Ciencias Exactas, Ingeniera y Tecnologa. 15 communication (en este artculo surge por vez primera el trmino bit, contraccin de

Bases de datos
Programa desarrollado

El estudio de la informtica tiene bsicamente dos ramas: una terica, con la que adquiere un carcter cientfico y otro relacionado con el diseo y la experimentacin de aplicacin, con lo que adquiere su lugar como ingeniera. De acuerdo a lvarez y Bravo (2000) los siguientes son algunos de los campos de aplicacin ms destacados de la informtica. Algoritmos y estructuras de datos. Anlisis y desarrollo de sistemas informticos. Arquitectura de ordenadores. Inteligencia artificial. Informtica educativa. Informtica grfica Informtica industrial Lenguajes de programacin Metodologa de la programacin Ingeniera del software Robtica

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

16

Bases de datos
Programa desarrollado

1.1.1. Conceptos informticos bsicos Una vez habiendo abordado lo que es la informtica y su importancia en la actualidad, debido a que se ha convertido en el sustento de todas las empresas y de todo lugar donde existe tecnologa, desde un aparato domstico hasta grandes servidores que permiten la comunicacin estrecha con el mundo actual, en este apartado se revisarn conceptos relacionados con ella. De la informtica emanan otros trminos, como son: computadora, bit, byte, gigabyte, megabyte, terabyte, archivos, directorios, campos, registros, dispositivos, hardware, software, bases de datos, Internet, servidor, red, correo electrnico, wiki, foros, blogs, virus, antivirus, aplicacin, lenguaje de programacin, programa; entre muchos otros. A continuacin trataremos algunos de ellos.

El trmino computadora, desde el punto de vista de la actualidad, empapada de tecnologa, se define como un dispositivo electrnico capaz de tratar gran cantidad de informacin, con tareas generales como: almacenar, organizar, gestionar, actualizar, entre otras. Los nombres que con mayor frecuencia se utilizan para referirse a este dispositivo son: computadora, terminal, servidor, terminal tonta, ordenador, nodo y PC. Ahora bien, la unidad mnima que soporta un computador es un bit, el cual es la representacin en sistema binario de un 1 o un 0, que en trminos de electrnica 1 simboliza presencia de alto voltaje y 0 baja presencia de voltaje. Mientras que un byte es la unidad mnima de almacenamiento del ordenador y representa 8 bits, que en conjunto conforman un carcter cualquiera de los 256 que conforman el cdigo ASCII, que ms adelante se mencionar a detalle. Es importante tener clara la diferencia entre bit y byte, ya que son trminos esenciales en cuanto a informtica se refiere. Las computadoras trabajan por medio de sistemas numricos: binario, decimal, octal y hexadecimal.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

17

Bases de datos
Programa desarrollado

Sistema numrico binario Por su sencillez el sistema numrico se utiliza para manejo de datos es el sistema Binario, en l se emplea la notacin posicional a partir de slo dos dgitos (0,1). Su lgica parte de que el cero representa un espacio apagado, vaco con cero volts, mientras que el uno representa un espacio encendido, energizado o con +5 o +12 volts. Si se invierte esa relacin se genera lo que se conoce como lgica negativa. Los espacio ocupados por los dgitos se llaman bit, de modo que 1010 contiene cuatro bits, 100 contiene 3, 10 contiene dos, y as en lo subsecuente con cualquier unidad que se quiera representar. El sistema Binario parte de la notacin posicional, de modo que el valor de cada dgito depende directamente de la posicin que tiene en la serie completa. En este caso la base numrica es dos Por lo que tenemos que existen dos dgitos (0 1) en cada posicin del nmero. Para obtener el nmero decimal de uno en binario, comenzando por el lado derecho del nmero en binario, se debe multiplicar cada cifra por dos elevado a la potencia consecutiva, iniciando por la potencia 0 (20). Una vez realizadas cada una de las multiplicaciones, se suman los resultados de ellas, lo que reflejar el nmero equivalente al sistema decimal. Por ejemplo, el nmero 11012 (en base 2) es:

Sistema numrico decimal


Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

18

Bases de datos
Programa desarrollado

El sistema numrico Decimal posee diez dgitos diferentes y es el que actualmente se utiliza ms comnmente. El sistema numrico decimal es un sistema de numeracin posicional, por lo que el valor del dgito depende de su posicin dentro del nmero, es decir:

El nmero decimal A se debe multiplicar por 10n, en donde n es positivo o negativo de acuerdo a la posicin de los dgitos respecto del punto. Los dgitos a la izquierda del punto toman el valor correspondiente a las potencias positivas de la base (10, en este sistema), en funcin de la posicin que ocupan en el nmero, y representan al dgito de las unidades (100=1), decenas (10=10), centenas (10=100), etctera. Los dgitos a la derecha del punto representan al dgito de las dcimas (10-1=0.1), centsimas (10-2=0.01), milsimas (10-3=0.001), etctera. Los resultados de ests multiplicaciones sern mayores o iguales que uno si el dgito se localiza a la izquierda del punto decimal, en cambio, el valor ser menor que uno si el dgito se localiza a la derecha del punto decimal. Por ejemplo, el nmero 5432.789 expresado en la notacin posicional es:

Con el fin de aclarar el procedimiento utilizado en el ejemplo anterior, es necesario revisar lo siguiente:

Notacin posicional del sistema decimal

Ahora se revisarn dos maneras para convertir nmeros decimales en binarios.


Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

19

Bases de datos
Programa desarrollado

1. La primera forma es dividir los decimales entre dos, cuyo resultado entero se vuelve a dividir entre dos, y as continuamente, ordenando los restos del ltimo al primero. Por ejemplo, 74 en decimal es 1001010 en binario, porque:

2. La segunda manera para convertir nmeros decimales en binarios es realizar divisiones sucesivas entre dos y colocando un cero o un uno de lado derecho dependiendo si el nmero es par o impar. Si es impar, se le resta uno y se contina con las divisiones hasta llegar a uno. Posteriormente, se coloca del lado derecho un 1 si es impar y un cero si es par. Finalmente se ordenan los dgitos de abajo hacia arriba, por ejemplo, 131 en decimal es 10000011 en binario, porque:Al realizar divisiones sucesivas entre dos y colocando un cero o un uno de lado derecho dependiendo si el nmero es par o impar. Si es impar, se le resta uno y se contina con las divisiones hasta llegar a uno. Posteriormente, se coloca del lado derecho un 1 si es impar y un cero si es par. Finalmente se ordenan los dgitos de abajo hacia arriba, por ejemplo, 131 en decimal es 10000011 en binario, porque:

Sistema numrico octal. Otro sistema numrico utilizado en informtica es el sistema octal, que tiene la particularidad de utilizar una base (8) que es la potencia exacta de la numeracin binaria, por lo que su converisin para utilizar ambos sistemas es ms o menos simple. Se parte de 8 dgitos bsicos (0,1,2,3,4,5,6,7) que poseen un valor homlogo al que tienen en el sistema decimal, adems del uso de la notacin posicional Por ejemplo el nmero 3452.32q (q representa los decimales de las operaciones octales) tenemos:

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

20

Bases de datos
Programa desarrollado

Recuerda que un exponente negativo indica cuntas veces dividir por ese nmero el uno; por ejemplo: 8-3 = 1888 = 0.001953125, o bien: 8-3 = 1 (8*8*8) = 1512 = 0.001953125. Los nmeros octales pueden construirse a partir de nmeros binarios, agrupando cada tres dgitos consecutivos de estos ltimos (de derecha a izquierda) y obteniendo su valor decimal. Por ejemplo, el nmero 74 (en decimal) es 1001010 (en binario), si ste lo agrupamos como 1 001 010, obtenemos que 74 es 112 en octal porque:

Es conveniente mencionar que la cantidad correspondiente en octal se concentra de izquierda a derecha. Sistema numrico hexadecimal Un sistema muy utilizado en la informtica actual es el Sistema Hexadecimal, de igual manera es gracias a su facilidad de conversin al formato binario. En este caso se utiliza como base el 16, y al igual que los sistemas vistos con anterioridad cada dgito altera su valor dependiendo de su lugar en la cadena de dgitos por ejemplo, el nmero 1234 es igual a:

Debido a que el sistema usual de numeracin es de base decimal, contando con slo diez dgitos, se utilizan las primeras seis letras del alfabeto latino para suplir los dgitos faltantes, por lo que el sistema numrico hexadecimal est conformado por los dgitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F, donde A=10, B=11, C=12, D=13, E=14 y F=15. En la conversin de un nmero hexadecimal a binario se logra sustituyendo los correspondientes cuatro bits para cada dgito que componen la serie. Por ejemplo A B 0 C D h = 1010 1011 0000 1100 1101 b:
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

21

Bases de datos
Programa desarrollado

Una vez que se han abordado los sistemas numricos con los que trabajan las computadoras, es necesario hablar de los cdigos EBCDIC (Extended Binary Coded Decimal Interchange Code / Cdigo Ampliado de Intercambio Decimal Codificado en Binario) y ASCII (American Standard Code for Information Interchange / Cdigo Estadounidense Estndar para el Intercambio de Informacin), como los ms importantes y conocidos para representar datos. El primero es un cdigo para texto y comunicaciones basado en el sistema binario que se cre para comunicaciones y control de impresoras por IBM. Es un cdigo de 8 bits y almacena un carcter alfanumrico o dos dgitos en un byte. Por otra parte, ASCII es un cdigo que se basa en un conjunto de caracteres del alfabeto latino utilizado en el idioma ingls y otras lenguas del mundo occidental. Con el objetivo de controlar dispositivos digitales que manipulan texto o para representar textos en pantalla, la mayora de los sistemas informticos del da de hoy utilizan el cdigo ASCII, el cual fue desarrollado como una evolucin de los cdigos telegrficos en 1963, por el entonces llamado ASA (American Standards Association / Asociacin Estadounidense de Estndares), el cual pas a llamarse ANSI (American National Standards Institute / Instituto Estadounidense de Estndares Nacionales) en 1969.2 Lenguajes de programacin

MasterMagazine (2005) Definicin de ASCII. Recuperado el 21 de enero de 2011, de http://www.mastermagazine.info/termino/3926.php Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

22

Bases de datos
Programa desarrollado

Los lenguajes de programacin son sistemas de comunicacin entre la instruccin del usuario y el sistema de cmputo. Estos se distinguen en tres niveles: Bajo Nivel: Es totalmente dependiente de la mquina, lo que significa que slo funcionar en la mquina que fue desarrollado y no se puede migrar ya que est diseado prcticamente a la medida del hardware, pero tiene como ventaja que aprovecha al mximo las caractersticas del mismo. Un ejemplo de este es el lenguaje mquina, que es el encargado de instruir a la computadora sus operaciones bsicas de funcionamiento. Tambin tiene la ventaja de ser significativamente rpido aunque es muy complejo su manejo, ya que se desarrollan cdigos fuente enormes en los que encontrar un fallo es casi imposible. Alto Nivel: Se caracterizan por ser ms cercanos al lenguaje natural que al de la mquina, adems de que utilizan Estructuras Dinmicas de Datos, que son estructuras que pueden cambiar de tamao durante la ejecucin y por tanto pueden crear estructuras que se adaptan fcilmente a las necesidades reales de un programa. A diferencia de los de bajo nivel son completamente independientes a la arquitectura del ordenador, por lo que son completamente migrables. Por lo tanto el programador slo requiere de un traductor capaz de entender el cdigo fuente y las caractersticas particulares de la mquina. Medio Nivel: Estos son lenguajes de punto medio, como por ejemplo C. Estos pueden acceder a los registros del sistema y trabajar con direcciones de memoria, lo que es una capacidad del lenguaje de bajo nivel, y al mismo tiempo pueden realizar operaciones en alto nivel.

Actividad 2. Conceptos bsicos de la asignatura Esta actividad consiste en elaborar en colaboracin con tus compaeros(as) un glosario, para ello, debes investigar en fuentes externas de informacin diferentes conceptos que te parezcan relevantes de acuerdo con los temas que se abordan en la asignatura, conforme vayas encontrando conceptos clave, podrs compartirlos en la wiki, misma que permanecer abierta durante todo el curso para que puedas tenerlos presentes en el todo momento. 1. Busca conceptos sobre el contenido del curso mencionados por diferentes autores, compralos y complemntalos. 1. Ingresa a la Wiki: Conceptos bsicos de la asignatura y realiza lo que se te indica.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

23

Bases de datos
Programa desarrollado

1.1.2. Conceptos especficos de Bases de datos Haber revisado conceptos bsicos de informtica en el apartado anterior nos da las bases suficientes para entrar de lleno en los conceptos propios de las bases de datos, como son: dato, campo, registro, archivo, entre otros. La importancia de abordar este tipo de conceptos radica en la necesidad de unificar trminos que se irn enlazando y utilizando conforme se avance en los temas, por lo que a continuacin se definirn algunos de ellos. Se comenzar definiendo el trmino dato, el cual es cualquier carcter, sin embargo debe conformar informacin coherente y ordenada. Cuando tenemos un conjunto de datos es un campo, y cuando a este campo le es anexada ms informacin u otros campos, se convierten en un registro, por lo que ste es definido como un conjunto de campos. De esta manera se van amarrando los conceptos hasta llegar al trmino de archivo, que es un conjunto de registros. Ahora bien, una base de datos se define como grandes cantidades de informacin almacenada en un espacio de memoria (de PC, servidor, laptop, etctera), que es procesada para su posterior uso, segn las necesidades de informacin de la empresa, institucin, etc., dicha informacin ayudar a la toma de decisiones y sta a su vez dar soluciones. Una de las principales ventajas de las bases de datos es que se puede manejar informacin compartida en red, que en cualquier parte del mundo se pueda consultar, siempre y cuando se cuente con los permisos de acceso, si en su caso as lo requiere. Las bases de datos pueden ser diseadas de manera lgica o documental para disear prototipos, pero la realidad de las cosas es que se pueden disear en algunas aplicaciones, desde las ms sencillas como Excel y Access, hasta otras ms complejas, las cuales abordaremos ms adelante en los contenidos. Componentes que conforman las bases de datos Para hablar sobre los componentes que conforman las bases de datos, es importante comenzar con el software; ste est constituido por un conjunto de programas que se conocen como Sistema de Gestin de Base de Datos (DBMS, por sus siglas en ingls: Database Management System). Este sistema maneja todas las solicitudes formuladas por los usuarios a la base de datos. Las bases de datos son utilizadas por usuarios en diferentes niveles, pero antes de abordar cada uno de ellos es preciso aclarar que un usuario es aquella persona que utiliza la base de datos dependiendo de sus necesidades. Existe el usuario quien la utilizar (usuario final), quien ejecuta las aplicaciones y el que administra la Base de datos, cada uno de ellos tiene un nivel de acceso a la Base de datos. El programador de aplicaciones es el encargado de crear programas de aplicacin que utiliza la base de datos; el usuario final es quien accesa a la base de datos por medio de un lenguaje de consulta o de programas de aplicacin, sin ser el especialista; mientras que el administrador de la Base de datos (DBA, por sus siglas en ingls: Data Base Administrator) es quien se encarga del control general del Sistema de Base de Datos.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

24

Bases de datos
Programa desarrollado

Todas las bases de datos tienen como punto de partida una tabla, que es la forma de organizar la informacin en filas y columnas para que su acceso sea ms fcil y velz. La filas de datos las conocemos como registros, mientras que las columas se llaman campos. As mismo existe un campo clave, que asigna a cada registro un nmero irrepetible y, de ser necesario secuencial. Esta llave es muy importante puesto que es comn que algunos registros repitan su informacin, y con ella se le otorga a cada registro una differencia que le otorga unicidad. Por su nombre en ingls es comn verla referida con sus siglas PK (primary key). Un buen ejemplo de una base de datos es una lista de nombres y telfonos de un grupo de personas:

Aparte del campo clave, existe la clave externa, tambin conocida como llave fornea, la cual es uno o ms campos de una tabla que hacen referencia al campo o campos de la clave principal de otra tabla. Una clave externa se encarga de indicar cmo estn relacionadas las tablas. Es importante mencionar que los datos en los campos de clave externa y clave principal deben coincidir, aunque los nombres de los campos no sean los mismos. De la misma forma como se selecciona la llave primaria, se selecciona la llave o clave externa o fornea. Esta llave tiene la tarea especfica de determinar en el momento de las relaciones entre las tablas dnde la llave primaria realiza la unin con el otro campo de otra tabla y automticamente se vuelve una llave fornea. Elementos que conforman las bases de datos En esta parte es importante tomar en cuenta la diferencia que existe entre un componente y un elemento de la base de datos; cuando se habla de un elemento es cuando se utiliza ya un gestor, sin embargo, cuando se habla de componente, es meramente terico.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

25

Bases de datos
Programa desarrollado

Conceptos especficos de Bases de datos Ventajas de las bases de datos Dentro de las ventajas primordiales que tienen las bases de datos se encuentran: Ahorro de tiempo, ya que los mismos datos se introducen una sola vez. Ahorro de espacio, porque la base de datos tiene dimensiones ms reducidas. Disminucin de errores determinados por la introduccin de datos, ya que no se presenta redundancia de datos. Fiabilidad y disponibilidad; comnmente la fiabilidad se define a grandes rasgos como la probabilidad de que un sistema est en funciones en un momento determinado, y la disponibilidad es la probabilidad de que el sistema est disponible continuamente durante un intervalo de tiempo, la posibilidad de compartir los datos al tiempo que se mantiene un cierto grado de control local. Mejor rendimiento cuando una base de datos grande es distribuida en mltiples sitios, ya que hay bases de datos ms pequeas en cada uno de stos, y, en consecuencia, las consultas locales y las transacciones que tienen acceso a datos a un slo sitio tienen un mejor rendimiento porque las bases de datos son ms pequeas, adems, cada sitio tiene un mejor nmero de transacciones en ejecucin, que si todas las transacciones se enviaran a una sola base de datos centralizada. Desventajas Como en cualquier sistema informtico, el margen de error siempre se presenta, y las bases de datos no son la excepcin, la principal desventaja que tienen se refiere al control y al manejo de los datos, porque stos residen en muchos nodos diferentes y se pueden consultar por nodos diversos de la red; la probabilidad de violaciones de seguridad es creciente si no se tiene en cuenta la seguridad, que es un punto primordial para resguardar la informacin de manera fiable. Las fallas no predecibles, tanto de componentes de hardware como de software, son complejas, ya que tratando de evitar estas fallas la integridad de la informacin no tendr problemas. La integridad se refiere a la consistencia, validez y exactitud de la informacin. Algunas otras desventajas son que los datos pueden estar replicados, as como tambin el control de concurrencia y los mecanismos de recuperacin que son mucho ms complejos que en un sistema
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

26

Bases de datos
Programa desarrollado

centralizado, y la distribucin produce un aumento en la complejidad del diseo y en la implementacin del sistema.

Actividad 3. Generar el concepto propio de Base de datos Con el propsito de reflexionar sobre el tema central de la asignatura, debes construir un concepto propio de Bases de datos, tomando en cuenta los temas abordados con anterioridad, las lecturas externas (investigacin) y los comentarios de tus compaeros, para participar en el foro aportando tu concepto. En vista de lo anterior, realiza lo que se te indica: 1 2 3 Investiga la definicin de Base de datos de algn autor. Tomando en cuenta lo investigado, construye tu propio concepto de bases de datos. Ingresa al foro: Generar el concepto propio de Base de datos y realiza lo que se te pide.

1.2. Tipos de Bases de datos El procesamiento de datos ha impulsado al crecimiento de las computadoras, como ocurri cuando stas tuvieron muy fuerte auge en las computadoras comerciales, de hecho la automatizacin de las tareas de procesamiento de datos precede a las computadoras. Las tarjetas perforadas, inventadas por Hollerith, se usaron en los principios del siglo XX para registrar los datos del censo de los EE.UU, se utilizaron sistemas mecnicos para procesar las tarjetas y para tabular los resultados. Las tarjetas perforadas se usaron ampliamente como medio para introducir datos de las computadoras posteriormente. La evolucin de los sistemas de bases de datos inici de la mano con la evolucin de los soportes de almacenamiento de informacin. En un inicio alrededor de los aos 50 se desarrollaron las cintas magnticas, lo que fue dejando detrs a las tarjetas perforadas. Con el surgimiento de los discos fijos el manejo de datos cambi de manera radical, ya que stos permitan el acceso directo a los datos, sin importar su ubicacin u orden. Este cambio permiti el desarrollo de bases de datos en red y jerrquicas, con lo que las estructuras de datos, adems de poder construir y manipular directamente estas estructuras.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

27

Bases de datos
Programa desarrollado

Despus surgi el modelo no relacional y el de formas procedimentales de consulta, que tena como ventaja la simplicidad de desarrollo y la posibilidad de ocultar los detalles de implementacin al programador. A pesar de que este modelo llam la atencin de muchos programadores no se utilizaba en la prctica, porque su rendimiento no fue tan alto como las bases de datos de red y jerrquicas existentes. Esto cambio cuando IBM desarroll el prototipo System R, con lo que se desarroll el primer producto comercial de construccin de bases de datos relacionales: SQL/DS. Estos sistemas de bases de datos rpidamente sustituyeron las bases de datos jerrquicas y de red, que eran de bajo nivel, mientras que las relacionales las operaciones que eran de ese nivel se realizaban automticamente, de modo que el programador no se tena que concentrar tan arduamente en el nivel lgico.

Estos modelos de bases de datos se han convertido en el modelo dominante, pero ms importante que eso, han sido el punto de partida para apuntalar la investigacin que gener el desarrollo de bases de datos paralelas y distribuidas as como los primeros proyectos de bases de datos orientadas a objetos. Mientras que en la dcada de los ochenta fueron las aplicaciones de transacciones, en las que se hacen actualizaciones constantemente, pero gracias al desarrollo del SQL se comenzaron a utilizar para la toma de decisiones, que se basan ms en la consulta, lo que a su vez llev a un importante crecimiento en las herramientas para analizar grandes cantidades de datos. El que quiz se convirti en el acontecimiento clave para el desarrollo del uso de bases de datos fue el crecimiento del Worl Wide Web, lo que llev su implementacin a un pblico ms extenso con el desarrollo de interfaces basadas en red. Lo anterior da cuenta de cmo han aparecido los diferentes tipos de bases de datos. Ahora bien, antes de continuar con el siguiente tema, es conveniente centrar nuestra atencin en algunas de las caractersticas de los tipos de bases de datos ms conocidos: El modelo jerrquico es un tipo de Sistema Gestor que organiza la informacin en forma de rbol genealgico, en el que un nodo puede tener a su vez varios nodos que deriven de l.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

28

Bases de datos
Programa desarrollado

El funcionamiento del modelo relacional, parte de lo que su nombre indica: relaciones. Estas pueden ser consideradas en forma lgica, y genera conjuntos de datos llamados registros. De forma clara se pueden explicar cmo una tabla compuesta por registros y campos.

1.2.1. Base de datos de rbol (jerrquica) Una Base de datos jerrquica se compone de un conjunto ordenado de rboles, dicho de manera ms precisa, un conjunto ordenado formado por mltiples ocurrencias de un slo tipo de rbol. Para comprender mejor esto, se analizan primero los tipos y despus se tratarn las ocurrencias. Un tipo de rbol consiste en un slo tipo de registro raz, junto con un conjunto ordenado de cero o ms tipos de subrbol dependientes (de nivel ms bajo). Un tipo de subrbol a su vez consiste en un slo tipo de registro de la raz -tipo del subrbol- junto con un conjunto ordenado de cero a ms tipos de subrboles dependientes de nivel ms bajo, y as sucesivamente. Por tanto, el tipo de rbol completo es un arreglo jerrquico de tipo de registro, adems los tipos de registro estn formados por tipos de campo. Por ejemplo, consideremos la base de datos acadmica de la figura 1.4, la cual contiene informacin acerca del sistema educacional interno de una compaa industrial grande. La compaa en cuestin mantiene un departamento educacional, cuya funcin es impartir varios cursos de adiestramiento para los empleados de la compaa; cada curso se ofrece en diferentes lugares dentro de la organizacin, y la base de datos contiene detalles tanto de los ofrecimientos ya impartidos, como de los programados para impartirse en el futuro.

La base de datos contiene la siguiente informacin:

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

29

Bases de datos
Programa desarrollado

Para cada curso: nmero de curso, ttulo de curso, detalles de todos los cursos que sean requisitos inmediatos y detalles de todos los ofrecimientos. Para cada curso que sea requisito de un curso dado: nmero de curso de ese requisito. Para cada ofrecimiento de un curso dado: nmero de ofrecimiento, fecha, lugar, detalles de todos los profesores y detalles de todos los estudiantes. Para cada profesor de un ofrecimiento dado: nmero de empleado y nombre. Para cada estudiante de un ofrecimiento dado: nmero de empleado, nombre y calificacin.

El tipo de rbol para la base de datos acadmica tiene CURSO como su tipo de registro de raz y posee dos tipos de subrbol, cuyas races son los tipos de REQ y OFRECIMIENTO, respectivamente (y advirtase que este conjunto de dos tipos de subrbol est ordenado; es decir, el tipo de subrbol REQ precede al tipo de subrbol OFRECIMIENTO, como se muestra en la figura). El tipo de subrbol con raz en REQ es slo raz; en cambio, el tipo de subrbol con raz en OFRECIMIENTO tiene a su vez dos tipos de subrbol de nivel ms bajo, los dos de slo raz, cuyas races son los tipos de registro PROFESOR Y ESTUDIANTE, respectivamente. Una vez ms, los tipos de subrbol estn ordenados. As pues, la base de datos contiene cinco tipos de registro: CURSO, REQ, OFRECIMIENTO, PROFESOR y ESTUDIANTE. CURSO como tipo de registro raz, y los dems como tipos de registros dependientes. CURSO es el tipo de registro padre de los tipos de registro REQ y OFECIMIENTO, y stos son tipos de registro hijos de tipo de registro CURSO. De manera similar, OFRECIMIENTO es el tipo de registro padre de PROFESOR y ESTUDIANTE, y stos son tipos de registro hijos de OFRECIMIENTO. La conexin entre un tipo hijo dado y su tipo padre correspondiente, se llama tipo liga. Cierta informacin que en una base de datos relacional se representara con claves ajenas, en una base de datos jerrquica se presenta mediante ligas padre-hijo. En la base de datos acadmica, por ejemplo, la conexin entre los ofrecimientos y los cursos est representada no por un campo NumCurso en el registro OFRECIMIENTO, sino por la liga CURSO-OFRECIMEINTO. Una vez tratada la cuestin de los tipos, a continuacin se revisan las ocurrencias. La terminologa raz/padre/hijo, que se seal anteriormente en los tipos, se refleja tambin en las ocurrencias. De esta manera, cada ocurrencia de rbol consiste en una sola ocurrencia de registro raz, junto con un conjunto ordenado de cero o ms ocurrencias de cada uno de los tipos de subrbol que dependen en forma inmediata del tipo de registro raz. Cada una de esas ocurrencias de subrbol a su vez consiste tambin de una sola ocurrencia de registro -la raz de la ocurrencia de subrbol- junto con un conjunto ordenado de cero o ms ocurrencias de cada uno de los tipos de subrbol que dependen en forma inmediata de este tipo de registro raz, y as sucesivamente. Dicho de otro modo, para cualquier ocurrencia de cualquier tipo de registro padre, existen n ocurrencias de cada uno de sus tipos de registro hijos (donde n es mayor o igual a cero). En la figura 1.5 se muestra un slo rbol de la base de datos acadmica de la figura 1.4 en trminos ms precisos, desde luego, una sola ocurrencia de rbol.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

30

Bases de datos
Programa desarrollado

La explicacin del rbol de la figura 1.5 es la siguiente; por definicin, ese rbol contiene una sola ocurrencia de CURSO (la raz del rbol). Ese CURSO tiene dos requisitos subordinados y tres ofrecimientos subordinados (en trminos ms precisos, esa ocurrencia de CURSO tiene un conjunto ordenado de dos ocurrencias de REQ subordinadas y un conjunto ordenado de tres ocurrencias de OFRECIMIENTO subordinadas). Se dice que CURSO es una ocurrencia padre, con dos hijos REQ y tres hijos OFRECIMIENTO, es decir, ocurrencias hijas. De manera similar, el primer ofrecimiento tambin es un padre con un hijo PROFESOR y varios hijos ESTUDIANTE (slo se muestran tres). Los otros dos ofrecimientos no tienen hijos PROFESOR ni ESTUDIANTE en este momento, adems, cada (ocurrencia) padre se considera como el padre en tantas ligas (es decir, ocurrencia de liga) como hijos tenga ese padre, es decir, el registro CURSO. Por ejemplo, es el padre en dos ocurrencias de la liga CURSO REQ, y el padre en tres ocurrencias de la liga CURSO-OFRECIMIENTO. Por otro lado, cada (ocurrencia) hija es el hijo en una y slo una (ocurrencia de) liga. Adems de lo expuesto anteriormente, hay un vocablo que se aplica a las ocurrencias y no a los tipos: el trmino gemelo. Se dice que todas las ocurrencias de un tipo hijo dado que comparten la misma ocurrencia padre son gemelas. As, por ejemplo, los tres ofrecimientos de la figura 1.5 son gemelos (aunque haya tres). Es preciso mencionar que los requisitos en esa figura no son gemelos de esos ofrecimientos, porque aunque tienen el mismo padre, son de un tipo diferente. A lo largo del subtema se ha hecho mencin frecuentemente del concepto de ordenamiento, de hecho la nocin de ordenamiento es fundamental en la estructura de datos jerrquica. Considerando algn tipo de subrbol T, cuyo registro raz es R y cuyos tipos de subrbol son S1, S2, Sn (en ese orden). Sea t una ocurrencia de T, cuya raz es r (una ocurrencia de R) y cuyos subrboles son s1, s2, sn (ocurrencias de
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

31

Bases de datos
Programa desarrollado

S1, S2, Sn, respectivamente). Definimos entonces de manera recursiva la secuencia jerrquica de t como la secuencia que se obtiene tomando primero el registro r, seguido de todos los registros de s1 en secuencia jerrquica, despus de todos los registros de s2 en secuencia jerrquica, seguidos de todos los registros de sn en secuencia jerrquica

Esto se da en orden de arriba hacia abajo y de izquierda a derecha, llamado tambin ordenamiento de profundidad. Cada uno de los rboles en la base de datos se puede considerar como un subrbol de algn registro raz del sistema hipottico, en consecuencia toda la base de datos se puede considerar como un slo rbol. Por tanto, la nocin de secuencia jerrquica antes definida se aplica a toda la base de datos as como a cada subrbol individual, es decir, el concepto de secuencia jerrquica define un ordenamiento total para el registro de la base de datos, y debe considerarse a las bases de datos almacenadas (lgicamente) de acuerdo con ese ordenamiento. Manipulacin de los datos en el modelo jerrquico Un lenguaje para manipulacin de datos con estructura jerrquica se compone de un conjunto de operadores para procesar datos representados en forma de rboles. Como ejemplos de tales operadores podemos mencionar los siguientes: Un operador para localizar un rbol especfico en la base de datos; por ejemplo, un operador para localizar el rbol del curso M23 (ver figura 2).
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

32

Bases de datos
Programa desarrollado

Un operador para pasar uno de estos rboles al siguiente; por ejemplo, un operador para pasar del rbol correspondiente al curso M23 al rbol siguiente en la secuencia jerrquica de base de datos. Operadores para pasar de un registro a otro dentro de estos rboles, desplazndose hacia arriba o hacia abajo por los diversos trayectos jerrquicos; por ejemplo, un operador para pasar de registro Curso correspondiente al curso M23 al primer registro de Ofrecimiento de ese curso.

Otros ejemplos de operadores son: 1. Operadores para pasar de un registro a otro de acuerdo con la secuencia jerrquica de la base de datos; por ejemplo, un operador para pasar de un registro Profesor de un Ofrecimiento determinado a un registro de Estudiante correspondiente a ese Ofrecimiento o a otro Ofrecimiento Subsecuente. 2. Un operador para insertar un registro nuevo en una posicin especificada dentro de uno de esos rboles; por ejemplo, un operador para inserta un nuevo Ofrecimiento en el rbol del curso M23. 3. Un operador para eliminar un registro especificado; por ejemplo, un operador para eliminar un cierto Ofrecimiento del rbol del curso M23. Como se ha visto en los ejemplos de la figura 1 y 2, tales operadores trabajan por lo regular a nivel de registros. Es verdad que ciertos sistemas manejan tambin operadores a nivel de conjuntos, pero tales operadores quedan fuera del alcance modelo jerrquico en la acepcin usual del trmino.

1.2.2. Base de datos de red Las bases de datos de red pueden considerarse como una forma extendida del modelo jerrquico definido en el subtema anterior. La distincin principal entre las dos es la siguiente: en una estructura jerrquica, un registro hijo tiene un slo padre. Mientras que en una estructura de red, un registro hijo puede tener cualquier nmero de padres. Una base de datos de red se compone de dos conjuntos, un conjunto de registros y un conjunto de ligas, en trminos ms precisos, un conjunto de ocurrencias mltiples de cada uno de varios tipos de registros junto con un conjunto de ocurrencias mltiples de uno de varios tipos de ligas. Cada tipo de liga implica dos tipos de registro, un tipo de registro padre y un tipo de registro hijo. Cada ocurrencia de un tipo de liga dado consiste en una sola ocurrencia del tipo de registro padre, junto con un conjunto ordenado de mltiples ocurrencias del tipo de registro hijo. Dado un tipo especfico de liga (L) con tipo de registro padre (P) y tipo de registro hijo (H): 1. Cada ocurrencia de P es el padre en una y slo una ocurrencia de L; 2. Cada ocurrencia de H es hijo en cuanto ms una ocurrencia de L; 3. Adems, por supuesto, los tipos de registro estn formados por tipos de campo. Nota: De ahora en adelante dejaremos a un lado los calificadores tipo y ocurrencia, cuando no provoque confusin hacerlo. En la figura que se muestra debajo, puedes observar la forma como podra representarse la base de datos de proveedores y partes en forma de red. La Base de datos contiene tres tipos de registro: S, P y SP. Es
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

33

Bases de datos
Programa desarrollado

decir que S y P son idnticos a sus contrapartes relacionales; SP, en cambio, contiene slo un cambio de cantidad (CANT). En vez de dos claves ajenas SP, se tienen dos tipos de ligas S-SP y P-SP. a) Cada ocurrencia de S-SP est formada por una sola ocurrencia de S, junto con una ocurrencia de SP por cada envo del proveedor representado por esa ocurrencia de S. b) Cada ocurrencia de P-SP est formada por una sola ocurrencia de P, junto con una ocurrencia de SP por cada envo de la parte representada por esa ocurrencia de P.

La base de datos de proveedores y partes: versin de red (estructura de los datos) Manipulacin de datos de red Un lenguaje de manipulacin de datos de red consiste en un conjunto de operadores para procesar datos representados en forma de registros y ligas. Como ejemplos de tales operadores podemos mencionar los siguientes: Un operador para localizar un registro especfico, dado un valor de un campo de ese registro; por ejemplo, un operador para localizar el registro S del proveedor S1. Un operador para pasar del padre a su primer hijo en alguna liga; por ejemplo, un operador para pasar del registro S del proveedor S1 al registro SP del proveedor S1 y la parte P1 (a travs de la liga S-SP). Un operador para pasar de un hijo al siguiente en alguna liga; por ejemplo, un operador para pasar del registro SP del proveedor S1 y la parte P1 al registro SP del proveedor S1 y parte P2 (a travs de la liga S-SP). Un operador para pasar de un hijo a su padre dentro de alguna liga; por ejemplo, un operador para pasar de registro SP del proveedor S1 y la parte P2 al registro P de la parte P2 (a travs de la liga P-SP). Un operador para crear un registro nuevo; por ejemplo, un operador para crear un registro S para un nuevo proveedor. Un operador para destruir un registro ya existente; por ejemplo, un operador para destruir el registro S de un proveedor ya existente.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

34

Bases de datos
Programa desarrollado

Un operador para conectar un registro hijo ya existente dentro de una liga; por ejemplo, un operador para conectar un registro SP especfico dentro de las ligas S-SP y P-SP. Un operador para desconectar un registro hijo ya existente de una liga; por ejemplo, un operador para desconectar un registro SP especfico de las ligas S-SP y P-SP. Un operador para desconectar un registro hijo ya existente de una ocurrencia de un tipo de liga dado y reconectarlo dentro de otro; por ejemplo, un operador para desconectar un registro SP especfico de la liga S-SP con padre S1 y reconectarlo dentro de la liga S-SP con padre S2.

Es importante mencionar que, como lo sugiere el ejemplo, tales operadores trabajan por lo regular a nivel de registros, como en los modelos de lista invertida y jerrquico.

1.2.3. Base de datos relacional Las bases de datos relacionales, que en la actualidad son las ms utilizadas, trabajan a travs de tablas, que estn conformadas de filas y columnas para la realizacin de sus bsquedas y otras operaciones. Estas tablas se encuentran relacionadas entre s, de ah el nombre de relacional. Las tablas estn conformadas por campos, que son las caractersticas de las tablas; dominios, que son los valores posibles que puede contener un campo; y un conjunto de dominios relacionados entre s, en trminos de bases de datos se les conoce como tuplas. Cada tabla est compuesta de llaves primarias (PK, por sus siglas en ingls: Primary Key) y llaves forneas (FK, por sus siglas en ingls: Foreign Key) que sern quienes hagan la relacin entre diferentes tablas de informacin. Las llaves primarias son campos nicos que identifican a la informacin como nica e irrepetible; que no permiten duplicidad de informacin. Mientras que las llaves forneas, tambin llamadas llaves externas, son campos que hacen la relacin entre las tablas existentes en la base de datos, estas llaves deben de existir primero en otras tablas como llaves primarias. Para tener una definicin ms clara, el autor Javier Quiroz comenta que la estructura del modelo relacional est fundamentada por la relacin, es decir, una tabla bidimensional constituida por filas (tuplas) y columnas (atributos). Sus relaciones se presentan en las tablas que estn formando parte de la base de datos. Todas y cada una de las instancias de la entidad encontrarn sitio en una tupla de la relacin, mientras que los atributos de la relacin representan las propiedades de la entidad en las columnas de la tabla. Por ejemplo, si en la base de datos se tienen que representar personas, podr definirse una relacin llamada Personas, cuyos atributos describen las caractersticas de las personas y cada tupla de la relacin Personas representar una persona concreta, esto es, la relacin. Otra definicin dice que una base de datos relacional es un repositorio compartido de datos. Para hacer disponible los datos de una base de datos relacional a los usuarios, hay que considerar varios aspectos: 1. La forma en la cual el usuario solicita los datos. Cules son los diferentes lenguajes de consulta que utilizan? SQL es el lenguaje de consulta ms usado, as como QBE y Datalog, que ofrecen enfoques alternativos a la consulta de datos relacionales.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

35

Bases de datos
Programa desarrollado

2. La integridad de los datos y la seguridad. Las bases de datos necesitan proteger los datos del dao provocado por los usuarios, ya sean intencionados o no. El componente de mantenimiento de la integridad de una base de datos asegura que las actualizaciones no violan las restricciones de integridad que hayan especificado sobre los datos. El componente de seguridad de una base de datos incluye la autenticacin de usuarios y el control de acceso para restringir las posibles acciones de cada usuario. Los aspectos de integridad y seguridad se presentan independientemente del modelo de datos, pero se estudian en el contexto de modelo de datos relacional para ejemplificarlos. Las restricciones de integridad forman la base del diseo de base de datos relacionales. 3. El diseo de base de datos relacionales. El diseo del esquema relacional es el primer paso en la construccin de aplicaciones de base de datos. Este diseo de esquemas es de los principios que se pueden usar para distinguir los buenos diseos de bases de datos que se formalizan mediante varias formas normales que ofrecen diferentes compromisos entre la posibilidad de inconsistencias y la eficiencia de ciertas consultas. Estructura bsica de las bases de datos relacionales Como ya se explic estas consisten en relaciones, y cada una de ellas tiene un nombre nico. Cada relacin permite usar valores nulos, que indican que el valor puede ser inexistente o nulo. En estas bases cada fila representa la relacin de un conjunto de valores. Cada tabla es un conjunto de dichas relaciones, por lo que existe correspondencia entre el concepto de tabla y de relacin. Su estructura la ejemplificamos en la siguiente figura.

Actividad 4. Tabla comparativa de los tipos de Bases de datos Ya visto el tema de los tipos de bases de datos, debes generar una tabla comparativa con los nombres de los tipos de bases de datos y las funciones, usos, ventajas y desventajas de cada uno de ellos, con el fin de
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

36

Bases de datos
Programa desarrollado

definir cul es el mejor a utilizar en el caso propio y compartir tu informacin en la base de datos. En vista de ello, realiza lo siguiente: 1. 2. Con base en lo estudiado, realiza una tabla comparativa teniendo en cuenta las funciones, usos, ventajas y desventajas de los diferentes tipos de bases de datos. Guarda la actividad con el nombre BDD_U1_A4_XXYZ y comparte tu documento con el grupo y Facilitador(a) a travs de la Base de datos.

Ejemplo: Tipo de Base de datos Funciones Usos Ventajas Desventajas

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

37

Bases de datos
Programa desarrollado

1.2.4. Sistema Gestor de Base de Datos (SGBD) Al tener los conceptos, caractersticas, ventajas y desventajas de los tipos de Bases de datos, es preciso mencionar lo que son los Sistemas Gestores de Bases de Datos (SGBD o DBMS, por sus siglas en ingls: Data Base Management System). Un Sistema Gestor de Base de Datos es un software especfico dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Su objetivo principal es manejar de manera ordenada y clara un conjunto de datos que se convertirn en informacin importante para una organizacin. En otras palabras, un SGBD es un software que sirve para crear, programar, administrar y controlar la informacin de una base de datos, asegurando la integridad, seguridad y confiabilidad de la informacin. Existen dos tipos de Sistemas Gestores de Bases de Datos: libres y comerciales. Los ms utilizados son los libres y los comerciales Sistemas Gestores de Bases de Datos libres: PostgreSQL. Es un sistema de gestin de base de datos relacional orientada a objetos, publicado bajo la licencia BSD (Berkeley Software Distribution / Distribucin de Software Berkeley), que no es ms que una licencia de software otorgada para este tipo de sistemas. Es una licencia de software libre, como la GPL (General Public License / Licencia Pblica General) pero sta es ms cercana al dominio pblico. En el caso de BSD, permite el uso del cdigo fuente en software no libre, a diferencia de GLP. MySQL. Es un sistema multiusuario y de cdigo abierto. El uso de MySQL es muy popular en aplicaciones web, y es componente de las plataformas LAMP, MAMP, WAMP, entre otras, y suele combinarse con el popular lenguaje PHP. como sus principales caractersticas podemos decir que: est escrito en C y C++; utiliza multi-threaded mediante threads de kernel; pueden usarse fcilmente mltiples CPUs si estn disponibles; emplea el lenguaje SQL para consultas a la base de datos; est disponible como freeware bajo licencia GPL; proporciona sistemas de almacenamiento, transaccionales y no transaccionales; trabaja en las plataforma AIX, BSDi, freeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OS/2 Warp, QNX, SGI IRIX, SunOS, SCO OpenServer, Solaris, SCO UnixWare, Tru64 y Microsoft Windows (95, 98, ME, NT, 2000, XP y Vista); utiliza tablas en disco B-tree muy rpidas con compresin de ndice y es relativamente sencillo aadir otro sistema de almacenamiento, esto es til si se desea aadir una interfaz SQL para una Base de datos propia.

Oracle. Es una herrmienta imporante y con muchas capcidades del tipo cliente/servidor para gestin de base de datos, aunque de precio muy alto.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

38

Bases de datos
Programa desarrollado

Actividad 5. Reporte de investigacin. Aplicacin de los Sistemas Gestores de Bases de Datos por medio de un anlisis de caractersticas Para identificar las aplicaciones de los Sistemas Gestores de Bases de Datos, debesanalizar las caractersticas de ellos, tomando en cuenta sus ventajas y desventajas, y posteriormente enviarlo a la seccin de tareas. En vista de lo anterior, realiza lo que se te indica a continuacin: 1. 2. 3. 4. 5. 6. En un documento de Word, explica con tus propias palaras qu es un Sistema Gestor de Base de Datos. Investiga las caractersticas de los sistemas gestores libres y comerciales. Realiza una comparacin de ambos gestores, tomando en cuenta sus ventajas y desventajas. Con base en la comparacin, escribe las conclusiones sobre la aplicacin que tiene uno y otro Sistema Gestor de Base de Datos. Guarda tu actividad con el nombre BDD_U1_A5_XXYZ. Enva la actividad a tu facilitador(a) mediante la seccin de Tareas.

1.2.5. Estructura de un Sistema Gestor de Base de Datos En apartados anteriores se abord lo que eran los Sistemas Gestores de Bases de Datos, tambin conocidos como Sistemas de Gestin de Bases de Datos, por lo que en esta seccin se abarcar la estructura y el funcionamiento de un SGBD. Ahora bien, la estructura de un SGBD est conformada por: Procesador de consultas: Es su elemento principal de un SGBD, transforma las consultas en instrucciones en lenguaje de bajo nivel, que se envan al gestor. Gestor: Es la interfaz entre los datos de bajo nivel almacenados en la base de datos, acepta consultas y examina los esquemas externo y conceptual, posteriormente determina qu registros se requieren para satisfacer la peticin. Gestor de ficheros: Se encarga de manejar y controlar los ficheros en almacenamiento en la base de datos. Lenguaje de Manipulacin de Datos (MDL): trabaja con el procesador de consultas para el cdigo apropiado. La estructura de un SGBD est conformada por: Lenguaje de Definicin de Datos (LDD o DDL, por sus siglas en ingls Data Definition Language): Convierte las sentencias en un conjunto de tablas que contienen datos almacenados en el diccionario de datos. Diccionario de datos: Almacena la informacin de la base de datos. Gestor del diccionario: Controla los accesos y la informacin del Diccionario de datos. Control de autorizacin: Se encarga de revisar las credenciales de los usuarios para accesar a determinada informacin. Optimizador de consultas: Establece la estrategia para el procesamiento de las transacciones.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

39

Bases de datos
Programa desarrollado

Gestor de transacciones: Es la parte encargada de realizar las transacciones. Planificador: Organiza las transacciones que llegan a la base de datos para su realizacin. Gestor de recuperacin: Cuida la integridad de la base de datos en caso del algn fallo. Gestor de buffers: Es el enlace entre la memoria principal y la memoria de almacenamiento.

Evidencia de aprendizaje. Reporte. Integracin general de elementos especficos de las Bases de datos Como parte de la evaluacin de esta unidad, tienes que llevar a cabo una actividad cuyo propsito es comenzar el proceso para construir el prototipo de una base de datos documental, que se debe presentar completo al terminar la asignatura, mediante la elaboracin de tablas. En vista de lo anterior, realiza lo que se te indica: 1. 2. En un documento de Excel, escribe tu propio concepto de base de datos dentro de la Hoja 1, misma que debers llamar: DEFIICION_BD. Dentro del mismo libro, en una nueva hoja llamada BASES_ALUMNOS, crea una tabla llamada ALUMNOS que contenga los siguientes campos: Id_Nombre, Nombre, Apellido, Edad, Sexo y Telfono, con cinco registros. 3. Asgnale a la tabla cada elemento que la debe componer. Por medio de flechas, marca o seala dnde se ubic el nombre de la tabla, los campos, los registros y la clave principal. Describe qu tipo de base de datos es, sus caractersticas y funciones. En otra hoja, llamada Ejemplo_BD, Menciona un ejemplo de este tipo de base de datos en la vida cotidiana. Guarda la evidencia con el nombre BDD_U1_EA_XXYZ y enva tu archivo al (a la) Facilitador(a) a travs del Portafolio de evidencias.

4.

Al terminar el proceso anterior, ingresa al foro Preguntas de Autorreflexin y lee los cuestionamientos que formul tu Facilitador(a), posteriormente, sal del foro, ingresa a la seccin Autorreflexiones y, dentro de sta, enva tu autorreflexin con el nombre BDD_U1_ATR_XXYZ.

Consideraciones especficas de la unidad Haber ledo e investigado sobre los conceptos vistos en esta unidad, permiti elaborar un concepto propio de base de datos, cuya finalidad fue involucrar al estudiante en las lecturas relacionadas con la materia del curso en cuestin, y que con esto se pudiera identificar qu es una base de datos, as como reconocer las diferencias de los diversos tipos que existen. As mismo, se identificaron los diferentes Sistemas Gestores de Bases de Datos y sus caractersticas para saber las aplicaciones de cada uno de ellos. Finalmente, se comenz con el proceso para construir el prototipo de una Base de datos documental.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

40

Bases de datos
Programa desarrollado

Se sugiere la retroalimentacin y enriquecimiento tomando en cuenta la informacin que se encuentra en los materiales de apoyo, de igual forma, se recuerda que las actividades correspondientes a esta unidad inicial son la base sobre la cual se sustenta el resto de las unidades de la asignatura.

Cierre de la unidad Has concluido la primera unidad del curso. A lo largo de sta se recordaron conceptos bsicos informticos, posteriormente te involucraste en la terminologa especfica de las bases de datos, cuyo propsito fue dar un panorama para identificar una base de datos en tu entorno social, personal y laboral, y poder elaborar tu propio concepto, reconocer los tipos de bases de datos y distinguir sus particularidades. De la misma manera, se identificaron los Sistemas Gestores de Bases de Datos y sus caractersticas. Es aconsejable que revises nuevamente la unidad en caso de que los temas que se acaban de mencionar no te sean familiares o no los recuerdes, de no ser este tu caso, ya ests preparado(a) para seguir con la unidad dos, en donde continuars con la construccin del prototipo de una base de datos documental, al elegir un caso de estudio, llevar a cabo un anlisis y un estudio de factibilidad, identificar los requerimientos del usuario, administrar tiempos, as como revisar modelados de abstraccin de informacin. Todo ello con el fin de obtener el prototipo final al terminar la tercera y ltima unidad del curso de Bases de datos.

Fuentes de consulta lvarez, S., & Bravo, S. (2000). Informtica Automtica. Recuperado el 2 de Mayo de 2011, de Universidad de Salamanca: http://ocw.usal.es/ensenanzas-tecnicas/aplicaciones-informaticas-parahumanidades/contenidos/Temas/Tema1-Fundamentos_de_Informatica_-_2ppt.pdf Celma, M., Casamayor, J.C. & Mota, L. (2003). Bases de datos relacionales. Madrid: PearsonPrentice Hall. Prez L, C. (2008). Oracle 10g: administracin y anlisis de bases de datos. Segunda edicin. Mxico: Alfaomega. Quiroz, J. (2003). El modelo relacional de bases de datos en Boletn de Poltica Informtica Nm. 6 (Versin electrnica). Recuperado el 26 de enero de 2011, de http://www.inegi.org.mx/inegi/contenidos/espanol/prensa/contenidos/articulos/tecnologia/relacional.p df Real Academia Espaola (2001). Diccionario de la lengua espaola. Vigsima segunda edicin (Versin digital). Recuperado el 19 de enero de 2011, de http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica Silberschatz, A. (2006). Fundamentos de Bases de Datos. Espaa: McGraw-Hill. MasterMagazine (2005). Definicin de ASCII. Recuperado el 21 de enero de 2011, de http://www.mastermagazine.info/termino/3926.php

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

41

Bases de datos
Programa desarrollado

UNIDAD 2. Anlisis Propsito de la unidad

Continuars con el proceso para la elaboracin del prototipo de Base de datos documental al elegir un caso de estudio3, llevar a cabo un anlisis y un estudio de factibilidad, identificar los requerimientos del usuario, administrar tiempos, as como revisar las tcnicas de modelado, que son: modelado de objetos, modelado entidad relacin, normalizacin y modelado relacional; lo que permitir documentar el prototipo.

Competencia especfica

Analizar problemas de gestin de informacin para elegir la alternativa que responda a los requerimientos, de acuerdo al resultado de los datos obtenidos por medio del estudio de factibilidad (financiero, operacional y econmico).

Puede ser elegido por el estudiante, o bien, asignado por el facilitador. Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

42

Bases de datos
Programa desarrollado

Presentacin de la unidad Esta segunda unidad del curso te permitir profundizar en los conceptos adquiridos en la unidad anterior con mayor detalle y practicidad, ya que abordars lo relacionado con el anlisis para la creacin del prototipo, haciendo uso de la terminologa bsica de la asignatura. Antes de entrar de lleno a la elaboracin del anlisis como parte del proceso para la creacin del prototipo, es necesario que conozcas algunas cuestiones que preceden a todas las dems actividades del anlisis, como los lineamientos metodolgicos de recopilacin de informacin, el estudio de sistemas y el anlisis, lo que te permitir tener una idea ms clara sobre lo que se pretende que logres en esta unidad. A lo largo de toda la unidad revisars los conceptos acerca de qu es la estructura de las entradas, los procesos y las salidas, las herramientas de recopilacin de informacin, el estudio de factibilidad operacional, financiero y econmico, as como la forma de realizar un reporte de este estudio. Tambin, hars un anlisis sobre los requerimientos de hardware y software, para finalmente abarcar las tcnicas de modelado de datos, donde se hablar de: modelado de objetos, modelo entidad relacin, normalizacin y modelo relacional, siendo este ltimo uno de los ms utilizados en la actualidad empresarial. Todo lo que vers a travs de la unidad debers aplicarlo en un caso de estudio, con el fin de seleccionar el Sistema Gestor de Base de Datos ms adecuado de acuerdo a sus caractersticas y contribuir as en la solucin del caso.

2.1. Lineamientos metodolgicos de recopilacin de requerimientos En este apartado se revisa de manera general el procedimiento para realizar un adecuado anlisis, partiendo desde la forma en la cual se logra recopilar la informacin necesaria, con el fin de profundizar en los siguientes subtemas. Ahora bien, antes de realizar un protocolo de base de datos se debe anticipar todo un flujo de informacin y motivos, que hacen que se requiera un cambio de operacin de cualquier empresa, esta acumulacin de informacin se denomina estudio de sistemas, y es la que precede a todas las dems actividades del anlisis. Las bases de datos hacen mucho ms que resolver problemas, con frecuencia se solicita ayuda para planificar la expresin de la organizacin, es entonces cuando se valoran de manera cuidadosa las necesidades futuras de la empresa y los cambios que deben considerarse para satisfacer esas necesidades. El tiempo, costo y beneficio son factores determinantes para desarrollar una opinin. Al final, la administracin es quien decide cul opinin aceptar. Una vez tomada la decisin se hace un plan para implantar la recomendacin, el plan incluye saber con claridad cules son los requerimientos del usuario y, en este caso, se puede hacer por medio de un anlisis que permita identificar las entradas, los procesos y las salidas, llevando al especialista a elegir la herramienta de recopilacin de informacin que mejor se adapte al caso en cuestin, algunos ejemplos son las encuestas, entrevistas y cuestionarios.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

43

Bases de datos
Programa desarrollado

Una vez aportados los criterios a utilizar, se contina con el estudio de factibilidad, recomendado para dar un reporte informativo y detallado sobre los requerimientos del usuario. Cabe mencionar que es de suma importancia el reconocimiento de los requerimientos de hardware y software, los cuales permiten saber qu base de datos hacer y qu tipo de gestor utilizar, ya que cada uno de stos tiene sus propias caractersticas. De esta manera, la documentacin que se va elaborando lleva al desarrollo de las tcnicas de modelado, las cuales se abordan en el ltimo apartado de la unidad.

2.1.1. Anlisis. Concepto Qu es el anlisis? Es una fase del diseo de sistemas, que podemos definir como un conjunto de procedimientos que examinan hechos, principios y reglas clasificadas de manera ordenada y lgica; muestra resultados de solucin a los requerimientos de informacin. Este proceso de anlisis contiene varias herramientas a utilizar, segn sea el caso a resolver, entre las que se encuentra el estudio de factibilidad (operacional, financiera y econmica). El estudio de factibilidad es una de las primeras etapas del desarrollo del prototipo, deber incluir los alcances, objetivos y restricciones del requerimiento del sistema. Ahora bien, qu se debe de tomar en cuenta en el anlisis? De primera instancia se deben detectar los hechos relevantes relacionados con la actividad de la empresa, la funcin es reunir informacin y determinar los requerimientos, para as pasar al anlisis y el diseo, con la responsabilidad de que sean personas que saben programar, ya que sus conocimientos les permiten formular especificaciones mejores y ms completas para las nuevas aplicaciones. Tambin es importante determinar a los usuarios finales; estos se agrupan en cuatro categoras: 1. Usuarios primarios. Son los que interactan con el sistema (base de datos). Ellos alimentan la base con datos de entrada, y reciben salidas por medio de una terminal. 2. Usuarios indirectos. Son aqullos que se benefician de los resultados o reportes generados por estos sistemas, pero que no interactan de manera directa con el hardware o software. Para este tipo de usuarios se deben incorporar consideraciones adicionales, tanto para la interaccin, como para proteger de cualquier riesgo a la organizacin que proporciona el servicio. 3. Usuarios gerentes. Son los que tienen la responsabilidad administrativa en los sistemas de aplicacin, este tipo de usuario es el que debe participar en los esfuerzos de desarrollo de la base de datos. 4. Usuarios directivos. Son aquellos que tienen mayor responsabilidad en los sistemas de informacin. Los cuatro tipos de usuarios son importantes, ya que cada uno posee informacin esencial sobre las funciones de la organizacin y hacia dnde se dirige esta. Teniendo en cuenta los factores antes mencionados, a continuacin se definirn los siguientes elementos que conforman los lineamientos metodolgicos.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

44

Bases de datos
Programa desarrollado

2.1.2. Estructura de las entradas, procesos y salidas Para realizar la estructura de las entradas, procesos y salidas, se debe tener toda la informacin significativa de la empresa, la cual se procesar para obtener los diferentes resultados establecidos en el requerimiento de usuario. Tambin se deben tener en cuenta aquellas operaciones matemticas y contables requeridas para el proceso de la informacin y generacin de salidas. En esta parte es necesario realizar una tabla, en la cual se lleve a cabo un listado de aquellas salidas de informacin, y verificar si existe algn clculo a realizar, es importante agregar la(s) frmula(s) a aplicar.

Dentro de la estructura, las entradas se definen como variables constantes, que son la base que permitir ejecutar las operaciones bsicas de las bases de datos, las cuales son: altas, bajas y cambios; en casos ms especficos, actualizaciones y modificaciones, convirtindose en la estructura de procesos. Al hablar de las entradas de informacin en las especificaciones de la preparacin del ingreso de informacin para su procesamiento, es elemental resaltar la importancia que tiene su correcta realizacin, porque de ella depende que los resultados de la informacin requeridos sean eficientes para los diferentes usuarios, y as tomar decisiones correctas que beneficien a la empresa. El buen diseo de entradas de informacin permitir que el(los) usuario(s) encargado(s) de alimentar la base de datos aporte(n) de manera consistente e ntegra la informacin. Los procesos son el juego que hacen las entradas para poder obtener las salidas correspondientes, dependiendo de los requerimientos. Las salidas de informacin se refieren al diseo de la presentacin de informacin ya procesada, requerida por el usuario, o los diferentes usuarios, del sistema; estas pueden ser reportes, mensajes, grficos y estadsticos. Las salidas deben ser diseadas lo ms claramente posible y con gran precisin, para la toma de decisiones. Las salidas de informacin no solo son en pantalla, tambin se deben considerar en impresiones, audio y video. En la siguiente figura se muestra un ejemplo de la estructura general de las entradas, procesos y salidas.

Eleccin de caso
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

45

Bases de datos
Programa desarrollado

Ya teniendo los conceptos bsicos y especficos de las bases de datos, as como sus caractersticas, ventajas y desventajas, se puede llevar a cabo la eleccin de un caso, por lo que a continuacin se destacan algunas puntualidades que se deben tener en cuenta. Para iniciar con esta eleccin es preciso saber qu es un caso y como estructurarlo. Pues bien, el caso es una tcnica que nos permite visualizar problemas del pasado y presente, permitiendo estudiar la problemtica y generar posibles soluciones, es decir, la realizacin de un prototipo de base de datos. Para la construccin del caso es necesario considerar antecedentes, contexto, consecuencias y solucin. Con el fin de realizar una buena estructura para la edificacin del caso, el diseador debe realizar las siguientes preguntas: Qu es lo que sucede? Cul es el asunto o problema? Quines estn involucrados? A qu situaciones se enfrentan? Cules son los conflictos, intereses y posibilidades en juego?

Es importante que al realizar las especificaciones del caso esto se haga de manera coherente, detallando las cosas ms sobresalientes, pero sin salirse de contexto. Al tomar en cuenta estos elementos se podrn generar preguntas clave o cruciales para su anlisis o estudio. Con base en las consideraciones anteriores, en la siguiente actividad se deber elegir un caso de estudio.

Actividad 1. Eleccin de caso Una vez identificada la estructura de las entradas, procesos y salidas que conforman inicialmente a cualquier sistema, elegirs un caso para trabajar a lo largo de la unidad. Para ello, realiza la siguiente actividad: 1. Intgrate con tu equipo de trabajo, tu Facilitador(a) se encargar de organizar equipos de tres personas. 2. Ponte de acuerdo con tu equipo para que ingresen a la Wiki, preferentemente al mismo tiempo, y a travs de ella, determinen cules son los conceptos especficos de mayor trascendencia para esta asignatura. 3. Busquen la definicin de dichos conceptos en fuentes especializadas en la materia e incorprenla, junto con las referencias dentro de la seccin designada para su equipo 4. Cada uno de los integrantes del equipo, deber agregar por lo menos uno de los posibles casos reales en los que los conceptos pueden ser aplicados y elijan el caso ms destacado, tomando en cuenta los conceptos relacionados con la eleccin del caso y los elementos que lo integran. 5. Revisen el trabajo realizado por el resto de los equipos.

2.1.3. Herramientas de estudios de factibilidad (operacional, financiero y econmico)


Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

46

Bases de datos
Programa desarrollado

Este apartado tratar sobre la importancia de contar con herramientas que permitan facilitar la recoleccin de la informacin, ya que no solamente es necesario conocer el caso para saber las especificaciones de los requerimientos de los usuarios, sino buscar tcnicas y herramientas con las que se acceda a la informacin, y nos permitan recolectarla, y, con ella, determinar qu papel se jugar en este proceso, es decir, identificar los requerimientos operacionales, financieros y econmicos, as como de hardware y software; por tal razn, en este tema vamos tomar como base el estudio de factibilidad. El estudio de factibilidad est integrado por tres aspectos: operacional, financiero y econmico. Tiene por objetivo verificar si un sistema de automatizacin de informacin es operacional, ya que para la implementacin de un nuevo sistema de informacin es importante tener en cuenta que se requerir de una inversin, y en este sentido el estudio de factibilidad permitir saber, desde el punto de vista tcnico y operacional, si es factible o no realizar dicha inversin, dependiendo de la rentabilidad que tenga para la empresa. El estudio deber contemplar el costo de investigacin o anlisis, costo de software, costo de hardware, pago a personal calificado, etc., si no hay factibilidad econmica el proyecto no existir. Para recopilar la informacin requerida para este estudio, se cuenta con el apoyo de los cuestionarios, entrevistas y encuestas: Los cuestionarios son utilizados con mayor frecuencia, dado que son menos costosos, estos fueron diseados para realizar cuantificacin de informacin y ahorrar tiempo, ya que permiten a las personas llenar o contestar las preguntas de manera escrita, sin la ayuda ni la intervencin directa del investigador. La entrevista es la realizacin de preguntas de forma directa, de persona a persona (entrevistadorentrevistado), en la cual se obtiene la informacin a analizar para el requerimiento del caso de manera ms especfica. La encuesta es una herramienta que recopila informacin ms enfocada a estudios de mercado y de opinin pblica, la cual es cuantificada.

Para obtener los requerimientos operacionales, financieros y econmicos, observemos las siguientes preguntas, como ejemplo de algunas que pueden generarse: Hbleme de la empresa. 1. Cmo describira a la empresa? 2. Qu hace diferente a esta empresa de otras del mismo giro? 3. Describa el logro de la empresa del cual est ms orgulloso. 4. La empresa cuenta con bases de datos? 5. Cuentan con el poder adquisitivo para el desarrollo de otra base de datos? 6. Cuentan con hardware y software para la operacionalidad? 7. Cuentan con hardware y software para el desarrollo? 8. Considera que tener una nueva base de datos incrementar los ingresos de la compaa? Este tipo de preguntas pueden llevarse a cabo en la entrevista, en el cuestionario y en la encuesta, la eleccin depende de los diseadores de la base de datos, por tal razn, se sugiere investigar y realizar algunos ejemplos de estas herramientas para el caso en cuestin.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

47

Bases de datos
Programa desarrollado

Actividad 2. Eleccin y elaboracin del instrumento de recopilacin de informacin Con base en los temas desarrollados en el subtema anterior, debes definir en equipo el instrumento de recoleccin de informacin (cuestionario, entrevista o encuesta) que utilizars para el caso elegido en la actividad 1, esto con el fin de elaborarlo tomando en cuenta sus propias caractersticas. De la informacin que se obtenga se desprender el reporte del estudio que arrojar las necesidades de hardware, software, costo, beneficio y operacin. 1. Discute con tu equipo las caractersticas de los instrumentos de recopilacin de informacin y elijan aquel que se adece ms al caso elegido en la actividad anterior. 2. En un documento de Word, escribe de manera individual una breve explicacin sobre el instrumento seleccionado y los motivos por los cuales se eligi ese y no otro. 3. Agrega al documento las preguntas que conforman el instrumento. 4. Sube tu actividad a la seccin de tareas y espera la retroalimentacin de tu Facilitador(a).

2.1.4. Reporte del estudio de factibilidad En este subtema se muestran los pasos a realizar una vez que se ha elaborado el instrumento de recopilacin de informacin. Ahora bien, ya que se tiene el instrumento es necesaria su aplicacin, porque la informacin que de l se obtenga, junto con su anlisis, servir para obtener los resultados de los requerimientos operacionales, financieros y econmicos, que en el reporte de estudio de factibilidad se muestran punto por punto. Estos resultados son los ms valioso de la investigacin, porque determinan si el sistema de informacin requerido es factible en lo operacional, financiero y econmico. Para aclarar lo anterior observemos el siguiente ejemplo:

2.1.5. Requerimientos de hardware y software Para recabar la informacin con respecto a los requerimientos de hardware y software, es necesario tener dos panoramas: el del usuario de la base de datos y el del programador.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

48

Bases de datos
Programa desarrollado

En cuanto a los requerimientos de usuario, es importante cuestionar acerca de qu tipo de computadora tiene, as como las caractersticas del hardware y software, de manera que el programador tenga la visin de qu tipo de base de datos desarrollar, y qu manejador, dependiendo de sus caractersticas. Para toda implementacin de sistemas de informacin es importante definir los requerimientos de software y hardware, por lo que estos se abordarn a continuacin. Se entiende como requerimiento de hardware a los equipos de cmputo, servidores, impresoras, etc., considerando las diferentes caractersticas establecidas para la implementacin del sistema. Mientras que el requerimiento de software se refiere a los programas necesarios para el funcionamiento del sistema de informacin, como lo son el Sistema Manejador de Base de Datos (SMBD), anti-virus, sistema operativo, etctera. Ahora bien, para definir los requerimientos de software y hardware es preciso realizar un estudio, el cual se lleva a cabo a travs de tablas comparativas de las diferentes alternativas de solucin, las cuales contienen los costos, caractersticas, ventajas y desventajas del software y hardware, as como los servicios de soporte ofrecidos por parte de los proveedores al realizar la compra de estos productos. Para saber ms: Consultar la pgina electrnica: http://www.alegsa.com.ar/Dic/requerimiento%20de%20hardware.php

Actividad 3. Reporte sobre el estudio de factibilidad Como prembulo a esta actividad, es necesario que cada equipo aplique el instrumento realizado en la Actividad 2. Una vez aplicado el instrumento de recoleccin de informacin, deben realizar un anlisis de la informacin conseguida para obtener los requerimientos del usuario en lo operacional, financiero y econmico, as como en lo referente al hardware y software, y elaborar un reporte de estudio de factibilidad. Para ello, realicen (en equipo) lo siguiente: 1. En una presentacin PowerPoint o en un documento de Word, diseen un reporte de estudio de factibilidad del caso seleccionado. Para ello, construyan una tabla que contenga los resultados del estudio de factibilidad operacional, financiera y econmica, as como sus necesidades en cuanto a hardware y software se refiere. 2. En otra diapositiva, o pgina, agreguen un cronograma en el que se enlisten las actividades por realizar, asignando los tiempos que se requieren para el desarrollo de cada una de ellas. 3. Guarden su archivo con la siguiente nomenclatura: BDD_U2_A3_XXYZ_E#. Sustituyan las letras XXYZ de la manera habitual (por persona) y el smbolo # por el nmero del equipo.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

49

Bases de datos
Programa desarrollado

Compartan su archivo mediante la Base de datos para que los (las) compaeros(as) y el (la) Facilitador(a) puedan consultarlo y externar su punto de vista sobre su trabajo (todos los integrantes del equipo deben enviar el mismo archivo)

2.2. Tcnicas de modelado de datos Las tcnicas de modelado de datos son las diferentes herramientas que se tienen para la abstraccin conceptual de la informacin de manera grfica, ayudan a la valoracin y visualizacin de las especificaciones necesarias de informacin para la solucin del caso; tienen un procedimiento lgico a seguir, que es utilizado en la ciencia del modelado. La parte fundamental del anlisis es integrar un modelado de sistemas que represente la informacin necesaria y requerida por el usuario, abstrayendo las cuestiones ms importantes y significativas, que se utilizar para la generacin de los diferentes modelos, y que permite visualizar el flujo de informacin. El modelado de datos corresponde a una serie de preguntas especficas importantes para cualquier aplicacin de procesamiento de datos: Cules son los objetos de datos primarios que van a procesar el sistema? Cul es la comprensin de cada objeto de datos? Qu atributo describe el objeto? Dnde residen actualmente los objetos? Cul es la relacin entre los objetos y los procesos que lo transforman? Para responder estas preguntas, los mtodos de modelado de datos hacen uso del diagrama de entidad relacin (DER). El DER, descrito con detalle posteriormente, permite que un ingeniero del software identifique objetos de datos y sus relaciones mediante una notacin grfica. En el contexto del anlisis estructurado, el DER define todos los datos que se introducen, se almacenan, se transforman y se producen dentro de una aplicacin. A continuacin profundizaremos en las principales tcnicas de modelado de datos.

2.2.1. Modelado de objetos La tcnica de modelado de objetos propone una forma abstracta de pensamiento acerca de problemas a resolver, empleando conceptos del mundo real, y no conceptos tcnicos informticos. Estos modelados son utilizados en los niveles conceptuales y de visin, se caracterizan por proporcionar restricciones de datos explcitamente, se fundan en pensar acerca de problemas a resolver. La esencia del desarrollo orientado a objetos es la identificacin de conceptos de objetos del dominio de aplicacin; esta aplicacin se ha centrado, por lo general, en lenguajes de programacin, es una premisa bsica para la deteccin de errores.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

50

Bases de datos
Programa desarrollado

Dentro del modelado de objetos tenemos varios conceptos bsicos que es necesario conocer para entender el tema, por lo que en esta parte se comenzar por definir el trmino objeto, hasta llegar al concepto de instancia. Objeto (instancia de clase) es algo real, abstracto, acerca del cual se almacenan datos y mtodos; por otra parte, cuando se dice orientado a objetos, significa que el software se organiza como una coleccin de objetos que contiene estructuras de datos y comportamiento. Otro trmino relevante es el de identidad, los datos estn cuantificados en entidades discretas y distinguibles denominadas objetos, y cada uno de estos posee su propia identidad inherente, en otras palabras, los objetos son diferentes, aunque los valores de todos sus atributos, tales como nombre y tamao, sean idnticos. En este contexto tambin se tiene el concepto herencia, que se trata de un mecanismo que permite definir nuevas clases a partir de otras ya definidas, y que la clase padre tiene atributos que heredar a las clases hijas. Este trmino nos lleva al de clase, que es la unidad bsica que encapsula toda la informacin de un objeto, a travs de esta se puede modelar el entorno en un estudio (casas, cuentas, muebles, etc.). Atributos son los valores asociados a los objetos de una clase, del cual se describen. Mientras que clasificacin es la categorizacin de objetos con la misma estructura de datos (atributos) y comportamiento (operaciones). Finalmente, instancia es un objeto en el cual estn contenidos todos los elementos que conforman un objeto. Para concluir con este tipo de modelado se puede agregar que este provee un uniforme para modelar el sistema desde la captura de requerimientos en la etapa inicial del anlisis, hasta su implementacin, a travs de todo el ciclo de desarrollo de sistemas. Para el modelado de objetos es necesario tomar en cuenta el anlisis del negocio, que es el reconocimiento de los elementos claves de este, y la generacin de la abstraccin de entidades apropiadas u objetos-entidad. Para entender la aplicacin de estos trminos en la conformacin del propsito de este curso, es importante recordar que el anlisis es una fase de la creacin de sistemas informticos en el que se identifican los objetos, clases, atributos y entidades a utilizar, esto permitir realizar el diseo lgico, que es la integracin de todas las clases requeridas para la aplicacin.

2.2.2. Modelado entidad relacin (E-R) El modelado entidad relacin por lo general es reconocido slo por sus siglas (E-R), es un modelado conceptual de datos, considerado de alto nivel, que es utilizado como base en el diseo de bases de datos relacionales; simboliza informacin real a travs de una representacin grfica, que es el dibujo que se hace empleando la terminologa de entidades, que podemos definir como cualquier tipo de objeto sobre el cual se desea obtener informacin, tambin se le define como sustantivo. Por ejemplo: coches, casas, excursiones, empleados, clientes, empresas, oficios, diseos de productos, conciertos, etctera. Las entidades se representan grficamente mediante rectngulos y su nombre aparece en el interior. Un nombre de entidad puede aparecer solo una vez en el esquema conceptual. Existen dos tipos de entidades:
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

51

Bases de datos
Programa desarrollado

fuertes y dbiles. Una entidad dbil es una entidad cuya existencia depende de la existencia de otra, y que por lo general carece de atributos. Mientras que una entidad fuerte es aqulla de la cual surgen las entidades dbiles. Las entidades se clasifican en: Tangibles (Ejemplo: persona, vehculo, material) Intangibles (Ejemplo: proyecto, materia) Eventuales (Ejemplo: compra, venta) Rol (Ejemplo: cliente, vendedor) Localizacin (Ejemplo: sucursal, estado, bodega) Toda entidad est conformada de atributos, los cuales son las caractersticas que definen e identifican a las entidades (Ejemplo: tenemos a la entidad alumno que tendr atributos como: nombre, sexo, fecha de nacimiento, CURP, RFC, etc.). Los atributos tambin son conocidos como caractersticas. A continuacin se muestra la simbologa a utilizar para el desarrollo de los modelados entidad relacin (ER).

Modelado entidad relacin (E-R) Las entidades se encontrarn ligadas entre s, y se utilizar el trmino relacin, tambin conocido como verbo, para designar a la conexin que exista entre dos o ms entidades. Las relaciones son representadas grficamente con un rombo, dentro de l se describe la relacin que existe entre las entidades. Existen bsicamente tres tipos de relaciones. Relaciones 1-1. Las entidades que intervienen en la relacin se asocian una a una (Ejemplo: la entidad ALUMNO y la entidad CARRERA. La relacin que existe es que el alumno pertenece a una carrera). Relaciones 1-n. Una ocurrencia de una entidad est asociada con muchas (n) de otra (Ejemplo: la entidad ALUMNO y la entidad MATERIAS, entre ellos la relacin es que los alumnos cursan muchas materias).

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

52

Bases de datos
Programa desarrollado

Relaciones n-n. Cada ocurrencia, en cualquiera de las dos entidades de la relacin, puede estar asociada con muchas (n) de la otra y viceversa (Ejemplo: la entidad ALUMNO y la entidad PROFESOR, entre ellos la relacin es que un alumno tiene muchos profesores y viceversa); a la existencia de relaciones se llama cardinalidad, que describe la dimensin cuantitativa. Se visualiza esta cardinalidad con una entidad de manera jerrquica, como el esquema padre e hijo visto en la base de datos jerrquica.

Al realizar el modelado E-R es importante considerar que se debe generar un campo identificador, que tendr como funcin evitar la duplicidad de informacin (Ejemplo: en la entidad ALUMNO, el campo identificador ser su matrcula). Con el campo identificador se podrn identificar entidades con el mismo nombre. Por lo expuesto anteriormente, se puede concluir que una entidad es un sustantivo, los atributos son adjetivos y las relaciones son verbos. En la siguiente figura se muestra un ejemplo sencillo de un modelado entidad relacin (E-R).

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

53

Bases de datos
Programa desarrollado

2.2.3. Normalizacin La teora de la normalizacin tiene como fundamento el concepto de formas normales. Se dice que una relacin est en una determinada forma normal si satisface un cierto conjunto de restricciones, por ejemplo, una relacin est en primera forma normal (abreviada 1NF) solo si satisface la restriccin de que sus dominios simples subyacentes contengan solo valores atmicos.

Universo de la normalizacin en forma grfica. Se ha definido un gran nmero de formas normales (ver figura 2.8), sin embargo, Codd defini la primera, segunda y tercera (1NF, 2NF, 3NF); la idea que persegua Codd con su propuesta era la de mostrar las ventajas de las relaciones en 3FN respecto a las relaciones en forma normal inferior: mnima redundancia y
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

54

Bases de datos
Programa desarrollado

mnimas anomalas al actualizar la base de datos. Debido a que an persistan los problemas en las relaciones en 3FN, Codd introdujo en 1974 una definicin ms restrictiva de la tercera formal normal, que se denomin forma normal de Boyce-Codd (FNBC). Fagin (1977) introduce la cuarta forma normal (4FN), y posteriormente, en 1979, la quinta (5FN), basadas en otro tipo de dependencias distintas de las funcionales: las dependencias multivaluadas y las dependencias de proyeccin-combinacin, respectivamente. Cuando un esquema de relacin est en una forma normal, implcitamente tambin est en las formas normales inferiores a esta, es decir, un esquema de relacin en FNBC, est en 3FN, 2FN y 1FN; lo contrario no es cierto, un esquema de relacin en 2FN no puede estar en 3FN. Ya que se presentaron algunas generalidades, a continuacin se formalizar la definicin de las tres primeras formas normales y la de Boyce y Codd, que son las que apoyan en las dependencias funcionales. La primera forma normal (1FN) es una restriccin inherente al modelo relacional, por lo que su cumplimiento es obligatorio y afecta al nmero de valores que pueden tomar los atributos de una relacin. Recordemos que para que una tabla pueda ser considerada una relacin no debe admitir grupos repetitivos, esto es, que debe estar en primera forma normal; por ejemplo, si un estudiante solicita ms de una beca, se tienen grupos repetitivos, y para pasar a 1FN habr que repetir el resto de atributos de la tupla para cada uno de los valores del grupo repetitivo.

La segunda forma normal (2FN) est basada en el concepto de dependencia plena y en las interrelaciones existentes entre los atributos principales (que se encuentran en alguna de las claves) y no principales (que no se encuentran en ninguna clave) de una relacin.

De esta forma, cualquier relacin binaria se encuentra siempre en 2FN; as como tambin la relacin en la que todas las claves son simples, es decir, que contienen un slo atributo; asimismo, cualquier relacin en la que todos sus atributos son PRINCIPALES, es decir, que forman parte de alguna clave. La segunda forma normal no se cumple cuando algn atributo no principal depende funcionalmente de algn subconjunto de la clave. Siempre es posible transformar un esquema de relacin que no est en 2FN, en esquemas de relacin en 2FN, sin que se produzca prdida de informacin ni de dependencias. As pues, sea el esquema de relacin ESTUDIANTE_BECA (AT, DEP) donde:
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

55

Bases de datos
Programa desarrollado

Que refleja las becas que solicitan los estudiantes, la fecha en que lo han hecho y la titulacin del estudiante. La clave de la relacin ESTUDIANTE_BECA es cod_estudiante, cod_beca. Se puede observar que el atributo ttulo no es un hecho (una informacin) acerca de la totalidad de la clave, si no acerca de parte de ella (en este caso del atributo cod_estudiante). Esta relacin no est en 2FN (Ibnez, 2007: 43)

La tercera forma normal (3FN) est basada en el concepto de dependencia transitiva.

Considerando la definicin tenemos que, toda relacin binaria se encuentra en 3FN, del mismo modo, toda relacin cuyos atributos son todos principales, o bien cuando hay un nico atributo no principal. La tercera forma normal no se cumple cuando hay atributos no principales que dependen funcionalmente de otros atributos no principales. No obstante, se puede transformar un esquema de relacin que no est en 3FN, en esquemas de relacin en 3FN, sin que se originen prdidas de informacin ni de dependencias funcionales.

2.2.4. Modelado relacional El modelado relacional se divide en tres partes, que se ocupan de la estructura, la integridad y la manipulacin de los datos, respectivamente. Cada una de las partes tiene sus propios trminos especiales, estos conceptos son: relacin, tupla, cardinalidad, atributo, grado, clave primaria y dominio.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

56

Bases de datos
Programa desarrollado

Relacin de proveedores S.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

57

Bases de datos
Programa desarrollado

A continuacin se explica de manera general cada uno de los trminos: Una relacin corresponde a lo que hasta ahora hemos llamado tabla. Una tupla corresponde a una fila de esta tabla y un atributo a una columna. El nmero de tuplas se denomina cardinalidad, mientras que el nmero de atributo se llama grado. La clave primaria es un identificador nico para la tabla, es decir, una columna o combinacin de columnas con la siguiente propiedad: nunca existen dos filas de la tabla con el mismo valor en esa columna o combinacin de columnas. Por ltimo, un dominio es una coleccin de valores de los cuales uno o ms atributos (columnas) obtienen sus valores reales. Por ejemplo, el dominio marcado con S# en la figura 2.9, es el conjunto de todos los nmeros de proveedores legales; y el conjunto de valores que aparecen en el atributo S#, de la relacin S, en cualquier momento es algn subconjunto de ese conjunto. De manera similar, el conjunto de valores que aparecen en el atributo S#, de la relacin SP, en cualquier momento dado es tambin un subconjunto de ese conjunto. Esta terminologa se resume en la figura 2.10; sobre esta se harn dos aclaraciones:

Aclaraciones sobre la terminologa de las partes del modelo relacional: Aclaracin 1: 1. Debe entenderse que las equivalencias mostradas son solo aproximadas, porque los trminos formales del modelo relacional, situados a la izquierda, tienen definiciones precisas, pero los equivalentes informales de la derecha solo poseen definiciones aproximadas, aunque prcticas. As, por ejemplo, una relacin y una tabla no son en realidad la misma cosa, aunque en la prctica muchas veces es conveniente hacer como si lo fueran. Aclaracin 2: 2. La nocin dominio, nos sirve para ilustrar una cosa muy importante: no todos los sistemas relacionales se ajustan a todos los aspectos del modelo relacional; DB2, por ejemplo, no maneja en absoluto los dominios, de hecho tampoco lo hace INGRES ni la mayor parte de los sistemas actuales.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

58

Bases de datos
Programa desarrollado

Definicin formal de dominio . El punto de partida para nuestro tratamiento formal de la estructura de datos tradicional es la menor unidad semntica de informacin, la cual suponemos es el valor de un acto individual (como el nmero de un proveedor individual o el peso de una parte individual o el nombre de una ciudad individual o la cantidad de un envo individual). Llamaremos a estos valores escalares (aunque este trmino no se utilice mucho en la literatura relacional). Estructura de las bases de datos relacionales Una base de datos relacional consiste en un conjunto de tablas, a cada una de ellas se les asigna un nombre exclusivo; cada fila de la tabla representa una relacin entre un conjunto de valores. Dado que cada tabla es un conjunto de dichas relaciones, hay una fuerte correspondencia entre el concepto de tabla y el concepto matemtico de relacin, del que toma su nombre el modelo de datos relacional. En las bases de datos relacionales se utilizan varias relaciones diferentes para ilustrar los conceptos subyacentes al modelo de datos relacional, estas relaciones representan parte de una entidad bancaria.

Actividad 4. Modelados bsicos Con el fin de abstraer informacin significativa para el prototipo, y construir los diagramas de los modelados: entidad relacin, normalizacin y relacional, trabajarn nuevamente en equipo para organizar la informacin del caso de estudio seleccionado. 1. En un documento de Word, de acuerdo con el caso en cuestin, y tomando en cuenta los ejemplos vistos a lo largo de la unidad, esquematicen el modelado entidad relacin. Coloquen el ttulo Diagrama entidad relacin. 2. En la siguiente cuartilla del documento representen la normalizacin del caso. Coloquen el ttulo Normalizacin. 3. Finalmente, en una tercera cuartilla, esquematicen el modelado relacional, titulndolo Modelo relacional. 4. Guarden de manear individual la actividad y envenla a la seccin de tareas.

Evidencia de aprendizaje. Anlisis y modelado Como parte de la evaluacin de esta unidad, tienes que llevar a cabo una actividad individual cuyo propsito es documentar el caso de estudio elegido, empleando lo revisado durante el desarrollo de la unidad: tabla de la estructura de entradas, procesos y salidas; reporte de factibilidad; requerimientos de hardware y software, as como los modelados, para continuar con el seguimiento del caso. 1. En un documento de Word, realiza lo siguiente, ocupa una cuartilla para cada punto:
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

59

Bases de datos
Programa desarrollado

Agrega la descripcin del caso, la necesidad a cubrir y la base de datos a utilizar. Elabora una tabla que desglose las entradas, procesos y salidas. Menciona el tipo de herramienta de recopilacin de informacin que utilizars, y anota cinco de las preguntas que contendr. Esquematiza en una tabla comparativa el reporte de estudio de factibilidad. Menciona los requerimientos de hardware y software. Elabora el modelo (diagrama) entidad relacin en dos tablas creadas a partir del caso particular. Elabora el modelo (diagrama) relacional con base en las dos tablas creadas anteriormente.

2. Guarda la evidencia con el nombre BDD_U2_EA_XXYZ. 3. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin, considera sus observaciones y, en caso de que sea necesario, modifica tu evidencia para volverla a enviar. Al terminar el proceso anterior, ingresa al foro Preguntas de Autorreflexin y lee los cuestionamientos que formul tu Facilitador(a), posteriormente, sal del foro, ingresa a la seccin Autorreflexiones y, dentro de sta, enva tu autorreflexin con el nombre BDD_U2_ATR_XXYZ.

Consideraciones especficas de la unidad A lo largo de esta unidad se logra involucrar al estudiante de manera ms prctica en los contenidos propios de la asignatura, tomando en cuenta los conceptos abordados en la primera unidad del curso; sin embargo, se sugiere la retroalimentacin y enriquecimiento basado en la informacin que se encuentra en los materiales de apoyo, de igual forma, es conveniente recordar que las actividades correspondientes a esta segunda unidad son fundamentales para continuar con la tercera, y ltima, unidad de la asignatura. Es importante que el estudiante sea autodidacta, creativo y sobre todo tenga una amplia visin, ya que deber jugar diferentes roles: usuario y diseador, lo que le ayudar a obtener un mayor entendimiento del caso y requerimiento, permitindole la obtencin de informacin clave para el diseo de la base de datos.

Cierre de la unidad Aqu concluye la segunda unidad de la asignatura de Bases de datos. A manera de sntesis, se revisaron los lineamientos metodolgicos de recopilacin de requerimientos, se defini lo que es un anlisis y la estructura de las entradas, procesos y salidas; asimismo se eligi un caso de estudio, se seleccion y elabor el instrumento para la recopilacin de informacin y se abarc lo que es un estudio de factibilidad. Finalmente, se abordaron cuatro tcnicas de modelado de datos, con lo cual, en la siguiente unidad, se le dar continuidad al caso de estudio elegido. Si los temas que se acaban de sealar son familiares, ya ests listo(a) para seguir con la unidad posterior, en donde se continuar con la generacin del prototipo de base de datos documental. En caso de que no
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

60

Bases de datos
Programa desarrollado

tengas suficientemente claro alguno de los temas que se abordaron a lo largo de la unidad, realiza un repaso con el fin de reforzar el aprendizaje.

Fuentes de consulta Celma, M.; Casamayor, J.C.; Mota, L. (2003) Bases de datos relacionales. Madrid: Pearson-Prentice Hall. Diseo de bases de datos (2010) Introduccin a la Informtica. Recuperado el 29 de abril de 2011 de: http://users.dsic.upv.es/asignaturas/fade/inf/es/tema6.pdf Hernndez, M. (s/f) Introduccin al desarrollo de sistemas de informacin. Recuperado el 29 de abril de 2011, de: http://www.eduardoleyton.com/apuntes/Introduccion_SIA.pdf Ibez, A. (2007) Tesis de grado Modelo de optimizacin para el diseo de bases de datos relacionales. La Paz, Bolivia: Universidad Mayor De San Andrs, Facultad De Ciencias Puras Y Naturales Carrera De Informtica. Kroenke, D. (2003) Procesamiento de Bases de Datos. Fundamentos, diseo e implementacin. Mxico: Pearson Educacin. Prez L, Csar. (2008) Oracle 10g: administracin y anlisis de bases de datos. Segunda edicin. Mxico: Alfaomega. Quiroz, Javier. (2003) El modelo relacional de bases de datos en Boletn de Poltica Informtica Nm. 6 (Versin electrnica). Recuperado el 26 de enero de 2011, de http://www.inegi.org.mx/inegi/contenidos/espanol/prensa/contenidos/articulos/tecnologia/relacional.p df Real Academia Espaola (2001) Diccionario de la lengua espaola. Vigsima segunda edicin (Versin digital). Recuperado el 19 de enero de 2011, de http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica Silberschatz, Abraham. (2006). Fundamentos de Bases de Datos. Espaa: McGraw-Hill. Definicin de requerimiento de hardware en Diccionario de informtica. Recuperado el 2 de enero de 2011, de http://www.alegsa.com.ar/Dic/requerimiento%20de%20hardware.php

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

61

Bases de datos
Programa desarrollado

UNIDAD 3. Diseo

Propsito de la unidad

En esta unidad se documentarn las tcnicas para poder construir el prototipo de la base de datos, teniendo como base el concepto general de Structured Query Language (SQL), los tipos de datos, el diccionario de datos, las instrucciones SQL: Data Definition Language (DDL) y Data la Manipulation Language (DML), y el lgebra relacional.

Competencia especfica

Elaborar modelados de Bases de datos documentales para representar la informacin que satisfaga las necesidades de gestin de informacin, mediante las tcnicas de modelaje utilizadas para generar un prototipo.

Presentacin de la unidad Felicidades! Ests a punto de terminar el curso, recuerda que las personas de xito son aquellas que, con base en la perseverancia y constancia llegan a cumplir sus metas y objetivos, as como t has logrado llegar aqu. En esta unidad conocers temas que te ayudarn a obtener una mayor comprensin en materia de las bases de datos: el concepto de Structured Query Language (SQL), los diferentes tipos de datos que utilizan las base de datos, qu es un diccionario de datos y cmo se genera; as mismo, se revisarn las instrucciones SQL, Data Definition Language (DDL) y Data Manipulation Language (DML), para finalizar con el tema de lgebra relacional. Se espera que con estos tpicos logres tener un panorama de los temas que conforman la tercera, y ltima, unidad de la asignatura de Base de datos.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

62

Bases de datos
Programa desarrollado

3.1. Diseo de prototipo de Bases de datos Para iniciar, es esencial explicar a qu nos referimos con diseo de prototipo de base de Datos. Como se explic anteriormente, se tiene contemplado que mediante los subtemas que se vern en esta unidad, y lo realizado en las unidades anteriores, realices el prototipo del diseo de la base de datos, entendiendo como prototipo a la primera versin de un nuevo tipo de producto, en el que se han incorporado solo algunas caractersticas del sistema final, o no se han realizado completamente, lo que permitir al diseador evaluar los requerimientos del usuario, verificar su estructura y flujo de informacin. Los prototipos son una visin previa o preliminar del sistema que se implementar a futuro. Los prototipos de un sistema de informacin se utilizan para la recopilacin rpida de los requerimientos de los diferentes usuarios para satisfacer sus necesidades de informacin, este prototipo es importante ya que est dentro del ciclo de vida del desarrollo de sistemas de bases de datos, que es una fase determinante para el perfeccionamiento e implementacin del sistema.

Hay tres tipos de informacin que se busca al realizar un prototipo: Las innovaciones son parte de la informacin que se busca al realizar los prototipos, son capacidades nuevas, comnmente conocidas como el plus, o capacidades nuevas del sistema no contempladas antes de la interaccin del prototipo. Las sugerencias del usuario son la observacin y las entrevistas que se le realizan al usuario, la reaccin que tiene cuando se le presenta el prototipo y cuando interacta con l. El usuario retroalimenta y sugiere (presentacin de informacin, resultados correctos, faltantes de informacin, etc.) nuevas ideas para el mejoramiento del sistema. Es importante mencionar que esto permitir al analista afinar y realizar cambios al prototipo. El plan de revisin permite al diseador identificar las prioridades de construccin y redirigir los planes sin realizar gastos. Existen cuatro tipos de prototipos: Prototipo parchado. Es un sistema de informacin operable con caractersticas de informacin necesarias para la visualizacin del flujo de informacin, pero es ineficiente. Prototipo no operacional. Es un modelado a escala no funcional de un sistema de informacin, se utiliza cuando la codificacin requerida por las aplicaciones es muy extensa para la realizacin de un prototipo,
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

63

Bases de datos
Programa desarrollado

pero aun as se pude obtener una idea clara del sistema por medio de la elaboracin de prototipos solamente de entradas y salidas de informacin. Prototipo de una serie. Es utilizado cuando se tienen planeadas muchas instalaciones del mismo sistema de informacin. Prototipo de caractersticas seleccionadas. Es la construccin del prototipo operacional que incluye solo algunas caractersticas que tendr el sistema final; este prototipo permite que el sistema se vaya construyendo de forma modular, de tal manera que al ser evaluados de forma independiente y sean satisfactorios, se incorporen en el sistema final. Es importante la utilizacin de prototipos porque permiten comunicar, discutir y definir ideas entre los diferentes diseadores y los usuarios responsables de cada informacin, apoyan el trabajo evaluando productos, clasificando los requerimientos de los usuarios y definiendo alternativas. *Nota: Es importante destacar que el prototipo que se pretende realizar en esta materia no incluir la parte de la programacin de interface, ya que la materia solo se enfoca en la parte documental y ciertas instrucciones SQL (que veremos a continuacin) para la creacin de la base de datos; se recomienda utilizar un software libre para la generacin de la base.

Actividad 1. Tablas lgicas Durante esta actividad, debers elaborar un documento con tu equipo (el equipo ser el mismo con el que trabajaste para la eleccin de caso en las unidades previas), en el que se organice la informacin para construir las ideas y aplicar los cambios que requiera el caso que eligieron en las unidades anteriores. Instrucciones: 1. En Excel, planteen las tablas lgicas del caso de estudio. 2. Identifiquen los campos de las tablas lgicas, as como su clave principal, e ingrsenle 10 registros. 3. Guarden el archivo con el nombre BDD_U3_A1_XXYZ. 4. Enven, de manera individual, el archivo al Facilitador(a) para recibir retroalimentacin.

3.1.1. Concepto de Structured Query Language (SQL) El SQL se puede traducir como Lenguaje Estructurado de Consultas (Structured Query Language). SQL es un lenguaje de consultas estructurado y de programacin de bases de datos relacionales utilizado para accesar, consultar, actualizar y gestionar informacin, que permite realizar diversos tipos de operaciones; es utilizado casi siempre con el lgebra relacional, que permite explotar de manera ms eficiente la informacin y tiene la capacidad de aplicar clculos matemticos. SQL es considerado un lenguaje de alta generacin (4GL), y estndar, pero en algunos Sistemas Gestores de Bases de Datos tendrn pequeas variaciones en su estructura.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

64

Bases de datos
Programa desarrollado

Hay que destacar que los sistemas de bases de datos comerciales necesitan un lenguaje de consulta cmodo para el usuario, y el lenguaje de mayor influencia es SQL, que usa una combinacin de lgebra relacional y construcciones de clculo relacional. Aunque el lenguaje SQL se considere un lenguaje de consultas de Bases de datos, contiene muchas otras capacidades como las siguientes: Incluye caractersticas para definir la estructura de los datos Para la modificacin de ellos en la base de datos y para la especificacin de restricciones de seguridad. Actualmente numerosos productos son compatibles con el lenguaje SQL. SQL es el lenguaje abierto y ms comercial en el mercado, se debe remarcar la importancia de cada uno de sus componentes de manera general, los cuales se abordan a continuacin. Componentes de SQL. El lenguaje SQL est conformado bsicamente por los siguientes componentes: Lenguaje de definicin de datos (LDD). Proporciona rdenes para la definicin de vistas y de esquemas de relacin, borrado de relaciones, creacin de ndices, modificacin de ndices y de esquemas de relacin. Tambin incluye rdenes para la especificacin de las restricciones de integridad que deben satisfacer los datos almacenados en la Base de datos, y las actualizaciones que violen las restricciones de integridad las rechaza. Adems, incluye rdenes para especificar derechos de acceso para las relaciones y vistas. Lenguaje de manipulacin de datos (LMD). Incluye un lenguaje de consultas, basado tanto en lgebra relacional como en clculo relacional de tuplas (tablas), y rdenes para insertar, borrar y modificar tuplas de las bases de datos. Control de transacciones. rdenes para la especificacin del comienzo y final de transacciones.

SQL tiene la facultad de poder trabajar con diferentes lenguajes de programacin de propsito general, dado que puede ser incorporado o dinmico. SQL incorporado trabaja con cdigo fuente estructurado por el programador, mientras que el dinmico no requiere de estructuras de cdigo fuente, dado que tiene la facultad de trabajar con asistentes que no lo requieren. Algunos ejemplos de lenguajes de programacin de propsito general son C, C++, Java. PL/I, Cobol, entre otros. Al momento de programar SQL se requiere tener claridad sobre el significado de las estructuras que utiliza para las expresiones bsicas, las cuales son: SELECT, FROM y WHERE. Estas estructuras se comparan con la aplicacin que tienen en el lgebra relacional, tema que se aborda ms adelante. SELECT. Se usa para listar los atributos deseados del resultado de una consulta. Corresponde a la operacin proyeccin de lgebra relacional. FROM. Lista las relaciones que deben ser analizadas en la evaluacin de la expresin. Corresponde a la operacin producto cartesiano de lgebra relacional. WHERE. Es un predicado que engloba los atributos de las relaciones que aparecen en la expresin FROM. Corresponde al predicado seleccin de lgebra relacional.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

65

Bases de datos
Programa desarrollado

Es importante mencionar que el trmino SELECT tiene un significado diferente en SQL y en lgebra relacional, que se ver a profundidad ms adelante. Para qu sirve SQL? SQL permite la realizacin de consultas y actualizaciones sobre datos almacenados en tablas relacionales, como ya se ha mencionado antes. Este es el principal uso que harn los programadores y usuarios del lenguaje, pero tambin hay otras tareas que se pueden realizar mediante las sentencias SQL, aunque pertenecen ms a la responsabilidad de lo que suelen llamarse administrador de bases de datos; las tareas son las siguientes: Antes de poder usar una tabla para almacenar o consultar datos en ella, hay que describirla al SGBD, dndole su nombre y caractersticas, esto se hace definindola. Hay otros muchos objetos que maneja un SGBD con sentencias SQL, tales como espacios para ficheros fsicos, ndices, claves principales, campos, entre otros. Normalmente, la definicin de tablas y vistas son responsabilidad del administrador de bases de datos, pero puede haber casos en que se permita a algunos usuarios definir tablas para datos de uso privado. En este caso, el usuario emplea las correspondientes sentencias de SQL. Gestin de las autorizaciones de acceso. El usuario final no podr consultar o actualizar datos de una tabla si previamente no ha sido autorizado para ello. Tampoco podr hacerlo un programa si la persona que ha solicitado su ejecucin no ha sido previamente autorizada. Estas autorizaciones se conceden o deniegan mediante sentencias SQL. Normalmente, las autorizaciones las concede el administrador de bases de datos, pero puede haber casos en que lo haga un usuario con respecto a sus datos privados, si se le permite tenerlos. Existen otras tareas propias del administrador de bases de datos, en las que el SQL puede ayudar, sin embargo se necesitan otras herramientas adicionales. As, por ejemplo, la prevencin y correccin de problemas de rendimiento y la toma de copias de seguridad de los datos para el caso de fallos por catstrofes o averas. Para concluir con este tema, tenemos que SQL permite: Definir y destruir objetos de las bases de datos. Conceder y denegar autorizaciones para usar estos objetos. Consultar y actualizar datos.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

66

Bases de datos
Programa desarrollado

3.1.2. Tipos de datos Un tipo de dato es un conjunto de valores y operaciones primitivas aplicables a las tablas que conforman las bases de datos.

En los lenguajes de programacin se proporcionan tipos de datos ya definidos agrupados en clases distintas. Los tipos de datos tambin son vistos como una limitacin impuesta en la interpretacin de datos en un sistema de tipificacin (lenguaje de programacin que clasifica valores y expresiones en tipos), describiendo la representacin, interpretacin y estructura de los valores u objetos en la memoria del ordenador. La declaracin de un tipo de dato requiere la especificacin de un nombre y la definicin (descripcin) del mismo. Ejemplo: podemos decir en la entidad VENDEDOR que su campo identificador tiene el ID_VENDEDOR, y este campo tiene un tipo de dato que ser definido por las reglas del usuario, pudiendo ser de dos tipos: numrico y entero o alfanumrico, este tipo de dato deber indicar de forma especfica la cantidad de caracteres requerida. Es importante definir los tipos de datos para disear las tablas o entidades, dado que de aqu se definir el dominio para el uso de las relaciones en la base de datos. Los tipos de datos con restricciones y valores por defecto se pueden combinar en la definicin de dominios. Una definicin de dominio es un tipo de dato especializado que puede estar definido dentro de un esquema y utilizado en la definicin de columnas.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

67

Bases de datos
Programa desarrollado

Por ejemplo, se desea definir un dominio de identificadores para usar en la definicin de columnas como ID_VENDEDOR e ID_EDIFICIO. Estas definiciones son complejas, ya que se involucra un tipo de dato, un valor por defecto y una restriccin no nula. Puesto que se usar esta una y otra vez en el esquema de la base de datos, se requiere simplificar el trabajo. Por tanto se crea un dominio de la siguiente forma: CREATE DOMAIN IDENTIFICACOR NUMERIC (4) DEFAULT 0 CHECK (VALUE IS NOT NULL) Se dice que un dominio llamado IDENTIFICADOR tiene las siguientes propiedades: Su tipo de dato es numrico de cuatro dgitos. Su valor por defecto es cero y nunca puede ser nulo. Una columna que define este dominio como su tipo de dato tendr otras propiedades. SQL requiere lo que se denomina una restriccin CHECK, para esto se pueden definir columnas en el esquema que tenga identificador como su tipo de dato.

En el modelo relacional, un dominio es un conjunto del cual toma sus valores una columna de una relacin. En este sentido, los tipos de datos predefinidos son dominios. Sin embargo, SQL define los dominios de forma ligeramente diferente, proporciona tipos de datos predefinidos y permite dominios definidos por el usuario. Los tipos de datos en SQL se clasifican en: Numricos exactos Aproximados Cadenas de caracteres Cadenas de bits Fechas y horas Intervalos Tipos de datos numricos exactos: Integer (enteros) SmALLinteger (enteros cortos) Numeric (p,e) (numricos) Decimal (p,e) (decimales) En los ltimos dos tipos de datos (numrico y decimal) se indica una precisin (p) y una escala (e). La precisin indica el total de nmeros o dgitos en el nmero y la escala indica cuntos de estos estn a la derecha del punto decimal.

Tipo de datos aproximados: Aproximados Real (real)


Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

68

Bases de datos
Programa desarrollado

Doubleprecision (doble precisin) Float (flotante) Estos tipos de datos se usan normalmente para clculos cientficos y de ingeniera. Tipos de datos cadenas de caracteres: Character (n) (carcter) Charactervarying (n) (carcter variable) Los campos de Character siempre almacenan n caracteres, aun cuando tengan que rellenar con blancos a la derecha para completar la longitud n. Los campos Charactervarying solo almacenan el nmero real de caracteres que se introdujeron (hasta un mximo de n). La diferencia entre ellos es que el primero est definido, y en el caso del segundo la palabra varyinglo define, es variante constantemente. Tipos de datos de fechas y horas: Date (fecha) Time (hora) Timestamp (Sello de tiempo) Time con tiempo zona Timestamp con tiempo zona Date (fecha) se da en el orden: ao, mes y da, con cuatro dgitos para el ao. Time se da en horas (0 a 23), minutos, segundos y dcimas de segundo. Timestamp es la fecha ms la hora (date plus time). Tipos de datos de intervalos: Year month (ao-mes) Date_time (dia-hora) El intervalo es la diferencia entre dos fechas (ao-mes) o entre dos horas (da-hora). Por ejemplo, entre diciembre de 1994 y enero de 1996, el intervalo es un ao y un mes

3.1.3. Generacin de Diccionario de datos El propsito de un diccionario de datos es que contenga las caractersticas lgicas de los datos que se van a utilizar en un sistema (bases de datos), incluyendo nombre, descripcin, alias, contenido y organizacin. Los diccionarios de datos son desarrollados durante el anlisis de flujo de datos, y ayudan a los analistas que participan en la determinacin de los requerimientos del sistema, evitando as malas interpretaciones o ambigedades, su contenido tambin se emplea durante el diseo del proyecto.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

69

Bases de datos
Programa desarrollado

En un diccionario de datos se encuentra la lista de los elementos que forman parte del flujo de datos de todo el sistema. Los elementos ms importantes son flujos de datos, almacenes de datos y procesos. El diccionario de datos guarda los detalles y descripcin de todos estos elementos. Desde el punto de vista estadstico, este diccionario debe tener la variable, el tipo de variable, su definicin y su delimitacin espacial. Ejemplo:

Las ventajas de disear un diccionario de datos son: Aclara dudas con respecto a Permite la las localizacin caractersticas de de los campos informacin y, en su caso, de manera realizar altas, ms rpida. bajas y cambios.

Permite visualizar las tablas relacionadas entre si y los campos que las relacionan.

Actividad 2. Diccionario de datos El propsito de esta actividad es definir un diccionario de datos para aplicarlo a una base de datos, con la finalidad de tenerlo como referencia. Instrucciones: En una hoja de clculo esquematiza una tabla con las filas y columnas correspondientes a un diccionario de datos. Por cada tabla debes crear un diccionario de datos, ya que los campos deben ser diferentes.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

70

Bases de datos
Programa desarrollado

Guarda el trabajo con el nombre BDD_U3_A2_XXYZ. Enva el archivo al facilitador(a) para recibir retroalimentacin.

Actividad 3. Entrega de tablas lgicas y diccionario de datos El propsito de esta actividad es analizar los errores ms comunes del diseo de las tablas lgicas, as como en el diccionario de datos para generar otros. Instrucciones: 1. Tomando en cuenta las observaciones hechas por tu facilitador(a) en la Actividad 1. Tablas lgicas, analiza los errores ms comunes del diseo de las tablas lgicas y reelabora en un documento de texto las tablas lgicas y el diccionario de datos del caso de estudio que has venido trabajando. 2. Guarda la actividad con el nombre BDD_U3_A3_XXYZ. 3. Enva el archivo a tu facilitador(a) para recibir retroalimentacin.

3.1.4. Instrucciones SQL: Data Definition Language (DDL) y Data Manipulation Language (DML)

Las peticiones sobre los datos se expresan mediante sentencias, que deben escribirse de acuerdo con las siglas sintcticas y semnticas de SQL. Para esto es necesario conocer las instrucciones primordiales de SQL: DDL (Data Definition Language) y DML (Data Manipulation Language).

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

71

Bases de datos
Programa desarrollado

DDL La instruccin DDL (Data Definition Language) est conformada por los siguientes comandos. Comando CREATE DROP ALTER Descripcin Utilizado para crear nuevas tablas, campos, vistas e ndices. Empleado para eliminar tablas e ndices. Utilizado para modificar las tablas, agregando campos o cambiando la definicin de los campos. Instrucciones DDL

A continuacin se describe la sintaxis de cada uno de los comandos: Sintaxis de CREATE CREATE TABLE nombre_tabla (columna 1 tipo_de_datos_para_columna_1, columna 2 tipo_de_datos_para_columna_2,.) Sintaxis de DROP DROP DATABASE { dataBase_name | dataBase_snapshot_name } [ ,n ] [;] Sintaxis de ALTER ALTER TABLE nombre_tabla [modificar especificacin] DML DML (Data Manipulation Language) est conformado por comandos que permiten al usuario seleccionar, aadir, modificar y borrar informacin contenida en el repositorio (Base de datos), es decir, cuenta con los comandos: SELECT, INSERT, UPDATE Y DELETE.

Comando SELECT INSERT UPDATE DELETE

Descripcin Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado. Utilizado para cargar lotes de datos en la Base de datos en una nica operacin. Utilizado para modificar los valores de los campos y registros especificados. Utilizado para eliminar registros de una tabla de una Base de datos. Instrucciones DML

A continuacin se describe la sintaxis de cada uno de los comandos:


Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

72

Bases de datos
Programa desarrollado

Sintaxis de SELECT SELECT nombre de columna FROM nombre_tabla Sintaxis de INSERT INSERT INTO nombre_tabla (columna 1, columna 2, ) valor S (valor 1, valor 2, ) Sintaxis de UPDATE UPDATE nombre_tabla SET columna 1 = [nuevo valor] WHERE {condicin} Sintaxis de DELETE DELETE FROM nombre_tabla WHERE {condicin} Existen otros comandos bsicos, que se vuelven condiciones de modificacin utilizadas para definir los datos que se desea seleccionar o manipular. Clusula FROM WHERE GROUP BY HAVING ORDER BY Comandos bsicos As como se muestra la descripcin de cada comando (de condicin), en la tabla 3.10, a continuacin se describe la sintaxis de cada uno de ellos. Sintaxis de FROM FROM "nombre_tabla" WHERE {condicin} Sintaxis de WHERE SELECT "nombre_columna" FROM "nombre_tabla" WHERE "condicin" Sintaxis de GROUP BY SELECT "nombre_columna 1", SUM ("nombre_columna 2") FROM "nombre_tabla" GROUP BY "nombre_columna 1" Sintaxis de HAVING Descripcin Utilizada para especificar la tabla de la cual se van a seleccionar los registros. Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar. Utilizada para separar los registros seleccionados en grupos especficos. Utilizada para expresar la condicin que debe satisfacer cada grupo. Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

73

Bases de datos
Programa desarrollado

SELECT "nombre_columna 1", SUM ("nombre_columna 2") FROM "nombre_tabla" GROUP BY "nombre_columna 1" HAVING (condicin de funcin aritmtica) Sintaxis de ORDER BY SELECT "nombre_columna" FROM "nombre_tabla" [ WHERE "condicin"] ORDER BY "nombre_columna" [ASC, DESC] Aparte de los comandos antes mencionados, SQL maneja operadores lgicos y de comparacin, los cuales tambin tienen sus propias sintaxis. En el caso de los operadores lgicos. Operador AND es "y" OR es "o" NOT es negacin Operadores lgicos Uso Evala dos condiciones y devuelve un valor de verdad solo si ambas son ciertas. Evala dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta. Devuelve el valor contrario de la expresin.

A continuacin se muestran las sintaxis de cada uno de los operadores lgicos. Sintaxis de AND SELECT "nombre_columna" FROM "nombre_tabla" WHERE "condicin simple" { [AND] "condicin simple"}+ Sintaxis de OR SELECT "nombre_columna" FROM "nombre_tabla" WHERE "condicin simple" { [OR] "condicin simple"}+ Sintaxis de NOT [ NOT ] boolean_expresin Veamos la simbologa as como el uso de los operadores de comparacin: Operador Uso (simbologa) < > <> <= >= = BETWEEN Menor que Mayor que Distinto de Menor o igual que Mayor o igual que Igual que Utilizado para especificar un intervalo de valores.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

74

Bases de datos
Programa desarrollado

LIKE IN Operadores de comparacin

Utilizado en la comparacin de un modelo. Utilizado para especificar registros de una base de datos.

A continuacin se muestran las sintaxis de cada uno de los operadores de comparacin. Sintaxis de BETWEEN campo [Not] Between valor1 AND valor2 Sintaxis de LIKE expresin Like modelo Sintaxis de IN expresin [Not] In (valor1, valor2, . . .)

Es importante mencionar las funciones de los operadores agregados que se usan dentro de un comando SELECT en grupos de registros para devolver un nico valor ya registrado. Funcin Descripcin AVG COUNT SUM MAX MIN Funciones Utilizada para calcular el promedio de los valores de un campo determinado. Utilizada para devolver el nmero de registros de la seleccin. Utilizada para devolver la suma de todos los valores de un campo determinado. Utilizada para devolver el valor ms alto de un campo especificado. Utilizada para devolver el valor ms bajo de un campo especificado.

Cada una de estas funciones se utiliza cuando el manejador de Base de datos es SQL y tienen las siguientes sintaxis. Sintaxis de AVG AVG ( [ ALL | DISTINCT ] expresin ) Sintaxis de COUNT SELECT COUNT ("nombre_columna") FROM "nombre_tabla" Sintaxis de SUM SUM ( [ ALL | DISTINCT ] expresin ) Sintaxis de MAX MAX ( [ ALL | DISTINCT ] expresin)
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

75

Bases de datos
Programa desarrollado

Sintaxis de MIN MIN ( [ ALL | DISTINCT ] expresin)

3.1.5. lgebra relacional

Para hablar de este tema, es importante conocer y tener bien definidos los trminos bsicos de las estructuras SQL mencionados y presentados en las figuras del subtema anterior, as como su funcionamiento. Ahora bien, este tema servir para generar las operaciones ms bsicas en las bases de datos relacionales, y est constituido de manera prctica para su mejor comprensin.

El lgebra relacional es definida como un conjunto de operadores de alto nivel que trabajan sobre relaciones. Esto significa que estas operaciones usan una o dos relaciones existentes para crear una nueva relacin. Esta nueva relacin puede entonces usarse como entrada para una nueva operacin. Este poderoso concepto la creacin de una nueva relacin a partir de las relaciones existentes hace posible una variedad infinita de manipulaciones sobre los datos. Eso tambin hace considerablemente ms fcil la solucin de las consultas, debido a que se puede experimentar con soluciones parciales hasta encontrar una proposicin con la que se trabajar.

CLIENTE ID_CLIENTE 100 101 105 110 VENDEDOR ID_VENDEDOR 10 14 23 37

NOMB_CLIENTE Jos Lpez Maritza Julin Gmez NOMB_VENDEDOR Blanca Soto Mnica Mrquez Francisco Moreno Elena Hernndez

DIRECCION Box 241, Sonora B 918, Aguas Calientes Santiago ID_JEFE 27 44 35 12

PAS Japn Austria USA Chile OFICINA Aguas Calientes Sonora Nayarit

SALDO INICIAL 45.551 75.314 49.333 27.400

SALDO ACTUAL 52.113 77.200 57.811 35.414

%_COMISIN 10 11 9 13

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

76

Bases de datos
Programa desarrollado

39 27 44 35 12

Gabriela Acua Teresa Cardoso Alberto Snchez Berenice Medina Claudia Ortega

44 27 27 27

B.C. Sonora Aguas Calientes Sonora Nayarit B.C. COSTO 1,25 2,25 3,55 0,60 ID_PROD 2241 2518 1035 2518 1035 2241 2518 2249 2249 2241

10 15 12 11 10

PRODUCTO ID_PRODUCTO 1035 2241 2249 2518 VENTA FECHA 28/02 12/02 15/02 19/02 02/02 05/02 22/02 14/02 01/02 04/02 FABRICANTE ID_FABRICANTE 210 253 317

DESC_PRODUCTO abrigo lmpara de mesa lmpara de mesa escultura ID_CLIENTE 100 101 101 100 101 105 110 105 101 101 NOMB_FABRICANTE Nike Hugo boss Llama Llamps

ID_FABRICANTE 210 317 317 253 ID_VENDEDOR 10 23 23 39 23 10 37 10 23 23 DIRECCION AuklAND Lagos Lima

PRECIO 2,00 3,25 4,80 1,20 CANTIDAD 200 300 150 200 200 100 150 50 75 250

PAS Estados Unidos Nigeria Per

Ejemplo de datos en una base de datos. El lgebra relacional consta de nueve operaciones: unin, interseccin, diferencia, producto, seleccin, proyeccin, reunin, divisin y asignacin. Las cuatro primeras operaciones se toman de la teora de conjuntos de Matemticas, y son considerablemente parecidas a las operaciones encontradas all. Esto es razonable, debido a que las relaciones son en s mismas conjuntos, de esta manera se le pueden aplicar las operaciones de conjunto. Las cuatro siguientes son operaciones nuevas, que se aplican especficamente al modelo de datos relacional. Mientras que la ltima operacin (asignacin) es la operacin estndar de los lenguajes de computacin, de dar un valor a un nombre. En este caso, la asignacin se usa para dar un nombre a una nueva relacin que se crea de relaciones existentes. Se usar el signo := (es el nombre asignado a) para indicar la asignacin de nombres a relaciones. A continuacin se abordan cada una de las nueve operaciones del lgebra relacional.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

77

Bases de datos
Programa desarrollado

1. Unin La operacin de unin () permite combinar los datos de dos relaciones. Por ejemplo, en la figura 3.15, suponga que la relacin VENDEDOR no existe en la base de datos. En cambio, se tienen las dos relaciones de la figura 3.16. Estas dos relaciones representan todos los vendedores que estn subordinados a otros vendedores (VENDEDOR_SUBORDINADO) y todos los vendedores que son jefes de otros vendedores (VENDEDOR_JEFE). Obviamente, existe redundancia de datos, esto sucede a travs de la ejecucin de una serie de rdenes de lgebra relacional antes de utilizar el operador unin. Si se desea obtener una relacin que contenga todos los vendedores, se debe realizar la unin de VENDEDOR_SUBORDINADO y VENDEDOR_JEFE. VENDEDOR:= VENDEDOR_SUBORDINADO VENDEDOR_JEFE VENDEDOR es el nombre asignado a la relacin resultante y consiste en las filas que estn en VENDEDOR_SUBORDINADO o VENDEDOR_JEFE, o ambas. Es importante observar que una fila que existe en ambas relaciones aparece solo una vez en la relacin unin. Esto sigue la definicin de una relacin como un conjunto, debido a que un elemento dado se encuentra solo una vez en conjunto. VENDEDOR_SUBORDINADO ID_VENDEDOR 10 14 23 37 39 44 35 12 VENDEDOR_JEFE ID_VENDEDOR 1035 2241 2249 2518

NOMB_VENDEDOR Blanca Soto Mnica Mrquez Francisco Moreno Elena Hernndez Gabriela Acua Alberto Snchez Berenice Medina Claudia Ortega

ID_JEFE 27 44 35 12 44 27 27 27

OFICINA Aguas Calientes Sonora Nayarit B.C. Sonora Sonora Nayarit B.C.

%_COMISIN 10 11 9 13 10 12 11 10

OFICINA Aguas 27 Calientes 27 Sonora 27 Nayarit B.C. Representacin relacional alternativa de vendedor.

NOMB_VENDEDOR Teresa Cardoso Alberto Snchez Berenice Medina Claudia Ortega

ID_JEFE

%_COMISION 15 12 11 10

VENDEDOR
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

78

Bases de datos
Programa desarrollado

ID_VENDEDOR 10 14 23 37 39 27 44 35 12

NOMB_VENDEDOR ID_JEFE OFICINA Blanca Soto 27 Aguas Calientes Mnica Mrquez 44 Sonora Francisco Moreno 35 Nayarit Elena Hernndez 12 B.C. Gabriela Acua 44 Sonora Teresa Cardoso 27 Aguas Calientes Alberto Snchez 27 Sonora Berenice Medina 27 Nayarit Claudia Ortega B.C. Unin de vendedor subordinado y vendedor jefe.

%_COMISION 10 11 9 13 10 15 12 11 10

Se debe sealar un requisito especial de la operacin de unin que la hace ligeramente diferente de la unin de conjuntos de Matemticas. En Matemticas, dos conjuntos cualesquiera pueden ser combinados a travs de la operacin unin. Pero en el lgebra relacional, antes de aplicar la unin a las dos relaciones, estas deben tener exactamente las mismas columnas, tanto en nmero de columnas como en el dominio de las mismas. Si este es el caso, se dice que las dos relaciones son unin compatible. Obviamente, VENDEDOR_SUBORDINADO y VENDEDOR_JEFE son unin compatible. Se requiere la compatibilidad de la unin para que el resultado sea una relacin. Si se toma la unin de CLIENTE y PRODUCTO (ver figura 3.14) se obtendr un conjunto y una relacin. Las filas en el conjunto resultante no tendran columnas comunes, de este modo ellas no se agruparan en una tabla relacional. La compatibilidad de la unin es claramente esencial para la operacin de unin. Por la misma razn, es esencial para las operaciones de interseccin y diferencia. CLIENTE ID_CLIENTE 100 101 105 110 VENDEDOR ID_VENDEDOR

NOMB_CLIENTE Jos Lpez Maritza Julin Gmez NOMB_VENDEDOR

DIRECCION Box 241, Sonora B 918, Aguas Calientes Santiago ID_JEFE

PAS Japn Austria USA Chile OFICINA

SALDO INICIAL 45.551 75.314 49.333 27.400

SALDO ACTUAL 52.113 77.200 57.811 35.414

%_COMISIN

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

79

Bases de datos
Programa desarrollado

10 14 23 37 39 27 44 35 12

Blanca Soto Mnica Mrquez Francisco Moreno Elena Hernndez Gabriela Acua Teresa Cardoso Alberto Snchez Berenice Medina Claudia Ortega

27 44 35 12 44 27 27 27

Aguas Calientes Sonora Nayarit B.C. Sonora Aguas Calientes Sonora Nayarit B.C. COSTO 1,25 2,25 3,55 0,60 ID_PROD 2241 2518 1035 2518 1035 2241 2518 2249 2249 2241

10 11 9 13 10 15 12 11 10

PRODUCTO ID_PRODUCTO 1035 2241 2249 2518 VENTA FECHA 28/02 12/02 15/02 19/02 02/02 05/02 22/02 14/02 01/02 04/02 FABRICANTE ID_FABRICANTE 210 253 317

DESC_PRODUCTO abrigo lmpara de mesa lmpara de mesa escultura ID_CLIENTE 100 101 101 100 101 105 110 105 101 101 NOMB_FABRICANTE Nike Hugo boss Llama Llamps

ID_FABRICANTE 210 317 317 253 ID_VENDEDOR 10 23 23 39 23 10 37 10 23 23 DIRECCION AuklAND Lagos Lima

PRECIO 2,00 3,25 4,80 1,20 CANTIDAD 200 300 150 200 200 100 150 50 75 250

PAS Estados Unidos Nigeria Per

Ejemplo de datos en una base de datos. 2. Interseccin La operacin de interseccin () permite identificar los campos que son comunes en dos relaciones. Por ejemplo, si se requiere identificar a los vendedores que son subordinados de algn jefe, y que son jefes, se toma la interseccin de VENDEDOR_SUBORDINADO y VENDEDOR_JEFE, llamando al resultado VENDEDOR_SUBORDINADO_JEFE: VENDEDOR_SUBORDINADO_JEFE := VENDEDOR_SUBORDINADO VENDEDOR_JEFE
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

80

Bases de datos
Programa desarrollado

Esto produce la siguiente relacin: VENDEDOR_SUBORDINADO_JEFE ID_VENDEDOR NOMB_VENDEDOR 44 35 12 Alberto Snchez Berenice Medina Claudia Ortega ID_JEFE 27 27 27 OFICINA Sonora Nayarit B.C. %_COMISIN 12 11 10

El resultado de una operacin de interseccin es la relacin que consiste en todas las filas que estn en ambas relaciones. Esto significa que si C es la interseccin de A y B: C:= A B Entonces C consta de aquellas filas que estn en A y B. Al igual que antes, A y B deben ser unin compatible. 3. Diferencia La operacin de diferencia (-) permite identificar filas que estn en una relacin y no en otra. Suponga que es de inters identificar los jefes que no son subordinados de otros jefes, entonces se toma la diferencia entre VENDEDOR_JEFE y VENDEDOR_SUBORDINADO, en ese orden. VENDEDOR_JEFE_JEFE := VENDEDOR_JEFE - VENDEDOR_SUBORDINADO

VENDEDOR_JEFE_JEFE

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE 27 Teresa Cardoso 15

OFICINA Aguas Calientes

%COMISIN 11

La diferencia entre dos relaciones se define como la relacin consistente en todas las filas que estn en la primera relacin, y no estn en la segunda relacin. As, si: C:= A B Entonces una fila est en C si y solo si est en A y no est en B. Observe que A B no es lo mismo que B A. Si se invierte el orden de las relaciones usadas en el ejemplo anterior se obtendra: VENDEDOR_SUBORDINADO - VENDEDOR_JEFE La relacin resultante consistira de todos aquellos vendedores que no son jefes de nadie, lo cual es justamente lo opuesto de los vendedores que no son dirigidos por nadie. As es que el orden de las relaciones en una operacin de diferencia es muy importante. Una vez ms es importante recordar que ambas relaciones deben ser unin compatible.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

81

Bases de datos
Programa desarrollado

La operacin de diferencia puede tambin ser llamada operacin de sustraccin. Esta operacin particular es muy valiosa en la solucin de algunos problemas difciles, que de otro modo no se solucionaran. 4. Producto La operacin producto (*) es valiosa como un bloque para la construccin de una reunin (JOIN), que es probablemente la operacin ms importante en el lgebra relacional. La operacin producto es idntica a la operacin en Matemticas que crea el producto cartesiano de dos conjuntos. Ahora se explicar qu significa esto, ilustrndolo con la operacin de producto en un ejemplo abstracto muy simple. a) La relacin A y B A X 10 11 B W 33 37 42 (b) El producto de A y B C ( := A * B ) X 10 10 10 11 11 11 Y 22 22 22 25 25 25 W 33 37 42 33 37 42 Figura. Ejemplo de la operacin producto. Z 54 98 100 54 98 100 Z 54 98 100 Y 22 25

C:= A * B Observe que el producto se crea:


Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

82

Bases de datos
Programa desarrollado

1. Concatenando los atributos de las dos relaciones. 2. Uniendo cada fila en A, con cada una de las filas en B. Esto significa que los atributos de C son todos los atributos de A y B juntos. Debido a que A y B tienen dos atributos cada uno, C tiene cuatro atributos. Las filas de C se crean ensartando filas de A y B juntas. Cada fila de A se corresponde tres veces con B, y entonces aparece en tres diferentes filas en A, por el nmero de filas en B. Otro ejemplo usando la base de datos de la figura 3.14 se da si tomamos el producto de PRODUCTO y VENTA. P_V:= PRODUCTO * VENTA

P_V tendra 10 columnas y 40 filas, por lo que habra un problema en este caso, debido a que una columna en PRODUCTO y una columna en VENTA (ID_PRODUCTO) tienen el mismo nombre. Esto se resuelve modificando el nombre de la columna en cada caso, aadiendo el nombre de la relacin original. As, en P_V se tienen columnas llamadas PRODUCTO.ID_PRODUCTO y VENTA.ID_PRODUCTO. Esto parece ser una aplicacin no natural para la operacin producto, lo que significa que no est claro qu tipo de consulta se responde tomando el producto de dos relaciones. No obstante el producto se usa como la operacin de construccin de un bloque para la reunin (JOIN), tambin usado en el lenguaje de consulta SQL.

5. Seleccin La operacin de seleccin (=) se usa para crear una relacin a partir de otra relacin, seleccionando solo aquellas filas que satisfacen una condicin especfica. Por ejemplo: Instruccin: dar toda la informacin de los vendedores en la oficina de Sonora. Esto se soluciona seleccionando las filas de la relacin VENDEDOR de la figura 3.14, sujetas a la condicin de que una fila se selecciona solo si el atributo OFICINA es igual a Sonora. Esto se hace en el lgebra relacional como sigue: VEND_SONORA:= SELECT (VENDEDOR: OFICINA = Sonora)

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

83

Bases de datos
Programa desarrollado

El nombre VEND_SONORA se ha definido para identificar la relacin. La palabra clave SELECT se usa para indicar que est realizando una operacin de seleccin. A continuacin de SELECT se pone entre parntesis el nombre de la relacin de la cual son seleccionadas las filas, seguido por dos puntos (:); seguido por una condicin de seleccin. Esas filas que satisfacen la condicin de seleccin sern seleccionadas y puesta en relacin resultante. El resultado de esta operacin de seleccin es la siguiente: VEND_SONORA ID_VENDEDOR NOMB_VENDEDOR ID_JEFE 14 39 44 Mnica Mrquez Gabriela Acua Alberto Snchez 44 44 27 OFICINA Sonora Sonora Sonora % COMISIN 11 10 12

Las condiciones de seleccin son esencialmente las mismas condiciones usadas en las instrucciones IF (si) en los lenguajes tradicionales de programacin. Sin embargo, los nombres de las columnas usados en la condicin de la seleccin dada deben encontrarse en la relacin nombrada en la operacin de seleccin. Algunos ejemplos de condiciones de seleccin que podran usarse con la relacin VENDEDOR son:

ID_VENDEDOR=23 NOMB_VENDEDOR=Berenice Medina ID_JEFE>=20 not OFICINA = B.C. % COMISION < 11

Pueden usarse operadores de comparacin tales como < y >. Hay cinco operadores de comparacin mencionados en el subtema anterior. Para cada uno de estos hay un operador correspondiente que usa el operador booleano NOT. Tambin se pueden usar los conectores booleanos AND y OR. El operador NOT se puede usar para negar una condicin entera. Ejemplos Instruccin: Qu vendedor tiene ID 23? Solucin: SELECT (VENDEDOR: ID_VENDEDOR=23) Resultado: ID_VENDEDOR NOMB_VENDEDOR ID_JEFE 23 FRANCISCO MORENO 35 OFICINA NAYARIT %COMISIN 9

Instruccin: Quines son los vendedores con un jefe con un ID mayor o igual que 20? Solucin: SELECT (VENDEDOR: ID_JEFE > = 20 )
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

84

Bases de datos
Programa desarrollado

Resultado: ID_VENDEDOR NOMB_VENDEDOR ID_JEFE 10 Blanca Soto 27 OFICINA Aguas Calientes Sonora Nayarit Sonora 10 %COMISIN 10

14 23 39

Mnica Mrquez Francisco Moreno Gabriela Acua

44 35 44

11 9

Instruccin: dar toda la informacin sobre los vendedores excepto aquellos de la oficina de Buenos Aires. Solucin: SELECT: (VENDEDOR:OFICINA=B.C. Resultado: ID_VENDEDOR NOMB_VENDEDOR ID_JEFE 10 14 23 39 27 44 35 Blanca Soto Mnica Mrquez Francisco Moreno Gabriela Acua Teresa Cardoso Alberto Snchez Berenice Medina 27 44 35 44 0 27 27 OFICINA Aguas Calientes Sonora Nayarit Sonora Aguas Calientes Sonora Nayarit %COMISIN 10 11 9 10 15 12 11

Instruccin: Qu vendedores tienen una comisin menor a 11%? Solucin: SELECT (VENDEDOR: %COMISION<11) Resultado: ID_VENDEDOR NOMB_VENDEDOR ID_JEFE 10 23 39 Blanca Soto Francisco Moreno Gabriela Acua 27 35 44 OFICINA Aguas Calientes Nayarit Sonora %COMISIN 10 9 10

Instruccin: Quines son los vendedores de la oficina de Sonora que tienen una comisin >11%?
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

85

Bases de datos
Programa desarrollado

Solucin: SELECT (VENDEDOR: OFICINA =Sonora AND %_ COMISION>11) Resultado: ID_VENDEDOR NOMB_VENDEDOR 14 44 Mnica Mrquez Alberto Sanchez ID_JEFE 44 27 OFICINA Sonora Sonora %COMISIN 11 12

Instruccin: Quines son los vendedores cuyo jefe tiene identificador 27 o una comisin mayor que 10? Solucin: SELECT (VENDEDOR: ID_JEFE =27 AND %_ COMISION>10) Resultado: ID_VENDEDOR NOMB_VENDEDOR ID_JEFE 10 14 37 27 44 35 12 Blanca Soto Mnica Mrquez Elena Hernndez Teresa Cardoso Alberto Snchez Berenice Medina Buster Snchez 27 44 12 27 27 27 OFICINA Aguas Calientes Sonora B.C. Aguas Calientes Sonora Nayarit B.C. %COMISIN 10 11 13 15 12 11 10

6. Proyeccin Para ilustrar la operacin de seleccin preguntaban Quines, lo cual siguiere que los usuarios queran solo los nombres de los vendedores que satisfacan la condicin de la consulta. Sin embargo, la respuesta a cada consulta inclua filas enteras de datos tomadas de la relacin VENDEDOR, debido a que la operacin de seleccin siempre selecciona filas enteras. Est claro que se necesita alguna manera de eliminar las columnas no deseadas. Si la operacin de seleccin puede pensarse como la eliminacin de las filas no deseadas, la operacin de proyectar se piensa como la eliminacin de las columnas no deseadas. La relacin que resulta de una operacin de proyectar se llama una proyeccin de la relacin original. A diferencia de otras operaciones del lgebra relacional, la operacin de proyectar no requiere de una palabra clave especial o smbolo. Ms bien, para crear una proyeccin una relacin consistente solo de ciertas columnas identificadas de otra relacin se enlista simplemente la relacin original seguida de las columnas que se quieren conservar encerradas entre corchetes.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

86

Bases de datos
Programa desarrollado

Por ejemplo, si se desea identificar a los vendedores de la oficina de Sonora, se proyectara la columna nombre de la relacin VENDEDOR-SONORA que visualizamos en los ejemplos anteriores.

VENDEDOR_SONORA [ NOMB_VENDEDOR]

Esto resulta de la siguiente relacin:

NOMB_VENDEDOR Mnica Mrquez Gabriela Acua Alberto Snchez

Se podran haber escogido ms de una columna, si se quiere el ID, el nombre y el jefe de esos vendedores se introduce: VENDEDOR_SONORA (ID_VENDEDOR, NOMB_VENDEDOR, ID_JEFE) Resultante: ID_VENDEDOR NOMB_VENDEDOR ID_JEFE 14 Mnica Mrquez 44 39 Gabriela Acua 44 44 Alberto Snchez 27 Es de inters conocer todos los diferentes % de comisin pagados a los vendedores. Se puede obtener esto proyectando simplemente la columna %_COMISION de la relacin VENDEDOR: VENDEDOR [%COMISION] Resultante: %COMISIN 10 11 9 13 15 12

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

87

Bases de datos
Programa desarrollado

En cada tasa de comisin aparece solo una vez, an cuando distintos vendedores tienen la misma tasa de comisin. Ya que una relacin es un conjunto, una tasa dada aparece solo una vez. Esto es una caracterstica importante de la operacin de proyectar. Automticamente elimina filas duplicadas de la operacin resultante. Esto acurre cuando la relacin resultante consiste de ms de una columna. Si cualesquiera dos filas enteras de una relacin son idnticas columna por columna, la fila aparece solo una vez en la relacin. Esta operacin presenta una oportunidad conveniente para mostrar el anidamiento de operaciones en el lgebra relacional. Por anidamiento se entiende la ejecucin de ms de una operacin sin asignar explcitamente un nombre a las relaciones intermedias resultantes. Por ejemplo, aadamos una operacin de proyectar a una de las consultas usadas para ilustrar las operaciones de seleccin: Instruccin: quines son los vendedores que tienen una comisin < que 11%? Solucin: SELECT (VENDEDOR: %COMISION<11) [NOMB_VENDEDOR] Resultado: NOM_VENDEDOR Blanca Soto Francisco Moreno Gabriela Acua Claudia Ortega

Este ejemplo muestra la operacin de seleccin que se realiza primero seguida por la proyeccin sobre la columna NOMB_VENDEDOR resultante. Esto es permitido para anidar operaciones del lgebra relacional, como se necesite, usando parntesis donde se necesite mostrar el orden de las operaciones.

7. Reunin Conocida como JOIN, sirve para conectar datos a travs de relaciones, es la funcin ms importante en cualquier lenguaje de base de datos. Se conocen varias versiones que son las siguientes: la reunin natural (natural join) la reunin theta (theta join) y la reunin externa (outer join) de las cuales la ms importante es la reunin natural (ver figura 3.14 de la relacin VENTAS). Esta relacin almacena al cliente, al vendedor y al producto involucrado en una transaccin de venta particular, incluyendo los IDs de estos tres elementos de datos. La informacin permite hacer conexiones lgicas entre las relaciones CLIENTE, VENDEDOR y PRODUCTO. Pensemos en un ejemplo: se deja conocer los nombres de los clientes que han hecho compras al vendedor 10, lo primero es seleccionar aquellas ventas aplicadas solo al vendedor 10, y se ponen entonces en una relacin que se llama VENTA_10.

VENTA_10
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

88

Bases de datos
Programa desarrollado

FECHA 28/02 05/02 14/02

ID_CLIENTE 100 105 105

ID_VENDEDOR ID-PRODUCTO 10 10 10 2241 2241 2249

CANTIDAD 200 100 50

Se obtiene la informacin deseada reuniendo las relaciones VENTAS_10 y CLIENTE. Esta operacin procede como sigue: 1. Se crea el producto de VENTA_10 y CLIENTES. Se obtiene una relacin con 11 columnas (5 de VENTA_10 y 6 de ID_CLIENTE) y 12 filas (3 en VENTA_10 * 4 en CLIENTE). 2. Todas las filas de esta relacin producto se eliminan, excepto aquellas en las cuales el ID_CLIENTE de VENTA_10 es igual al ID_CLIENTE de CLIENTE. En el resultado se debe observar que hay dos columnas ID_CLIENTE en la relacin y que en cada fila los valores en estas dos columnas son idnticos. 3. Dado que las dos columnas ID_CLIENTE contienen idntica informacin, una de ellas puede eliminarse. Esto resulta en la reunin natural de VENTA_10 y CLIENTE. FECHA 28/02 05/02 14/02 ID_CLIENTE 100 105 105 ID_VENDEDOR ID_PRODUCTO CANTIDAD 10 10 10 2241 2241 2241 PAS 200 100 50 SALDO INICIAL 45.551 49.333 49.333 SALDO ACTUAL 52.113 57.811 57.811

ID_CLIENTE NOMB_CLIENTE DIRECCIN

100 105 105

Jos Julin Julin

Box 241, Sonora Mrida B 918, Aguas Culiacn Calientes Culiacn B 918 Aguas Calientes Figura. Resultado de la reunin natural.

Se ha obtenido mucha informacin de solo los nombres de los clientes. Si se quiere solo el nombre, se tendr que proyectar la columna NOMB_CLIENTE de la relacin. 8. Divisin Para trabajar con la divisin ejemplifiquemos la siguiente consulta. Instruccin: liste los vendedores que han vendido todos los productos.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

89

Bases de datos
Programa desarrollado

La base de datos contiene cuatro productos diferentes con ID: 1035, 2241, 2249 y 2218. Un vendedor satisface la consulta si l o ella han vendido cada uno de estos productos al menos una vez. Es decir, para cada uno de estos productos debe haber al menos una fila en VENTA y que contenga el ID-VENDEDOR de este vendedor. Una consulta como esta puede solucionarse usando la operacin divisin (divide) del lgebra relacional. Cmo resolver esta consulta? Se seguir un procedimiento cercano al que se usara intuitivamente, y se mostrar cmo la operacin de divisin corresponde con este procedimiento. El primer paso ser entonces obtener una relacin consistente del atributo clave para todos los productos en la base de datos. Se hace esto proyectando PRODUCTO en ID_PROD. PI:= PRODUCTO[ID_PROD] PI es una relacin que contiene todos los valores de ID_PROD y se obtendr una relacin que contenga todas las instancias donde su vendedor y un producto estn juntos en una nica venta. Esto se hace proyectando la relacin VENTA en ID_PROD e ID_VENDEDOR: PI_VI := VENTA[ID_PROD, ID_VENDEDOR] La instancia PI_VI consiste en un ID_PROD y un ID_VENDEDOR y significa que el producto representado por ID_PROD fue vendido por el vendedor representado por ID_VENDEDOR. Entonces PI_VI: consiste en todas las combinaciones producto/vendedor, donde el vendedor ha vendido el producto. Resultante: PI ID_PROD 1035 2241 2249 2518 ID_VENDEDOR ID_PROD 10 2241 23 2518 23 1035 39 2518 37 2518 10 2249 23 2249 23 2241

Ahora solo se necesita determinar si cada vendedor presentado en PI_VI se asocia con cada ID del producto en PI, esto se hace automticamente con la operacin de divisin. A:= PI_VI/PI
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

90

Bases de datos
Programa desarrollado

Resultado: A ID: VENDEDOR 23

En la operacin de divisin se asume que A, B y C son relaciones, y se desea dividir B por C, dando A como resultado. 1. Las columnas de C deben ser un subconjunto de las columnas de B. Las columnas de A son todas y solo aquellas de B que no son columnas de C, esto corresponde al ejemplo anterior. Las columnas de PI/VI son ID_PROD e ID_VENDEDOR, mientras que la columna de PI es ID_PROD y la columna de A es ID_VENDEDOR. 2. Una fila se encuentra en A solo si est asociada con B con la fila de C. Esto tambin se corresponde al ejemplo citado, debido a que una fila de A (ID_VENDEDOR=23) est asociada en PI_VI con todas las filas de PI y es adems el nico ID_VENDEDOR asociado. 3. Esta operacin es la opuesta a la operacin producto. Es fcil verificar que si una relacin es el producto de dos relaciones B y C, entonces se puede obtener B, dividiendo el producto de C: (B*C)/C=B entonces vemos la analoga con la aritmtica comn del porqu se ha llamado operacin de divisin. Codd la incluy en el lgebra relacional para proporcionar la capacidad necesaria para el cuantificador universal del clculo relacional. De manera prctica, la operacin de divisin se proporcion para que se pudieran relacionar consultas que involucraran cada o todo como parte de la condicin. 9. Asignacin Asignacin es la operacin estndar de los lenguajes de computacin, que consiste en dar un valor a un nombre. En este caso la asignacin se usa para dar un nombre a una nueva relacin que se crea de relaciones existentes. Se usa el signo := (es el nombre asignado a) para indicar la asignacin de nombres a relaciones.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

91

Bases de datos
Programa desarrollado

Para sintetizar los temas abordados a lo largo de la presente unidad, te sugerimos revisar los materiales de apoyo.

Actividad 4. Ejercicio: Funciones bsicas de SQL y lgebra relacional El propsito de esta actividad es que comiences a aplicar las funciones bsicas de SQL, y las operaciones elementales del lgebra relacional, para saber en qu casos se utiliza cada una de ellas. Instrucciones: 1. En un documento de texto, enlista las instrucciones DDL y su aplicacin, as como un ejemplo de cada una de ellas. 2. En la segunda cuartilla del documento, menciona para qu sirven los comandos DML de SQL y muestra el uso de cada una de ellas. 3. Selecciona dos de las operaciones bsicas del lgebra relacional y aplcalas en la base de datos. 4. Guarda la actividad con el nombre BDD_U3_A4_XXYZ y envala a tu facilitador(a) para recibir retroalimentacin.

Evidencia de aprendizaje. Desarrollo e integracin de prototipo El propsito de esta actividad es que organices las actividades elaboradas a lo largo del curso para que las presentes como evidencia final de aprendizaje, adems debes incluir el prototipo de bases de datos que confeccionaste en el curso. 1. En un documento de Word, anota el nombre de la base de datos del caso de estudio que elaboraste a lo largo de la asignatura y el ndice de los elementos que conformarn la presente evidencia. 2. Integra en el documento las actividades realizadas a lo largo del curso, de acuerdo con el ndice anterior, donde cada una tenga los siguientes datos: nombre de la actividad, objetivo y conclusiones. 3. Redacta una presentacin que enlace el contenido con su aplicacin en el prototipo, incluyendo su importancia. 4. Agrega los elementos del prototipo: a) Concepto de base de datos. b) Eleccin del caso de estudio. c) Tipo de Base de datos utilizado. d) Esquema de entradas, procesos y salidas. e) Instrumento de recopilacin de informacin (cuestionario, entrevista o encuesta), segn el caso.
Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

92

Bases de datos
Programa desarrollado

f) Reporte de estudio de factibilidad. g) Requerimientos de hardware y software. h) Modelo entidad relacin i) Tablas lgicas. j) Diccionario de datos. k) Aplicacin de cinco operaciones de lgebra relacional como mnimo al caso de estudio. l) Conclusiones. 5. Guarda la evidencia con el nombre BDD_U3_EA_XXYZ. 6. Enviar el archivo a tu facilitador(a) para recibir retroalimentacin. Al terminar el proceso anterior, ingresa al foro Preguntas de Autorreflexin y lee los cuestionamientos que formul tu Facilitador(a), posteriormente, sal del foro, ingresa a la seccin Autorreflexiones y, dentro de sta, enva tu autorreflexin con el nombre BDD_U3_ATR_XXYZ.

Consideraciones especficas de la unidad Es importante ser autodidacta, creativo y sobre todo tener una amplia visin para jugar con las diferentes instrucciones SQL, as como para la aplicacin del lgebra relacional, ya que esto aportar un mayor conocimiento terico y prctico para el desarrollo de las habilidades en la construccin de bases de datos.

Cierre de la unidad Has concluido la tercera, y ltima, unidad de la asignatura de Bases de datos. A lo largo del curso se abordaron los temas bsicos de informtica, ligando las ideas, poco a poco, hasta llegar a los conceptos generales de las bases de datos, que fueron el punto clave para conocer los tipos de bases de datos y gestores, dando una explicacin de sus funciones y usos. Finalmente, en la unidad tres, se revisaron los modelos de bases de datos y su aplicacin de manera prctica, utilizando SQL y sus instrucciones DDL y DML, pasando a la aplicacin de ejercicios con lgebra relacional. Es recomendable que revises nuevamente la unidad en caso de que los temas que se mencionan no te sean familiares o no los recuerdes, de no ser este el caso, ahora realiza el examen final para concluir satisfactoriamente con la unidad. Felicidades!

Examen final Como parte de la evaluacin de la asignatura, se pide llevar a cabo un examen final cuyo propsito es reforzar los conocimientos adquiridos a lo largo del curso. Ingresar al aula virtual para realizar la actividad.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

93

Bases de datos
Programa desarrollado

Fuentes de consulta Celma, M.; Casamayor, J.C.; Mota, L. (2003) Base de datos relacionales. Madrid: Pearson-Prentice HALL. MasterMagazine (2005) Definicin de ASCII. Recuperado el 21 de enero de 2011, de http://www.mastermagazine.info/termino/3926.php Prez L, Csar. (2008) Oracle 10g: administracin y anlisis de Base de datos. Segunda edicin. Mxico: Alfaomega. Quiroz, Javier. (2003) El modelo relacional de Base de datos en Boletn de Poltica Informtica Nm. 6 (Versin electrnica). Recuperado el 26 de enero de 2011, de: http://www.inegi.org.mx/inegi/contenidos/espanol/prensa/contenidos/articulos/tecnologia/relacional.pdf Real Academia Espaola (2001) Diccionario de la lengua espaola. Vigsima segunda edicin (Versin digital). Recuperado el 19 de enero de 2011, de http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica Silberschatz, Abraham. (2006). Fundamentos de Base de Datos. Espaa: McGraw-Hill.

Educacin Superior Abierta y a Distancia Ciencias Exactas, Ingeniera y Tecnologa.

94