Tema Desarrollado

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

description

base de datos

Transcript of Tema Desarrollado

Page 1: Tema Desarrollado

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

Page 2: Tema Desarrollado

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 DISTANCIA

COORDINACIÓ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: Tema Desarrollado

Bases de datos Programa desarrollado

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

Tabla de contenidos

I. INFORMACIÓN GENERAL DE LA ASIGNATURA ................................................................................................. 7

a. Ficha de identificación ............................................................................................................................................ 7

b. Descripción ............................................................................................................................................................... 7

c. Propósito ................................................................................................................................................................... 8

II. FUNDAMENTACIÓN TEÓRICA DE LA ASIGNATURA........................................................................................ 8

III. COMPETENCIAS A DESARROLLAR .................................................................................................................... 8

Competencia general ................................................................................................................................................. 8

Competencias específicas .......................................................................................................................................... 9

IV. TEMARIO .................................................................................................................................................................... 9

V. METODOLOGÍA DE TRABAJO ............................................................................................................................... 9

VI. EVALUACIÓN .......................................................................................................................................................... 10

VII. MATERIAL DE APOYO ......................................................................................................................................... 11

Bibliografía básica...................................................................................................................................................... 11

Bibliografía complementaria ..................................................................................................................................... 11

Páginas electrónicas ................................................................................................................................................. 11

Otros recursos ............................................................................................................................................................ 12

VIII. DESARROLLO DE CONTENIDOS POR UNIDADAD ..................................................................................... 13

UNIDAD 1. Introducción a las Bases de datos ......................................................................................................... 13

Propósito de la unidad .............................................................................................................................................. 13

Competencia específica ............................................................................................................................................ 13

Presentación de la unidad ........................................................................................................................................ 14

Actividad 1. Presentación ......................................................................................................................................... 14

1.1. Conceptos generales ......................................................................................................................................... 15

1.1.1. Conceptos informáticos básicos ................................................................................................................... 17

Actividad 2. Conceptos básicos de la asignatura ................................................................................................. 23

Page 4: Tema Desarrollado

Bases de datos Programa desarrollado

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

1.1.2. Conceptos específicos de Bases de datos ................................................................................................. 24

Actividad 3. Generar el concepto propio de Base de datos ................................................................................ 27

1.2. Tipos de Bases de datos .................................................................................................................................. 27

1.2.1. Base de datos de árbol (jerárquica) ............................................................................................................. 29

1.2.2. Base de datos de red ..................................................................................................................................... 33

1.2.3. Base de datos relacional ............................................................................................................................... 35

Actividad 4. Tabla comparativa de los tipos de Bases de datos ........................................................................ 36

1.2.4. Sistema Gestor de Base de Datos (SGBD) ................................................................................................ 38

Actividad 5. Reporte de investigación. Aplicación de los Sistemas Gestores de Bases de Datos por medio

de un análisis de características ............................................................................................................................. 39

1.2.5. Estructura de un Sistema Gestor de Base de Datos ................................................................................ 39

Evidencia de aprendizaje. Reporte. Integración general de elementos específicos de las Bases de datos

...................................................................................................................................................................................... 40

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

Cierre de la unidad .................................................................................................................................................... 41

Fuentes de consulta .................................................................................................................................................. 41

UNIDAD 2. Análisis........................................................................................................................................................ 42

Propósito de la unidad .............................................................................................................................................. 42

Competencia específica ............................................................................................................................................ 42

Presentación de la unidad ........................................................................................................................................ 43

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

2.1.1. Análisis. Concepto .......................................................................................................................................... 44

2.1.2. Estructura de las entradas, procesos y salidas ......................................................................................... 45

Actividad 1. Elección de caso .................................................................................................................................. 46

2.1.3. Herramientas de estudios de factibilidad (operacional, financiero y económico) ................................. 46

Actividad 2. Elección y elaboración del instrumento de recopilación de información ..................................... 48

2.1.4. Reporte del estudio de factibilidad ............................................................................................................... 48

Page 5: Tema Desarrollado

Bases de datos Programa desarrollado

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

2.1.5. Requerimientos de hardware y software ..................................................................................................... 48

Actividad 3. Reporte sobre el estudio de factibilidad ........................................................................................... 49

2.2. Técnicas de modelado de datos ...................................................................................................................... 50

2.2.1. Modelado de objetos ...................................................................................................................................... 50

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

2.2.3. Normalización .................................................................................................................................................. 54

2.2.4. Modelado relacional ....................................................................................................................................... 56

Actividad 4. Modelados básicos .............................................................................................................................. 59

Evidencia de aprendizaje. Análisis y modelado .................................................................................................... 59

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

Cierre de la unidad ................................................................................................................................................... 60

Fuentes de consulta .................................................................................................................................................. 61

UNIDAD 3. Diseño ......................................................................................................................................................... 62

Propósito de la unidad .............................................................................................................................................. 62

Competencia específica ............................................................................................................................................ 62

Presentación de la unidad ........................................................................................................................................ 62

3.1. Diseño de prototipo de Bases de datos .......................................................................................................... 63

Actividad 1. Tablas lógicas ....................................................................................................................................... 64

3.1.1. Concepto de Structured Query Language (SQL) ...................................................................................... 64

3.1.2. Tipos de datos ................................................................................................................................................. 67

3.1.3. Generación de Diccionario de datos ............................................................................................................ 69

Actividad 2. Diccionario de datos ............................................................................................................................ 70

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

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

3.1.5. Álgebra relacional ........................................................................................................................................... 76

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

Page 6: Tema Desarrollado

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: Tema Desarrollado

Bases de datos Programa desarrollado

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

I. INFORMACIÓN GENERAL DE LA ASIGNATURA

a. Ficha de identificación

Nombre de las Ingenierías: Telemática y Desarrollo de software

Nombre del curso o asignatura Bases de datos

Clave de asignatura: 210910311 y 150910311

Seriación: No aplica

Cuatrimestre: Tercero

Horas contempladas: 72

b. Descripción

La asignatura de Bases de datos forma parte del tercer cuatrimestre de las Ingenierías en Telemática y

Desarrollo de software, las cuales demandan el conocimiento estructural de una amplia gama de

información, entre la cual se encuentran las técnicas de modelaje para realizar Bases de datos, que

cumplan con las necesidades del sector productivo en el cual el ingeniero se desempeñe.

En la asignatura de Bases de datos se toman en cuenta la orientación de la necesidad, el análisis por

medio de elementos que permitan recabar la información necesaria, hasta llegar al diseño lógico, que no es

más que el bosquejo final donde el estudiante demostrará la solución práctica de casos reales con técnicas

de modelaje como son: modelado de objetos, modelado entidad relación, normalización y modelado

relacional; así el estudiante crea el prototipo y selecciona el Sistema Gestor de Base de Datos más

adecuado.

Durante la asignatura, el estudiante se encontrará inmerso en diferentes escenarios, los cuales se le

pueden presentar en un contexto laboral, por lo anterior deberá analizar minuciosamente las situaciones y

ensayar los diferentes roles que le permitan atender las demandas del contexto como: líder, analista,

diseñador o usuario final. La asignatura requiere que los estudiantes hagan uso de sus habilidades de

análisis e interpretación de la necesidad en cuestión.

Para cumplir con la competencia general de la asignatura, se debe desarrollar una serie de habilidades

como: toma de decisión, análisis y selección del gestor de Base de datos a utilizar, dar propuestas de

solución, considerando sus propios alcances y los requerimientos de hardware y recursos del usuario.

La importancia de esta asignatura para las Ingenierías en Telemática y Desarrollo de software se centra en

las técnicas de modelaje, así como en mostrarle al estudiante cómo se lleva a cabo la estructuración de

una Base de datos, lo cual es fundamental para su adecuada formación integral.

La asignatura se encuentra conformada por tres unidades:

1. Introducción a las Bases de datos

2. Análisis

Page 8: Tema Desarrollado

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, los

requerimientos 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 trabajan

en 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 de

Base 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 las

unidades está diseñada de una manera en la que la primera unidad abarca los conceptos generales

informáticos y específicos de las Bases de datos, los tipos y su estructura, así como gestores, sus

elementos 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 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, 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 los

temas que se abordan. Finalmente, la unidad 3 está enfocada a cuestiones totalmente prácticas, dado que

tiene la facultad de estructurar los modelos y finalizar con el prototipo esperado, tomando como base las

estructuras Structured Query Language (SQL) que son: Data Definition Language (DDL) y Data

Manipulation Language (DML), los tipos de datos que se trabajan en las Bases de datos, el diccionario de

datos y el álgebra relacional.

III. COMPETENCIAS A DESARROLLAR

Competencia general

Realizar prototipos de Bases de datos documentales, que sirvan de modelo para dar solución a

problemas relacionados con la gestión de información, por medio de técnicas de modelaje que

partan del análisis del problema y los requerimientos del usuario final.

Page 9: Tema Desarrollado

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 satisfaga

las necesidades de gestión de información, mediante las técnicas de modelaje utilizadas para

generar un prototipo.

IV. TEMARIO

UNIDAD 1. Introducción a las Bases de datos

1.1. Conceptos generales

1.1.1. Conceptos informáticos básicos

1.1.2. Conceptos específicos de Bases de datos

1.2. Tipos de Bases de datos

1.2.1. Base de datos de árbol (jerárquica)

1.2.2. Base de datos de red

1.2.3. Base de datos relacional

1.2.4. Sistema Gestor de Base de Datos (SGBD)

1.2.5. Estructura de un Sistema Gestor de Base de Datos

UNIDAD 2. Análisis

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

2.1.1. Análisis. Concepto

2.1.2. Estructura de las entradas, procesos y salidas

2.1.3. Herramientas de estudios de factibilidad (operacional, financiero y económico)

2.1.4. Reporte del estudio de factibilidad

2.1.5. Requerimientos de hardware y software

2.2. Técnicas de modelado de datos

2.2.1. Modelado de objetos

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

2.2.3. Normalización

2.2.4. Modelado relacional

UNIDAD 3. Diseño

3.1. Diseño de prototipo de Bases de datos

3.1.1. Concepto de Structured Query Language (SQL)

3.1.2. Tipos de datos

3.1.3. Generación de Diccionario de datos

3.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: Tema Desarrollado

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 alto

grado de abstracción, ya que se enfoca en abordar conceptos básicos y específicos, que serán de uso

continuo 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 las

Bases 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 en

un caso práctico, por ello se plantea una metodología de Aprendizaje Basado en Casos (ABC). Desde el

inicio 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én

se presentan actividades de investigación que complementen los contenidos, lo que permite ejercitar y

presentar 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 que

se 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 y

activa 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ón

permanente es fundamental para promover el aprendizaje significativo y reconocer el esfuerzo. Es requisito

indispensable la entrega oportuna de cada una de las tareas, actividades y evidencias, así como la

participación en foros, wikis, blogs y demás actividades programadas en cada una de las unidades, dentro

del tiempo especificado y conforme a las indicaciones dadas. La calificación se asignará de acuerdo con la

rúbrica establecida para cada actividad, por lo que es importante que el estudiante la revise antes de

realizar 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 y

bases de datos).

10%

E-Portafolio (evidencias de aprendizaje y

autoreflexiones).

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: Tema Desarrollado

Bases de datos Programa desarrollado

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

VII. MATERIAL DE APOYO

Bibliografía básica

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

Hall.

Conallen, Jim. (s. f.) Building Web Applications With UML. Segunda edición. EUA: Addison-Wesley.

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 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, de

http://www.inegi.org.mx/inegi/contenidos/espanol/prensa/contenidos/articulos/tecnologia/relacional.p

df

Schmuller, Joseph. (s. f.) Aprendiendo UML en 24 horas. México: Prentice Hall.

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

Bibliografía complementaria

Forouzan A, Behrouz. (2003) Introducción a la Ciencia de la Computación. Primera edición. México:

Thomson

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, de

http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica

Páginas electrónicas

www.aulaclic.net

Pone a disposición descargas de cursos gratuitos: cursos informáticos, metodología de algoritmos, entre

otros. Asimismo, muestra artículos de temas de interés informático.

www.aulafacil.com

Pone a disposición manuales y tutoriales de temas varios: idiomas, informática y cultura general.

www.bibliotheka.net

Pone a disposición una lista de libros y artículos relacionados con la materia, así como materiales de

conocimiento en general, todo ello de manera gratuita.

www.gratisprogramas.net

Pone a disposición una serie de programas gratuitos y de fácil acceso.

www.infoamerica.org

Page 12: Tema Desarrollado

Bases de datos Programa desarrollado

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

Pone a disposición gran cantidad de artículos relacionados con la comunicación.

www.mastermagazine.info

Pone a disposición gran cantidad de artículos relacionados con términos empleados en la asignatura de

Bases de datos.

www.realraptalk.com

Pone a disposición una serie de información general, de diferentes tipos, así como blogs y foros que sirven

para intercambiar y obtener una visión más amplia sobre los conceptos relacionados con la asignatura.

www.senavirtual.edu.com

Pone a disposición cursos virtuales con certificación gratuita, en los que se abarcan temas relacionados

con ofimática, diseño web, programación orientada a objetos, modelado de objetos y calidad en el

desarrollo de software.

www.taringa.com

Pone a disposición la colaboración con una comunidad de nivel, donde se puede encontrar información

sobre Bases de datos, así como la referida a cualquier otro tipo de información que se requiera.

Otros recursos

Excel

Access

Structured Query Language (SQL) en su modalidad sencilla

Page 13: Tema Desarrollado

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 del

prototipo de base de datos documental, tomando en cuenta el concepto de

bases de datos, los diversos tipos que existen de ellas, así como los

diferentes Sistemas Gestores de Bases de Datos.

Competencia 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 las

características que las describen.

Page 14: Tema Desarrollado

Bases de datos Programa desarrollado

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

Presentación de la unidad

Bienvenido(a) al curso de Bases de datos. En esta primera unidad se establecen los principios

fundamentales de Bases de datos y gestores, con la finalidad de que exista una familiaridad con los

diversos conocimientos que la asignatura requiere, como lo son términos informáticos básicos y específicos

de bases de datos. Repasar y retroalimentar conceptos informáticos básicos servirá para recordar la

importancia que tienen para ser aplicados a esta asignatura, se abordará desde el concepto de informática

hasta los Sistemas Gestores de Bases de Datos (SGBD), pasando por lo que son las unidades de

almacenamiento, los sistemas numéricos, así como los códigos, entre otros conceptos, lo que permitirá dar

cumplimiento al propósito de la unidad.

Actividad 1. Presentación

Antes de entrar de lleno en el estudio de la asignatura se presenta un foro de discusión general, el cual ha

sido creado para que se comente cualquier asunto relacionado con Bases de datos, de este modo los

estudiantes se conocerán y podrán apoyarse entre ellos mismos para resolver dudas, inquietudes, externar

comentarios, etcétera.

Ingresa al aula virtual para realizar la actividad. Para comenzar tu participación, ingresa al foro:

Presentación.

Page 15: Tema Desarrollado

Bases de datos Programa desarrollado

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

1.1. Conceptos generales

En la actualidad la tecnología ha crecido a pasos agigantados, por tal razón hablar de información tiene que

ver con el ajuste de esta misma en su totalidad, pero de manera electrónica, dejando a un lado el trabajo

rudimentario, por eso el impacto y puntualidad de este tema es parte de la columna vertebral del

conocimiento general de informática, lo que permitirá distinguir, identificar y aplicar los conceptos

adquiridos en cualquiera que sea el escenario que el estudiante enfrente, tanto en su formación académica

y laboral, como en el ámbito personal y social, aplicando las habilidades adquiridas sobre los tipos de

bases de datos y gestores.

Teniendo en cuenta estos antecedentes, y antes de continuar con la asignatura, es preciso comentar

algunas cuestiones de suma importancia referidas a la información y a la informática, ya que éstas son la

base del presente curso.

La palabra INFORMÁTICA se integra por la contracción de los vocablos Información y Automática

Habitualmente la palabra información está ligada a la ―adquisición de conocimientos‖; se dice haber

recibido información cuando se conoce algo que se ignoraba. Relacionado con este término se encuentra el

concepto de informática, la cual trata sobre la adquisición, representación, tratamiento y transmisión de la

información, es decir, la informática es la ciencia que estudia el tratamiento racional de la información por

medio de máquinas automáticas. La Real Academia Española define a la informática como: ―conjunto de

conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por

medio de ordenadores‖.1

Con base en lo anterior, se puede señalar que los primeros ordenadores surgieron ante la necesidad de

realizar grandes cálculos en aplicaciones militares, que escapaban a las posibilidades humanas.

Actualmente, las ventajas que representan los ordenadores son: rapidez, fiabilidad, gran capacidad de

almacenamiento y un precio asequible. Ante esto, la informática, o ciencia de los ordenadores, aparece

como un intento de estructurar todos los avances tecnológicos y de programación que se producen

vertiginosamente.

Los primeros estudios de la información partieron de la aplicación la teoría de las probabilidades, iniciado

por Claude Elwood Shannon, a mediados de los años cuarenta.

1 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, de http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica

Claude Elwood Shannon (1916-2001). Ingeniero electrotécnico y matemático

estadounidense. Nació en Michigan y cursó estudios en la Universidad de Michigan.

En 1940 obtuvo su doctorado en el Instituto de Tecnología de Massachusetts y en

1941 ingresó en los laboratorios Bell, donde trabajó en el desarrollo de sistemas de

encriptación digital. Siete años más tarde estableció las leyes fundamentales de la

transmisión y compresión de datos en su trabajo A mathematical theory of

communication (en este artículo surge por vez primera el término ―bit‖, contracción de

Page 16: Tema Desarrollado

Bases de datos Programa desarrollado

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

El estudio de la informática tiene básicamente dos ramas: una teórica, con la que adquiere un carácter

científico y otro relacionado con el diseño y la experimentación de aplicación, con lo que adquiere su lugar

como ingeniería. De acuerdo a Álvarez y Bravo (2000) los siguientes son algunos de los campos de

aplicación más destacados de la informática.

Algoritmos y estructuras de datos.

Análisis y desarrollo de sistemas informáticos.

Arquitectura de ordenadores.

Inteligencia artificial.

Informática educativa.

Informática gráfica

Informática industrial

Lenguajes de programación

Metodología de la programación

Ingeniería del software

Robótica

Page 17: Tema Desarrollado

Bases de datos Programa desarrollado

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

1.1.1. Conceptos informáticos básicos

Una vez habiendo abordado lo que es la informática y su importancia en

la actualidad, debido a que se ha convertido en el sustento de todas las

empresas y de todo lugar donde existe tecnología, desde un aparato

doméstico hasta grandes servidores que permiten la comunicación

estrecha con el mundo actual, en este apartado se revisarán conceptos

relacionados con ella.

De la informática emanan otros términos, como son: computadora, bit,

byte, gigabyte, megabyte, terabyte, archivos, directorios, campos,

registros, dispositivos, hardware, software, bases de datos, Internet,

servidor, red, correo electrónico, wiki, foros, blogs, virus, antivirus,

aplicación, lenguaje de programación, programa; entre muchos otros. A

continuación trataremos algunos de ellos.

El término computadora, desde el punto de vista de la actualidad, empapada de tecnología, se define

como un dispositivo electrónico capaz de tratar gran cantidad de información, con tareas generales como:

almacenar, organizar, gestionar, actualizar, entre otras. Los nombres que con mayor frecuencia se utilizan

para referirse a este dispositivo son: computadora, terminal, servidor, terminal tonta, ordenador, nodo y PC.

Ahora bien, la unidad mínima que soporta un computador es un bit, el cual es la representación en sistema

binario de un 1 o un 0, que en términos de electrónica 1 simboliza presencia de alto voltaje y 0 baja

presencia de voltaje. Mientras que un byte es la unidad mínima de almacenamiento del ordenador y

representa 8 bits, que en conjunto conforman un carácter cualquiera de los 256 que conforman el código

ASCII, que más adelante se mencionará a detalle. Es importante tener clara la diferencia entre bit y byte, ya

que son términos esenciales en cuanto a informática se refiere.

Las computadoras trabajan por medio de sistemas numéricos: binario, decimal, octal y hexadecimal.

Page 18: Tema Desarrollado

Bases de datos Programa desarrollado

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

Sistema numérico binario

Por su sencillez el sistema numérico se utiliza para manejo de datos es el sistema Binario, en él se emplea

la notación posicional a partir de sólo dos dígitos (0,1). Su lógica parte de que el cero representa un

espacio apagado, vacío ó con cero volts, mientras que el uno representa un espacio encendido, energizado

o con +5 o +12 volts. Si se invierte esa relación se genera lo que se conoce como lógica negativa.

Los espacio ocupados por los dígitos se llaman bit, de modo que 1010 contiene cuatro bits, 100 contiene 3,

10 contiene dos, y así en lo subsecuente con cualquier unidad que se quiera representar.

El sistema Binario parte de la notación posicional, de modo que el valor de cada dígito depende

directamente de la posición que tiene en la serie completa. En este caso la base numérica es dos

Por lo que tenemos que existen dos dígitos (0 ó 1) en cada posición del número. Para obtener el número

decimal de uno en binario, comenzando por el lado derecho del número en binario, se debe multiplicar cada

cifra por dos elevado a la potencia consecutiva, iniciando por la potencia 0 (20). Una vez realizadas cada

una de las multiplicaciones, se suman los resultados de ellas, lo que reflejará el número equivalente al

sistema decimal. Por ejemplo, el número 11012 (en base 2) es:

Sistema numérico decimal

Page 19: Tema Desarrollado

Bases de datos Programa desarrollado

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

El sistema numérico Decimal posee diez dígitos diferentes y es el que actualmente se utiliza más

comúnmente. El sistema numérico decimal es un sistema de numeración posicional, por lo que el valor del

dígito depende de su posición dentro del número, es decir:

El número decimal A se debe multiplicar por 10n, en donde n es positivo o negativo de acuerdo a la posición

de los dígitos respecto del punto. Los dígitos a la izquierda del punto toman el valor correspondiente a las

potencias positivas de la base (10, en este sistema), en función de la posición que ocupan en el número, y

representan al dígito de las unidades (100=1), decenas (10¹=10), centenas (10²=100), etcétera. Los dígitos

a la derecha del punto representan al dígito de las décimas (10-1=0.1), centésimas (10-2=0.01), milésimas

(10-3=0.001), etcétera. Los resultados de estás multiplicaciones serán mayores o iguales que uno si el dígito

se localiza a la izquierda del punto decimal, en cambio, el valor será menor que uno si el dígito se localiza a

la derecha del punto decimal.

Por ejemplo, el número 5432.789 expresado en la notación posicional es:

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

Notación posicional del sistema decimal

Ahora se revisarán dos maneras para convertir números decimales en binarios.

Page 20: Tema Desarrollado

Bases de datos Programa desarrollado

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

1. La primera forma es dividir los decimales entre dos, cuyo resultado entero se vuelve a dividir entre dos, y

así continuamente, ordenando los restos del último al primero. Por ejemplo, 74 en decimal es 1001010 en

binario, porque:

2. La segunda manera para convertir números decimales en binarios es realizar divisiones sucesivas entre

dos y colocando un cero o un uno de lado derecho dependiendo si el número es par o impar. Si es impar,

se le resta uno y se continúa con las divisiones hasta llegar a uno. Posteriormente, se coloca del lado

derecho un 1 si es impar y un cero si es par. Finalmente se ordenan los dígitos de abajo hacia arriba, por

ejemplo, 131 en decimal es 10000011 en binario, porque:Al realizar divisiones sucesivas entre dos y

colocando un cero o un uno de lado derecho dependiendo si el número es par o impar. Si es impar, se le

resta uno y se continúa con las divisiones hasta llegar a uno. Posteriormente, se coloca del lado derecho un

1 si es impar y un cero si es par. Finalmente se ordenan los dígitos de abajo hacia arriba, por ejemplo, 131

en decimal es 10000011 en binario, porque:

Sistema numérico octal.

Otro sistema numérico utilizado en informática es el sistema octal, que tiene la particularidad de utilizar una

base (8) que es la potencia exacta de la numeración binaria, por lo que su converisión para utilizar ambos

sistemas es más o menos simple.

Se parte de 8 dígitos básicos (0,1,2,3,4,5,6,7) que poseen un valor homólogo al que tienen en el sistema

decimal, además del uso de la notación posicional Por ejemplo el número 3452.32q (q representa los

decimales de las operaciones octales) tenemos:

Page 21: Tema Desarrollado

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ígitos

consecutivos de estos últimos (de derecha a izquierda) y obteniendo su valor decimal. Por ejemplo, el

número 74 (en decimal) es 1001010 (en binario), si éste lo agrupamos como 1 001 010, obtenemos que 74

es 112 en octal porque:

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

Sistema numérico hexadecimal

Un sistema muy utilizado en la informática actual es el Sistema Hexadecimal, de igual manera es gracias

a su facilidad de conversión al formato binario. En este caso se utiliza como base el 16, y al igual que los

sistemas vistos con anterioridad cada dígito altera su valor dependiendo de su lugar en la cadena de dígitos

por 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, se

utilizan las primeras seis letras del alfabeto latino para suplir los dígitos faltantes, por lo que el sistema

numé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 cuatro

bits para cada dígito que componen la serie. Por ejemplo A B 0 C D h = 1010 1011 0000 1100 1101 b:

Page 22: Tema Desarrollado

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 necesario

hablar de los códigos EBCDIC (Extended Binary Coded Decimal Interchange Code / Código Ampliado de

Intercambio 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ó para

comunicaciones 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 en

el idioma inglés y otras lenguas del mundo occidental. Con el objetivo de controlar dispositivos digitales que

manipulan texto o para representar textos en pantalla, la mayoría de los sistemas informáticos del día de

hoy utilizan el código ASCII, el cual fue desarrollado como una evolución de los códigos telegráficos en

1963, por el entonces llamado ASA (American Standards Association / Asociación Estadounidense de

Estándares), el cual pasó a llamarse ANSI (American National Standards Institute / Instituto

Estadounidense de Estándares Nacionales) en 1969.2

Lenguajes de programación

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

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

Page 23: Tema Desarrollado

Bases de datos Programa desarrollado

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

Los lenguajes de programación son sistemas de comunicación entre la instrucción del usuario y el sistema

de cómputo. Estos se distinguen en tres niveles:

Bajo Nivel:

Es totalmente dependiente de la máquina, lo que significa que sólo funcionará en la máquina que fue

desarrollado y no se puede migrar ya que está diseñado prácticamente a la medida del hardware, pero

tiene como ventaja que aprovecha al máximo las características del mismo. Un ejemplo de este es el

lenguaje máquina, que es el encargado de instruir a la computadora sus operaciones básicas de

funcionamiento. También tiene la ventaja de ser significativamente rápido aunque es muy complejo su

manejo, ya que se desarrollan códigos fuente enormes en los que encontrar un fallo es casi imposible.

Alto Nivel:

Se caracterizan por ser más cercanos al lenguaje natural que al de la máquina, además de que utilizan

Estructuras Dinámicas de Datos, que son estructuras que pueden cambiar de tamaño durante la ejecución

y por tanto pueden crear estructuras que se adaptan fácilmente a las necesidades reales de un programa.

A diferencia de los de bajo nivel son completamente independientes a la arquitectura del ordenador, por lo

que son completamente migrables. Por lo tanto el programador sólo requiere de un traductor capaz de

entender el código fuente y las características particulares de la máquina.

Medio Nivel:

Estos son lenguajes de punto medio, como por ejemplo C. Estos pueden acceder a los registros del

sistema y trabajar con direcciones de memoria, lo que es una capacidad del lenguaje de bajo nivel, y al

mismo tiempo pueden realizar operaciones en alto nivel.

Actividad 2. Conceptos básicos de la asignatura

Esta actividad consiste en elaborar en colaboración con tus compañeros(as) un glosario, para ello, debes

investigar en fuentes externas de información diferentes conceptos que te parezcan relevantes de acuerdo

con los temas que se abordan en la asignatura, conforme vayas encontrando conceptos clave, podrás

compartirlos en la wiki, misma que permanecerá abierta durante todo el curso para que puedas tenerlos

presentes en el todo momento.

1. Busca conceptos sobre el contenido del curso mencionados por diferentes autores, compáralos y

compleméntalos.

1. Ingresa a la Wiki: Conceptos básicos de la asignatura y realiza lo que se te indica.

Page 24: Tema Desarrollado

Bases de datos Programa desarrollado

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

1.1.2. Conceptos específicos de Bases de datos

Haber revisado conceptos básicos de informática en el apartado anterior nos da las bases suficientes para

entrar de lleno en los conceptos propios de las bases de datos, como son: dato, campo, registro, archivo,

entre otros. La importancia de abordar este tipo de conceptos radica en la necesidad de unificar términos

que se irán enlazando y utilizando conforme se avance en los temas, por lo que a continuación se definirán

algunos de ellos.

Se comenzará definiendo el término dato, el cual es cualquier carácter, sin embargo debe conformar

información coherente y ordenada. Cuando tenemos un conjunto de datos es un campo, y cuando a este

campo le es anexada más información u otros campos, se convierten en un registro, por lo que éste es

definido como un conjunto de campos. De esta manera se van amarrando los conceptos hasta llegar al

término de archivo, que es un conjunto de registros.

Ahora bien, una base de datos se define como grandes cantidades de información almacenada en un

espacio de memoria (de PC, servidor, laptop, etcétera), que es procesada para su posterior uso, según las

necesidades de información de la empresa, institución, etc., dicha información ayudará a la toma de

decisiones y ésta a su vez dará soluciones. Una de las principales ventajas de las bases de datos es que

se puede manejar información compartida en red, que en cualquier parte del mundo se pueda consultar,

siempre y cuando se cuente con los permisos de acceso, si en su caso así lo requiere.

Las bases de datos pueden ser diseñadas de manera lógica o documental para diseñar prototipos, pero la

realidad de las cosas es que se pueden diseñar en algunas aplicaciones, desde las más sencillas como

Excel y Access, hasta otras más complejas, las cuales abordaremos más adelante en los contenidos.

Componentes que conforman las bases de datos

Para hablar sobre los componentes que conforman las bases de datos, es importante comenzar con el

software; éste está constituido por un conjunto de programas que se conocen como Sistema de Gestión de

Base de Datos (DBMS, por sus siglas en inglés: Database Management System). Este sistema maneja

todas las solicitudes formuladas por los usuarios a la base de datos.

Las bases de datos son utilizadas por usuarios en diferentes niveles, pero antes de abordar cada uno de

ellos es preciso aclarar que un usuario es aquella persona que utiliza la base de datos dependiendo de sus

necesidades. Existe el usuario quien la utilizará (usuario final), quien ejecuta las aplicaciones y el que

administra la Base de datos, cada uno de ellos tiene un nivel de acceso a la Base de datos.

El programador de aplicaciones es el encargado de crear programas de aplicación que utiliza la base de

datos; el usuario final es quien accesa a la base de datos por medio de un lenguaje de consulta o de

programas de aplicación, sin ser el especialista; mientras que el administrador de la Base de datos (DBA,

por sus siglas en inglés: Data Base Administrator) es quien se encarga del control general del Sistema de

Base de Datos.

Page 25: Tema Desarrollado

Bases de datos Programa desarrollado

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

Todas las bases de datos tienen como punto de partida una tabla, que es la forma de organizar la

información en filas y columnas para que su acceso sea más fácil y velóz. La filas de datos las conocemos

como registros, mientras que las columas se llaman campos.

Así mismo existe un campo clave, que asigna a cada registro un número irrepetible y, de ser necesario

secuencial. Esta llave es muy importante puesto que es común que algunos registros repitan su

información, y con ella se le otorga a cada registro una differencia que le otorga unicidad. Por su nombre en

inglés es común verla referida con sus siglas PK (primary key).

Un buen ejemplo de una base de datos es una lista de nombres y teléfonos de un grupo de personas:

Aparte del campo clave, existe la clave externa, también conocida como llave foránea, la cual es uno o más

campos de una tabla que hacen referencia al campo o campos de la clave principal de otra tabla.

Una clave externa se encarga de indicar cómo están relacionadas las tablas. Es importante mencionar que

los datos en los campos de clave externa y clave principal deben coincidir, aunque los nombres de los

campos no sean los mismos. De la misma forma como se selecciona la llave primaria, se selecciona la

llave o clave externa o foránea. Esta llave tiene la tarea específica de determinar en el momento de las

relaciones entre las tablas dónde la llave primaria realiza la unión con el otro campo de otra tabla y

automáticamente se vuelve una llave foránea.

Elementos que conforman las bases de datos

En esta parte es importante tomar en cuenta la diferencia que existe entre un componente y un elemento

de la base de datos; cuando se habla de un elemento es cuando se utiliza ya un gestor, sin embargo,

cuando se habla de componente, es meramente teórico.

Page 26: Tema Desarrollado

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 de

que el sistema esté disponible continuamente durante un intervalo de tiempo, la posibilidad de compartir

los datos al tiempo que se mantiene un cierto grado de control local.

Mejor rendimiento cuando una base de datos grande es distribuida en múltiples sitios, ya que hay bases

de datos más pequeñas en cada uno de éstos, y, en consecuencia, las consultas locales y las

transacciones que tienen acceso a datos a un sólo sitio tienen un mejor rendimiento porque las bases de

datos son más pequeñas, además, cada sitio tiene un mejor número de transacciones en ejecución, que

si 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 no

son 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; la

probabilidad de violaciones de seguridad es creciente si no se tiene en cuenta la seguridad, que es un

punto primordial para resguardar la información de manera fiable.

Las fallas no predecibles, tanto de componentes de hardware como de software, son complejas, ya que

tratando de evitar estas fallas la integridad de la información no tendrá problemas. La integridad se refiere a

la consistencia, validez y exactitud de la información.

Algunas otras desventajas son que los datos pueden estar replicados, así como también el control de

concurrencia y los mecanismos de recuperación que son mucho más complejos que en un sistema

Page 27: Tema Desarrollado

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 del

sistema.

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 propio

de 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. En

vista 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 éstas

tuvieron muy fuerte auge en las computadoras comerciales, de hecho la automatización de las tareas de

procesamiento de datos precede a las computadoras. Las tarjetas perforadas, inventadas por Hollerith, se

usaron en los principios del siglo XX para registrar los datos del censo de los EE.UU, se utilizaron sistemas

mecánicos para procesar las tarjetas y para tabular los resultados. Las tarjetas perforadas se usaron

ampliamente como medio para introducir datos de las computadoras posteriormente.

La evolución de los sistemas de bases de datos inició de la mano con la evolución de los soportes de

almacenamiento de información. En un inicio alrededor de los años 50 se desarrollaron las cintas

magné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ían

el acceso directo a los datos, sin importar su ubicación u orden. Este cambio permitió el desarrollo de bases

de 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: Tema Desarrollado

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 como

ventaja la simplicidad de desarrollo y la posibilidad de ocultar los detalles de implementación al

programador.

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 cambio

cuando IBM desarrolló el prototipo System R, con lo que se desarrolló el primer producto comercial de

construcció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, que

eran de bajo nivel, mientras que las relacionales las operaciones que eran de ese nivel se realizaban

automáticamente, de modo que el programador no se tenía que concentrar tan arduamente en el nivel

lógico.

Estos modelos de bases de datos se han convertido en el modelo dominante, pero más importante que

eso, han sido el punto de partida para apuntalar la investigación que generó el desarrollo de bases de datos

paralelas y distribuidas así como los primeros proyectos de bases de datos orientadas a objetos.

Mientras que en la década de los ochenta fueron las aplicaciones de transacciones, en las que se hacen

actualizaciones constantemente, pero gracias al desarrollo del SQL se comenzaron a utilizar para la toma

de decisiones, que se basan más en la consulta, lo que a su vez llevó a un importante crecimiento en las

herramientas para analizar grandes cantidades de datos.

El que quizá se convirtió en el acontecimiento clave para el desarrollo del uso de bases de datos fue el

crecimiento del Worl Wide Web, lo que llevó su implementación a un público más extenso con el desarrollo

de interfaces basadas en red.

Lo anterior da cuenta de cómo han aparecido los diferentes tipos de bases de datos. Ahora bien, antes de

continuar con el siguiente tema, es conveniente centrar nuestra atención en algunas de las características

de 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 árbol

genealógico, en el que un nodo puede tener a su vez varios nodos que deriven de él.

Page 29: Tema Desarrollado

Bases de datos Programa desarrollado

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

El funcionamiento del modelo relacional, parte de lo que su nombre indica: relaciones. Estas pueden ser

consideradas en forma lógica, y genera conjuntos de datos llamados registros. De forma clara se pueden

explicar cómo una tabla compuesta por registros y campos.

1.2.1. Base de datos de árbol (jerárquica)

Una Base de datos jerárquica se compone de un conjunto ordenado de árboles, dicho de manera más

precisa, un conjunto ordenado formado por múltiples ocurrencias de un sólo tipo de árbol. Para comprender

mejor esto, se analizan primero los tipos y después se tratarán las ocurrencias.

Un tipo de árbol consiste en un sólo tipo de registro ―raíz‖, junto con un conjunto ordenado de cero o más

tipos de subárbol dependientes (de nivel más bajo). Un tipo de subárbol a su vez consiste en un sólo tipo

de registro de la raíz -tipo del subárbol- junto con un conjunto ordenado de cero a más tipos de subárboles

dependientes de nivel más bajo, y así sucesivamente. Por tanto, el tipo de árbol completo es un arreglo

jerárquico de tipo de registro, además los tipos de registro están formados por tipos de campo.

Por ejemplo, consideremos la base de datos académica de la figura 1.4, la cual contiene información

acerca del sistema educacional interno de una compañía industrial grande. La compañía en cuestión

mantiene un departamento educacional, cuya función es impartir varios cursos de adiestramiento para los

empleados de la compañía; cada curso se ofrece en diferentes lugares dentro de la organización, y la base

de datos contiene detalles tanto de los ofrecimientos ya impartidos, como de los programados para

impartirse en el futuro.

La base de datos contiene la siguiente información:

Page 30: Tema Desarrollado

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 requisitos

inmediatos 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 todos

los 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 posee

dos tipos de subárbol, cuyas raíces son los tipos de REQ y OFRECIMIENTO, respectivamente (y

adviértase que este conjunto de dos tipos de subárbol está ordenado; es decir, el tipo de subárbol REQ

precede al tipo de subárbol OFRECIMIENTO, como se muestra en la figura). El tipo de subárbol con raíz en

REQ 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 Y

ESTUDIANTE, respectivamente. Una vez más, los tipos de subárbol están ordenados. Así pues, la base de

datos 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 de

registro padre de los tipos de registro REQ y OFECIMIENTO, y éstos son tipos de registro hijos de tipo de

registro CURSO. De manera similar, OFRECIMIENTO es el tipo de registro padre de PROFESOR y

ESTUDIANTE, y éstos son tipos de registro hijos de OFRECIMIENTO. La conexión entre un tipo hijo dado

y 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 de

datos jerárquica se presenta mediante ligas padre-hijo. En la base de datos académica, por ejemplo, la

conexión entre los ofrecimientos y los cursos está representada no por un campo NumCurso en el registro

OFRECIMIENTO, sino por la liga CURSO-OFRECIMEINTO.

Una vez tratada la 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 las

ocurrencias. 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 que

dependen en forma inmediata del tipo de registro raíz. Cada una de esas ocurrencias de subárbol a su vez

consiste también de una sola ocurrencia de registro -la raíz de la ocurrencia de subárbol- junto con un

conjunto ordenado de cero o más ocurrencias de cada uno de los tipos de subárbol que dependen en forma

inmediata 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 (donde

n 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ás

precisos, desde luego, una sola ocurrencia de árbol.

Page 31: Tema Desarrollado

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 sola

ocurrencia 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 conjunto

ordenado de dos ocurrencias de REQ subordinadas y un conjunto ordenado de tres ocurrencias de

OFRECIMIENTO subordinadas). Se dice que CURSO es una ocurrencia padre, con dos hijos REQ y tres

hijos OFRECIMIENTO, es decir, ocurrencias hijas. De manera similar, el primer ofrecimiento también es un

padre con un hijo PROFESOR y varios hijos ESTUDIANTE (sólo se muestran tres). Los otros dos

ofrecimientos 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 el

padre en tres ocurrencias de la liga CURSO-OFRECIMIENTO. Por otro lado, cada (ocurrencia) hija es el

hijo 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: el

té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 esos

ofrecimientos, 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 la

noción de ordenamiento es fundamental en la estructura de datos jerárquica. Considerando algún tipo de

subá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: Tema Desarrollado

Bases de datos Programa desarrollado

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

S1, S2,… Sn, respectivamente). Definimos entonces de manera recursiva la secuencia jerárquica de t

como la secuencia que se obtiene tomando primero el registro r, seguido de todos los registros de s1 en

secuencia jerárquica, después de todos los registros de s2 en secuencia jerárquica, seguidos de todos los

registros de sn en secuencia jerárquica

Esto se da en orden de arriba hacia abajo y de izquierda a derecha, llamado también ―ordenamiento de

profundidad‖.

Cada uno de los árboles en la base de datos se puede considerar como un subárbol de algún registro raíz

―del sistema‖ hipotético, en consecuencia toda la base de datos se puede considerar como un sólo árbol.

Por tanto, la noción de secuencia jerárquica antes definida se aplica a toda la base de datos así como a

cada subárbol individual, es decir, el concepto de secuencia jerárquica define un ordenamiento total para el

registro de la base de datos, y debe considerarse a las bases de datos almacenadas (lógicamente) de

acuerdo con ese ordenamiento.

Manipulación de los datos en el modelo jerárquico

Un lenguaje para manipulación de datos con estructura jerárquica se compone de un conjunto de

operadores para procesar datos representados en forma de árboles. Como ejemplos de tales operadores

podemos mencionar los siguientes:

Un operador para localizar un árbol específico en la base de datos; por ejemplo, un operador para

localizar el árbol del curso M23 (ver figura 2).

Page 33: Tema Desarrollado

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 o

hacia abajo por los diversos trayectos jerárquicos; por ejemplo, un operador para pasar de registro

Curso correspondiente al curso M23 al primer registro de Ofrecimiento de ese curso.

Otros ejemplos de operadores son:

1. Operadores para pasar de un registro a otro de acuerdo con la secuencia jerárquica de la base de

datos; por ejemplo, un operador para pasar de un registro Profesor de un Ofrecimiento determinado

a un registro de Estudiante correspondiente a ese Ofrecimiento o a otro Ofrecimiento Subsecuente.

2. Un operador para insertar un registro nuevo en una 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 cierto

Ofrecimiento del árbol del curso M23.

Como se ha visto en los ejemplos de la figura 1 y 2, tales operadores trabajan por lo regular a nivel de

registros. Es verdad que ciertos sistemas manejan también operadores a nivel de conjuntos, pero tales

operadores 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 definido

en el subtema anterior. La distinción principal entre las dos es la siguiente: en una estructura jerárquica, un

registro 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 dos

tipos de registro, un tipo de registro padre y un tipo de registro hijo. Cada ocurrencia de un tipo de liga dado

consiste en una sola ocurrencia del tipo de registro padre, junto con un conjunto ordenado de múltiples

ocurrencias 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 datos

de proveedores y partes en forma de red. La Base de datos contiene tres tipos de registro: S, P y SP. Es

Page 34: Tema Desarrollado

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 de

cantidad (CANT). En vez de dos claves ajenas SP, se tienen dos tipos de ligas S-SP y P-SP.

a) Cada ocurrencia de S-SP está formada por una sola ocurrencia de S, junto con una ocurrencia de SP

por cada 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 SP

por 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 datos

representados en forma de registros y ligas. Como ejemplos de tales operadores podemos mencionar los

siguientes:

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 para

pasar del registro S del proveedor S1 al registro SP del proveedor S1 y la parte P1 (a través de la

liga S-SP).

Un operador para pasar de un hijo al siguiente en alguna liga; por ejemplo, un operador para pasar

del registro SP del proveedor S1 y la parte P1 al registro SP del proveedor S1 y parte P2 (a través

de la liga S-SP).

Un operador para pasar de un hijo a su padre dentro de alguna liga; por ejemplo, un operador para

pasar de registro SP del proveedor S1 y la parte P2 al registro P de la parte P2 (a través de la liga

P-SP).

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

nuevo proveedor.

Un operador para destruir un registro ya existente; por ejemplo, un operador para destruir el registro

S de un proveedor ya existente.

Page 35: Tema Desarrollado

Bases de datos Programa desarrollado

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

Un operador para conectar un registro hijo ya existente dentro de una liga; por ejemplo, un operador

para conectar un registro SP específico dentro de las ligas S-SP y P-SP.

Un operador para desconectar un registro hijo ya existente de una liga; por ejemplo, un operador

para desconectar un registro SP específico de las ligas S-SP y P-SP.

Un operador para desconectar un registro hijo ya existente de una ocurrencia de un tipo de liga

dado y reconectarlo dentro de otro; por ejemplo, un operador para desconectar un registro SP

específico de la liga S-SP con padre S1 y reconectarlo dentro de la liga S-SP con padre S2.

Es importante mencionar que, como lo sugiere el ejemplo, tales operadores trabajan por lo regular a nivel

de registros, como en los modelos de lista invertida y jerárquico.

1.2.3. Base de datos relacional

Las bases de datos relacionales, que en la actualidad son las más utilizadas, trabajan a través de tablas,

que están conformadas de filas y columnas para la realización de sus búsquedas y otras operaciones.

Estas tablas se encuentran relacionadas entre sí, de ahí el nombre de relacional.

Las tablas están conformadas por campos, que son las características de las tablas; dominios, que son

los valores posibles que puede contener un campo; y un conjunto de dominios relacionados entre sí, en

términos de bases de datos se les conoce como tuplas. Cada tabla está compuesta de llaves primarias

(PK, por sus siglas en inglés: Primary Key) y llaves foráneas (FK, por sus siglas en inglés: Foreign Key) que

serán quienes hagan la relación entre diferentes tablas de información. Las llaves primarias son campos

únicos que identifican a la información como única e irrepetible; que no permiten duplicidad de información.

Mientras que las llaves foráneas, también llamadas llaves externas, son campos que hacen la relación

entre las tablas existentes en la base de datos, estas llaves deben de existir primero en otras tablas como

llaves primarias.

Para tener una definición más clara, el autor Javier Quiroz comenta que la estructura del modelo relacional

está fundamentada por la relación, es decir, una tabla bidimensional constituida por filas (tuplas) y

columnas (atributos). Sus relaciones se presentan en las tablas que están formando parte de la base de

datos. Todas y cada una de las instancias de la entidad encontrarán sitio en una tupla de la relación,

mientras que los atributos de la relación representan las propiedades de la entidad en las columnas de la

tabla. Por ejemplo, si en la base de datos se tienen que representar personas, podrá definirse una relación

llamada Personas, cuyos atributos describen las características de las personas y cada tupla de la relación

Personas representará una persona concreta, esto es, la relación. Otra definición dice que una base de

datos relacional es un repositorio compartido de datos.

Para hacer disponible los datos de una base de datos relacional a los usuarios, hay que considerar varios

aspectos:

1. La forma en la cual el usuario solicita los datos. ¿Cuáles son los diferentes lenguajes de consulta que

utilizan? SQL es el lenguaje de consulta más usado, así como QBE y Datalog, que ofrecen enfoques

alternativos a la consulta de datos relacionales.

Page 36: Tema Desarrollado

Bases de datos Programa desarrollado

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

2. La integridad de los datos y la seguridad. Las bases de datos necesitan proteger los datos del daño

provocado por los usuarios, ya sean intencionados o no. El componente de mantenimiento de la integridad

de una base de datos asegura que las actualizaciones no violan las restricciones de integridad que hayan

especificado sobre los datos. El componente de seguridad de una base de datos incluye la autenticación de

usuarios y el control de acceso para restringir las posibles acciones de cada usuario. Los aspectos de

integridad y seguridad se presentan independientemente del modelo de datos, pero se estudian en el

contexto de modelo de datos relacional para ejemplificarlos. Las restricciones de integridad forman la base

del diseño de base de datos relacionales.

3. El diseño de base de datos relacionales. El diseño del esquema relacional es el primer paso en la

construcción de aplicaciones de base de datos. Este diseño de esquemas es de los principios que se

pueden usar para distinguir los buenos diseños de bases de datos que se formalizan mediante varias

formas normales que ofrecen diferentes compromisos entre la posibilidad de inconsistencias y la eficiencia

de ciertas consultas.

Estructura básica de las bases de datos relacionales

Como ya se explicó estas consisten en relaciones, y cada una de ellas tiene un nombre único. Cada

relación permite usar valores nulos, que indican que el valor puede ser inexistente o nulo.

En estas bases cada fila representa la relación de un conjunto de valores. Cada tabla es un conjunto de

dichas relaciones, por lo que existe correspondencia entre el concepto de tabla y de relación. Su estructura

la ejemplificamos en la siguiente figura.

Actividad 4. Tabla comparativa de los tipos de Bases de datos

Ya visto el tema de los tipos de bases de datos, debes generar una tabla comparativa con los nombres de

los tipos de bases de datos y las funciones, usos, ventajas y desventajas de cada uno de ellos, con el fin de

Page 37: Tema Desarrollado

Bases de datos Programa desarrollado

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

definir cuál es el mejor a utilizar en el caso propio y compartir tu información en la base de datos. En vista

de ello, realiza lo siguiente:

1. Con base en lo estudiado, realiza una tabla comparativa teniendo en cuenta las funciones, usos,

ventajas y desventajas de los diferentes tipos de bases de datos.

2. Guarda la actividad con el nombre BDD_U1_A4_XXYZ y comparte tu documento con el grupo y

Facilitador(a) a través de la Base de datos.

Ejemplo:

Tipo de Base de datos Funciones Usos Ventajas Desventajas

Page 38: Tema Desarrollado

Bases de datos Programa desarrollado

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

1.2.4. Sistema Gestor de Base de Datos (SGBD)

Al tener los conceptos, características, ventajas y desventajas de los tipos de Bases de datos, es preciso

mencionar lo que son los Sistemas Gestores de Bases de Datos (SGBD o DBMS, por sus siglas en inglés:

Data Base Management System).

Un Sistema Gestor de Base de Datos es un software específico dedicado a servir de interfaz entre la base

de datos, el usuario y las aplicaciones que la utilizan. Su objetivo principal es manejar de manera ordenada

y clara un conjunto de datos que se convertirán en información importante para una organización. En otras

palabras, un SGBD es un software que sirve para crear, programar, administrar y controlar la información

de una base de datos, asegurando la integridad, seguridad y confiabilidad de la información.

Existen dos tipos de Sistemas Gestores de Bases de Datos: libres y comerciales. Los más utilizados son

los libres y los comerciales

Sistemas Gestores de Bases de Datos libres:

PostgreSQL. Es un sistema de gestión de base de datos relacional orientada a objetos, publicado

bajo la licencia BSD (Berkeley Software Distribution / Distribución de Software Berkeley), que no es

más que una licencia de software otorgada para este tipo de sistemas. Es una licencia de software

libre, como la GPL (General Public License / Licencia Pública General) pero ésta es más cercana al

dominio público. En el caso de BSD, permite el uso del código fuente en software no libre, a

diferencia de GLP.

MySQL. Es un sistema multiusuario y de código abierto. El uso de MySQL es muy popular en

aplicaciones web, y es componente de las plataformas LAMP, MAMP, WAMP, entre otras, y suele

combinarse con el popular lenguaje PHP. como sus principales características podemos decir que:

está escrito en C y C++; utiliza multi-threaded mediante threads de kernel; pueden usarse

fácilmente múltiples CPUs si están disponibles; emplea el lenguaje SQL para consultas a la base de

datos; está disponible como freeware bajo licencia GPL; proporciona sistemas de almacenamiento,

transaccionales y no transaccionales; trabaja en las plataforma AIX, BSDi, freeBSD, HP-UX,

GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OS/2 Warp, QNX, SGI IRIX, SunOS,

SCO OpenServer, Solaris, SCO UnixWare, Tru64 y Microsoft Windows (95, 98, ME, NT, 2000, XP y

Vista); utiliza tablas en disco B-tree muy rápidas con compresión de índice y es relativamente

sencillo añadir otro sistema de almacenamiento, esto es útil si se desea añadir una interfaz SQL

para una Base de datos propia.

Oracle. Es una herrmienta imporante y con muchas capcidades del tipo cliente/servidor para gestión

de base de datos, aunque de precio muy alto.

Page 39: Tema Desarrollado

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 las

características de ellos, tomando en cuenta sus ventajas y desventajas, y posteriormente enviarlo a la

secció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 de

Datos.

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én

conocidos como Sistemas de Gestión de Bases de Datos, por lo que en esta sección se abarcará la

estructura y el funcionamiento de un SGBD.

Ahora bien, la estructura de un SGBD está conformada por:

Procesador de consultas: Es su elemento principal de un SGBD, transforma las consultas en

instrucciones en lenguaje de bajo nivel, que se 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 se

requieren para satisfacer la petición.

Gestor de ficheros: Se encarga de manejar y controlar los ficheros en almacenamiento en la base

de datos.

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

apropiado.

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 el

diccionario 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: Tema Desarrollado

Bases de datos Programa desarrollado

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

Gestor de transacciones: Es la parte encargada de realizar las transacciones.

Planificador: Organiza las transacciones que llegan a la base de datos para su realización.

Gestor de recuperación: Cuida la integridad de la base de datos en caso del algún fallo.

Gestor de buffers: Es el enlace entre la memoria principal y la memoria de almacenamiento.

Evidencia de aprendizaje. Reporte. Integración general de elementos específicos de las Bases de

datos

Como parte de la evaluación de esta unidad, tienes que llevar a cabo una actividad cuyo propósito es

comenzar el proceso para construir el prototipo de una base de datos documental, que se debe presentar

completo al terminar la asignatura, mediante la elaboración de tablas. En vista de lo anterior, realiza lo que

se te indica:

1. En un documento de Excel, escribe tu propio concepto de base de datos dentro de la Hoja 1, misma

que deberás llamar: ―DEFIICION_BD‖.

2. Dentro del mismo libro, en una nueva hoja llamada BASES_ALUMNOS, crea una tabla llamada

ALUMNOS que contenga los siguientes campos: Id_Nombre, Nombre, Apellido, Edad, Sexo y

Teléfono, con cinco registros.

Asígnale a la tabla cada elemento que la debe componer.

Por medio de flechas, marca o señala dónde se ubicó el nombre de la tabla, los campos, los

registros y la clave principal.

Describe qué tipo de base de datos es, sus características y funciones.

3. En otra hoja, llamada Ejemplo_BD, Menciona un ejemplo de este tipo de base de datos en la vida

cotidiana.

4. Guarda la evidencia con el nombre BDD_U1_EA_XXYZ y envía tu archivo al (a la) Facilitador(a) a

través del Portafolio de evidencias.

Al terminar el proceso anterior, ingresa al foro Preguntas de Autorreflexión y lee los cuestionamientos que

formuló 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_U1_ATR_XXYZ.

Consideraciones específicas de la unidad

Haber leído e investigado sobre los conceptos vistos en esta unidad, permitió elaborar un concepto propio

de base de datos, cuya finalidad fue involucrar al estudiante en las lecturas relacionadas con la materia del

curso en cuestión, y que con esto se pudiera identificar qué es una base de datos, así como reconocer las

diferencias de los diversos tipos que existen. Así mismo, se identificaron los diferentes Sistemas Gestores

de Bases de Datos y sus características para saber las aplicaciones de cada uno de ellos. Finalmente, se

comenzó con el proceso para construir el prototipo de una Base de datos documental.

Page 41: Tema Desarrollado

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 en

los materiales de apoyo, de igual forma, se recuerda que las actividades correspondientes a esta unidad

inicial son la base sobre la cual se sustenta el resto de las unidades de la asignatura.

Cierre de la unidad

Has concluido la primera unidad del curso. A lo largo de ésta se recordaron conceptos 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 tu

propio concepto, reconocer los tipos de bases de datos y distinguir sus particularidades. De la misma

manera, se identificaron los Sistemas Gestores de Bases de Datos y sus 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 la

unidad dos, en donde continuarás con la construcción del prototipo de una base de datos documental, al

elegir un caso de estudio, llevar a cabo un análisis y un estudio de factibilidad, identificar los requerimientos

del usuario, administrar tiempos, así como revisar modelados de abstracción de información. Todo ello con

el fin de obtener el prototipo final al terminar la tercera y última unidad del curso de Bases de datos.

Fuentes de consulta

Álvarez, S., & Bravo, S. (2000). Informática Automática. Recuperado el 2 de Mayo de 2011, de

Universidad 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, de

http://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, de

http://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: Tema Desarrollado

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 de

datos documental al elegir un caso de estudio3, llevar a cabo un análisis y

un 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 que

responda a los requerimientos, de acuerdo al resultado de los datos

obtenidos por medio del estudio de factibilidad (financiero, operacional y

económico).

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

Page 43: Tema Desarrollado

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 del

prototipo, 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, lo

que 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, los

procesos 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 de

modelado de datos, donde se hablará de: modelado de objetos, modelo entidad relación, normalización y

modelo 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 el

Sistema Gestor de Base de Datos más adecuado de acuerdo a sus características y contribuir así en la

solució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 en

los siguientes subtemas.

Ahora bien, antes de realizar un protocolo de base de datos se debe anticipar todo un flujo de información y

motivos, que hacen que se requiera un cambio de operación de cualquier empresa, esta acumulación de

informació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 para

planificar la expresión de la organización, es entonces cuando se valoran de manera cuidadosa las

necesidades futuras de la empresa y los cambios que deben considerarse para satisfacer esas

necesidades. El tiempo, costo y beneficio son factores determinantes para desarrollar una 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 para

implantar 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 y

las salidas, llevando al especialista a elegir la herramienta de recopilación de información que mejor se

adapte al caso en cuestión, algunos ejemplos son las encuestas, entrevistas y cuestionarios.

Page 44: Tema Desarrollado

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 suma

importancia el reconocimiento de los requerimientos de hardware y software, los cuales permiten saber qué

base de datos hacer y qué tipo de gestor utilizar, ya que cada uno de éstos tiene sus propias

características. De esta manera, la documentación que se va elaborando lleva al desarrollo de las técnicas

de 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 de

solución a los requerimientos de información. Este proceso de análisis contiene varias herramientas a

utilizar, 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 los

alcances, 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, con

la responsabilidad de que sean personas que saben programar, ya que sus conocimientos les permiten

formular 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 base

con 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, como

para 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 de

aplicación, este tipo de usuario es el que debe participar en los esfuerzos de desarrollo de la base

de datos.

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

Los cuatro tipos de usuarios son importantes, ya que cada uno posee información esencial sobre las

funciones de la organización y hacia dónde se dirige esta. Teniendo en cuenta los factores antes

mencionados, a continuación se definirán los siguientes elementos que conforman los lineamientos

metodológicos.

Page 45: Tema Desarrollado

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ón

significativa de la empresa, la cual se procesará para obtener los diferentes resultados establecidos en el

requerimiento de usuario. También se deben tener en cuenta aquellas operaciones matemáticas y

contables requeridas para el proceso de la información y generación de salidas. En esta parte es necesario

realizar una tabla, en la cual se lleve a cabo un listado de aquellas salidas de información, y verificar si

existe 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 casos

má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 de

informació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 diferentes

usuarios, y así tomar decisiones correctas que beneficien a la empresa. El buen diseño de entradas de

informació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, requerida

por el usuario, o los diferentes usuarios, del sistema; estas pueden ser reportes, mensajes, gráficos y

estadísticos. Las salidas deben ser diseñadas lo más claramente posible y con gran precisión, para la toma

de decisiones. Las salidas de información no solo son en pantalla, también se deben considerar en

impresiones, audio y video.

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

Elección de caso

Page 46: Tema Desarrollado

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 se

destacan 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 es

una técnica que nos permite visualizar problemas del pasado y presente, permitiendo estudiar la

problemá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 las

siguientes 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 y

posibilidades en juego?

Es importante que al realizar las especificaciones del caso esto se haga de manera coherente, detallando

las cosas más sobresalientes, pero sin salirse de contexto. Al tomar en cuenta estos elementos se podrán

generar 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 a

cualquier sistema, elegirás un caso para trabajar a lo largo de la unidad. Para ello, realiza la siguiente

actividad:

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

personas.

2. Ponte de acuerdo con tu equipo para que ingresen a la Wiki, preferentemente al mismo tiempo, y a

travé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 equipo

4. Cada uno de los integrantes del equipo, deberá agregar por lo menos uno de los posibles casos

reales en los que los conceptos pueden ser aplicados y elijan el caso más destacado, tomando en

cuenta 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: Tema Desarrollado

Bases de datos Programa desarrollado

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

Este apartado tratará sobre la importancia de contar con herramientas que permitan facilitar la recolección

de la información, ya que no solamente es necesario conocer el caso para saber las especificaciones de los

requerimientos de los usuarios, sino buscar técnicas y herramientas con las que se acceda a la

información, y nos permitan recolectarla, y, con ella, determinar qué papel se jugará en este proceso, es

decir, identificar los requerimientos operacionales, financieros y económicos, así como de hardware y

software; por tal razón, en este tema vamos tomar como base el estudio de factibilidad.

El estudio de factibilidad está integrado por tres aspectos: operacional, financiero y económico. Tiene por

objetivo verificar si un sistema de automatización de información es operacional, ya que para la

implementación de un nuevo sistema de información es importante tener en cuenta que se requerirá de una

inversión, y en este sentido el estudio de factibilidad permitirá saber, desde el punto de vista técnico y

operacional, si es factible o no realizar dicha inversión, dependiendo de la rentabilidad que tenga para la

empresa. El estudio deberá contemplar el costo de investigación o análisis, costo de software, costo de

hardware, pago a personal calificado, etc., si no hay factibilidad económica el proyecto no existirá.

Para recopilar la información requerida para este estudio, se cuenta con el apoyo de los cuestionarios,

entrevistas y encuestas:

Los cuestionarios son utilizados con mayor frecuencia, dado que son menos costosos, estos

fueron diseñados para realizar cuantificación de información y ahorrar tiempo, ya que permiten a las

personas llenar o contestar las preguntas de manera escrita, sin la ayuda ni la intervención directa

del investigador.

La entrevista es la realización de preguntas de forma directa, de persona a persona (entrevistador-

entrevistado), en la cual se obtiene la información a analizar para el requerimiento del caso de

manera más específica.

La encuesta es una herramienta que recopila información más enfocada a estudios de mercado y

de opinión pública, la cual es cuantificada.

Para obtener los requerimientos operacionales, financieros y económicos, observemos las siguientes

preguntas, como ejemplo de algunas que pueden generarse:

Hábleme de la empresa.

1. ¿Cómo describiría a la empresa?

2. ¿Qué hace diferente a esta empresa de otras del mismo giro?

3. Describa el logro de la empresa del cual esté más orgulloso.

4. ¿La empresa cuenta con bases de datos?

5. ¿Cuentan con el poder adquisitivo para el desarrollo de otra base de datos?

6. ¿Cuentan con hardware y software para la operacionalidad?

7. ¿Cuentan con hardware y software para el desarrollo?

8. ¿Considera que tener una nueva base de datos incrementará los ingresos de la compañía?

Este tipo de preguntas pueden llevarse a cabo en la entrevista, en el cuestionario y en la encuesta, la

elección depende de los diseñadores de la base de datos, por tal razón, se sugiere investigar y realizar

algunos ejemplos de estas herramientas para el caso en cuestión.

Page 48: Tema Desarrollado

Bases de datos Programa desarrollado

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

Actividad 2. Elección y elaboración del instrumento de recopilación de información

Con base en los temas desarrollados en el subtema anterior, debes definir en equipo el instrumento de

recolección de información (cuestionario, entrevista o encuesta) que utilizarás para el caso elegido en la

actividad 1, esto con el fin de elaborarlo tomando en cuenta sus propias características. De la información

que se obtenga se desprenderá el reporte del estudio que arrojará las necesidades de hardware, software,

costo, beneficio y operación.

1. Discute con tu equipo las características de los instrumentos de recopilación de información y elijan

aquel que se adecúe más al caso elegido en la actividad anterior.

2. En un documento de Word, escribe de manera individual una breve explicación sobre el instrumento

seleccionado y los motivos por los cuales se eligió ese y no otro.

3. Agrega al documento las preguntas que conforman el instrumento.

4. Sube tu actividad a la sección de tareas y espera la retroalimentación de tu Facilitador(a).

2.1.4. Reporte del estudio de factibilidad

En este subtema se muestran los pasos a realizar una vez que se ha elaborado el instrumento de

recopilación de información.

Ahora bien, ya que se tiene el instrumento es necesaria su aplicación, porque la información que de él se

obtenga, junto con su análisis, servirá para obtener los resultados de los requerimientos operacionales,

financieros y económicos, que en el reporte de estudio de factibilidad se muestran punto por punto.

Estos resultados son los más valioso de la investigación, porque determinan si el sistema de información

requerido es factible en lo operacional, financiero y económico. Para aclarar lo anterior observemos el

siguiente ejemplo:

2.1.5. Requerimientos de hardware y software

Para recabar la información con respecto a los requerimientos de hardware y software, es necesario tener

dos panoramas: el del usuario de la base de datos y el del programador.

Page 49: Tema Desarrollado

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 computadora

tiene, 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 software

y 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 que

el requerimiento de software se refiere a los programas necesarios para el funcionamiento del sistema de

informació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 se

lleva a cabo a través de tablas comparativas de las diferentes alternativas de solución, las cuales contienen

los costos, características, ventajas y desventajas del software y hardware, así como los servicios de

soporte ofrecidos por parte de los proveedores al realizar la compra de estos productos.

Para saber 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ón

conseguida 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 de

factibilidad del caso seleccionado. Para ello, construyan una tabla que contenga los resultados del estudio

de factibilidad operacional, financiera y económica, así como sus necesidades en cuanto a hardware y

software 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 XXYZ

de la manera habitual (por persona) y el símbolo # por el número del equipo.

Page 50: Tema Desarrollado

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 deben

enviar 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ón

conceptual de la información de manera gráfica, ayudan a la valoración y visualización de las

especificaciones necesarias de información para la solución del caso; tienen un procedimiento lógico a

seguir, 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 se

utilizará 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 de

entidad relación (DER). El DER, descrito con detalle posteriormente, permite que un ingeniero del

software identifique objetos de datos y sus relaciones mediante una notación gráfica. En el contexto

del análisis estructurado, el DER define todos los datos que se introducen, se almacenan, se

transforman y se producen dentro de una aplicación. A continuación profundizaremos en las

principales 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 a

resolver, empleando conceptos del mundo real, y no conceptos técnicos informáticos. Estos modelados son

utilizados en los niveles conceptuales y de visión, se caracterizan por proporcionar restricciones de datos

explícitamente, se fundan en pensar acerca de problemas a resolver. La esencia del desarrollo orientado a

objetos es la identificación de conceptos de objetos del dominio de aplicación; esta aplicación se ha

centrado, por lo general, en lenguajes de programación, es una premisa básica para la detección de

errores.

Page 51: Tema Desarrollado

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 para

entender el tema, por lo que en esta parte se comenzará por definir el término objeto, hasta llegar al

concepto de instancia.

Objeto (instancia de clase) es algo real, abstracto, acerca del cual se almacenan datos y métodos; por otra

parte, cuando se dice orientado a objetos, significa que el software se organiza como una colección de

objetos que contiene estructuras de datos y comportamiento.

Otro término relevante es el de identidad, los datos están cuantificados en entidades discretas y

distinguibles denominadas objetos, y cada uno de estos posee su propia identidad inherente, en otras

palabras, los objetos son diferentes, aunque los valores de todos sus atributos, tales como nombre y

tamaño, sean idénticos. En este contexto también se tiene el concepto herencia, que se trata de un

mecanismo que permite definir nuevas clases a partir de otras ya definidas, y que la clase padre tiene

atributos que heredará a las clases hijas. Este término nos lleva al de clase, que es la unidad básica que

encapsula 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 que

clasificación es la categorización de objetos con la misma estructura de datos (atributos) y

comportamiento (operaciones). Finalmente, instancia es un objeto en el cual están contenidos todos los

elementos que conforman un objeto.

Para concluir con este tipo de modelado se puede agregar que este provee un uniforme para modelar el

sistema desde la captura de requerimientos en la etapa inicial del 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 en

cuenta el análisis del negocio, que es el reconocimiento de los elementos claves de este, y la generación

de 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, es

importante recordar que el análisis es una fase de la creación de sistemas informáticos en el que se

identifican los objetos, clases, atributos y entidades a utilizar, esto permitirá realizar el diseño lógico, que

es 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 modelado

conceptual de datos, considerado de alto nivel, que es utilizado como base en el diseño de bases de datos

relacionales; simboliza información real a través de una representación gráfica, que es el dibujo que se

hace empleando la terminología de entidades, que podemos definir como cualquier tipo de objeto sobre el

cual 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. Un

nombre de entidad puede aparecer solo una vez en el esquema conceptual. Existen dos tipos de entidades:

Page 52: Tema Desarrollado

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 que

por lo general carece de atributos. Mientras que una entidad fuerte es aquélla de la cual surgen las

entidades 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 a

las 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 como

verbo, 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 las

entidades. 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: Tema Desarrollado

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 asociada

con muchas (n) de la otra y viceversa (Ejemplo: la entidad ALUMNO y la entidad PROFESOR, entre ellos la

relació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 de

manera 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 campo

identificador será su matrícula). Con el campo identificador se podrán identificar entidades con el mismo

nombre.

Por lo expuesto anteriormente, se puede concluir que una entidad es un sustantivo, los atributos son

adjetivos y las relaciones son verbos.

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

Page 54: Tema Desarrollado

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 una

relació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 sus

dominios 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 las

ventajas de las relaciones en 3FN respecto a las relaciones en forma normal inferior: mínima redundancia y

Page 55: Tema Desarrollado

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 las

relaciones en 3FN, Codd introdujo en 1974 una definición más restrictiva de la tercera formal normal, que

se denominó forma normal de Boyce-Codd (FNBC).

Fagin (1977) introduce la cuarta forma normal (4FN), y posteriormente, en 1979, la quinta (5FN), basadas

en otro tipo de dependencias distintas de las funcionales: las dependencias multivaluadas y las

dependencias de proyección-combinación, respectivamente.

Cuando un esquema de relación está en una forma normal, implícitamente también está en las formas

normales inferiores a esta, es decir, un esquema de relación en FNBC, está en 3FN, 2FN y 1FN; lo

contrario 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 su

cumplimiento 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 grupos

repetitivos, esto es, que debe estar en primera forma normal; por ejemplo, si un estudiante solicita más de

una beca, se tienen grupos repetitivos, y para pasar a 1FN habrá que repetir el resto de atributos de la tupla

para cada uno de los valores del grupo repetitivo.

La segunda forma normal (2FN) está basada en el concepto de dependencia plena y en las

interrelaciones existentes entre los atributos principales (que se encuentran en alguna de las claves) y no

principales (que no se encuentran en ninguna clave) de una relación.

De esta forma, cualquier relación binaria se encuentra siempre en 2FN; así como también la relación en la

que todas las claves son simples, es decir, que contienen un sólo atributo; asimismo, cualquier relación en

la 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 de

algún subconjunto de la clave. Siempre es posible transformar un esquema de relación que no esté en

2FN, 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: Tema Desarrollado

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 del

estudiante.

La clave de la relación ESTUDIANTE_BECA es cod_estudiante, cod_beca. Se puede observar que el

atributo título no es un hecho (una información) acerca de la totalidad de la clave, si no acerca de parte de

ella (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, toda

relació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 funcionalmente

de 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 dependencias

funcionales.

2.2.4. Modelado relacional

El modelado relacional se divide en tres partes, que se ocupan de la estructura, la integridad y la

manipulació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: Tema Desarrollado

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: Tema Desarrollado

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 esa

columna 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 conjunto

de todos los números de proveedores legales; y el conjunto de valores que aparecen en el atributo

S#, de la relación S, en cualquier momento es algún subconjunto de ese conjunto. De manera

similar, 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 en

absoluto los dominios, de hecho tampoco lo hace INGRES ni la mayor parte de los sistemas

actuales.

Page 59: Tema Desarrollado

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 un

nombre 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 tabla

y 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 conceptos

subyacentes 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 los

modelados: 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 vistos

a 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 cuyo

propósito es documentar el caso de estudio elegido, empleando lo revisado durante el desarrollo de la

unidad: tabla de la estructura de entradas, procesos y salidas; reporte de factibilidad; requerimientos de

hardware y software, así como los modelados, para continuar con el seguimiento del caso.

1. En un documento de Word, realiza lo siguiente, ocupa una cuartilla para cada punto:

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: Tema Desarrollado

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 caso

de 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 que

formuló 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_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; sin

embargo, se sugiere la retroalimentación y enriquecimiento basado en la información que se encuentra en

los materiales de apoyo, de igual forma, es conveniente recordar que las actividades correspondientes a

esta segunda unidad son fundamentales para continuar con la tercera, y última, unidad de la asignatura.

Es importante que el estudiante sea autodidacta, creativo y sobre todo tenga una amplia visión, ya que

deberá jugar diferentes roles: usuario y diseñador, lo que le ayudará a obtener un mayor entendimiento del

caso 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 revisaron

los lineamientos metodológicos de recopilación de requerimientos, se definió lo que es un análisis y la

estructura de las entradas, procesos y salidas; asimismo se eligió un caso de estudio, se seleccionó y

elaboró 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 le

dará 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: Tema Desarrollado

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 un

repaso con el fin de reforzar el aprendizaje.

Fuentes de consulta

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

Hall.

Diseño de bases de datos (2010) Introducción a la Informática. Recuperado el 29 de abril de 2011

de: 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 abril

de 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 Y

Naturales 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, de

http://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, de

http://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: Tema Desarrollado

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 el

prototipo de la base de datos, teniendo como base el concepto general de

Structured Query Language (SQL), los tipos de datos, el diccionario de

datos, las instrucciones SQL: Data Definition Language (DDL) y Data la

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

Competencia específica

Elaborar modelados de Bases de datos documentales para representar la

informació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, con

base 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 las

bases de datos: el concepto de Structured Query Language (SQL), los diferentes tipos de datos que utilizan

las base de datos, qué es un diccionario de datos y cómo se genera; así mismo, se revisarán las

instrucciones SQL, Data Definition Language (DDL) y Data Manipulation Language (DML), para finalizar

con el tema de álgebra relacional. Se espera que con estos tópicos logres tener un panorama de los temas

que conforman la tercera, y última, unidad de la asignatura de Base de datos.

Page 63: Tema Desarrollado

Bases de datos Programa desarrollado

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

3.1. Diseño de prototipo de Bases de datos

Para iniciar, es esencial explicar a qué nos

referimos con diseño de prototipo de base de Datos.

Como se explicó anteriormente, se tiene

contemplado que mediante los subtemas que se

verán en esta unidad, y lo realizado en las unidades

anteriores, realices el prototipo del diseño de la

base de datos, entendiendo como prototipo a la

primera versión de un nuevo tipo de producto, en el

que se han incorporado solo algunas características

del sistema final, o no se han realizado

completamente, lo que permitirá al diseñador

evaluar los requerimientos del usuario, verificar su

estructura y flujo de información. Los prototipos son

una visión previa o preliminar del sistema que se

implementará a futuro.

Los prototipos de un sistema de información se utilizan para la recopilación rápida de los requerimientos de

los diferentes usuarios para satisfacer sus necesidades de información, este prototipo es importante ya que

está dentro del ciclo de vida del desarrollo de sistemas de bases de datos, que es una fase determinante

para el perfeccionamiento e implementación del sistema.

Hay tres tipos de información que se busca al realizar un prototipo:

Las innovaciones son parte de la información que se busca al realizar los prototipos, son

capacidades nuevas, comúnmente conocidas como el plus, o capacidades nuevas del

sistema no contempladas antes de la interacción del prototipo.

Las sugerencias del usuario son la observación y las entrevistas que se le realizan al

usuario, la reacción que tiene cuando se le presenta el prototipo y cuando interactúa con él.

El usuario retroalimenta y sugiere (presentación de información, resultados correctos,

faltantes de información, etc.) nuevas ideas para el mejoramiento del sistema. Es

importante mencionar que esto permitirá al analista afinar y realizar cambios al prototipo.

El plan de revisión permite al diseñador identificar las prioridades de construcción y redirigir

los planes sin realizar gastos.

Existen cuatro tipos de prototipos:

Prototipo parchado. Es un sistema de información operable con características de información necesarias

para la visualización del flujo de información, pero es ineficiente.

Prototipo no operacional. Es un modelado a escala no funcional de un sistema de información, se utiliza

cuando la codificación requerida por las aplicaciones es muy extensa para la realización de un prototipo,

Page 64: Tema Desarrollado

Bases de datos Programa desarrollado

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

pero aun así se pude obtener una idea clara del sistema por medio de la elaboración de prototipos

solamente de entradas y salidas de información.

Prototipo de una serie. Es utilizado cuando se tienen planeadas muchas instalaciones del mismo sistema

de información.

Prototipo de características seleccionadas. Es la construcción del prototipo operacional que incluye solo

algunas características que tendrá el sistema final; este prototipo permite que el sistema se vaya

construyendo de forma modular, de tal manera que al ser evaluados de forma independiente y sean

satisfactorios, se incorporen en el sistema final. Es importante la utilización de prototipos porque permiten

comunicar, discutir y definir ideas entre los diferentes diseñadores y los usuarios responsables de cada

información, apoyan el trabajo evaluando productos, clasificando los requerimientos de los usuarios y

definiendo alternativas.

*Nota:

Es importante destacar que el prototipo que se pretende realizar en esta materia no incluirá la parte de la

programación de interface, ya que la materia solo se enfoca en la parte documental y ciertas instrucciones

SQL (que veremos a continuación) para la creación de la base de datos; se recomienda utilizar un software

libre para la generación de la base.

Actividad 1. Tablas lógicas

Durante esta actividad, deberás elaborar un documento con tu equipo (el equipo será el mismo con el que

trabajaste para la elección de caso en las unidades previas), en el que se organice la información para

construir las ideas y aplicar los cambios que requiera el caso que eligieron en las unidades anteriores.

Instrucciones:

1. En Excel, planteen las tablas lógicas del caso de estudio.

2. Identifiquen los campos de las tablas lógicas, así como su clave principal, e ingrésenle 10 registros.

3. Guarden el archivo con el nombre BDD_U3_A1_XXYZ.

4. Envíen, de manera individual, el archivo al Facilitador(a) para recibir retroalimentación.

3.1.1. Concepto de Structured Query Language (SQL)

El SQL se puede traducir como Lenguaje Estructurado de Consultas (Structured Query Language). SQL es

un lenguaje de consultas estructurado y de programación de bases de datos relacionales utilizado para

accesar, consultar, actualizar y gestionar información, que permite realizar diversos tipos de operaciones;

es utilizado casi siempre con el álgebra relacional, que permite explotar de manera más eficiente la

información y tiene la capacidad de aplicar cálculos matemáticos. SQL es considerado un lenguaje de alta

generación (4GL), y estándar, pero en algunos Sistemas Gestores de Bases de Datos tendrán pequeñas

variaciones en su estructura.

Page 65: Tema Desarrollado

Bases de datos Programa desarrollado

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

Hay que destacar que los sistemas de bases de datos comerciales necesitan un lenguaje de consulta

cómodo para el usuario, y el lenguaje de mayor influencia es SQL, que usa una combinación de álgebra

relacional y construcciones de cálculo relacional.

Aunque el lenguaje SQL se considere un lenguaje de consultas de Bases de datos, contiene muchas otras

capacidades como las siguientes:

Incluye características para definir la estructura de los datos

Para la modificación de ellos en la base de datos y para la especificación de restricciones de

seguridad.

Actualmente numerosos productos son compatibles con el lenguaje SQL.

SQL es el lenguaje abierto y más comercial en el mercado, se debe remarcar la importancia de cada uno

de sus componentes de manera general, los cuales se abordan a continuación.

Componentes de SQL.

El lenguaje SQL está conformado básicamente por los siguientes componentes:

Lenguaje de definición de datos (LDD). Proporciona órdenes para la definición de vistas y de

esquemas de relación, borrado de relaciones, creación de índices, modificación de índices y de

esquemas de relación. También incluye órdenes para la especificación de las restricciones de

integridad que deben satisfacer los datos almacenados en la Base de datos, y las actualizaciones

que violen las restricciones de integridad las rechaza. Además, incluye órdenes para especificar

derechos de acceso para las relaciones y vistas.

Lenguaje de manipulación de datos (LMD). Incluye un lenguaje de consultas, basado tanto en

álgebra relacional como en cálculo relacional de tuplas (tablas), y órdenes para insertar, borrar y

modificar tuplas de las bases de datos.

Control de transacciones. Órdenes para la especificación del comienzo y final de transacciones.

SQL tiene la facultad de poder trabajar con diferentes lenguajes de programación de propósito general,

dado que puede ser incorporado o dinámico. SQL incorporado trabaja con código fuente estructurado por el

programador, mientras que el dinámico no requiere de estructuras de código fuente, dado que tiene la

facultad de trabajar con asistentes que no lo requieren. Algunos ejemplos de lenguajes de programación de

propósito general son C, C++, Java. PL/I, Cobol, entre otros.

Al momento de programar SQL se requiere tener claridad sobre el significado de las estructuras que utiliza

para las expresiones básicas, las cuales son: SELECT, FROM y WHERE. Estas estructuras se comparan

con la aplicación que tienen en el álgebra relacional, tema que se aborda más adelante.

SELECT. Se usa para listar los atributos deseados del resultado de una consulta. Corresponde a la

operación proyección de álgebra relacional.

FROM. Lista las relaciones que deben ser analizadas en la evaluación de la expresión.

Corresponde a la operación producto cartesiano de álgebra relacional.

WHERE. Es un predicado que engloba los atributos de las relaciones que aparecen en la expresión

FROM. Corresponde al predicado selección de álgebra relacional.

Page 66: Tema Desarrollado

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 álgebra

relacional, 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 del

lenguaje, pero también hay otras tareas que se pueden realizar mediante las sentencias SQL, aunque

pertenecen más a la responsabilidad de lo que suelen llamarse administrador de bases de datos; las tareas

son las siguientes:

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

dándole su nombre y características, esto se hace definiéndola. Hay otros muchos objetos que maneja un

SGBD 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 bases

de datos, pero puede haber casos en que se permita a algunos usuarios definir tablas para datos de uso

privado. En este caso, el usuario emplea las correspondientes sentencias de SQL.

Gestión de las autorizaciones de acceso.

El usuario final no podrá consultar o actualizar datos de una tabla si previamente no ha sido autorizado

para ello. Tampoco podrá hacerlo un programa si la persona que ha solicitado su ejecución no ha sido

previamente autorizada. Estas autorizaciones se conceden o deniegan mediante sentencias SQL.

Normalmente, las autorizaciones las concede el administrador de bases de datos, pero puede haber casos

en que lo haga un usuario con respecto a sus datos privados, si se le permite tenerlos.

Existen otras tareas propias del administrador de bases de datos, en las que el SQL puede ayudar, sin

embargo se necesitan otras herramientas adicionales. Así, por ejemplo, la prevención y corrección de

problemas 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: Tema Desarrollado

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 que

conforman las bases de datos.

En los lenguajes de programación se proporcionan tipos de datos ya definidos agrupados en clases

distintas. Los tipos de datos también son vistos como una limitación impuesta en la interpretación de datos

en 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 del

ordenador. 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 de

caracteres requerida.

Es importante definir los tipos de datos para diseñar las tablas o entidades, dado que de aquí se definirá el

dominio para el uso de las relaciones en la base de datos.

Los tipos de datos con restricciones y valores por defecto se pueden combinar en la 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: Tema Desarrollado

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 como

ID_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 la

base de datos, se requiere simplificar el trabajo. Por tanto se crea un dominio de la siguiente forma:

CREATE DOMAIN IDENTIFICACOR NUMERIC (4) DEFAULT 0

CHECK (VALUE IS NOT NULL)

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

Su tipo de dato es 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 de

forma ligeramente diferente, proporciona tipos de datos predefinidos y permite dominios definidos por el

usuario.

Los tipos de datos en SQL se clasifican en:

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). La

precisió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 la

derecha del punto decimal.

Tipo de datos aproximados:

Aproximados

• Real (real)

Page 69: Tema Desarrollado

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 real

de 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 van

a 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 analistas

que participan en la determinación de los requerimientos del sistema, evitando así malas interpretaciones o

ambigüedades, su contenido también se emplea durante el diseño del proyecto.

Page 70: Tema Desarrollado

Bases de datos Programa desarrollado

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

En un diccionario de datos se encuentra la lista de los elementos que forman parte del flujo de datos de

todo el sistema. Los elementos más importantes son flujos de datos, almacenes de datos y procesos. El

diccionario de datos guarda los detalles y descripción de todos estos elementos. Desde el punto de vista

estadístico, este diccionario debe tener la variable, el tipo de variable, su definición y su delimitación

espacial.

Ejemplo:

Las ventajas de diseñar un diccionario de datos son:

Permite la

localización

de

información

de manera

más rápida.

Aclara dudas

con respecto a

las

características

de los campos

y, en su caso,

realizar altas,

bajas y

cambios.

Permite

visualizar las

tablas

relacionadas

entre si y los

campos que las

relacionan.

Actividad 2. Diccionario de datos

El propósito de esta actividad es definir un diccionario de datos para aplicarlo a una base de datos, con la

finalidad de tenerlo como referencia.

Instrucciones:

En una hoja de cálculo esquematiza una tabla con las filas y columnas correspondientes a un

diccionario de datos.

Por cada tabla debes crear un diccionario de datos, ya que los campos deben ser diferentes.

Page 71: Tema Desarrollado

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, que

deben escribirse de acuerdo con las siglas sintácticas y semánticas

de SQL. Para esto es necesario conocer las instrucciones

primordiales de SQL: DDL (Data Definition Language) y DML (Data

Manipulation Language).

Page 72: Tema Desarrollado

Bases de datos Programa desarrollado

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

DDL

La 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.

ALTER Utilizado para modificar las tablas, agregando campos o cambiando la

definició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 DROP

DROP DATABASE { dataBase_name | dataBase_snapshot_name } [ ,…n ] [;]

Sintaxis de ALTER

ALTER TABLE ―nombre_tabla‖ [modificar especificación]

DML

DML (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 los

comandos: SELECT, INSERT, UPDATE Y DELETE.

Comando Descripción

SELECT Utilizado 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 única

operación.

UPDATE Utilizado para modificar los valores de los campos y registros

especificados.

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: Tema Desarrollado

Bases de datos Programa desarrollado

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

Sintaxis de SELECT

SELECT ―nombre de columna‖ FROM ―nombre_tabla‖

Sintaxis de INSERT

INSERT INTO ―nombre_tabla‖ (―columna 1‖, ―columna 2‖, …) valor S (―valor 1‖, ―valor 2‖, …)

Sintaxis de UPDATE

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

Sintaxis de DELETE

DELETE 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

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

registros.

WHERE Utilizada para especificar las condiciones que deben reunir los

registros que se van a seleccionar.

GROUP BY Utilizada para separar los registros seleccionados en grupos

específicos.

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

grupo.

ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con

un 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 se

describe la sintaxis de cada uno de ellos.

Sintaxis de FROM

FROM "nombre_tabla" WHERE {condición}

Sintaxis de WHERE

SELECT "nombre_columna" FROM "nombre_tabla" WHERE "condición"

Sintaxis de GROUP BY

SELECT "nombre_columna 1", SUM ("nombre_columna 2") FROM "nombre_tabla" GROUP BY

"nombre_columna 1"

Sintaxis de HAVING

Page 74: Tema Desarrollado

Bases de datos Programa desarrollado

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

SELECT "nombre_columna 1", SUM ("nombre_columna 2") FROM "nombre_tabla" GROUP BY

"nombre_columna 1"

HAVING (condición de función aritmética)

Sintaxis de ORDER BY

SELECT "nombre_columna" FROM "nombre_tabla" [ WHERE "condición"] ORDER BY "nombre_columna"

[ASC, DESC]

Aparte de los comandos antes mencionados, SQL maneja operadores lógicos y de comparación, los cuales

también tienen sus propias sintaxis. En el caso de los operadores lógicos.

Operador Uso

AND es "y" Evalúa dos condiciones y devuelve un valor de verdad

solo si ambas son ciertas.

OR es "o" Evalúa dos condiciones y devuelve un valor de verdad

si alguna de las dos es cierta.

NOT es negación Devuelve el valor contrario de la expresión.

Operadores lógicos

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

Sintaxis de AND

SELECT "nombre_columna" FROM "nombre_tabla" WHERE "condición simple" { [AND] "condición

simple"}+

Sintaxis de OR

SELECT "nombre_columna" FROM "nombre_tabla" WHERE "condición simple" { [OR] "condición simple"}+

Sintaxis de NOT

[ NOT ] boolean_expresión

Veamos la simbología así como el uso de los operadores de comparación:

Operador

(simbología) Uso

< Menor que

> Mayor que

<> Distinto de

<= Menor o igual que

>= Mayor o igual que

= Igual que

BETWEEN Utilizado para especificar un intervalo de valores.

Page 75: Tema Desarrollado

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 BETWEEN

campo [Not] Between valor1 AND valor2

Sintaxis de LIKE

expresió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 comando

SELECT 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 campo

determinado.

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

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

determinado.

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

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

Funciones

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

siguientes sintaxis.

Sintaxis de AVG

AVG ( [ ALL | DISTINCT ] expresión )

Sintaxis de COUNT

SELECT COUNT ("nombre_columna") FROM "nombre_tabla"

Sintaxis de SUM

SUM ( [ ALL | DISTINCT ] expresión )

Sintaxis de MAX

MAX ( [ ALL | DISTINCT ] expresión)

Page 76: Tema Desarrollado

Bases de datos Programa desarrollado

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

Sintaxis de MIN

MIN ( [ ALL | DISTINCT ] expresión)

3.1.5. Álgebra relacional

Para hablar de este tema, es importante conocer y tener bien

definidos los términos básicos de las estructuras SQL

mencionados y presentados en las figuras del subtema

anterior, así como su funcionamiento. Ahora bien, este tema

servirá para generar las operaciones más básicas en las bases

de datos relacionales, y está constituido de manera práctica

para su mejor comprensión.

El álgebra relacional es definida como un conjunto de operadores de alto nivel que trabajan sobre

relaciones. Esto significa que estas operaciones usan una o dos relaciones existentes para crear una nueva

relación. Esta nueva relación puede entonces usarse como entrada para una nueva operación. Este

poderoso concepto – la creación de una nueva relación a partir de las relaciones existentes— hace posible

una variedad infinita de manipulaciones sobre los datos. Eso también hace considerablemente más fácil la

solució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 SALDO

INICIAL

SALDO

ACTUAL

100

101

105

110

José López

Maritza

Julián

Gómez

Box 241, Sonora

B 918, Aguas

Calientes

Santiago

Japón

Austria

USA

Chile

45.551

75.314

49.333

27.400

52.113

77.200

57.811

35.414

VENDEDOR

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISIÓN

10

14

23

37

Blanca Soto

Mónica Márquez

Francisco Moreno

Elena Hernández

27

44

35

12

Aguas

Calientes

Sonora

Nayarit

10

11

9

13

Page 77: Tema Desarrollado

Bases de datos Programa desarrollado

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

39

27

44

35

12

Gabriela Acuña

Teresa Cardoso

Alberto Sánchez

Berenice Medina

Claudia Ortega

44

27

27

27

B.C.

Sonora

Aguas

Calientes

Sonora

Nayarit

B.C.

10

15

12

11

10

PRODUCTO

ID_PRODUCTO DESC_PRODUCTO ID_FABRICANTE COSTO PRECIO

1035

2241

2249

2518

abrigo

lámpara de mesa

lámpara de mesa

escultura

210

317

317

253

1,25

2,25

3,55

0,60

2,00

3,25

4,80

1,20

VENTA

FECHA ID_CLIENTE ID_VENDEDOR ID_PROD CANTIDAD

28/02

12/02

15/02

19/02

02/02

05/02

22/02

14/02

01/02

04/02

100

101

101

100

101

105

110

105

101

101

10

23

23

39

23

10

37

10

23

23

2241

2518

1035

2518

1035

2241

2518

2249

2249

2241

200

300

150

200

200

100

150

50

75

250

FABRICANTE

ID_FABRICANTE NOMB_FABRICANTE DIRECCION PAÍS

210

253

317

Nike

Hugo boss

Llama Llamps

AuklAND

Lagos

Lima

Estados Unidos

Nigeria

Perú

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 de

conjuntos de Matemáticas, y son considerablemente parecidas a las operaciones encontradas allí. Esto es

razonable, debido a que las relaciones son en sí mismas conjuntos, de esta manera se le pueden aplicar

las operaciones de conjunto. Las cuatro siguientes son operaciones nuevas, que se aplican

específicamente al modelo de datos relacional. Mientras que la última operación (asignación) es la

operación estándar de los lenguajes de computación, de dar un valor a un nombre. En este caso, la

asignació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: Tema Desarrollado

Bases de datos Programa desarrollado

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

1. Unión

La 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 dos

relaciones de la figura 3.16. Estas dos relaciones representan todos los vendedores que están

subordinados a otros vendedores (VENDEDOR_SUBORDINADO) y todos los vendedores que son jefes de

otros vendedores (VENDEDOR_JEFE). Obviamente, existe redundancia de datos, esto sucede a través de

la ejecución de una serie de órdenes de álgebra relacional antes de utilizar el operador unión. Si se desea

obtener una relación que contenga todos los vendedores, se debe realizar la unión de

VENDEDOR_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 en

VENDEDOR_SUBORDINADO o VENDEDOR_JEFE, o ambas.

Es importante observar que una fila que existe en ambas relaciones aparece solo una vez en la relación

unión. Esto sigue la definición de una relación como un conjunto, debido a que un elemento dado se

encuentra solo una vez en conjunto.

VENDEDOR_SUBORDINADO

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISIÓN

10

14

23

37

39

44

35

12

Blanca Soto

Mónica Márquez

Francisco Moreno

Elena Hernández

Gabriela Acuña

Alberto Sánchez

Berenice Medina

Claudia Ortega

27

44

35

12

44

27

27

27

Aguas

Calientes

Sonora

Nayarit

B.C.

Sonora

Sonora

Nayarit

B.C.

10

11

9

13

10

12

11

10

VENDEDOR_JEFE

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISION

1035

2241

2249

2518

Teresa Cardoso

Alberto Sánchez

Berenice Medina

Claudia Ortega

27

27

27

Aguas

Calientes

Sonora

Nayarit

B.C.

15

12

11

10

Representación relacional alternativa de vendedor.

VENDEDOR

Page 79: Tema Desarrollado

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

10

14

23

37

39

27

44

35

12

Blanca Soto

Mónica Márquez

Francisco Moreno

Elena Hernández

Gabriela Acuña

Teresa Cardoso

Alberto Sánchez

Berenice Medina

Claudia Ortega

27

44

35

12

44

27

27

27

Aguas Calientes

Sonora

Nayarit

B.C.

Sonora

Aguas Calientes

Sonora

Nayarit

B.C.

10

11

9

13

10

15

12

11

10

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 combinados

a 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 dominio

de 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 de

CLIENTE y PRODUCTO (ver figura 3.14) se obtendrá un conjunto y una relación. Las filas en el conjunto

resultante no tendrían columnas comunes, de este modo ellas no se agruparían en una tabla relacional. La

compatibilidad 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 SALDO

INICIAL

SALDO

ACTUAL

100

101

105

110

José López

Maritza

Julián

Gómez

Box 241, Sonora

B 918, Aguas

Calientes

Santiago

Japón

Austria

USA

Chile

45.551

75.314

49.333

27.400

52.113

77.200

57.811

35.414

VENDEDOR

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISIÓN

Page 80: Tema Desarrollado

Bases de datos Programa desarrollado

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

10

14

23

37

39

27

44

35

12

Blanca Soto

Mónica Márquez

Francisco Moreno

Elena Hernández

Gabriela Acuña

Teresa Cardoso

Alberto Sánchez

Berenice Medina

Claudia Ortega

27

44

35

12

44

27

27

27

Aguas

Calientes

Sonora

Nayarit

B.C.

Sonora

Aguas

Calientes

Sonora

Nayarit

B.C.

10

11

9

13

10

15

12

11

10

PRODUCTO

ID_PRODUCTO DESC_PRODUCTO ID_FABRICANTE COSTO PRECIO

1035

2241

2249

2518

abrigo

lámpara de mesa

lámpara de mesa

escultura

210

317

317

253

1,25

2,25

3,55

0,60

2,00

3,25

4,80

1,20

VENTA

FECHA ID_CLIENTE ID_VENDEDOR ID_PROD CANTIDAD

28/02

12/02

15/02

19/02

02/02

05/02

22/02

14/02

01/02

04/02

100

101

101

100

101

105

110

105

101

101

10

23

23

39

23

10

37

10

23

23

2241

2518

1035

2518

1035

2241

2518

2249

2249

2241

200

300

150

200

200

100

150

50

75

250

FABRICANTE

ID_FABRICANTE NOMB_FABRICANTE DIRECCION PAÍS

210

253

317

Nike

Hugo boss

Llama Llamps

AuklAND

Lagos

Lima

Estados Unidos

Nigeria

Perú

Ejemplo de datos en una base de datos.

2. Intersección

La 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, se

toma la intersección de VENDEDOR_SUBORDINADO y VENDEDOR_JEFE, llamando al resultado

VENDEDOR_SUBORDINADO_JEFE:

VENDEDOR_SUBORDINADO_JEFE := VENDEDOR_SUBORDINADO ∩ VENDEDOR_JEFE

Page 81: Tema Desarrollado

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

44

35

12

Alberto Sánchez

Berenice Medina

Claudia Ortega

27

27

27

Sonora

Nayarit

B.C.

12

11

10

El resultado de una operación de intersección es la relación que consiste en todas las filas que están en

ambas 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ón

compatible.

3. Diferencia

La operación de diferencia (-) permite identificar filas que están en una relación y no en otra. Suponga que

es de interés identificar los jefes que no son subordinados de otros jefes, entonces se toma la diferencia

entre VENDEDOR_JEFE y VENDEDOR_SUBORDINADO, en ese orden.

VENDEDOR_JEFE_JEFE := VENDEDOR_JEFE - VENDEDOR_SUBORDINADO

VENDEDOR_JEFE_JEFE

ID_VENDEDOR

27

NOMB_VENDEDOR

Teresa Cardoso

ID_JEFE

15

OFICINA

Aguas

Calientes

%COMISIÓN

11

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 – B

Entonces una fila está en C si y solo si está en A y no está en B.

Observe que A – B no es lo mismo que B – A. Si se invierte el orden de las relaciones usadas en el ejemplo

anterior se obtendría:

VENDEDOR_SUBORDINADO - VENDEDOR_JEFE

La 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 las

relaciones en una operación de diferencia es muy importante. Una vez más es importante recordar que

ambas relaciones deben ser unión compatible.

Page 82: Tema Desarrollado

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 es

probablemente la operación más importante en el álgebra relacional. La operación producto es idéntica a la

operació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

10

11

22

25

B

W Z

33

37

42

54

98

100

(b) El producto de A y B

C ( := A * B )

X Y W Z

10

10

10

11

11

11

22

22

22

25

25

25

33

37

42

33

37

42

54

98

100

54

98

100

Figura. Ejemplo de la operación producto.

C:= A * B

Observe que el producto se crea:

Page 83: Tema Desarrollado

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. Cada

fila de A se corresponde tres veces con B, y entonces aparece en tres diferentes filas en A, por el número

de filas en B.

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

VENTA.

P_V:= PRODUCTO * VENTA

P_V tendría 10 columnas y 40 filas, por lo que habría un problema en este caso, debido a que una

columna en PRODUCTO y una columna en VENTA (ID_PRODUCTO) tienen el mismo nombre. Esto se

resuelve modificando el nombre de la columna en cada caso, 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 como

la operación de construcción de un bloque para la reunión (JOIN), también usado en el lenguaje de

consulta SQL.

5. Selección

La operación de selección (=) se usa para crear una relación a partir de otra relación, seleccionando solo

aquellas 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ón

de que una fila se selecciona solo si el atributo OFICINA es igual a ―Sonora‖. Esto se hace en el álgebra

relacional como sigue:

VEND_SONORA:= SELECT (VENDEDOR: OFICINA = ―Sonora‖)

Page 84: Tema Desarrollado

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ón

serán seleccionadas y puesta en relación resultante. El resultado de esta operación de selección es la

siguiente:

VEND_SONORA

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA % COMISIÓN

14

39

44

Mónica Márquez

Gabriela Acuña

Alberto Sánchez

44

44

27

Sonora

Sonora

Sonora

11

10

12

Las condiciones de selección son esencialmente las mismas condiciones usadas en las instrucciones

IF (si) en los lenguajes tradicionales de programación. Sin embargo, los nombres de las columnas

usados en la condición de la selección dada deben encontrarse en la relación nombrada en la

operación de selección. Algunos ejemplos de condiciones de selección que podrían usarse con la

relación VENDEDOR son:

ID_VENDEDOR=23

NOMB_VENDEDOR=Berenice Medina

ID_JEFE>=20

not OFICINA = ―B.C.‖

% COMISION < 11

Pueden usarse operadores de comparación tales como < y >. Hay cinco operadores de comparación

mencionados en el subtema anterior. Para cada uno de estos hay un operador correspondiente que

usa 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. Ejemplos

Instrucción: ¿Qué vendedor tiene ID 23?

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

Resultado:

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %COMISIÓN

23 FRANCISCO

MORENO

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: Tema Desarrollado

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 Aguas

Calientes

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

10

14

23

39

27

44

35

Blanca Soto

Mónica Márquez

Francisco Moreno

Gabriela Acuña

Teresa Cardoso

Alberto

Sánchez

Berenice Medina

27

44

35

44

0

27

27

Aguas

Calientes

Sonora

Nayarit

Sonora

Aguas

Calientes

Sonora

Nayarit

10

11

9

10

15

12

11

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

10

23

39

Blanca Soto

Francisco Moreno

Gabriela Acuña

27

35

44

Aguas

Calientes

Nayarit

Sonora

10

9

10

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

Page 86: Tema Desarrollado

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

14

44

Mónica Márquez

Alberto Sanchez

44

27

Sonora

Sonora

11

12

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

10

14

37

27

44

35

12

Blanca Soto

Mónica Márquez

Elena Hernández

Teresa Cardoso

Alberto

Sánchez

Berenice Medina

Buster Sánchez

27

44

12

27

27

27

Aguas

Calientes

Sonora

B.C.

Aguas

Calientes

Sonora

Nayarit

B.C.

10

11

13

15

12

11

10

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 respuesta

a cada consulta incluía filas enteras de datos tomadas de la relación VENDEDOR, debido a que la

operació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 de

las filas no deseadas, la operación de proyectar se piensa como la eliminación de las columnas no

deseadas. La relación que resulta de una operación de proyectar se llama una proyección de la relación

original.

A diferencia de otras operaciones del álgebra relacional, la operación de proyectar no requiere de una

palabra clave especial o símbolo. Más bien, para crear una proyección —una relación consistente solo de

ciertas columnas identificadas de otra relación— se enlista simplemente la relación original seguida de las

columnas que se quieren conservar encerradas entre corchetes.

Page 87: Tema Desarrollado

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 columna

nombre de la relación VENDEDOR-SONORA que visualizamos en los ejemplos anteriores.

VENDEDOR_SONORA [ NOMB_VENDEDOR]

Esto resulta de la siguiente relación:

NOMB_VENDEDOR

Mó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 vendedores

se introduce:

VENDEDOR_SONORA (ID_VENDEDOR, NOMB_VENDEDOR, ID_JEFE)

Resultante:

ID_VENDEDOR

14

39

44

NOMB_VENDEDOR

Mónica Márquez

Gabriela Acuña

Alberto Sánchez

ID_JEFE

44

44

27

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

10

11

9

13

15

12

Page 88: Tema Desarrollado

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 misma

tasa de comisión. Ya que una relación es un conjunto, una tasa dada aparece solo una vez. Esto es

una 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 aparece

solo una vez en la relación.

Esta operación presenta una oportunidad conveniente para mostrar el anidamiento de operaciones en

el á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 una

operació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_VENDEDOR

Blanca Soto

Francisco Moreno

Gabriela Acuña

Claudia Ortega

Este ejemplo muestra la operación de selección que se realiza primero seguida por la proyección

sobre 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 las

operaciones.

7. Reunión

Conocida como JOIN, sirve para conectar datos a través de relaciones, es la función más importante en

cualquier 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 es

la reunión natural (ver figura 3.14 de la relación VENTAS). Esta relación almacena al cliente, al vendedor y

al producto involucrado en una transacción de venta particular, incluyendo los IDs de estos tres elementos

de datos. La información permite hacer conexiones lógicas entre las relaciones CLIENTE, VENDEDOR y

PRODUCTO. Pensemos en un ejemplo: se deja conocer los nombres de los clientes que han hecho

compras al vendedor 10, lo primero es seleccionar aquellas ventas aplicadas solo al vendedor 10, y se

ponen entonces en una relación que se llama VENTA_10.

VENTA_10

Page 89: Tema Desarrollado

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/02

14/02

100

105

105

10

10

10

2241

2241

2249

200

100

50

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

procede como sigue:

1. Se crea el producto de VENTA_10 y CLIENTES. Se obtiene una relación con 11 columnas (5 de

VENTA_10 y 6 de ID_CLIENTE) y 12 filas (3 en VENTA_10 * 4 en CLIENTE).

2. Todas las filas de esta relación producto se eliminan, excepto aquellas en las cuales el ID_CLIENTE

de VENTA_10 es igual al ID_CLIENTE de CLIENTE. En el resultado se debe observar que hay dos

columnas ID_CLIENTE en la relación y que en cada fila los valores en estas dos columnas son

idénticos.

3. Dado que las dos columnas ID_CLIENTE contienen idéntica información, una de ellas puede

eliminarse. Esto resulta en la reunión natural de VENTA_10 y CLIENTE.

FECHA ID_CLIENTE ID_VENDEDOR ID_PRODUCTO CANTIDAD

28/02

05/02

14/02

100

105

105

10

10

10

2241

2241

2241

200

100

50

ID_CLIENTE NOMB_CLIENTE DIRECCIÓN PAÍS SALDO

INICIAL

SALDO

ACTUAL

100

105

105

José

Julián

Julián

Box 241, Sonora

B 918, Aguas

Calientes

B 918 Aguas

Calientes

Mérida

Culiacán

Culiacán

45.551

49.333

49.333

52.113

57.811

57.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, se

tendrá 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: Tema Desarrollado

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, para

cada uno de estos productos debe haber al menos una fila en VENTA y que contenga el ID-VENDEDOR de

este vendedor. Una consulta como esta puede solucionarse usando la operación división (divide) del

álgebra relacional. ¿Cómo resolver esta consulta? Se seguirá un procedimiento cercano al que se usaría

intuitivamente, 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 los

productos 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 que

contenga 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 producto

representado por ID_PROD fue vendido por el vendedor representado por ID_VENDEDOR.

Entonces PI_VI: consiste en todas las combinaciones producto/vendedor, donde el vendedor ha

vendido el producto.

Resultante:

PI

ID_PROD

1035

2241

2249

2518

ID_VENDEDOR

ID_PROD

10 2241

23 2518

23 1035

39 2518

37 2518

10 2249

23 2249

23 2241

Ahora solo se necesita determinar si cada vendedor presentado en PI_VI se asocia con cada ID del

producto en PI, esto se hace automáticamente con la operación de división.

A:= PI_VI/PI

Page 91: Tema Desarrollado

Bases de datos Programa desarrollado

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

Resultado:

A

ID:

VENDEDOR

23

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 todas

y solo aquellas de B que no son columnas de C, esto corresponde al ejemplo anterior. Las

columnas de PI/VI son ID_PROD e ID_VENDEDOR, mientras que la columna de PI es ID_PROD y

la columna de A es ID_VENDEDOR.

2. Una fila se encuentra en A solo si está asociada con B con la fila de C. Esto también se

corresponde al ejemplo citado, debido a que una fila de A (ID_VENDEDOR=23) está asociada en

PI_VI con todas las filas de PI y es 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 el

producto de dos relaciones B y C, entonces se puede obtener B, dividiendo el producto de C:

(B*C)/C=B entonces vemos la analogía con la aritmética común del porqué se ha llamado operación

de 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 se

proporcionó 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 un

nombre. En este caso la asignación se usa para dar un nombre a una nueva relación que se crea de

relaciones existentes. Se usa el signo ―:=‖ (es el nombre asignado a) para indicar la asignación de nombres

a relaciones.

Page 92: Tema Desarrollado

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 operaciones

elementales del álgebra relacional, para saber en qué casos se utiliza cada una de ellas.

Instrucciones:

1. En un documento de texto, enlista las instrucciones DDL y su aplicación, así como un ejemplo de cada

una de ellas.

2. En la segunda cuartilla del documento, menciona para qué sirven los comandos DML de SQL y muestra

el uso de cada una de ellas.

3. Selecciona dos de las operaciones 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 las

presentes como evidencia final de aprendizaje, además debes incluir el prototipo de bases de datos que

confeccionaste en el curso.

1. En un documento de Word, anota el nombre de la base de datos del caso de estudio que elaboraste a lo

largo de la asignatura y el índice de los elementos que 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 su

importancia.

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: Tema Desarrollado

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 que

formuló 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 diferentes

instrucciones 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 se

abordaron los temas básicos de informática, ligando las ideas, poco a poco, hasta llegar a los conceptos

generales de las bases de datos, que fueron el punto clave para conocer los tipos de bases de datos y

gestores, dando una explicación de sus funciones y usos. Finalmente, en la unidad tres, se revisaron los

modelos de bases de datos y su aplicación de manera práctica, utilizando SQL y sus instrucciones DDL y

DML, 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 te

sean familiares o no los recuerdes, de no ser este el caso, ahora realiza el examen final para concluir

satisfactoriamente con la unidad.

¡Felicidades!

Examen final

Como parte de la evaluación de la asignatura, se pide llevar a cabo un examen final cuyo propósito es

reforzar los conocimientos adquiridos a lo largo del curso.

Ingresar al aula virtual para realizar la actividad.

Page 94: Tema Desarrollado

Bases de datos Programa desarrollado

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

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ón

digital). Recuperado el 19 de enero de 2011, de

http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica

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