You are on page 1of 94

Bases de datos

Programa desarrollado

Á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

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



Bases de datos
Programa desarrollado

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


Orope za 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

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



Bases de datos
Programa desarrollado

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


Orope za 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

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



Bases de datos
Programa desarrollado

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 UNIDAD AD .....................................................................................


..................................................................................... 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
Presentación ......................................................................................................................................... 14

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

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

 Actividad 2. Conceptos
Conceptos básicos
básicos de la asignatura
asignatura ................................................................................................. 23
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 3

Bases de datos
Programa desarrollado

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


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

Bases de datos
Programa desarrollado

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

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

2.2. 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


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

Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

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
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 7

Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

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 10%
bases de datos).
E-Portafolio (evidencias de aprendizaje y 50%
autoreflexiones).
Examen final. 10%

Cabe señalar que para aprobar la asignatura, se debe de obtener la calificación mínima indicada por ESAD.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 10

Bases de datos
Programa desarrollado

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
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 11

Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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 ordenad ores‖.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.

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


1
estadounidense. Nació en Michigan y cursó estudios en la Universidad de Michigan.
Real Academia Española (2001) Diccionario de la lengua
En 1940 obtuvo . Vigésima
españolaen
su doctorado segunda
el Instituto edición (Versión
de Tecnología digital). Recuperado
de Massachusetts y enel 19
1941 ingresó en los laboratorios Bell, donde trabajó en el desarrollo de sistemas de
de enero de 2011, de http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=inform%E1tica
encriptación digital. Siete años más tarde estableció l as leyes fundamentales de la
Educación
transmisión Abierta
Superiorde
y compresión datosyen a Distancia
su trabajoCiencias
• Exactas, Ingeniería
A mathematical theory yof 
Tecnología. 15
Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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 (2 0). 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 1101 2 (en base 2) es:

Sistema numérico decimal


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

Bases de datos
Programa desarrollado

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 10 n, 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 (10 0=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.


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

Bases de datos
Programa desarrollado

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

2. La segunda manera para convertir 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.32 q (q representa los
decimales de las operaciones octales) tenemos:

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



Bases de datos
Programa desarrollado

-3
Recuerda que un exponente negativo indica cuántas veces dividir por ese número el uno; por ejemplo: 8 =
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:

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



Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

Todas las bases de datos tienen como punto de partida una tabla, que es la forma de organizar la
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.

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



Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 28

Bases de datos
Programa desarrollado

El funcionamiento del modelo relacional, parte de lo que su nombre indica: relaciones. Estas pueden ser 
consideradas en forma 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:

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



Bases de datos
Programa desarrollado

 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.

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



Bases de datos
Programa desarrollado

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 so n 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
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 31

Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

 Un operador para pasar uno de estos árboles al siguiente; por ejemplo, un operador para pasar del
árbol correspondiente al curso M23 al árbol siguiente en la secuencia 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 calificadore s ―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
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 33

Bases de datos
Programa desarrollado

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.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 34

Bases de datos
Programa desarrollado

 Un operador para conectar un registro hijo ya existente dentro de una liga; por ejemplo, un operador 
para conectar un registro SP 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.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 35

Bases de datos
Programa desarrollado

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
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 36

Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 39

Bases de datos
Programa desarrollado

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


 Planificador: Organiza las transacciones que llegan a la base de datos para su 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.

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



Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

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 estudio 3, 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, a signado por el facilitador.

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 44

Bases de datos
Programa desarrollado

2.1.2. Estructura de las entradas, procesos y salidas

Para realizar la estructura de las entradas, procesos y salidas, se debe tener toda la 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
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 45

Bases de datos
Programa desarrollado

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? ¿A qué situaciones se enfrentan?


¿Cuál es el asunto o problema? ¿Cuáles son los conflictos, intereses y
¿Quiénes están involucrados? 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)

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 48

Bases de datos
Programa desarrollado

En cuanto a los requerimientos de usuario, es importante cuestionar acerca de qué tipo de computadora
tiene, así como las 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.

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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:
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 51

Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

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

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



Bases de datos
Programa desarrollado

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
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 54

Bases de datos
Programa desarrollado

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 ESTU DIANTE_BECA (AT, DEP) donde:
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 55

Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

Relación de proveedores S.

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



Bases de datos
Programa desarrollado

 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.

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



Bases de datos
Programa desarrollado

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).
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:

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



Bases de datos
Programa desarrollado

 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
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 60

Bases de datos
Programa desarrollado

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

Fuentes de consulta

 Celma, M.; Casamayor, J.C.; Mota, L. (2003) Bases de datos relacionales. Madrid: Pearson-Prentice
Hall.
 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

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



Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

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,
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 63

Bases de datos
Programa desarrollado

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.
retroalimentac ió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 Datos tendrán pequeñas
variaciones en su estructura.

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



Bases de datos
Programa desarrollado

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


considere un
un lenguaje
lenguaje de consultas
consultas de Bases de
de datos, contiene muchas otras
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


programar SQL se requiere tener claridad
claridad sobre el
el significado
significado de las estructuras
estructuras que utiliza
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.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 65

Bases de datos
Programa desarrollado

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.

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



Bases de datos
Programa desarrollado

3.1.2. Tipos de datos

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

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

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



Bases de datos
Programa desarrollado

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 (entero s 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)

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



Bases de datos
Programa desarrollado

• 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.

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



Bases de datos
Programa desarrollado

En un diccionario de datos se encuentra la lista de los elementos que forman parte del flujo de datos de
todo el sistema. Los elementos 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:


 Aclara dudas
con respecto a Permite
Permite la
las visualizar las
localización
características tablas
de
de los campos relacionadas
información
y, en su caso, entre si y los
de manera
realizar altas, campos que las
más rápida.
bajas y relacionan.
cambios.

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.

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



Bases de datos
Programa desarrollado

 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 ).

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



Bases de datos
Programa desarrollado

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.
Utilizado para modificar las tablas, agregando campos o cambiando la
 ALTER
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_sna pshot_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
Utilizado para consultar registros de la base de datos que satisfagan
SELECT
un criterio determinado.
Utilizado para cargar lotes de datos en la Base de datos en una única
INSERT
operación.
Utilizado para modificar los valores de los campos y registros
UPDATE
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:

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



Bases de datos
Programa desarrollado

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

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

Sintaxis de UPDATE
UPDATE ―nombre_tabla‖ SET ―columna 1‖ = [nuevo valor] WHERE {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
Utilizada para especificar la tabla de la cual se van a seleccionar los
FROM
registros.
Utilizada para especificar las condiciones que deben reunir los
WHERE
registros que se van a seleccionar.
Utilizada para separar los registros seleccionados en grupos
GROUP BY
específicos.
Utilizada para expresar la condición que debe satisfacer cada
HAVING
grupo.
Utilizada para ordenar los registros seleccionados de acuerdo con
ORDER BY
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

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



Bases de datos
Programa desarrollado

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
Uso
(simbología)
< Menor que
> Mayor que
<> Distinto de
<= Menor o igual que
>= Mayor o igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.

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



Bases de datos
Programa desarrollado

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
Utilizada para calcular el promedio de los valores de un campo
AVG
determinado.
COUNT Utilizada para devolver el número de registros de la selección.
Utilizada para devolver la suma de todos los valores de un campo
SUM
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)
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 75

Bases de datos
Programa desarrollado

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 SALDO
INICIAL  ACTUAL
100 José López Box 241, Sonora Japón 45.551 52.113
101 Maritza B 918, Aguas  Austria 75.314 77.200
105 Julián Calientes USA 49.333 57.811
110 Gómez Santiago Chile 27.400 35.414
VENDEDOR
ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISIÓN
10 Blanca Soto 27  Aguas 10
14 Mónica Márquez 44 Calientes 11
23 Francisco Moreno 35 Sonora 9
37 Elena Hernández 12 Nayarit 13
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 76

Bases de datos
Programa desarrollado

39 Gabriela Acuña 44 B.C. 10


27 Teresa Cardoso 27 Sonora 15
44  Alberto Sánchez 27  Aguas 12
35 Berenice Medina 27 Calientes 11
12 Claudia Ortega Sonora 10
Nayarit
B.C.
PRODUCTO
ID_PRODUCTO DESC_PRODUCTO ID_FABRICANTE COSTO PRECIO
1035 abrigo 210 1,25 2,00
2241 lámpara de mesa 317 2,25 3,25
2249 lámpara de mesa 317 3,55 4,80
2518 escultura 253 0,60 1,20
VENTA
FECHA ID_CLIENTE ID_VENDEDOR ID_PROD CANTIDAD
28/02 100 10 2241 200
12/02 101 23 2518 300
15/02 101 23 1035 150
19/02 100 39 2518 200
02/02 101 23 1035 200
05/02 105 10 2241 100
22/02 110 37 2518 150
14/02 105 10 2249 50
01/02 101 23 2249 75
04/02 101 23 2241 250
FABRICANTE
ID_FABRICANTE NOMB_FABRICANTE DIRECCION PAÍS
210 Nike  AuklAND Estados Unidos
253 Hugo boss Lagos Nigeria
317 Llama Llamps Lima 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 n ombres a relaciones.

 A continuación se abordan cada una de las nueve operaciones del álgebra relacional.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 77

Bases de datos
Programa desarrollado

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 Blanca Soto 27  Aguas 10
14 Mónica Márquez 44 Calientes 11
23 Francisco Moreno 35 Sonora 9
37 Elena Hernández 12 Nayarit 13
39 Gabriela Acuña 44 B.C. 10
44  Alberto Sánchez 27 Sonora 12
35 Berenice Medina 27 Sonora 11
12 Claudia Ortega 27 Nayarit 10
B.C.
VENDEDOR_JEFE
ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISION
1035 Teresa Cardoso  Aguas 15
2241  Alberto Sánchez 27 Calientes 12
2249 Berenice Medina 27 Sonora 11
2518 Claudia Ortega 27 Nayarit 10
B.C.
Representación relacional alternativa de vendedor.

VENDEDOR

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



Bases de datos
Programa desarrollado

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISION


10 Blanca Soto 27  Aguas Calientes 10
14 Mónica Márquez 44 Sonora 11
23 Francisco Moreno 35 Nayarit 9
37 Elena Hernández 12 B.C. 13
39 Gabriela Acuña 44 Sonora 10
27 Teresa Cardoso 27  Aguas Calientes 15
44  Alberto Sánchez 27 Sonora 12
35 Berenice Medina 27 Nayarit 11
12 Claudia Ortega B.C. 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 SALDO
INICIAL  ACTUAL
100 José López Box 241, Sonora Japón 45.551 52.113
101 Maritza B 918, Aguas  Austria 75.314 77.200
105 Julián Calientes USA 49.333 57.811
110 Gómez Santiago Chile 27.400 35.414
VENDEDOR
ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISIÓN

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



Bases de datos
Programa desarrollado

10 Blanca Soto 27  Aguas 10


14 Mónica Márquez 44 Calientes 11
23 Francisco Moreno 35 Sonora 9
37 Elena Hernández 12 Nayarit 13
39 Gabriela Acuña 44 B.C. 10
27 Teresa Cardoso 27 Sonora 15
44  Alberto Sánchez 27  Aguas 12
35 Berenice Medina 27 Calientes 11
12 Claudia Ortega Sonora 10
Nayarit
B.C.
PRODUCTO
ID_PRODUCTO DESC_PRODUCTO ID_FABRICANTE COSTO PRECIO
1035 abrigo 210 1,25 2,00
2241 lámpara de mesa 317 2,25 3,25
2249 lámpara de mesa 317 3,55 4,80
2518 escultura 253 0,60 1,20
VENTA
FECHA ID_CLIENTE ID_VENDEDOR ID_PROD CANTIDAD
28/02 100 10 2241 200
12/02 101 23 2518 300
15/02 101 23 1035 150
19/02 100 39 2518 200
02/02 101 23 1035 200
05/02 105 10 2241 100
22/02 110 37 2518 150
14/02 105 10 2249 50
01/02 101 23 2249 75
04/02 101 23 2241 250
FABRICANTE
ID_FABRICANTE NOMB_FABRICANTE DIRECCION PAÍS
210 Nike  AuklAND Estados Unidos
253 Hugo boss Lagos Nigeria
317 Llama Llamps Lima 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


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

Bases de datos
Programa desarrollado

Esto produce la siguiente relación:


VENDEDOR_SUBORDINADO_JEFE

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %_COMISIÓN

44  Alberto Sánchez 27 Sonora 12


35 Berenice Medina 27 Nayarit 11
12 Claudia Ortega 27 B.C. 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 NOMB_VENDEDOR ID_JEFE OFICINA %COMISIÓN


27 Teresa Cardoso 15 Aguas 11
Calientes

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.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 81

Bases de datos
Programa desarrollado

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 22
11 25

W Z

33 54
37 98
42 100

(b) El producto de A y B

C ( := A * B )

X Y W Z

10 22 33 54
10 22 37 98
10 22 42 100
11 25 33 54
11 25 37 98
11 25 42 100

Figura. Ejemplo de la operación producto.

C:= A * B
Observe que el producto se crea:
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 82

Bases de datos
Programa desarrollado

1. Concatenando los atributos de las dos relaciones.


2. Uniendo cada fila en A, con cada una de las filas en B.
Esto significa que los atributos de C son todos los atributos de A y B juntos. Debido a que A y B tienen dos
atributos cada uno, C tiene cuatro atributos. Las filas de C se crean ensartando filas de A y B juntas. Cada
fila de A se corresponde tres veces con B, y entonces aparece en tres diferentes filas en A, por el 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‖)

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



Bases de datos
Programa desarrollado

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 Mónica Márquez 44 Sonora 11


39 Gabriela Acuña 44 Sonora 10
44  Alberto Sánchez 27 Sonora 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 35 NAYARIT 9
MORENO

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 )
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 84

Bases de datos
Programa desarrollado

Resultado:

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %COMISIÓN

10 Blanca Soto 27 guas 10


Calientes

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 Blanca Soto 27 guas 10


14 Mónica Márquez 44 Calientes 11
23 Francisco Moreno 35 Sonora 9
39 Gabriela Acuña 44 Nayarit 10
27 Teresa Cardoso 0 Sonora 15
44  Alberto 27 guas 12
35 Sánchez 27 Calientes 11
Berenice Medina Sonora
Nayarit

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 Blanca Soto 27 guas 10


23 Francisco Moreno 35 Calientes 9
39 Gabriela Acuña 44 Nayarit 10
Sonora

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

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



Bases de datos
Programa desarrollado

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


Resultado:

ID_VENDEDOR NOMB_VENDEDOR ID_JEFE OFICINA %COMISIÓN

14 Mónica Márquez 44 Sonora 11


44  Alberto Sanchez
Sanchez 27 Sonora 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 Blanca Soto 27 guas 10


14 Mónica Márquez 44 Calientes 11
37 Elena Hernández 12 Sonora 13
27 Teresa Cardoso B.C. 15
44  Alberto 27 guas 12
35 Sánchez 27 Calientes 11
12 Berenice Medina 27 Sonora 10
Buster Sánchez Nayarit
B.C.

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
operaciones del álgebra
álgebra relacional,
relacional, la operación
operación de
de proyectar
proyectar no requiere
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.

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



Bases de datos
Programa desarrollado

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
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 NOMB_VENDEDOR ID_JEFE


14 Mónica Márquez 44
39 Gabriela Acuña 44
44  Alberto Sánchez
Sánchez 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

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



Bases de datos
Programa desarrollado

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
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 88

Bases de datos
Programa desarrollado

FECHA ID_CLIENTE ID_VENDEDOR ID-PRODUCTO CANTIDAD

28/02 100 10 2241 200


05/02 105 10 2241 100
14/02 105 10 2249 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 100 10 2241 200


05/02 105 10 2241 100
14/02 105 10 2241 50

ID_CLIENTE NOMB_CLIENTE DIRECCIÓN PAÍS SALDO SALDO


INICIAL  ACTUAL

100 José Box 241, Sonora Mérida 45.551 52.113


105 Julián B 918, Aguas Culiacán 49.333 57.811
105 Julián Calientes Culiacán 49.333 57.811
B 918 Aguas
Calientes

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.

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



Bases de datos
Programa desarrollado

La base de datos contiene cuatro productos diferentes con ID: 1035, 2241, 2249 y 2218. Un vendedor 
satisface la consulta si él o ella han vendido cada uno de estos productos al menos una vez. Es decir, para
cada uno de estos productos debe haber al menos una fila en VENTA y que contenga el ID-VENDEDOR de
este vendedor. Una consulta como esta puede solucionarse usando la 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
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 90

Bases de datos
Programa desarrollado

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 i ndicar la asignación de nombres
a relaciones.

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



Bases de datos
Programa desarrollado

Para sintetizar los temas abordados a lo largo de la presente unidad,


te sugerimos revisar los materiales de apoyo.

Actividad 4. Ejercicio: Funciones 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.
Educación Superior Abierta y a Distancia Ciencias Exactas, Ingeniería y Tecnología. 92

Bases de datos
Programa desarrollado

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.

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


You might also like