94
 Bases de datos Programa desarrollado Educación Superior Abierta y a Distancia  Ciencias Exactas, Ingeniería y Tecnología.  1 Área de Ciencias Exactas, Ingenierías y Tecnológicas Cuatrimestre TRES Programa de la asignatura: Bases de datos Clave: 210910311 y 150910311 Febrero de 2011

BDD_PD_PROGRAMA.pdf

Embed Size (px)

Citation preview

Page 1: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 1/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  1

Área de Ciencias Exactas, Ingenierías y Tecnológicas

Cuatrimestre TRES 

Programa de la asignatura:

Bases de datosClave:

210910311 y 150910311

Febrero de 2011

Page 2: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 2/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  2

SECRETARÍA DE EDUCACIÓN PÚBLICA

 Alonso Lujambio Irazábal

SUBSECRETARÍA DE EDUCACIÓN SUPERIOR

Rodolfo Tuirán Gutiérrez

PROGRAMA DE EDUCACIÓN SUPERIOR ABIERTA Y A DISTANCIACOORDINACIÓN GENERAL

Manuel Quintero Quintero

COORDINACIÓN ACADÉMICA

Soila del Carmen López Cuevas

DISEÑO INSTRUCCIONAL

Eliangel Navarro Flores y Juan Oropeza Mota

EVALUACIÓN Y ACREDITACIÓN DE PROGRAMAS EDUCATIVOS

Brenda Mariana Cruz Reyes

AGRADECEMOS LA COLABORACIÓN EN EL DESARROLLO DE ESTE MATERIAL A:

Mtra. Claudia Gabriela Hernández Medina y Mtra. Verónica Martínez Pérez

Secretaría de Educación Pública, 2011 

Page 3: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 3/94

Page 4: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 4/94

Page 5: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 5/94

Page 6: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 6/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  6

Evidencia de aprendizaje. Desarrollo e integración de prototipo ....................................................................... 92

Consideraciones específicas de la unidad............................................................................................................. 93

Cierre de la unidad .................................................................................................................................................... 93

Examen final ............................................................................................................................................................... 93

Fuentes de consulta .................................................................................................................................................. 94

Page 7: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 7/94

Page 8: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 8/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  8

3. Diseño

En la primera unidad se abarcan los conceptos generales informáticos y específicos de las Bases de datos,

los tipos y su estructura. En la segunda unidad se muestran los temas combinando la teoría y la práctica,ya que aborda la estructura de los procesos, entradas y salidas, herramientas de estudios de factibilidad(operacional, financiero y económico), el desarrollo del Reporte del estudio de factibilidad, losrequerimientos de hardware y software, así como la aplicación de las técnicas 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 trabajanen las Bases de datos, diccionario de datos y álgebra relacional.

c. Propósito

El propósito fundamental del curso es aplicar los conocimientos adquiridos para generar un prototipo deBase de datos documental, que permita dar solución a los requerimientos del usuario.

II. FUNDAMENTACIÓN TEÓRICA DE LA ASIGNATURA

Los fundamentos que justifican la asignatura son de carácter teórico-práctico, dado que la estructura de lasunidades está diseñada de una manera en la que la primera unidad abarca los conceptos generalesinformáticos y específicos de las Bases de datos, los tipos y su estructura, así como gestores, suselementos y características, para que el estudiante los aplique conforme va avanzando en su temario. Por otra parte, la unidad dos muestra los temas combinando la teoría y la práctica, ya que aborda la estructurade los procesos, entradas y salidas, herramientas de estudios de factibilidad (operacional, financiero yeconómico), el desarrollo del Reporte del estudio de factibilidad, los requerimientos de hardware y software,así como la aplicación de las técnicas de modelados, incluyendo conceptos y ejemplificación práctica de lostemas que se abordan. Finalmente, la unidad 3 está enfocada a cuestiones totalmente prácticas, dado quetiene la facultad de estructurar los modelos y finalizar con el prototipo esperado, tomando como base lasestructuras Structured Query Language (SQL) que son: Data Definition Language (DDL) y DataManipulation Language (DML), los tipos de datos que se trabajan en las Bases de datos, el diccionario dedatos y el álgebra relacional. 

III. COMPETENCIAS A DESARROLLAR

Competencia general

Realizar prototipos de Bases de datos documentales, que sirvan de modelo para dar solución aproblemas relacionados con la gestión de información, por medio de técnicas de modelaje quepartan del análisis del problema y los requerimientos del usuario final.

Page 9: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 9/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  9

Competencias específicas

Diferenciar los conceptos específicos de Bases de datos para comprender los tipos de éstas, así

como sus Sistemas Gestores, por medio de las características que las describen. Analizar problemas de gestión de información 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 económico).

Elaborar modelados de Bases de datos documentales para representar la información que satisfagalas necesidades de gestión de información, mediante las técnicas de modelaje utilizadas paragenerar un prototipo.

IV. TEMARIO

UNIDAD 1. Introducción a las Bases de datos1.1. Conceptos generales

1.1.1. Conceptos informáticos básicos1.1.2. Conceptos específicos de Bases de datos

1.2. Tipos de Bases de datos1.2.1. Base de datos de árbol (jerárquica)1.2.2. Base de datos de red1.2.3. Base de datos relacional1.2.4. Sistema Gestor de Base de Datos (SGBD)1.2.5. Estructura de un Sistema Gestor de Base de Datos

UNIDAD 2. Análisis2.1. Lineamientos metodológicos de recopilación de requerimientos

2.1.1. Análisis. Concepto2.1.2. Estructura de las entradas, procesos y salidas2.1.3. Herramientas de estudios de factibilidad (operacional, financiero y económico)2.1.4. Reporte del estudio de factibilidad2.1.5. Requerimientos de hardware y software

2.2. Técnicas de modelado de datos2.2.1. Modelado de objetos2.2.2. Modelado entidad relación (E-R)2.2.3. Normalización2.2.4. Modelado relacional

UNIDAD 3. Diseño

3.1. Diseño de prototipo de Bases de datos3.1.1. Concepto de Structured Query Language (SQL)3.1.2. Tipos de datos3.1.3. Generación de Diccionario de datos3.1.4. Instrucciones SQL: Data Definition Language (DDL) y Data Manipulation Language(DML)3.1.5. Álgebra relacional

V. METODOLOGÍA DE TRABAJO

Page 10: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 10/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  10

La asignatura de Bases de datos presenta nociones teóricas y prácticas que requieren y provocan un altogrado de abstracción, ya que se enfoca en abordar conceptos básicos y específicos, que serán de usocontinuo y se aplicarán en las técnicas de modelaje para el desarrollo de prototipos, de forma documental.

Por tal razón es importante contar con una unidad introductoria a conceptos generales y específicos de lasBases de datos, dado que en las unidades siguientes se manejan aspectos tanto teóricos como prácticos,con el objetivo de que el estudiante vaya aplicando sus conocimientos sobre las técnicas de modelaje enun caso práctico, por ello se plantea una metodología de Aprendizaje Basado en Casos (ABC). Desde elinicio de la primera unidad, el estudiante interactúa 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 tambiénse presentan actividades de investigación que complementen los contenidos, lo que permite ejercitar ypresentar sus evidencias de aprendizaje de los temas vistos en cada unidad.

VI. EVALUACIÓN

En el marco del Programa de la ESAD, la evaluación se conceptualiza como un proceso participativo,sistemático y ordenado que inicia desde el momento en que el estudiante ingresa al aula virtual, por lo quese le considera desde un enfoque integral y continuo.

Por lo anterior, para aprobar la asignatura de Bases de datos, se espera la participación responsable yactiva del estudiante, así como una comunicación estrecha con su facilitador para que pueda evaluar objetivamente su desempeño. Para lo cual es necesaria la recolección de evidencias que permitan apreciar el proceso de aprendizaje de contenidos: declarativos, procedimentales y actitudinales.

En este contexto la evaluación es parte del proceso de aprendizaje, en el que la retroalimentaciónpermanente es fundamental para promover el aprendizaje significativo y reconocer el esfuerzo. Es requisitoindispensable la entrega oportuna de cada una de las tareas, actividades y evidencias, así como laparticipación en foros, wikis, blogs y demás actividades programadas en cada una de las unidades, dentrodel tiempo especificado y conforme a las indicaciones dadas. La calificación se asignará de acuerdo con larúbrica establecida para cada actividad, por lo que es importante que el estudiante la revise antes derealizar la actividad correspondiente.

 A continuación se presenta el esquema general de evaluación.

RECURSOS Y HERRAMIENTAS VALOR

 Actividades formativas (envíos a taller y tareas). 30%

Interacción en el aula y trabajo colaborativo (foros ybases de datos).

10%

E-Portafolio (evidencias de aprendizaje yautoreflexiones).

50%

Examen final. 10%

Cabe señalar que para aprobar la asignatura, se debe de obtener la calificación mínima indicada por ESAD.

Page 11: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 11/94

Page 12: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 12/94

Page 13: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 13/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  13

VIII. DESARROLLO DE CONTENIDOS POR UNIDADAD 

UNIDAD 1. Introducción a las Bases de datos

Propósito de la unidad

En la presente unidad analizarás el proceso para la elaboración delprototipo de base de datos documental, tomando en cuenta el concepto de

bases de datos, los diversos tipos que existen de ellas, así como losdiferentes Sistemas Gestores de Bases de Datos.

Competencia específica

Diferenciar los conceptos específicos de Bases de datos para comprender los tipos de éstas, así como sus Sistemas Gestores, por medio de lascaracterísticas que las describen.

Page 14: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 14/94

Page 15: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 15/94

Page 16: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 16/94

Page 17: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 17/94

Page 18: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 18/94

Page 19: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 19/94

Page 20: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 20/94

Page 21: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 21/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  21

Recuerda que un exponente negativo indica cuántas veces dividir por ese número el uno; por ejemplo: 8 -3 =1÷8÷8÷8 = 0.001953125, o bien: 8-3 = 1 ÷ (8*8*8) = 1÷512 = 0.001953125.

Los números octales pueden construirse a partir de números binarios, agrupando cada tres dígitosconsecutivos de estos últimos (de derecha a izquierda) y obteniendo su valor decimal. Por ejemplo, elnúmero 74 (en decimal) es 1001010 (en binario), si éste lo agrupamos como 1 001 010, obtenemos que 74es 112 en octal porque:

Es conveniente mencionar que la cantidad correspondiente en octal se concentra de izquierda a derecha.

Sistema numérico hexadecimal

Un sistema muy utilizado en la informática actual es el Sistema Hexadecimal, de igual manera es graciasa su facilidad de conversión al formato binario. En este caso se utiliza como base el 16, y al igual que lossistemas vistos con anterioridad cada dígito altera su valor dependiendo de su lugar en la cadena de dígitospor ejemplo, el número 1234 es igual a:

Debido a que el sistema usual de numeración es de base decimal, contando con sólo diez dígitos, seutilizan las primeras seis letras del alfabeto latino para suplir los dígitos faltantes, por lo que el sistemanumérico hexadecimal está conformado por los dígitos 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 conversión de un número hexadecimal a binario se logra sustituyendo los correspondientes cuatrobits para cada dígito que componen la serie. Por ejemplo A B 0 C D h = 1010 1011 0000 1100 1101 b:

Page 22: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 22/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  22

Una vez que se han abordado los sistemas numéricos con los que trabajan las computadoras, es necesariohablar de los códigos EBCDIC (Extended Binary Coded Decimal Interchange Code / Código Ampliado deIntercambio Decimal Codificado en Binario) y ASCII ( American Standard Code for Information Interchange / Código Estadounidense Estándar para el Intercambio de Información), como los más importantes y

conocidos para representar datos.

El primero es un código para texto y comunicaciones basado en el sistema binario que se creó paracomunicaciones y control de impresoras por IBM. Es un código de 8 bits y almacena un carácter alfanumérico o dos dígitos en un byte.

Por otra parte, ASCII es un código que se basa en un conjunto de caracteres del alfabeto latino utilizado enel idioma inglés y otras lenguas del mundo occidental. Con el objetivo de controlar dispositivos digitales quemanipulan texto o para representar textos en pantalla, la mayoría de los sistemas informáticos del día dehoy utilizan el código ASCII, el cual fue desarrollado como una evolución de los códigos telegráficos en1963, por el entonces llamado ASA ( American Standards Association / Asociación Estadounidense deEstándares), el cual pasó a llamarse ANSI ( American National Standards Institute / InstitutoEstadounidense de Estándares Nacionales) en 1969.2 

Lenguajes de programación

2MasterMagazine (2005) Definición de ASCII. Recuperado el 21 de enero de 2011, de

http://www.mastermagazine.info/termino/3926.php 

Page 23: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 23/94

Page 24: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 24/94

Page 25: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 25/94

Page 26: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 26/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  26

Conceptos específicos 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 más reducidas. Disminución de errores determinados por la introducción de datos, ya que no se presenta redundancia

de datos. Fiabilidad y disponibilidad; comúnmente 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 deque 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 múltiples sitios, ya que hay basesde datos más pequeñas en cada uno de éstos, y, en consecuencia, las consultas locales y lastransacciones que tienen acceso a datos a un sólo sitio tienen un mejor rendimiento porque las bases dedatos son más pequeñas, además, cada sitio tiene un mejor número de transacciones en ejecución, quesi todas las transacciones se enviaran a una sola base de datos centralizada.

Desventajas

Como en cualquier sistema informático, el margen de error siempre se presenta, y las bases de datos noson la excepción, 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; laprobabilidad de violaciones de seguridad es creciente si no se tiene en cuenta la seguridad, que es unpunto primordial para resguardar la información de manera fiable.

Las fallas no predecibles, tanto de componentes de hardware como de software, son complejas, ya quetratando de evitar estas fallas la integridad de la información no tendrá problemas. La integridad se refiere ala consistencia, validez y exactitud de la información.

 Algunas otras desventajas son que los datos pueden estar replicados, así como también el control deconcurrencia y los mecanismos de recuperación que son mucho más complejos que en un sistema

Page 27: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 27/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  27

centralizado, y la distribución produce un aumento en la complejidad del diseño y en la implementación delsistema.

Actividad 3. Generar el concepto propio de Base de datos

Con el propósito de reflexionar sobre el tema central de la asignatura, debes construir un concepto propiode Bases de datos, tomando en cuenta los temas abordados con anterioridad, las lecturas externas(investigación) y los comentarios de tus compañeros, para participar en el foro aportando tu concepto. Envista de lo anterior, realiza lo que se te indica:

1 Investiga la definición de Base de datos de algún autor.2 Tomando en cuenta lo investigado, construye tu propio concepto de bases de datos.

3 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 éstastuvieron muy fuerte auge en las computadoras comerciales, de hecho la automatización de las tareas deprocesamiento de datos precede a las computadoras. Las tarjetas perforadas, inventadas por Hollerith, seusaron en los principios del siglo XX para registrar los datos del censo de los EE.UU, se utilizaron sistemasmecánicos para procesar las tarjetas y para tabular los resultados. Las tarjetas perforadas se usaronampliamente como medio para introducir datos de las computadoras posteriormente.

La evolución de los sistemas de bases de datos inició de la mano con la evolución de los soportes dealmacenamiento de información. En un inicio alrededor de los años 50 se desarrollaron las cintasmagnéticas, lo que fue dejando detrás a las tarjetas perforadas.Con el surgimiento de los discos fijos el manejo de datos cambió de manera radical, ya que éstos permitíanel acceso directo a los datos, sin importar su ubicación u orden. Este cambio permitió el desarrollo de basesde datos en red y jerárquicas, con lo que las estructuras de datos, además de poder construir y manipular directamente estas estructuras.

Page 28: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 28/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  28

Después surgió el modelo no relacional y el de formas procedimentales de consulta, que tenía comoventaja la simplicidad de desarrollo y la posibilidad de ocultar los detalles de implementación alprogramador.

 A pesar de que este modelo llamó la atención de muchos programadores no se utilizaba en la práctica,porque su rendimiento no fue tan alto como las bases de datos de red y jerárquicas existentes. Esto cambiocuando IBM desarrolló el prototipo System R, con lo que se desarrolló el primer producto comercial deconstrucción de bases de datos relacionales: SQL/DS.

Estos sistemas de bases de datos rápidamente sustituyeron las bases de datos jerárquicas y de red, queeran de bajo nivel, mientras que las relacionales las operaciones que eran de ese nivel se realizabanautomáticamente, de modo que el programador no se tenía que concentrar tan arduamente en el nivellógico.

Estos modelos de bases de datos se han convertido en el modelo dominante, pero más importante queeso, han sido el punto de partida para apuntalar la investigación que generó el desarrollo de bases de datosparalelas y distribuidas así como los primeros proyectos de bases de datos orientadas a objetos.

Mientras que en la década de los ochenta fueron las aplicaciones de transacciones, en las que se hacenactualizaciones constantemente, pero gracias al desarrollo del SQL se comenzaron a utilizar para la tomade decisiones, que se basan más en la consulta, lo que a su vez llevó a un importante crecimiento en lasherramientas 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 elcrecimiento del Worl Wide Web, lo que llevó su implementación a un público más extenso con el desarrollode interfaces basadas en red.

Lo anterior da cuenta de cómo han aparecido los diferentes tipos de bases de datos. Ahora bien, antes decontinuar con el siguiente tema, es conveniente centrar nuestra atención en algunas de las característicasde los tipos de bases de datos más conocidos:

El modelo jerárquico es un tipo de Sistema Gestor que organiza la información en forma de árbolgenealógico, en el que un nodo puede tener a su vez varios nodos que deriven de él.

Page 29: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 29/94

Page 30: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 30/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  30

Para cada curso: número de curso, título de curso, detalles de todos los cursos que sean requisitosinmediatos y detalles de todos los ofrecimientos.

Para cada curso que sea requisito de un curso dado: número de curso de ese requisito.

Para cada ofrecimiento de un curso dado: número de ofrecimiento, fecha, lugar, detalles de todoslos profesores y detalles de todos los estudiantes.

Para cada profesor de un ofrecimiento dado: número de empleado y nombre.

Para cada estudiante de un ofrecimiento dado: número de empleado, nombre y calificación.

El tipo de árbol para la base de datos académica tiene CURSO como su tipo de registro de raíz y poseedos tipos de subárbol, cuyas raíces son los tipos de REQ y OFRECIMIENTO, respectivamente (yadviértase que este conjunto de dos tipos de subárbol está ordenado; es decir, el tipo de subárbol REQprecede al tipo de subárbol OFRECIMIENTO, como se muestra en la figura). El tipo de subárbol con raíz enREQ es sólo raíz; en cambio, el tipo de subárbol con raíz en OFRECIMIENTO tiene a su vez dos tipos de

subárbol de nivel más bajo, los dos de sólo raíz, cuyas raíces son los tipos de registro PROFESOR YESTUDIANTE, respectivamente. Una vez más, los tipos de subárbol están ordenados. Así pues, la base dedatos contiene cinco tipos de registro: CURSO, REQ, OFRECIMIENTO, PROFESOR y ESTUDIANTE.CURSO como tipo de registro raíz, y los demás como tipos de registros dependientes. CURSO es el tipo deregistro padre de los tipos de registro REQ y OFECIMIENTO, y éstos son tipos de registro hijos de tipo deregistro CURSO. De manera similar, OFRECIMIENTO es el tipo de registro padre de PROFESOR yESTUDIANTE, y éstos son tipos de registro hijos de OFRECIMIENTO. La conexión entre un tipo hijo dadoy su tipo padre correspondiente, se llama tipo liga.Cierta información que en una base de datos relacional se representaría con claves ajenas, en una base dedatos jerárquica se presenta mediante ligas padre-hijo. En la base de datos académica, por ejemplo, laconexión entre los ofrecimientos y los cursos está representada no por un campo NumCurso en el registroOFRECIMIENTO, sino por la liga CURSO-OFRECIMEINTO.Una vez tratada la cuestión de los tipos, a continuación se revisan las ocurrencias.

La terminología raíz/padre/hijo, que se señaló anteriormente en los tipos, se refleja también en lasocurrencias. De esta manera, cada ocurrencia de árbol consiste en una sola ocurrencia de registro raíz,

 junto con un conjunto ordenado de cero o más ocurrencias de cada uno de los tipos de subárbol quedependen en forma inmediata del tipo de registro raíz. Cada una de esas ocurrencias de subárbol a su vezconsiste también de una sola ocurrencia de registro -la raíz de la ocurrencia de subárbol- junto con unconjunto ordenado de cero o más ocurrencias de cada uno de los tipos de subárbol que dependen en formainmediata de este tipo de registro raíz, 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 (donden es mayor o igual a cero).

En la figura 1.5 se muestra un sólo árbol de la base de datos académica de la figura 1.4 en términos másprecisos, desde luego, una sola ocurrencia de árbol.

Page 31: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 31/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  31

La explicación del árbol de la figura 1.5 es la siguiente; por definición, ese árbol contiene una solaocurrencia de CURSO (la raíz del árbol). Ese CURSO tiene dos requisitos subordinados y tres

ofrecimientos subordinados (en términos más precisos, esa ocurrencia de CURSO tiene un conjuntoordenado de dos ocurrencias de REQ subordinadas y un conjunto ordenado de tres ocurrencias deOFRECIMIENTO subordinadas). Se dice que CURSO es una ocurrencia padre, con dos hijos REQ y treshijos OFRECIMIENTO, es decir, ocurrencias hijas. De manera similar, el primer ofrecimiento también es unpadre con un hijo PROFESOR y varios hijos ESTUDIANTE (sólo se muestran tres). Los otros dosofrecimientos no tienen hijos PROFESOR ni ESTUDIANTE en este momento, además, 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 elpadre en tres ocurrencias de la liga CURSO-OFRECIMIENTO. Por otro lado, cada (ocurrencia) hija es elhijo en una y sólo una (ocurrencia de) liga.

 Además de lo expuesto anteriormente, hay un vocablo que se aplica a las ocurrencias y no a los tipos: eltérmino ―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 esosofrecimientos, porque aunque tienen el mismo padre, son de un tipo diferente.

 A lo largo del subtema se ha hecho mención frecuentemente del concepto de ordenamiento, de hecho lanoción de ordenamiento es fundamental en la estructura de datos jerárquica. Considerando algún tipo desubárbol T, cuyo registro raíz es R y cuyos tipos de subárbol son S1, S2…, Sn (en ese orden). Sea t una

ocurrencia de T, cuya raíz es r (una ocurrencia de R) y cuyos subárboles son s1, s2,… sn (ocurrencias de

Page 32: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 32/94

Page 33: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 33/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  33

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 jerárquica de base de datos.

Operadores para pasar de un registro a otro dentro de estos árboles, desplazándose hacia arriba ohacia abajo por los diversos trayectos jerárquicos; por ejemplo, un operador para pasar de registroCurso 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 jerárquica de la base dedatos; por ejemplo, un operador para pasar de un registro Profesor de un Ofrecimiento determinadoa un registro de Estudiante correspondiente a ese Ofrecimiento o a otro Ofrecimiento Subsecuente.

2. Un operador para insertar un registro nuevo en una posición 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 ciertoOfrecimiento 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 deregistros. Es verdad que ciertos sistemas manejan también operadores a nivel de conjuntos, pero talesoperadores quedan fuera del alcance ―modelo jerárquico‖ en la acepción usual del término.  

1.2.2. Base de datos de red

Las bases de datos de red pueden considerarse como una forma extendida del modelo jerárquico definidoen el subtema anterior. La distinción principal entre las dos es la siguiente: en una estructura jerárquica, unregistro hijo tiene un sólo padre. Mientras que en una estructura de red, un registro hijo puede tener cualquier número de padres.

Una base de datos de red se compone de dos conjuntos, un conjunto de registros y un conjunto de ligas,en términos más precisos, un conjunto de ocurrencias múltiples de cada uno de varios tipos de registros

 junto con un conjunto de ocurrencias múltiples de uno de varios tipos de ligas. Cada tipo de liga implica dostipos de registro, un tipo de registro padre y un tipo de registro hijo. Cada ocurrencia de un tipo de liga dadoconsiste en una sola ocurrencia del tipo de registro padre, junto con un conjunto ordenado de múltiplesocurrencias del tipo de registro hijo. Dado un tipo específico 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 sólo una ocurrencia de L;2. Cada ocurrencia de H es hijo en cuanto más una ocurrencia de L;3. Además, por supuesto, los tipos de registro están formados por tipos de campo.

Nota: De ahora en adelante dejaremos a un lado los calificadores ―tipo‖ y ―ocurrencia‖, cuando no provoque

confusión hacerlo.

En la figura que se muestra debajo, puedes observar la forma como podría representarse la base de datosde proveedores y partes en forma de red. La Base de datos contiene tres tipos de registro: S, P y SP. Es

Page 34: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 34/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  34

decir que S y P son idénticos a sus contrapartes relacionales; SP, en cambio, contiene sólo un cambio decantidad (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 SPpor cada envío 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 SPpor cada envío de la parte representada por esa ocurrencia de P.

La base de datos de proveedores y partes: versión de red (estructura de los datos)

Manipulación de datos de red

Un lenguaje de manipulación de datos de red consiste en un conjunto de operadores para procesar datosrepresentados en forma de registros y ligas. Como ejemplos de tales operadores podemos mencionar lossiguientes:

Un operador para localizar un registro específico, 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 parapasar del registro S del proveedor S1 al registro SP del proveedor S1 y la parte P1 (a través de laliga 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 travésde la liga S-SP).

Un operador para pasar de un hijo a su padre dentro de alguna liga; por ejemplo, un operador parapasar de registro SP del proveedor S1 y la parte P2 al registro P de la parte P2 (a través de la ligaP-SP).

Un operador para crear un registro nuevo; por ejemplo, un operador para crear un registro S para unnuevo proveedor.

Un operador para destruir un registro ya existente; por ejemplo, un operador para destruir el registroS de un proveedor ya existente.

Page 35: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 35/94

Page 36: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 36/94

Page 37: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 37/94

Page 38: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 38/94

Page 39: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 39/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  39

Actividad 5. Reporte de investigación. Aplicación de los Sistemas Gestores de Bases de Datos por medio de un análisis de características

Para identificar las aplicaciones de los Sistemas Gestores de Bases de Datos, debesanalizar lascaracterísticas de ellos, tomando en cuenta sus ventajas y desventajas, y posteriormente enviarlo a lasección de tareas. En vista de lo anterior, realiza lo que se te indica a continuación:

1. En un documento de Word, explica con tus propias palaras qué es un Sistema Gestor de Base deDatos.

2. Investiga las características de los sistemas gestores libres y comerciales.3. Realiza una comparación de ambos gestores, tomando en cuenta sus ventajas y desventajas.4. Con base en la comparación, escribe las conclusiones sobre la aplicación que tiene uno y otro

Sistema Gestor de Base de Datos.

5. Guarda tu actividad con el nombre BDD_U1_A5_XXYZ.6. Envía la actividad a tu facilitador(a) mediante la sección 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, tambiénconocidos como Sistemas de Gestión de Bases de Datos, por lo que en esta sección se abarcará laestructura 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 envían 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 serequieren para satisfacer la petición.

Gestor de ficheros: Se encarga de manejar y controlar los ficheros en almacenamiento en la basede datos.

Lenguaje de Manipulación de Datos (MDL): trabaja con el procesador de consultas para el códigoapropiado.

La estructura de un SGBD está conformada por:

Lenguaje de Definición de Datos (LDD o DDL, por sus siglas en inglés Data Definition Language):Convierte las sentencias en un conjunto de tablas que contienen datos almacenados en eldiccionario de datos.

Diccionario de datos: Almacena la información de la base de datos. Gestor del diccionario: Controla los accesos y la información del Diccionario de datos. Control de autorización: Se encarga de revisar las credenciales de los usuarios para accesar a

determinada información. Optimizador de consultas: Establece la estrategia para el procesamiento de las transacciones.

Page 40: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 40/94

Page 41: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 41/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  41

Se sugiere la retroalimentación y enriquecimiento tomando en cuenta la información que se encuentra enlos materiales de apoyo, de igual forma, se recuerda que las actividades correspondientes a esta unidadinicial 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 básicos informáticos,posteriormente te involucraste en la terminología específica de las bases de datos, cuyo propósito fue dar un panorama para identificar una base de datos en tu entorno social, personal y laboral, y poder elaborar tupropio concepto, reconocer los tipos de bases de datos y distinguir sus particularidades. De la mismamanera, se identificaron los Sistemas Gestores de Bases de Datos y sus características.

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 estás preparado(a) para seguir con launidad dos, en donde continuarás con la construcción del prototipo de una base de datos documental, alelegir un caso de estudio, llevar a cabo un análisis y un estudio de factibilidad, identificar los requerimientosdel usuario, administrar tiempos, así como revisar modelados de abstracción de información. Todo ello conel 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). Informática Automática. Recuperado el 2 de Mayo de 2011, deUniversidad de Salamanca: http://ocw.usal.es/ensenanzas-tecnicas/aplicaciones-informaticas-para-humanidades/contenidos/Temas/Tema1-Fundamentos_de_Informatica_-_2ppt.pdf 

Celma, M., Casamayor, J.C. & Mota, L. (2003). Bases de datos relacionales. Madrid: Pearson-Prentice Hall.

Pérez L, C. (2008). Oracle 10g: administración y análisis de bases de datos. Segunda edición.México: Alfaomega.

  Quiroz, J. (2003). ―El modelo relacional de bases de datos‖ en Boletín de Política Informática Núm. 6

(Versión electrónica). Recuperado el 26 de enero de 2011, dehttp://www.inegi.org.mx/inegi/contenidos/espanol/prensa/contenidos/articulos/tecnologia/relacional.p

df   Real Academia Española (2001). Diccionario de la lengua española. Vigésima segunda edición

(Versión digital). Recuperado el 19 de enero de 2011, dehttp://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica

Silberschatz, A. (2006). Fundamentos de Bases de Datos. España: McGraw-Hill. MasterMagazine (2005). Definición de ASCII. Recuperado el 21 de enero de 2011, de

http://www.mastermagazine.info/termino/3926.php  

Page 42: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 42/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  42

UNIDAD 2. Análisis

Propósito de la unidad

Continuarás con el proceso para la elaboración del prototipo de Base dedatos documental al elegir un caso de estudio3, llevar a cabo un análisis yun estudio de factibilidad, identificar los requerimientos del usuario,administrar tiempos, así como revisar las técnicas de modelado, que son:modelado de objetos, modelado entidad relación, normalización y

modelado relacional; lo que permitirá documentar el prototipo.

Competencia específica

 Analizar problemas de gestión de información para elegir la alternativa queresponda a los requerimientos, de acuerdo al resultado de los datosobtenidos por medio del estudio de factibilidad (financiero, operacional yeconómico).

3Puede ser elegido por el estudiante, o bien, asignado por el facilitador.

Page 43: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 43/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  43

Presentación 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 abordarás lo relacionado con el análisis para la creación delprototipo, haciendo uso de la terminología básica de la asignatura.

 Antes de entrar de lleno a la elaboración del análisis como parte del proceso para la creación del prototipo,es necesario que conozcas algunas cuestiones que preceden a todas las demás actividades del análisis,como los lineamientos metodológicos de recopilación de información, el estudio de sistemas y el análisis, loque te permitirá tener una idea más clara sobre lo que se pretende que logres en esta unidad.

 A lo largo de toda la unidad revisarás los conceptos acerca de qué es la estructura de las entradas, losprocesos y las salidas, las herramientas de recopilación de información, el estudio de factibilidad

operacional, financiero y económico, así como la forma de realizar un reporte de este estudio. También,harás un análisis sobre los requerimientos de hardware y software, para finalmente abarcar las técnicas demodelado de datos, donde se hablará de: modelado de objetos, modelo entidad relación, normalización ymodelo relacional, siendo este último uno de los más utilizados en la actualidad empresarial.

Todo lo que verás a través de la unidad deberás aplicarlo en un caso de estudio, con el fin de seleccionar elSistema Gestor de Base de Datos más adecuado de acuerdo a sus características y contribuir así en lasolución del caso.

2.1. Lineamientos metodológicos de recopilación de requerimientos

En este apartado se revisa de manera general el procedimiento para realizar un adecuado análisis,partiendo desde la forma en la cual se logra recopilar la información necesaria, con el fin de profundizar enlos siguientes subtemas.

 Ahora bien, antes de realizar un protocolo de base de datos se debe anticipar todo un flujo de información ymotivos, que hacen que se requiera un cambio de operación de cualquier empresa, esta acumulación deinformación se denomina ―estudio de sistemas‖, y es la que precede a todas las demás actividades del

análisis.

Las bases de datos hacen mucho más que resolver problemas, con frecuencia se solicita ayuda paraplanificar la expresión de la organización, es entonces cuando se valoran de manera cuidadosa lasnecesidades futuras de la empresa y los cambios que deben considerarse para satisfacer esasnecesidades. El tiempo, costo y beneficio son factores determinantes para desarrollar una opinión. Al final,la administración es quien decide cuál opinión aceptar. Una vez tomada la decisión se hace un plan paraimplantar la recomendación, el plan incluye saber con claridad cuáles son los requerimientos del usuario y,en este caso, se puede hacer por medio de un análisis que permita identificar las entradas, los procesos ylas salidas, llevando al especialista a elegir la herramienta de recopilación de información que mejor seadapte al caso en cuestión, algunos ejemplos son las encuestas, entrevistas y cuestionarios.

Page 44: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 44/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  44

Una vez aportados los criterios a utilizar, se continúa con el estudio de factibilidad, recomendado para dar un reporte informativo y detallado sobre los requerimientos del usuario. Cabe mencionar que es de sumaimportancia 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 propiascaracterísticas. De esta manera, la documentación que se va elaborando lleva al desarrollo de las técnicasde modelado, las cuales se abordan en el último apartado de la unidad.

2.1.1. Análisis. Concepto

¿Qué es el análisis?

Es una fase del diseño de sistemas, que podemos definir como un conjunto de procedimientos que

examinan hechos, principios y reglas clasificadas de manera ordenada y lógica; muestra resultados desolución a los requerimientos de información. Este proceso de análisis contiene varias herramientas autilizar, según sea el caso a resolver, entre las que se encuentra el estudio de factibilidad (operacional,financiera y económica).

El estudio de factibilidad es una de las primeras etapas del desarrollo del prototipo, deberá incluir losalcances, objetivos y restricciones del requerimiento del sistema.

 Ahora bien, ¿qué se debe de tomar en cuenta en el análisis?

De primera instancia se deben detectar los hechos relevantes relacionados con la actividad de la empresa,

la función es reunir información y determinar los requerimientos, para así pasar al análisis y el diseño, conla responsabilidad de que sean personas que saben programar, ya que sus conocimientos les permitenformular especificaciones mejores y más completas para las nuevas aplicaciones.

También es importante determinar a los usuarios finales; estos se agrupan en cuatro categorías:

1. Usuarios primarios. Son los que interactúan con el sistema (base de datos). Ellos alimentan la basecon datos de entrada, y reciben salidas por medio de una terminal.

2. Usuarios indirectos. Son aquéllos que se benefician de los resultados o reportes generados por estos sistemas, pero que no interactúan de manera directa con el hardware o software. Para este

tipo de usuarios se deben incorporar consideraciones adicionales, tanto para la interacción, comopara proteger de cualquier riesgo a la organización que proporciona el servicio.

3. Usuarios gerentes. Son los que tienen la responsabilidad administrativa en los sistemas deaplicación, este tipo de usuario es el que debe participar en los esfuerzos de desarrollo de la basede datos.

4. Usuarios directivos. Son aquellos que tienen mayor responsabilidad en los sistemas de información.

Los cuatro tipos de usuarios son importantes, ya que cada uno posee información esencial sobre lasfunciones de la organización y hacia dónde se dirige esta. Teniendo en cuenta los factores antesmencionados, a continuación se definirán los siguientes elementos que conforman los lineamientosmetodológicos.

Page 45: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 45/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  45

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 informaciónsignificativa de la empresa, la cual se procesará para obtener los diferentes resultados establecidos en elrequerimiento de usuario. También se deben tener en cuenta aquellas operaciones matemáticas ycontables requeridas para el proceso de la información y generación de salidas. En esta parte es necesariorealizar una tabla, en la cual se lleve a cabo un listado de aquellas salidas de información, y verificar siexiste algún cálculo a realizar, es importante agregar la(s) fórmula(s) a aplicar.

Dentro de la estructura, las entradas se definen como variables constantes, que son la base que permitiráejecutar las operaciones básicas de las bases de datos, las cuales son: altas, bajas y cambios; en casosmás específicos, actualizaciones y modificaciones, convirtiéndose en la estructura de procesos.

 Al hablar de las entradas de información en las especificaciones de la preparación del ingreso deinformación para su procesamiento, es elemental resaltar la importancia que tiene su correcta realización,porque de ella depende que los resultados de la información requeridos sean eficientes para los diferentesusuarios, y así tomar decisiones correctas que beneficien a la empresa. El buen diseño de entradas deinformación permitirá que el(los) usuario(s) encargado(s) de alimentar la base de datos aporte(n) de

manera consistente e íntegra la información.

Los procesos son el juego que hacen las entradas para poder obtener las salidas correspondientes,dependiendo de los requerimientos.

Las salidas de información se refieren al diseño de la presentación de información ya procesada, requeridapor el usuario, o los diferentes usuarios, del sistema; estas pueden ser reportes, mensajes, gráficos yestadísticos. Las salidas deben ser diseñadas lo más claramente posible y con gran precisión, para la tomade decisiones. Las salidas de información no solo son en pantalla, también se deben considerar enimpresiones, audio y video.

En la siguiente figura se muestra un ejemplo de la estructura general de las entradas, procesos y salidas.

Elección de caso

Page 46: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 46/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  46

Ya teniendo los conceptos básicos y específicos de las bases de datos, así como sus características,ventajas y desventajas, se puede llevar a cabo la elección de un caso, por lo que a continuación sedestacan algunas puntualidades que se deben tener en cuenta.

Para iniciar con esta elección es preciso saber qué es un caso y como estructurarlo. Pues bien, el caso esuna técnica que nos permite visualizar problemas del pasado y presente, permitiendo estudiar laproblemática y generar posibles soluciones, es decir, la realización de un prototipo de base de datos.

Para la construcción del caso es necesario considerar antecedentes, contexto, consecuencias y solución.Con el fin de realizar una buena estructura para la edificación del caso, el diseñador debe realizar lassiguientes preguntas:

¿Qué es lo que sucede?

¿Cuál es el asunto o problema?¿Quiénes están involucrados?

¿A qué situaciones se enfrentan?

¿Cuáles son los conflictos, intereses yposibilidades en juego?

Es importante que al realizar las especificaciones del caso esto se haga de manera coherente, detallandolas cosas más sobresalientes, pero sin salirse de contexto. Al tomar en cuenta estos elementos se podrángenerar preguntas clave o cruciales para su análisis o estudio.

Con base en las consideraciones anteriores, en la siguiente actividad se deberá elegir un caso de estudio.

Actividad 1. Elección de caso

Una vez identificada la estructura de las entradas, procesos y salidas que conforman inicialmente acualquier sistema, elegirás un caso para trabajar a lo largo de la unidad. Para ello, realiza la siguienteactividad:

1. Intégrate con tu equipo de trabajo, tu Facilitador(a) se encargará de organizar equipos de trespersonas.

2. Ponte de acuerdo con tu equipo para que ingresen a la Wiki, preferentemente al mismo tiempo, y através de ella, determinen cuáles son los conceptos específicos de mayor trascendencia para esta

asignatura.3. Busquen la definición de dichos conceptos en fuentes especializadas en la materia e incorpórenla,

 junto con las referencias dentro de la sección designada para su equipo4. 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 más destacado, tomando encuenta los conceptos relacionados con la elección 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 económico)

Page 47: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 47/94

Page 48: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 48/94

Page 49: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 49/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  49

En cuanto a los requerimientos de usuario, es importante cuestionar acerca de qué tipo de computadoratiene, así como las características del hardware y software, de manera que el programador tenga la visión

de qué tipo de base de datos desarrollará, y qué manejador, dependiendo de sus características.

Para toda implementación de sistemas de información es importante definir los requerimientos de softwarey hardware, por lo que estos se abordarán a continuación.

Se entiende como requerimiento de hardware a los equipos de cómputo, servidores, impresoras, etc.,considerando las diferentes características establecidas para la implementación del sistema. Mientras queel requerimiento de software se refiere a los programas necesarios para el funcionamiento del sistema deinformación, como lo son el Sistema Manejador de Base de Datos (SMBD), anti-virus, sistema operativo,etcétera.

 Ahora bien, para definir los requerimientos de software y hardware es preciso realizar un estudio, el cual selleva a cabo a través de tablas comparativas de las diferentes alternativas de solución, las cuales contienenlos costos, características, ventajas y desventajas del software y hardware, así como los servicios desoporte ofrecidos por parte de los proveedores al realizar la compra de estos productos.

Para saber más: Consultar la página electrónica:

http://www.alegsa.com.ar/Dic/requerimiento%20de%20hardware.php  

Actividad 3. Reporte sobre el estudio de factibilidad

Como preámbulo a esta actividad, es necesario que cada equipo aplique el instrumento realizado en la Actividad 2.

Una vez aplicado el instrumento de recolección de información, deben realizar un análisis de la informaciónconseguida para obtener los requerimientos del usuario en lo operacional, financiero y económico, 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 presentación PowerPoint o en un documento de Word, diseñen un reporte de estudio defactibilidad del caso seleccionado. Para ello, construyan una tabla que contenga los resultados del estudiode factibilidad operacional, financiera y económica, así como sus necesidades en cuanto a hardware ysoftware se refiere.

2. En otra diapositiva, o página, 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 XXYZde la manera habitual (por persona) y el símbolo # por el número del equipo.

Page 50: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 50/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  50

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

2.2. Técnicas de modelado de datos

Las técnicas de modelado de datos son las diferentes herramientas que se tienen para la abstracciónconceptual de la información de manera gráfica, ayudan a la valoración y visualización de lasespecificaciones necesarias de información para la solución del caso; tienen un procedimiento lógico aseguir, que es utilizado en la ciencia del modelado.

La parte fundamental del análisis es integrar un modelado de sistemas que represente la información

necesaria y requerida por el usuario, abstrayendo las cuestiones más importantes y significativas, que seutilizará para la generación de los diferentes modelos, y que permite visualizar el flujo de información.

El modelado de datos corresponde a una serie de preguntas específicas importantes para cualquier aplicación de procesamiento de datos:

¿Cuáles son los objetos de datos primarios que van a procesar el sistema?¿Cuál es la comprensión de cada objeto de datos?¿Qué atributo describe el objeto?¿Dónde residen actualmente los objetos?¿Cuál es la relación entre los objetos y los procesos que lo transforman?

Para responder estas preguntas, los métodos de modelado de datos hacen uso del diagrama deentidad relación (DER). El DER, descrito con detalle posteriormente, permite que un ingeniero delsoftware identifique objetos de datos y sus relaciones mediante una notación gráfica. En el contextodel análisis estructurado, el DER define todos los datos que se introducen, se almacenan, setransforman y se producen dentro de una aplicación. A continuación profundizaremos en lasprincipales técnicas de modelado de datos.

2.2.1. Modelado de objetos

La técnica de modelado de objetos propone una forma abstracta de pensamiento acerca de problemas aresolver, empleando conceptos del mundo real, y no conceptos técnicos informáticos. Estos modelados sonutilizados en los niveles conceptuales y de visión, se caracterizan por proporcionar restricciones de datosexplícitamente, se fundan en pensar acerca de problemas a resolver. La esencia del desarrollo orientado aobjetos es la identificación de conceptos de objetos del dominio de aplicación; esta aplicación se hacentrado, por lo general, en lenguajes de programación, es una premisa básica para la detección deerrores.

Page 51: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 51/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  51

Dentro del modelado de objetos tenemos varios conceptos básicos que es necesario conocer paraentender el tema, por lo que en esta parte se comenzará por definir el término objeto, hasta llegar alconcepto de instancia.

Objeto (instancia de clase) es algo real, abstracto, acerca del cual se almacenan datos y métodos; por otraparte, cuando se dice orientado a objetos, significa que el software se organiza como una colección deobjetos que contiene estructuras de datos y comportamiento.

Otro término relevante es el de identidad, los datos están cuantificados en entidades discretas ydistinguibles denominadas objetos, y cada uno de estos posee su propia identidad inherente, en otraspalabras, los objetos son diferentes, aunque los valores de todos sus atributos, tales como nombre ytamaño, sean idénticos. En este contexto también se tiene el concepto herencia, que se trata de unmecanismo 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 término nos lleva al de clase, que es la unidad básica queencapsula toda la información de un objeto, a través 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 queclasificación es la categorización de objetos con la misma estructura de datos (atributos) ycomportamiento (operaciones). Finalmente, instancia es un objeto en el cual están contenidos todos loselementos que conforman un objeto.

Para concluir con este tipo de modelado se puede agregar que este provee un uniforme para modelar elsistema desde la captura de requerimientos en la etapa inicial del análisis, hasta su implementación, a

través de todo el ciclo de desarrollo de sistemas. Para el modelado de objetos es necesario tomar encuenta el análisis del negocio, que es el reconocimiento de los elementos claves de este, y la generaciónde la abstracción de entidades apropiadas u objetos-entidad.

Para entender la aplicación de estos términos en la conformación del propósito de este curso, esimportante recordar que el análisis es una fase de la creación de sistemas informáticos en el que seidentifican los objetos, clases, atributos y entidades a utilizar, esto permitirá realizar el diseño lógico, quees la integración de todas las clases requeridas para la aplicación.

2.2.2. Modelado entidad relación (E-R)

El modelado entidad relación por lo general es reconocido sólo por sus siglas (E-R), es un modeladoconceptual de datos, considerado de alto nivel, que es utilizado como base en el diseño de bases de datosrelacionales; simboliza información real a través de una representación gráfica, que es el dibujo que sehace empleando la terminología de entidades, que podemos definir como cualquier tipo de objeto sobre elcual se desea obtener información, también se le define como sustantivo. Por ejemplo: coches, casas,excursiones, empleados, clientes, empresas, oficios, diseños de productos, conciertos, etcétera.

Las entidades se representan gráficamente mediante rectángulos y su nombre aparece en el interior. Unnombre de entidad puede aparecer solo una vez en el esquema conceptual. Existen dos tipos de entidades:

Page 52: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 52/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  52

fuertes y débiles. Una entidad débil es una entidad cuya existencia depende de la existencia de otra, y quepor lo general carece de atributos. Mientras que una entidad fuerte es aquélla de la cual surgen lasentidades débiles.

Las entidades se clasifican en: Tangibles (Ejemplo: persona, vehículo, material) Intangibles (Ejemplo: proyecto, materia) 

Eventuales (Ejemplo: compra, venta) 

Rol (Ejemplo: cliente, vendedor) Localización (Ejemplo: sucursal, estado, bodega) 

Toda entidad está conformada de atributos, los cuales son las características que definen e identifican alas entidades (Ejemplo: tenemos a la entidad alumno que tendrá atributos como: nombre, sexo, fecha de

nacimiento, CURP, RFC, etc.). Los atributos también son conocidos como características.

 A continuación se muestra la simbología a utilizar para el desarrollo de los modelados entidad relación (E-R).

Modelado entidad relación (E-R)Las entidades se encontrarán ligadas entre sí, y se utilizará el término relación, también conocido comoverbo, para designar a la conexión que exista entre dos o más entidades. Las relaciones son

representadas gráficamente con un rombo, dentro de él se describe la relación que existe entre lasentidades. Existen básicamente tres tipos de relaciones.

Relaciones 1-1. Las entidades que intervienen en la relación se asocian una a una (Ejemplo: la entidad ALUMNO y la entidad CARRERA. La relación 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 relación es que los alumnos cursan muchas materias).

Page 53: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 53/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  53

Relaciones n-n. Cada ocurrencia, en cualquiera de las dos entidades de la relación, puede estar asociadacon muchas (n) de la otra y viceversa (Ejemplo: la entidad ALUMNO y la entidad PROFESOR, entre ellos larelación es que un alumno tiene muchos profesores y viceversa); a la existencia de relaciones se llama

cardinalidad, que describe la dimensión cuantitativa. Se visualiza esta cardinalidad con una entidad demanera jerárquica, como el esquema padre e hijo visto en la base de datos jerárquica.

 Al realizar el modelado E-R es importante considerar que se debe generar un campo identificador, que

tendrá como función evitar la duplicidad de información (Ejemplo: en la entidad ALUMNO, el campoidentificador será su matrícula). Con el campo identificador se podrán identificar entidades con el mismonombre.

Por lo expuesto anteriormente, se puede concluir que una entidad es un sustantivo, los atributos sonadjetivos y las relaciones son verbos.

En la siguiente figura se muestra un ejemplo sencillo de un modelado entidad relación (E-R).

Page 54: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 54/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  54

2.2.3. Normalización

La teoría de la normalización tiene como fundamento el concepto de formas normales. Se dice que unarelación está en una determinada forma normal si satisface un cierto conjunto de restricciones, por ejemplo,una relación está en primera forma normal (abreviada 1NF) solo si satisface la restricción de que susdominios simples subyacentes contengan solo valores atómicos.

Universo de la normalización en forma gráfica.

Se ha definido un gran número de formas normales (ver figura 2.8), sin embargo, Codd definió la primera,segunda y tercera (1NF, 2NF, 3NF); la idea que perseguía Codd con su propuesta era la de mostrar lasventajas de las relaciones en 3FN respecto a las relaciones en forma normal inferior: mínima redundancia y

Page 55: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 55/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  55

mínimas anomalías al actualizar la base de datos. Debido a que aún persistían los problemas en lasrelaciones en 3FN, Codd introdujo en 1974 una definición más restrictiva de la tercera formal normal, quese denominó forma normal de Boyce-Codd (FNBC). 

Fagin (1977) introduce la cuarta forma normal (4FN), y posteriormente, en 1979, la quinta (5FN), basadasen otro tipo de dependencias distintas de las funcionales: las dependencias multivaluadas y lasdependencias de proyección-combinación, respectivamente.

Cuando un esquema de relación está en una forma normal, implícitamente también está en las formasnormales inferiores a esta, es decir, un esquema de relación en FNBC, está en 3FN, 2FN y 1FN; locontrario no es cierto, un esquema de relación en 2FN no puede estar en 3FN.

Ya que se presentaron algunas generalidades, a continuación se formalizará la definición 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 restricción inherente al modelo relacional, por lo que sucumplimiento es obligatorio y afecta al número de valores que pueden tomar los atributos de una relación.Recordemos que para que una tabla pueda ser considerada una relación no debe admitir gruposrepetitivos, esto es, que debe estar en primera forma normal; por ejemplo, si un estudiante solicita más deuna beca, se tienen grupos repetitivos, y para pasar a 1FN habrá que repetir el resto de atributos de la tuplapara cada uno de los valores del grupo repetitivo.

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

De esta forma, cualquier relación binaria se encuentra siempre en 2FN; así como también la relación en laque todas las claves son simples, es decir, que contienen un sólo atributo; asimismo, cualquier relación enla que todos sus atributos son PRINCIPALES, es decir, que forman parte de alguna clave.

La segunda forma normal no se cumple cuando algún atributo no principal depende funcionalmente dealgún subconjunto de la clave. Siempre es posible transformar un esquema de relación que no esté en2FN, en esquemas de relación en 2FN, sin que se produzca pérdida de información ni de dependencias.

 Así pues, ―sea el esquema de relación ESTUDIANTE_BECA (AT, DEP) donde:

Page 56: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 56/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  56

Que refleja las becas que solicitan los estudiantes, la fecha en que lo han hecho y la titulación delestudiante.

La clave de la relación ESTUDIANTE_BECA es cod_estudiante, cod_beca. Se puede observar que elatributo título no es un hecho (una información) acerca de la totalidad de la clave, si no acerca de parte deella (en este caso del atributo cod_estudiante). Esta relación no está en 2FN‖ (Ibánez, 2007: 43) 

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

Considerando la definición tenemos que, toda relación binaria se encuentra en 3FN, del mismo modo, todarelación 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 funcionalmentede otros atributos no principales. No obstante, se puede transformar un esquema de relación que no estáen 3FN, en esquemas de relación en 3FN, sin que se originen pérdidas de información ni de dependenciasfuncionales.

2.2.4. Modelado relacional

El modelado relacional se divide en tres partes, que se ocupan de la estructura, la integridad y lamanipulación de los datos, respectivamente. Cada una de las partes tiene sus propios términos especiales,estos conceptos son: relación, tupla, cardinalidad, atributo, grado, clave primaria y dominio.

Page 57: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 57/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  57

Relación de proveedores S.

Page 58: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 58/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  58

 A continuación se explica de manera general cada uno de los términos: Una relación 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 número de tuplas se

denomina cardinalidad, mientras que el número de atributo se llama grado. La clave primaria es un identificador único para la tabla, es decir, una columna o combinación de

columnas con la siguiente propiedad: nunca existen dos filas de la tabla con el mismo valor en esacolumna o combinación de columnas.

Por último, un dominio es una colección de valores de los cuales uno o más atributos (columnas)obtienen sus valores reales. Por ejemplo, el dominio marcado con S# en la figura 2.9, es el conjuntode todos los números de proveedores legales; y el conjunto de valores que aparecen en el atributoS#, de la relación S, en cualquier momento es algún subconjunto de ese conjunto. De manerasimilar, el conjunto de valores que aparecen en el atributo S#, de la relación SP, en cualquier momento dado es también un subconjunto de ese conjunto.

Esta terminología se resume en la figura 2.10; sobre esta se harán dos aclaraciones:

 Aclaraciones sobre la terminología de las partes del modelo relacional:

Aclaración 1:1. Debe entenderse que las ―equivalencias‖ mostradas son solo aproximadas, porque los términos

formales del modelo relacional, situados a la izquierda, tienen definiciones precisas, pero los―equivalentes‖ informales de la derecha solo poseen definiciones aproximadas, aunque prácticas.

 Así, por ejemplo, una relación y una tabla no son en realidad la misma cosa, aunque en la práctica

muchas veces es conveniente hacer como si lo fueran.

Aclaración 2:2. La noción ―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 enabsoluto los dominios, de hecho tampoco lo hace INGRES ni la mayor parte de los sistemasactuales.

Page 59: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 59/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  59

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 unnombre exclusivo; cada fila de la tabla representa una relación entre un conjunto de valores. Dado que

cada tabla es un conjunto de dichas relaciones, hay una fuerte correspondencia entre el concepto de tablay el concepto matemático de relación, del que toma su nombre el modelo de datos relacional.

En las bases de datos relacionales se utilizan varias relaciones diferentes para ilustrar los conceptossubyacentes al modelo de datos relacional, estas relaciones representan parte de una entidad bancaria.  

Actividad 4. Modelados básicos

Con el fin de abstraer información significativa para el prototipo, y construir los diagramas de losmodelados: entidad relación, normalización y relacional, trabajarán nuevamente en equipo para organizar la

información del caso de estudio seleccionado.

1. En un documento de Word, de acuerdo con el caso en cuestión, y tomando en cuenta los ejemplos vistosa lo largo de la unidad, esquematicen el modelado entidad relación. Coloquen el título ―Diagrama entidad

relación‖. 2. En la siguiente cuartilla del documento representen la normalización del caso. Coloquen el título―Normalización‖. 3. Finalmente, en una tercera cuartilla, esquematicen el modelado relacional, titulándolo ―Modelo

relacional‖. 4. Guarden de manear individual la actividad y envíenla a la sección de tareas.

Evidencia de aprendizaje. Análisis y modelado

Como parte de la evaluación de esta unidad, tienes que llevar a cabo una actividad individual cuyopropósito es documentar el caso de estudio elegido, empleando lo revisado durante el desarrollo de launidad: tabla de la estructura de entradas, procesos y salidas; reporte de factibilidad; requerimientos dehardware 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:

Definición formal de dominio

. El punto de partida para nuestro tratamiento formal de la estructura de datos tradicional es la menor unidad

semántica de información, la cual suponemos es el valor de un acto individual (como el número de un

proveedor individual o el peso de una parte individual o el nombre de una ciudad individual o la cantidad de un

envío individual). Llamaremos a estos valores escalares (aunque este término no se utilice mucho en la

literatura relacional).

Page 60: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 60/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  60

Agrega la descripción 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 recopilación de información que utilizarás, 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 relación 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. Envía el archivo a tu Facilitador(a) para recibir retroalimentación, considera sus observaciones y, en casode que sea necesario, modifica tu evidencia para volverla a enviar.

 Al terminar el proceso anterior, ingresa al foro Preguntas de Autorreflexión y lee los cuestionamientos queformuló tuFacilitador(a), posteriormente, sal del foro, ingresa a la sección Autorreflexiones y, dentro de ésta, envía tuautorreflexión con el nombre BDD_U2_ATR_XXYZ.

Consideraciones específicas de la unidad

 A lo largo de esta unidad se logra involucrar al estudiante de manera más práctica en los contenidos

propios de la asignatura, tomando en cuenta los conceptos abordados en la primera unidad del curso; sinembargo, se sugiere la retroalimentación y enriquecimiento basado en la información que se encuentra enlos materiales de apoyo, de igual forma, es conveniente recordar que las actividades correspondientes aesta 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 visión, ya quedeberá jugar diferentes roles: usuario y diseñador, lo que le ayudará a obtener un mayor entendimiento delcaso y requerimiento, permitiéndole la obtención de información clave para el diseño de la base de datos.

Cierre de la unidad

 Aquí concluye la segunda unidad de la asignatura de Bases de datos. A manera de síntesis, se revisaronlos lineamientos metodológicos de recopilación de requerimientos, se definió lo que es un análisis y laestructura de las entradas, procesos y salidas; asimismo se eligió un caso de estudio, se seleccionó yelaboró el instrumento para la recopilación de información y se abarcó lo que es un estudio de factibilidad.Finalmente, se abordaron cuatro técnicas de modelado de datos, con lo cual, en la siguiente unidad, se ledará continuidad al caso de estudio elegido.

Si los temas que se acaban de señalar son familiares, ya estás listo(a) para seguir con la unidad posterior,en donde se continuará con la generación del prototipo de base de datos documental. En caso de que no

Page 61: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 61/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  61

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

Fuentes de consulta

Celma, M.; Casamayor, J.C.; Mota, L. (2003) Bases de datos relacionales. Madrid: Pearson-PrenticeHall.

Diseño de bases de datos (2010) Introducción a la Informática. Recuperado el 29 de abril de 2011de: http://users.dsic.upv.es/asignaturas/fade/inf/es/tema6.pdf 

Hernández, M. (s/f) Introducción al desarrollo de sistemas de información. Recuperado el 29 de abrilde 2011, de: http://www.eduardoleyton.com/apuntes/Introduccion_SIA.pdf 

  Ibáñez, A. (2007) Tesis de grado ―Modelo de optimización para el diseño de bases de datos

relacionales‖. La Paz, Bolivia: Universidad Mayor De San Andrés, Facultad De Ciencias Puras YNaturales Carrera De Informática.

Kroenke, D. (2003) Procesamiento de Bases de Datos. Fundamentos, diseño e implementación.México: Pearson Educación.

Pérez L, César. (2008) Oracle 10g: administración y análisis de bases de datos. Segunda edición.México: Alfaomega.

  Quiroz, Javier. (2003) ―El modelo relacional de bases de datos‖ en Boletín de Política Informática

Núm. 6 (Versión electrónica). Recuperado el 26 de enero de 2011, dehttp://www.inegi.org.mx/inegi/contenidos/espanol/prensa/contenidos/articulos/tecnologia/relacional.pdf 

Real Academia Española (2001) Diccionario de la lengua española. Vigésima segunda edición(Versión digital). Recuperado el 19 de enero de 2011, dehttp://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica

Silberschatz, Abraham. (2006). Fundamentos de Bases de Datos. España: McGraw-Hill.  ―Definición de requerimiento de hardware‖ en Diccionario de informática. Recuperado el 2 de enero

de 2011, de http://www.alegsa.com.ar/Dic/requerimiento%20de%20hardware.php  

Page 62: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 62/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  62

UNIDAD 3. Diseño

Propósito de la unidad

En esta unidad se documentarán las técnicas para poder construir elprototipo de la base de datos, teniendo como base el concepto general deStructured Query Language (SQL), los tipos de datos, el diccionario dedatos, las instrucciones SQL: Data Definition Language (DDL) y Data la

Manipulation Language (DML), y el álgebra relacional.

Competencia específica

Elaborar modelados de Bases de datos documentales para representar lainformación que satisfaga las necesidades de gestión de información,mediante las técnicas de modelaje utilizadas para generar un prototipo. 

Presentación de la unidad

¡Felicidades! Estás a punto de terminar el curso, recuerda que las personas de éxito son aquellas que, conbase en la perseverancia y constancia llegan a cumplir sus metas y objetivos, así como tú has logrado

llegar aquí.

En esta unidad conocerás temas que te ayudarán a obtener una mayor comprensión en materia de lasbases de datos: el concepto de Structured Query Language (SQL), los diferentes tipos de datos que utilizanlas base de datos, qué es un diccionario de datos y cómo se genera; así mismo, se revisarán lasinstrucciones SQL, Data Definition Language (DDL) y Data Manipulation Language (DML), para finalizar con el tema de álgebra relacional. Se espera que con estos tópicos logres tener un panorama de los temasque conforman la tercera, y última, unidad de la asignatura de Base de datos.

Page 63: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 63/94

Page 64: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 64/94

Page 65: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 65/94

Page 66: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 66/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  66

Es importante mencionar que el término SELECT tiene un significado diferente en SQL y en álgebrarelacional, que se verá a profundidad más adelante.

¿Para qué sirve SQL?

SQL permite la realización de consultas y actualizaciones sobre datos almacenados en tablas relacionales,como ya se ha mencionado antes. Este es el principal uso que harán los programadores y usuarios dellenguaje, pero también hay otras tareas que se pueden realizar mediante las sentencias SQL, aunquepertenecen más a la responsabilidad de lo que suelen llamarse administrador de bases de datos; las tareasson las siguientes:

 Antes de poder usar una tabla para almacenar o consultar datos en ella, hay que describirla al SGBD,

dándole su nombre y características, esto se hace definiéndola. Hay otros muchos objetos que maneja unSGBD con sentencias SQL, tales como espacios para ficheros físicos, índices, claves principales, campos,entre otros. Normalmente, la definición de tablas y vistas son responsabilidad del administrador de basesde datos, pero puede haber casos en que se permita a algunos usuarios definir tablas para datos de usoprivado. En este caso, el usuario emplea las correspondientes sentencias de SQL.

Gestión de las autorizaciones de acceso.El usuario final no podrá consultar o actualizar datos de una tabla si previamente no ha sido autorizadopara ello. Tampoco podrá hacerlo un programa si la persona que ha solicitado su ejecución no ha sidopreviamente 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, sinembargo se necesitan otras herramientas adicionales. Así, por ejemplo, la prevención y corrección deproblemas de rendimiento y la toma de copias de seguridad de los datos para el caso de fallos por catástrofes o averías.

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.

Page 67: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 67/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  67

3.1.2. Tipos de datos

Un tipo de dato es un conjunto de valores y operaciones primitivas aplicables a las tablas queconforman las bases de datos.

En los lenguajes de programación se proporcionan tipos de datos ya definidos agrupados en clasesdistintas. Los tipos de datos también son vistos como una limitación impuesta en la interpretación de datosen un sistema de tipificación (lenguaje de programación que clasifica valores y expresiones en tipos),describiendo la representación, interpretación y estructura de los valores u objetos en la memoria delordenador. La declaración de un tipo de dato requiere la especificación de un nombre y la definición(descripción) 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:numérico y entero o alfanumérico, este tipo de dato deberá indicar de forma específica la cantidad decaracteres requerida.Es importante definir los tipos de datos para diseñar las tablas o entidades, dado que de aquí se definirá eldominio 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 definición de dominios.

Una definición de dominio es un tipo de dato especializado que puede estar definido dentro de un esquema y utilizado en la definición de columnas.

Page 68: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 68/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  68

Por ejemplo, se desea definir un dominio de identificadores para usar en la definición de columnas comoID_VENDEDOR e ID_EDIFICIO. Estas definiciones son complejas, ya que se involucra un tipo de dato, un

valor por defecto y una restricción no nula. Puesto que se usará esta una y otra vez en el esquema de labase de datos, se requiere simplificar el trabajo. Por tanto se crea un dominio de la siguiente forma:

CREATE DOMAIN IDENTIFICACOR NUMERIC (4) DEFAULT 0CHECK (VALUE IS NOT NULL) 

Se dice que un dominio llamado IDENTIFICADOR tiene las siguientes propiedades:

Su tipo de dato es numérico de cuatro dígitos. 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 restricción 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 relación.En este sentido, los tipos de datos predefinidos son dominios. Sin embargo, SQL define los dominios deforma ligeramente diferente, proporciona tipos de datos predefinidos y permite dominios definidos por elusuario.

Los tipos de datos en SQL se clasifican en:

Numéricos exactos Aproximados Cadenas de caracteres

Cadenas de bits Fechas y horas Intervalos

Tipos de datos numéricos exactos:• Integer (enteros) • SmALLinteger (enteros cortos)• Numeric (p,e) (numéricos) • Decimal (p,e) (decimales) 

En los últimos dos tipos de datos (numérico y decimal) se indica una precisión (p) y una escala (e). Laprecisión indica el total de números o dígitos en el número y la escala indica cuántos de estos están a laderecha del punto decimal.

Tipo de datos aproximados:Aproximados• Real (real) 

Page 69: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 69/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  69

• Doubleprecision (doble precisión) • Float (flotante) 

Estos tipos de datos se usan normalmente para cálculos científicos y de ingeniería.

Tipos de datos cadenas de caracteres:• Character (n) (carácter) • Charactervarying (n) (carácter 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 número realde caracteres que se introdujeron (hasta un máximo 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: año, mes y día, con cuatro dígitos para el año.Time se da en horas (0 a 23), minutos, segundos y décimas de segundo.

Timestamp es la fecha más la hora (date plus time).

Tipos de datos de intervalos:

• Year– month (año-mes)• Date_time (dia-hora)

El intervalo es la diferencia entre dos fechas (año-mes) o entre dos horas (día-hora).Por ejemplo, entre diciembre de 1994 y enero de 1996, el intervalo es un año y un mes

3.1.3. Generación de Diccionario de datos

El propósito de un diccionario de datos es que contenga las características lógicas de los datos que se vana utilizar en un sistema (bases de datos), incluyendo nombre, descripción, alias, contenido y organización.

Los diccionarios de datos son desarrollados durante el análisis de flujo de datos, y ayudan a los analistasque participan en la determinación de los requerimientos del sistema, evitando así malas interpretaciones oambigüedades, su contenido también se emplea durante el diseño del proyecto.

Page 70: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 70/94

Page 71: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 71/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  71

Guarda el trabajo con el nombre BDD_U3_A2_XXYZ. Envía el archivo al facilitador(a) para recibir retroalimentación.

Actividad 3. Entrega de tablas lógicas y diccionario de datos

El propósito de esta actividad es analizar los errores más comunes del diseño de las tablas lógicas, 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 lógicas,analiza los errores más comunes del diseño de las tablas lógicas y reelabora en un documento de texto las

tablas lógicas 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. Envía el archivo a tu facilitador(a) para recibir retroalimentación.

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

Las peticiones sobre los datos se expresan mediante sentencias, quedeben escribirse de acuerdo con las siglas sintácticas y semánticasde SQL. Para esto es necesario conocer las instruccionesprimordiales de SQL: DDL (Data Definition Language) y DML (Data

Manipulation Language).

Page 72: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 72/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  72

DDLLa instrucción DDL (Data Definition Language) está conformada por los siguientes comandos.

Comando  Descripción 

CREATE Utilizado para crear nuevas tablas, campos, vistas e índices.

DROP Empleado para eliminar tablas e índices.

 ALTERUtilizado para modificar las tablas, agregando campos o cambiando ladefinición de los campos.

Instrucciones DDL

 A continuación 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 DROPDROP DATABASE { dataBase_name | dataBase_snapshot_name } [ ,…n ] [;] 

Sintaxis de ALTER

 ALTER TABLE ―nombre_tabla‖ [modificar especificación] 

DMLDML (Data Manipulation Language) está conformado por comandos que permiten al usuario seleccionar,añadir, modificar y borrar información contenida en el repositorio (Base de datos), es decir, cuenta con loscomandos: SELECT, INSERT, UPDATE Y DELETE.

Comando  Descripción 

SELECTUtilizado para consultar registros de la base de datos que satisfagan

un criterio determinado.INSERT

Utilizado para cargar lotes de datos en la Base de datos en una únicaoperación.

UPDATEUtilizado para modificar los valores de los campos y registrosespecificados.

DELETE Utilizado para eliminar registros de una tabla de una Base de datos.

Instrucciones DML

 A continuación se describe la sintaxis de cada uno de los comandos:

Page 73: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 73/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  73

Sintaxis de SELECTSELECT ―nombre de columna‖ FROM ―nombre_tabla‖

Sintaxis de INSERTINSERT INTO ―nombre_tabla‖ (―columna 1‖, ―columna 2‖, …) valor S (―valor 1‖, ―valor 2‖, …) 

Sintaxis de UPDATEUPDATE ―nombre_tabla‖ SET ―columna 1‖ = [nuevo valor] WHERE {condición} 

Sintaxis de DELETEDELETE FROM ―nombre_tabla‖ WHERE {condición} 

Existen otros comandos básicos, que se vuelven condiciones de modificación utilizadas para definir los

datos que se desea seleccionar o manipular.

Cláusula  Descripción 

FROMUtilizada para especificar la tabla de la cual se van a seleccionar losregistros.

WHEREUtilizada para especificar las condiciones que deben reunir losregistros que se van a seleccionar.

GROUP BYUtilizada para separar los registros seleccionados en gruposespecíficos.

HAVINGUtilizada para expresar la condición que debe satisfacer cada

grupo.

ORDER BYUtilizada para ordenar los registros seleccionados de acuerdo conun orden específico.

Comandos básicos

 Así como se muestra la descripción de cada comando (de condición), en la tabla 3.10, a continuación sedescribe la sintaxis de cada uno de ellos.

Sintaxis de FROMFROM "nombre_tabla" WHERE {condición}

Sintaxis de WHERESELECT "nombre_columna" FROM "nombre_tabla" WHERE "condición"

Sintaxis de GROUP BYSELECT "nombre_columna 1", SUM ("nombre_columna 2") FROM "nombre_tabla" GROUP BY"nombre_columna 1"

Sintaxis de HAVING

Page 74: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 74/94

Page 75: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 75/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  75

LIKE  Utilizado en la comparación de un modelo.

IN  Utilizado para especificar registros de una base de datos.

Operadores de comparación

 A continuación se muestran las sintaxis de cada uno de los operadores de comparación.

Sintaxis de BETWEENcampo [Not] Between valor1 AND valor2

Sintaxis de LIKEexpresión Like modelo

Sintaxis de IN

expresión [Not] In (valor1, valor2, . . .)

Es importante mencionar las funciones de los operadores agregados que se usan dentro de un comandoSELECT en grupos de registros para devolver un único valor ya registrado.

Función  Descripción 

AVG Utilizada para calcular el promedio de los valores de un campodeterminado.

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

SUM  Utilizada para devolver la suma de todos los valores de un campodeterminado.

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

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

Funciones

Cada una de estas funciones se utiliza cuando el manejador de Base de datos es SQL y tienen lassiguientes sintaxis. 

Sintaxis de AVG

 AVG ( [ ALL | DISTINCT ] expresión )

Sintaxis de COUNTSELECT COUNT ("nombre_columna") FROM "nombre_tabla"

Sintaxis de SUMSUM ( [ ALL | DISTINCT ] expresión )

Sintaxis de MAXMAX ( [ ALL | DISTINCT ] expresión)

Page 76: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 76/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  76

Sintaxis de MINMIN ( [ ALL | DISTINCT ] expresión)

3.1.5. Álgebra relacional

Para hablar de este tema, es importante conocer y tener biendefinidos los términos básicos de las estructuras SQLmencionados y presentados en las figuras del subtema

anterior, así como su funcionamiento. Ahora bien, este temaservirá para generar las operaciones más básicas en las basesde datos relacionales, y está constituido de manera prácticapara su mejor comprensión.

El álgebra relacional es definida como un conjunto de operadores de alto nivel que trabajan sobrerelaciones. Esto significa que estas operaciones usan una o dos relaciones existentes para crear una nueva

relación. Esta nueva relación puede entonces usarse como entrada para una nueva operación. Estepoderoso concepto – la creación de una nueva relación a partir de las relaciones existentes— hace posibleuna variedad infinita de manipulaciones sobre los datos. Eso también hace considerablemente más fácil lasolución de las consultas, debido a que se puede experimentar con soluciones parciales hasta encontrar una proposición con la que se trabajará.

CLIENTE

ID_CLIENTE NOMB_CLIENTE DIRECCION PAÍS SALDOINICIAL

SALDO ACTUAL

100101105110

José LópezMaritzaJuliánGómez

Box 241, SonoraB 918, AguasCalientesSantiago

Japón AustriaUSAChile

45.55175.31449.33327.400

52.11377.20057.81135.414

VENDEDOR

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISIÓN

10142337

Blanca SotoMónica MárquezFrancisco MorenoElena Hernández

27443512

 AguasCalientesSonoraNayarit

1011913

Page 77: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 77/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  77

3927443512

Gabriela AcuñaTeresa Cardoso

 Alberto SánchezBerenice MedinaClaudia Ortega

44272727

B.C.Sonora

 AguasCalientesSonoraNayaritB.C.

1015121110

PRODUCTO

ID_PRODUCTO DESC_PRODUCTO ID_FABRICANTE COSTO PRECIO

1035224122492518

abrigolámpara de mesalámpara de mesaescultura

210317317253

1,252,253,550,60

2,003,254,801,20

VENTAFECHA ID_CLIENTE ID_VENDEDOR ID_PROD CANTIDAD

28/0212/0215/0219/0202/0205/0222/0214/02

01/0204/02

100101101100101105110105

101101

1023233923103710

2323

22412518103525181035224125182249

22492241

20030015020020010015050

75250

FABRICANTE

ID_FABRICANTE NOMB_FABRICANTE DIRECCION PAÍS

210253317

NikeHugo bossLlama Llamps

 AuklANDLagosLima

Estados UnidosNigeriaPerú

Ejemplo de datos en una base de datos.

El álgebra relacional consta de nueve operaciones: unión, intersección, diferencia, producto, selección,proyección, reunión, división y asignación. Las cuatro primeras operaciones se toman de la teoría deconjuntos de Matemáticas, y son considerablemente parecidas a las operaciones encontradas allí. Esto esrazonable, 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 aplicanespecíficamente al modelo de datos relacional. Mientras que la última operación (asignación) es laoperación estándar de los lenguajes de computación, de dar un valor a un nombre. En este caso, laasignación se usa para dar un nombre a una nueva relación que se crea de relaciones existentes. Se usaráel signo ―:=‖ (es el nombre asignado a) para indicar la asignación de nombres a relaciones.

 A continuación se abordan cada una de las nueve operaciones del álgebra relacional.

Page 78: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 78/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  78

1. UniónLa operación de unión (∪) permite combinar los datos de dos relaciones. Por ejemplo, en la figura 3.15,

suponga que la relación VENDEDOR no existe en la base de datos. En cambio, se tienen las dosrelaciones de la figura 3.16. Estas dos relaciones representan todos los vendedores que estánsubordinados a otros vendedores (VENDEDOR_SUBORDINADO) y todos los vendedores que son jefes deotros vendedores (VENDEDOR_JEFE). Obviamente, existe redundancia de datos, esto sucede a través dela ejecución de una serie de órdenes de álgebra relacional antes de utilizar el operador unión. Si se deseaobtener una relación que contenga todos los vendedores, se debe realizar la unión deVENDEDOR_SUBORDINADO y VENDEDOR_JEFE.

VENDEDOR:= VENDEDOR_SUBORDINADO ∪ VENDEDOR_JEFE

VENDEDOR es el nombre asignado a la relación resultante y consiste en las filas que están enVENDEDOR_SUBORDINADO o VENDEDOR_JEFE, o ambas.

Es importante observar que una fila que existe en ambas relaciones aparece solo una vez en la relaciónunión. Esto sigue la definición de una relación como un conjunto, debido a que un elemento dado seencuentra solo una vez en conjunto.

VENDEDOR_SUBORDINADO

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISIÓN

10

14233739443512

Blanca Soto

Mónica MárquezFrancisco MorenoElena HernándezGabriela Acuña

 Alberto SánchezBerenice MedinaClaudia Ortega

27

44351244272727

 Aguas

CalientesSonoraNayaritB.C.SonoraSonoraNayaritB.C.

10

1191310121110

VENDEDOR_JEFE

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISION

1035224122492518

Teresa Cardoso Alberto SánchezBerenice MedinaClaudia Ortega

272727

 AguasCalientesSonoraNayaritB.C.

15121110

Representación relacional alternativa de vendedor.

VENDEDOR

Page 79: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 79/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  79

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISION

101423373927443512

Blanca SotoMónica MárquezFrancisco MorenoElena HernándezGabriela AcuñaTeresa Cardoso

 Alberto SánchezBerenice MedinaClaudia Ortega

2744351244272727

 Aguas CalientesSonoraNayaritB.C.Sonora

 Aguas CalientesSonoraNayaritB.C.

10119131015121110

Unión de vendedor subordinado y vendedor jefe.

Se debe señalar un requisito especial de la operación de unión que la hace ligeramente diferente de la

unión de conjuntos de Matemáticas. En Matemáticas, dos conjuntos cualesquiera pueden ser combinadosa través de la operación unión. Pero en el álgebra relacional, antes de aplicar la unión a las dos relaciones,estas deben tener exactamente las mismas columnas, tanto en número de columnas como en el dominiode las mismas. Si este es el caso, se dice que las dos relaciones son unión compatible. Obviamente,VENDEDOR_SUBORDINADO y VENDEDOR_JEFE son unión compatible.

Se requiere la compatibilidad de la unión para que el resultado sea una relación. Si se toma la unión deCLIENTE y PRODUCTO (ver figura 3.14) se obtendrá un conjunto y una relación. Las filas en el conjuntoresultante no tendrían columnas comunes, de este modo ellas no se agruparían en una tabla relacional. Lacompatibilidad de la unión es claramente esencial para la operación de unión. Por la misma razón, es

esencial para las operaciones de intersección y diferencia.

CLIENTE

ID_CLIENTE NOMB_CLIENTE DIRECCION PAÍS SALDOINICIAL

SALDO ACTUAL

100101105110

José LópezMaritzaJuliánGómez

Box 241, SonoraB 918, AguasCalientesSantiago

Japón AustriaUSAChile

45.55175.31449.33327.400

52.11377.20057.81135.414

VENDEDOR

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISIÓN

Page 80: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 80/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  80

101423373927443512

Blanca SotoMónica MárquezFrancisco MorenoElena HernándezGabriela AcuñaTeresa Cardoso

 Alberto SánchezBerenice MedinaClaudia Ortega

2744351244272727

 AguasCalientesSonoraNayaritB.C.Sonora

 AguasCalientesSonoraNayaritB.C.

10119131015121110

PRODUCTO

ID_PRODUCTO DESC_PRODUCTO ID_FABRICANTE COSTO PRECIO

1035224122492518

abrigolámpara de mesalámpara de mesaescultura

210317317253

1,252,253,550,60

2,003,254,801,20

VENTA

FECHA ID_CLIENTE ID_VENDEDOR ID_PROD CANTIDAD

28/0212/0215/0219/02

02/0205/0222/0214/0201/0204/02

100101101100

101105110105101101

10232339

231037102323

2241251810352518

103522412518224922492241

200300150200

2001001505075250

FABRICANTE

ID_FABRICANTE NOMB_FABRICANTE DIRECCION PAÍS

210253

317

NikeHugo boss

Llama Llamps

 AuklANDLagos

Lima

Estados UnidosNigeria

PerúEjemplo de datos en una base de datos.

2. IntersecciónLa operación de intersección (∩) permite identificar los campos que son comunes en dos relaciones. Por ejemplo, si se requiere identificar a los vendedores que son subordinados de algún jefe, y que son jefes, setoma la intersección de VENDEDOR_SUBORDINADO y VENDEDOR_JEFE, llamando al resultadoVENDEDOR_SUBORDINADO_JEFE:  

VENDEDOR_SUBORDINADO_JEFE := VENDEDOR_SUBORDINADO ∩ VENDEDOR_JEFE 

Page 81: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 81/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  81

Esto produce la siguiente relación:

VENDEDOR_SUBORDINADO_JEFE

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISIÓN

443512

 Alberto SánchezBerenice MedinaClaudia Ortega

272727

SonoraNayaritB.C.

121110

El resultado de una operación de intersección es la relación que consiste en todas las filas que están enambas relaciones. Esto significa que si C es la intersección de A y B:C:= A ∩ B

Entonces C consta de aquellas filas que están en A y B. Al igual que antes, A y B deben ser unióncompatible.

3. DiferenciaLa operación de diferencia (-) permite identificar filas que están en una relación y no en otra. Suponga quees de interés identificar los jefes que no son subordinados de otros jefes, entonces se toma la diferenciaentre VENDEDOR_JEFE y VENDEDOR_SUBORDINADO, en ese orden.

VENDEDOR_JEFE_JEFE := VENDEDOR_JEFE - VENDEDOR_SUBORDINADO

VENDEDOR_JEFE_JEFE

ID_VENDEDOR27

NOMB_VENDEDORTeresa Cardoso

ID_JEFE15

OFICINAAguasCalientes

%COMISIÓN11

La diferencia entre dos relaciones se define como la relación consistente en todas las filas que están en la

primera relación, y no están en la segunda relación. Así, si:C:= A – BEntonces 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 ejemploanterior se obtendría:VENDEDOR_SUBORDINADO - VENDEDOR_JEFELa relación resultante consistiría 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 lasrelaciones en una operación de diferencia es muy importante. Una vez más es importante recordar queambas relaciones deben ser unión compatible.

Page 82: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 82/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  82

La operación de diferencia puede también ser llamada operación de sustracción. Esta operación particular es muy valiosa en la solución de algunos problemas difíciles, que de otro modo no se solucionarían.

4. Producto

La operación producto (*) es valiosa como un bloque para la construcción de una reunión (JOIN), que esprobablemente la operación más importante en el álgebra relacional. La operación producto es idéntica a laoperación en Matemáticas que crea el producto cartesiano de dos conjuntos. Ahora se explicará quésignifica esto, ilustrándolo con la operación de producto en un ejemplo abstracto muy simple.

a) La relación A y B 

 A

X Y

1011

2225

B

W Z

333742

5498100

(b) El producto de A y B 

C ( := A * B )

X Y W Z

10101011

1111

22222225

2525

33374233

3742

549810054

98100

Figura. Ejemplo de la operación producto.

C:= A * B

Observe que el producto se crea:

Page 83: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 83/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  83

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. Cadafila de A se corresponde tres veces con B, y entonces aparece en tres diferentes filas en A, por el númerode filas en B.

Otro ejemplo usando la base de datos de la figura 3.14 se da si tomamos el producto de PRODUCTO yVENTA.

P_V:= PRODUCTO * VENTA

P_V tendría 10 columnas y 40 filas, por lo que habría un problema en este caso, debido a que unacolumna en PRODUCTO y una columna en VENTA (ID_PRODUCTO) tienen el mismo nombre. Esto seresuelve modificando el nombre de la columna en cada caso, añadiendo el nombre de la relación original.

 Así, en P_V se tienen columnas llamadas PRODUCTO.ID_PRODUCTO y VENTA.ID_PRODUCTO.

Esto parece ser una aplicación no natural para la operación 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 comola operación de construcción de un bloque para la reunión (JOIN), también usado en el lenguaje deconsulta SQL.

5. Selección

La operación de selección (=) se usa para crear una relación a partir de otra relación, seleccionando soloaquellas filas que satisfacen una condición específica. Por ejemplo:

Instrucción: dar toda la información de los vendedores en la oficina de Sonora.

Esto se soluciona seleccionando las filas de la relación VENDEDOR de la figura 3.14, sujetas a la condiciónde 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‖) 

Page 84: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 84/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  84

El nombre ―VEND_SONORA‖ se ha definido para identificar la relación. La palabra clave ―SELECT‖ se

usa para indicar que está realizando una operación de selección. A continuación de ―SELECT‖ se

pone entre paréntesis el nombre de la relación de la cual son seleccionadas las filas, seguido por dos

puntos (:); seguido por una condición de selección. Esas filas que satisfacen la condición de selecciónserán seleccionadas y puesta en relación resultante. El resultado de esta operación de selección es lasiguiente:

VEND_SONORA

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA % COMISIÓN

143944

Mónica MárquezGabriela Acuña

 Alberto Sánchez

444427

SonoraSonoraSonora

111012

Las condiciones de selección son esencialmente las mismas condiciones usadas en las instruccionesIF (si) en los lenguajes tradicionales de programación. Sin embargo, los nombres de las columnasusados en la condición de la selección dada deben encontrarse en la relación nombrada en laoperación de selección. Algunos ejemplos de condiciones de selección que podrían usarse con larelación VENDEDOR son:

ID_VENDEDOR=23

NOMB_VENDEDOR=Berenice MedinaID_JEFE>=20not OFICINA = ―B.C.‖ % COMISION < 11

Pueden usarse operadores de comparación tales como < y >. Hay cinco operadores de comparaciónmencionados en el subtema anterior. Para cada uno de estos hay un operador correspondiente queusa el operador booleano ―NOT‖. También se pueden usar los conectores booleanos ―AND‖ y ―OR‖. El

operador NOT se puede usar para negar una condición entera. EjemplosInstrucción: ¿Qué vendedor tiene ID 23?

Solución: SELECT (VENDEDOR: ID_VENDEDOR=23)

Resultado: 

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %COMISIÓN

23 FRANCISCOMORENO

35 NAYARIT 9

Instrucción: ¿Quiénes son los vendedores con un jefe con un ID mayor o igual que 20?

Solución: SELECT (VENDEDOR: ID_JEFE > = 20 )

Page 85: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 85/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  85

Resultado: 

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %COMISIÓN

10 Blanca Soto 27 AguasCalientes

10

14 Mónica Márquez 44 Sonora 11

23 Francisco Moreno 35 Nayarit 9

39 Gabriela Acuña 44 Sonora 10

Instrucción: dar toda la información sobre los vendedores excepto aquellos de la oficina de Buenos Aires.Solución: SELECT: (VENDEDOR:OFICINA=‖B.C.‖ Resultado:

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %COMISIÓN

1014233927

4435

Blanca SotoMónica MárquezFrancisco MorenoGabriela AcuñaTeresa Cardoso

 AlbertoSánchezBerenice Medina

274435440

2727

 AguasCalientesSonoraNayaritSonora

 AguasCalientesSonoraNayarit

101191015

1211

Instrucción: ¿Qué vendedores tienen una comisión menor a 11%?Solución: SELECT (VENDEDOR: %COMISION<11)Resultado: 

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %COMISIÓN

102339

Blanca SotoFrancisco MorenoGabriela Acuña

273544

 AguasCalientesNayaritSonora

10910

Instrucción: ¿Quiénes son los vendedores de la oficina de Sonora que tienen una comisión >11%?

Page 86: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 86/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  86

Solución: SELECT (VENDEDOR: OFICINA =‖Sonora‖ AND %_ COMISION>11) 

Resultado: 

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %COMISIÓN

1444

Mónica Márquez Alberto Sanchez

4427

SonoraSonora

1112

Instrucción: ¿Quiénes son los vendedores cuyo jefe tiene identificador 27 o una comisión mayor que 10?

Solución: SELECT (VENDEDOR: ID_JEFE =27 AND %_ COMISION>10)

Resultado: 

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %COMISIÓN

10143727443512

Blanca SotoMónica MárquezElena HernándezTeresa Cardoso

 AlbertoSánchezBerenice Medina

Buster Sánchez

274412

272727

 AguasCalientesSonoraB.C.

 AguasCalientesSonora

NayaritB.C.

10111315121110

6. Proyección

Para ilustrar la operación de selección preguntaban ―Quiénes…‖, lo cual siguiere que los usuarios querían

solo los nombres de los vendedores que satisfacían la condición de la consulta. Sin embargo, la respuestaa cada consulta incluía filas enteras de datos tomadas de la relación VENDEDOR, debido a que laoperación de selección siempre selecciona filas enteras. Está claro que se necesita alguna manera de

eliminar las columnas no deseadas. Si la operación de selección puede pensarse como la eliminación delas filas no deseadas, la operación de proyectar se piensa como la eliminación de las columnas nodeseadas. La relación que resulta de una operación de proyectar se llama una proyección de la relaciónoriginal.

 A diferencia de otras operaciones del álgebra relacional, la operación de proyectar no requiere de unapalabra clave especial o símbolo. Más bien, para crear una proyección —una relación consistente solo deciertas columnas identificadas de otra relación— se enlista simplemente la relación original seguida de lascolumnas que se quieren conservar encerradas entre corchetes.

Page 87: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 87/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  87

Por ejemplo, si se desea identificar a los vendedores de la oficina de Sonora, se proyectaría la columnanombre de la relación VENDEDOR-SONORA que visualizamos en los ejemplos anteriores.

VENDEDOR_SONORA [ NOMB_VENDEDOR]

Esto resulta de la siguiente relación:

NOMB_VENDEDORMónica Márquez

Gabriela Acuña Alberto Sánchez

Se podrían haber escogido más de una columna, si se quiere el ID, el nombre y el jefe de esos vendedoresse introduce:

VENDEDOR_SONORA (ID_VENDEDOR, NOMB_VENDEDOR, ID_JEFE)

Resultante:

ID_VENDEDOR

143944

NOMB_VENDEDOR

Mónica MárquezGabriela Acuña

 Alberto Sánchez

ID_JEFE

444427

Es de interés conocer todos los diferentes % de comisión pagados a los vendedores. Se puede obtener esto proyectando simplemente la columna %_COMISION de la relación VENDEDOR:VENDEDOR [%COMISION]

Resultante:

%COMISIÓN

10119131512

Page 88: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 88/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  88

En cada tasa de comisión aparece solo una vez, aún cuando distintos vendedores tienen la mismatasa de comisión. Ya que una relación es un conjunto, una tasa dada aparece solo una vez. Esto esuna característica importante de la operación de proyectar. Automáticamente elimina filas duplicadas

de la operación resultante. Esto acurre cuando la relación resultante consiste de más de una columna.Si cualesquiera dos filas enteras de una relación son idénticas columna por columna, la fila aparecesolo una vez en la relación.

Esta operación presenta una oportunidad conveniente para mostrar el anidamiento de operaciones enel álgebra relacional. Por anidamiento se entiende la ejecución de más de una operación sin asignar explícitamente un nombre a las relaciones intermedias resultantes. Por ejemplo, añadamos unaoperación de proyectar a una de las consultas usadas para ilustrar las operaciones de selección:

Instrucción: ¿quiénes son los vendedores que tienen una comisión < que 11%?

Solución: SELECT (VENDEDOR: %COMISION<11) [NOMB_VENDEDOR]

Resultado:

NOM_VENDEDORBlanca SotoFrancisco MorenoGabriela AcuñaClaudia Ortega

Este ejemplo muestra la operación de selección que se realiza primero seguida por la proyecciónsobre la columna NOMB_VENDEDOR resultante. Esto es permitido para anidar operaciones delálgebra relacional, como se necesite, usando paréntesis donde se necesite mostrar el orden de lasoperaciones.

7. Reunión

Conocida como JOIN, sirve para conectar datos a través de relaciones, es la función más importante encualquier lenguaje de base de datos. Se conocen varias versiones que son las siguientes: la reunión natural

(natural join) la reunión theta (theta join) y la reunión externa (outer join) de las cuales la más importante esla reunión natural (ver figura 3.14 de la relación VENTAS). Esta relación almacena al cliente, al vendedor yal producto involucrado en una transacción de venta particular, incluyendo los IDs de estos tres elementosde datos. La información permite hacer conexiones lógicas entre las relaciones CLIENTE, VENDEDOR yPRODUCTO. Pensemos en un ejemplo: se deja conocer los nombres de los clientes que han hechocompras al vendedor 10, lo primero es seleccionar aquellas ventas aplicadas solo al vendedor 10, y seponen entonces en una relación que se llama VENTA_10.

VENTA_10

Page 89: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 89/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  89

FECHA ID_CLIENTE ID_VENDEDOR ID-PRODUCTO CANTIDAD

28/02

05/0214/02

100

105105

10

1010

2241

22412249

200

10050

Se obtiene la información deseada reuniendo las relaciones VENTAS_10 y CLIENTE. Esta operaciónprocede como sigue:

1. Se crea el producto de VENTA_10 y CLIENTES. Se obtiene una relación con 11 columnas (5 deVENTA_10 y 6 de ID_CLIENTE) y 12 filas (3 en VENTA_10 * 4 en CLIENTE).

2. Todas las filas de esta relación producto se eliminan, excepto aquellas en las cuales el ID_CLIENTEde VENTA_10 es igual al ID_CLIENTE de CLIENTE. En el resultado se debe observar que hay doscolumnas ID_CLIENTE en la relación y que en cada fila los valores en estas dos columnas sonidénticos.

3. Dado que las dos columnas ID_CLIENTE contienen idéntica información, una de ellas puedeeliminarse. Esto resulta en la reunión natural de VENTA_10 y CLIENTE.

FECHA ID_CLIENTE ID_VENDEDOR ID_PRODUCTO CANTIDAD

28/0205/02

14/02

100105

105

1010

10

22412241

2241

200100

50

ID_CLIENTE NOMB_CLIENTE DIRECCIÓN PAÍS SALDOINICIAL

SALDO ACTUAL

100105105

JoséJuliánJulián

Box 241, SonoraB 918, AguasCalientesB 918 AguasCalientes

MéridaCuliacánCuliacán

45.55149.33349.333

52.11357.81157.811

Figura. Resultado de la reunión natural.

Se ha obtenido mucha información de solo los nombres de los clientes. Si se quiere solo el nombre, setendrá que proyectar la columna NOMB_CLIENTE de la relación.

8. División

Para trabajar con la división ejemplifiquemos la siguiente consulta.

Instrucción: liste los vendedores que han vendido todos los productos.

Page 90: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 90/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  90

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, paracada 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 operación división (divide) delálgebra relacional. ¿Cómo resolver esta consulta? Se seguirá un procedimiento cercano al que se usaríaintuitivamente, y se mostrará cómo la operación de división corresponde con este procedimiento.

El primer paso será entonces obtener una relación consistente del atributo clave para todos losproductos en la base de datos. Se hace esto proyectando PRODUCTO en ID_PROD.

PI:= PRODUCTO[ID_PROD]

PI es una relación que contiene todos los valores de ID_PROD y se obtendrá una relación quecontenga todas las instancias donde su vendedor y un producto están juntos en una única venta.

Esto se hace proyectando la relación 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 productorepresentado 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 havendido el producto.

Resultante: 

PI

ID_PROD1035224122492518ID_VENDEDORID_PROD10 224123 251823 1035

39 251837 251810 224923 224923 2241

 Ahora solo se necesita determinar si cada vendedor presentado en PI_VI se asocia con cada ID delproducto en PI, esto se hace automáticamente con la operación de división.

 A:= PI_VI/PI

Page 91: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 91/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  91

Resultado: 

 A

ID:VENDEDOR23

En la operación de división 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 todasy solo aquellas de B que no son columnas de C, esto corresponde al ejemplo anterior. Lascolumnas de PI/VI son ID_PROD e ID_VENDEDOR, mientras que la columna de PI es ID_PROD yla 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 también secorresponde al ejemplo citado, debido a que una fila de A (ID_VENDEDOR=23) está asociada enPI_VI con todas las filas de PI y es además el único ID_VENDEDOR asociado.

3. Esta operación es la opuesta a la operación producto. Es fácil verificar que si una relación es elproducto de dos relaciones B y C, entonces se puede obtener B, dividiendo el producto de C:

(B*C)/C=B entonces vemos la analogía con la aritmética común del porqué se ha llamado operaciónde división. Codd la incluyó en el álgebra relacional para proporcionar la capacidad necesaria para

el cuantificador universal del cálculo relacional. De manera práctica, la operación de división seproporcionó para que se pudieran relacionar consultas que involucraran ―cada‖ o ―todo‖ como parte

de la condición.

9. Asignación

 Asignación es la operación estándar de los lenguajes de computación, que consiste en dar un valor a unnombre. En este caso la asignación se usa para dar un nombre a una nueva relación que se crea derelaciones existentes. Se usa el signo ―:=‖ (es el nombre asignado a) para indicar la asignación de nombresa relaciones.

Page 92: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 92/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  92

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

Actividad 4. Ejercicio: Funciones básicas de SQL y álgebra relacional

El propósito de esta actividad es que comiences a aplicar las funciones básicas de SQL, y las operacioneselementales 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 aplicación, así como un ejemplo de cadauna de ellas.2. En la segunda cuartilla del documento, menciona para qué sirven los comandos DML de SQL y muestrael uso de cada una de ellas.3. Selecciona dos de las operaciones básicas del álgebra relacional y aplícalas en la base de datos.

4. Guarda la actividad con el nombre BDD_U3_A4_XXYZ y envíala a tu facilitador(a) para recibir retroalimentación.

Evidencia de aprendizaje. Desarrollo e integración de prototipo

El propósito de esta actividad es que organices las actividades elaboradas a lo largo del curso para que laspresentes como evidencia final de aprendizaje, además debes incluir el prototipo de bases de datos queconfeccionaste 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 conformarán 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 presentación que enlace el contenido con su aplicación en el prototipo, incluyendo suimportancia.4. Agrega los elementos del prototipo:

a) Concepto de base de datos.b) Elección del caso de estudio.c) Tipo de Base de datos utilizado.d) Esquema de entradas, procesos y salidas.e) Instrumento de recopilación de información (cuestionario, entrevista o encuesta), según el caso.

Page 93: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 93/94

Bases de datos Programa desarrollado 

Educación Superior Abierta y a Distancia • Ciencias Exactas, Ingeniería y Tecnología.  93

f) Reporte de estudio de factibilidad.g) Requerimientos de hardware y software.h) Modelo entidad relación

i) Tablas lógicas. j) Diccionario de datos.k) Aplicación de cinco operaciones de álgebra relacional como mínimo 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 retroalimentación.

 Al terminar el proceso anterior, ingresa al foro Preguntas de Autorreflexión y lee los cuestionamientos queformuló tu Facilitador(a), posteriormente, sal del foro, ingresa a la sección Autorreflexiones y, dentro deésta, envía tu autorreflexión con el nombre BDD_U3_ATR_XXYZ.

Consideraciones específicas de la unidad

Es importante ser autodidacta, creativo y sobre todo tener una amplia visión para jugar con las diferentesinstrucciones SQL, así como para la aplicación del álgebra relacional, ya que esto aportará un mayor conocimiento teórico y práctico para el desarrollo de las habilidades en la construcción 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 seabordaron los temas básicos de informática, ligando las ideas, poco a poco, hasta llegar a los conceptosgenerales de las bases de datos, que fueron el punto clave para conocer los tipos de bases de datos ygestores, dando una explicación de sus funciones y usos. Finalmente, en la unidad tres, se revisaron losmodelos de bases de datos y su aplicación de manera práctica, utilizando SQL y sus instrucciones DDL yDML, pasando a la aplicación de ejercicios con álgebra relacional.

Es recomendable que revises nuevamente la unidad en caso de que los temas que se mencionan no tesean 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 evaluación de la asignatura, se pide llevar a cabo un examen final cuyo propósito esreforzar los conocimientos adquiridos a lo largo del curso.

Ingresar al aula virtual para realizar la actividad. 

Page 94: BDD_PD_PROGRAMA.pdf

7/23/2019 BDD_PD_PROGRAMA.pdf

http://slidepdf.com/reader/full/bddpdprogramapdf 94/94

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) Definición de ASCII. Recuperado el 21 de enero de 2011, de

http://www.mastermagazine.info/termino/3926.php• Pérez L, César. (2008) Oracle 10g: administración y análisis de Base de datos. Segunda edición. México:

 Alfaomega.• Quiroz, Javier. (2003) ―El modelo relacional de Base de datos‖ en Boletín de Política Informática Núm. 6

(Versión electrónica). Recuperado el 26 de enero de 2011, de:http://www.inegi.org.mx/inegi/contenidos/espanol/prensa/contenidos/articulos/tecnologia/relacional.pdf • Real Academia Española (2001) Diccionario de la lengua española. Vigésima segunda edición (Versióndigital). Recuperado el 19 de enero de 2011, dehttp://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica

• Silberschatz, Abraham. (2006). Fundamentos de Base de Datos. España: McGraw-Hill.