Sie sind auf Seite 1von 127

NDICE

PRELIMINARES
BIMESTRE
PRIMER
Informtica

SEGUNDO
BIMESTRE
SOLUCIONARIO
Modalidad Abierta y a Distancia

BIBLIOGRFICAS
REFERENCIAS
Base de Datos Avanzada
Gua Didctica
GLOSARIO
4 crditos

Ciclo Titulacin
ANEXOS

5 Informtica

La Universidad Catlica de Loja

rea Tcnica
NDICE
PRELIMINARES
MODALIDAD ABIERTA Y A DISTANCIA

Departamento de Ciencias de la Computacin y Electrnica


Tecnologas Avanzadas de la Web y SBC

BIMESTRE
PRIMER
Base de Datos Avanzada
Gua Didctica
4 Crditos

SEGUNDO
BIMESTRE
SOLUCIONARIO
Titulacin Ciclo

BIBLIOGRFICAS
REFERENCIAS
Informtica V

GLOSARIO

Autor:
ngel Eduardo Encalada Encalada
ANEXOS

La Universidad Catlica de Loja


Asesora virtual:
www.utpl.edu.ec
NDICE
PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
Base de Datos Avanzada

BIBLIOGRFICAS
REFERENCIAS
Gua Didctica
Angel Eduardo Encalada Encalada

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


CC 4.0, CC BY-NY-SA

Diagramacin, diseo e impresin:


EDILOJA Ca. Ltda.
Telefax: 593-7-2611418
GLOSARIO
San Cayetano Alto s/n
www.ediloja.com.ec
edilojainfo@ediloja.com.ec
Loja-Ecuador

Maquetacin y diseo digital


EDILOJA Ca. Ltda.
ANEXOS

Primera edicin

ISBN digital - 978-9942-25-244-9

La versin digital ha sido acreditada bajo la licencia Creative Commons 4.0, CC BY-NY-SA: Reconocimiento-No comercial-Compartir igual;
la cual permite: copiar, distribuir y comunicar pblicamente la obra, mientras se reconozca la autora original, no se utilice con fines
comerciales y se permiten obras derivadas, siempre que mantenga la misma licencia al ser divulgada. https://creativecommons.org/
licenses/by-nc-sa/4.0/deed.es

Octubre, 2017
2. ndice

NDICE
2. ndice......................................................................................................................................................... 4

PRELIMINARES
3. Introduccin......................................................................................................................................... 6
4. Bibliografa........................................................................................................................................... 7
4.1. Bsica............................................................................................................................................................... 7
4.2. Complementara........................................................................................................................................ 7

BIMESTRE
5. Orientaciones generales para el estudio.......................................................................... 9

PRIMER
6. Proceso de enseanza aprendizaje para el logro de competencias......... 11

PRIMER BIMESTRE

SEGUNDO
BIMESTRE
6.1. Orientaciones especficas para el aprendizaje por competencias ....................................... 11

UNIDAD 1. PROCESO DE DESARROLLO DE UNA BASE DE DATOS.............................................. 11


1.1. Panormica del desarrollo de una base de datos........................................................................ 11
1.2. Ciclo de vida de una base de datos (DBLC)...................................................................................... 12

SOLUCIONARIO
1.3. Niveles de abstraccin.............................................................................................................................. 14
1.4. Metodologa de diseo de una base de datos.............................................................................. 15
1.5. Arquitectura de una base de datos.................................................................................................... 18
Autoevaluacin 1 ...................................................................................................................................................... 20

UNIDAD 2. DISEO FSICO............................................................................................................... 22

BIBLIOGRFICAS
REFERENCIAS
2.1. Panormica del diseo fsico................................................................................................................. 22
2.2. Medios de almacenamiento................................................................................................................. 23
2.3. Indexacin..................................................................................................................................................... 25
2.4. Representacin fsica de los datos...................................................................................................... 26
2.5. Anlisis transaccional............................................................................................................................... 29
2.6. Seleccin del SGBD.................................................................................................................................... 30 GLOSARIO
2.7. Proceso de diseo fsico........................................................................................................................... 32
Autoevaluacin 2 ...................................................................................................................................................... 35

UNIDAD 3. SEGURIDAD..................................................................................................................... 37
ANEXOS

3.1. Panormica de la seguridad en sistemas de bases de datos.................................................. 37


3.2. Seguridad de la base de datos.............................................................................................................. 38
3.3. Confidencialidad......................................................................................................................................... 38
3.4. Integridad...................................................................................................................................................... 39
3.5. Disponibilidad.............................................................................................................................................. 40
3.6. Seguridad de las aplicaciones............................................................................................................... 41
3.7. Incorporacin de seguridad al diseo fsico................................................................................... 43
Autoevaluacin 3 ...................................................................................................................................................... 44
UNIDAD 4. PROCESAMIENTO Y OPTIMIZACIN DE CONSULTAS............................................... 46
4.1. Panormica del procesamiento de consultas................................................................................ 46
4.2. Fase de anlisis y traduccin................................................................................................................. 47
4.3. Fase de optimizacin................................................................................................................................ 51

NDICE
4.4. Importancia de los ndices y la memoria intermedia................................................................ 54
4.5. Buenas prcticas SQL................................................................................................................................ 54
Autoevaluacin 4 ...................................................................................................................................................... 58

PRELIMINARES
SEGUNDO BIMESTRE

6.2. Orientaciones especficas para el aprendizaje por competencias ....................................... 60

UNIDAD 5. GESTIN DE TRANSACCIONES..................................................................................... 60


5.1. Panormica del procesamiento de transacciones....................................................................... 60

BIMESTRE
PRIMER
5.2. Soporte de transacciones....................................................................................................................... 61
5.3. Control de concurrencia........................................................................................................................... 63
5.4. Recuperacin de la base de datos....................................................................................................... 70
5.5. Definicin de transacciones en SQL................................................................................................... 72
Autoevaluacin 5 ...................................................................................................................................................... 74

SEGUNDO
BIMESTRE
UNIDAD 6. AFINACIN Y MONITOREO DE LA BASE DE DATOS.................................................. 76
6.1. Panormica de la afinacin de una base de datos...................................................................... 76
6.2. Afinacin SQL............................................................................................................................................... 76
6.3. Afinacin del esquema lgico.............................................................................................................. 77

SOLUCIONARIO
6.4. Anlisis de los problemas de rendimiento...................................................................................... 79
6.5. Afinacin de la implementacin fsica.............................................................................................. 80
6.6. Monitoreo del desempeo.................................................................................................................... 81
Autoevaluacin 6 ...................................................................................................................................................... 83

BIBLIOGRFICAS
UNIDAD 7. BASES DE DATOS DISTRIBUIDAS................................................................................ 85

REFERENCIAS
7.1. Panormica de un Sistema de Bases de Datos Distribuidas................................................... 85
7.2. Almacenamiento distribuido de datos............................................................................................. 87
7.3. Transparencia en un SGBDD.................................................................................................................. 89
7.4. Transacciones distribuidas...................................................................................................................... 90

GLOSARIO
7.5. Bases de datos en la nube...................................................................................................................... 91
Autoevaluacin 7 ...................................................................................................................................................... 93

UNIDAD 8. ALMACENES DE DATOS................................................................................................. 95


8.1. Introduccin a los almacenes de datos............................................................................................. 95
8.2. Inteligencia de negocios......................................................................................................................... 98
ANEXOS

8.3. Arquitectura de un almacn de datos............................................................................................... 101


8.4. Diseo multidimensional....................................................................................................................... 103
8.5. Minera de datos......................................................................................................................................... 106
Autoevaluacin 8 ...................................................................................................................................................... 109
7. Solucionario.......................................................................................................................................... 111
8. Referencias bibliogrficas.......................................................................................................... 119
9. Glosario.................................................................................................................................................... 120
10. Anexos....................................................................................................................................................... 121
Texto-Gua: Base de Datos Avanzada PRELIMINARES

3. Introduccin

NDICE
La asignatura Base de Datos Avanzada est dirigida a los estudiantes de la Titulacin en Informtica de la
Universidad Tcnica Particular de Loja, en su Modalidad Abierta y a Distancia. Es una asignatura troncal
ubicada en el quinto ciclo de la malla curricular y tiene una valoracin de 4 crditos.

PRELIMINARES
Se trata de una asignatura de vital importancia en la consolidacin del perfil profesional del(a) Ingeniero
en Informtica, pues, contribuye a desarrollar las capacidades necesarias para desenvolverse en los
campos relacionados con el diseo, implementacin y administracin de las bases de datos. Su estudio
permitir avanzar en el descubrimiento de los sistemas de bases de datos, un recorrido ya iniciado
en la asignatura Fundamentos de Bases de Datos, cuyos conocimientos adquiridos servirn de base

BIMESTRE
para explorar y adquirir nuevas habilidades aplicables a dar soluciones integrales a la imprescindible

PRIMER
necesidad de las organizaciones y de los estados que requieren organizar, almacenar, gestionar y sobre
todo aprovechar de la forma ms eficiente y productiva posible, uno de sus activos ms importantes, los
datos.

La temtica seleccionada para esta asignatura, contribuye al propsito de desarrollar en usted capacidades

SEGUNDO
BIMESTRE
que le permitan no solo disear y utilizar una base de datos a nivel lgico, sino tambin implementarla
de manera que se garantice niveles de rendimiento, seguridad y productividad adecuados.

Los contenidos se han organizado de manera que se da continuidad al proceso de construccin,


implementacin y optimizacin de la base de datos.

SOLUCIONARIO
Durante el primer bimestre, la unidad 1, permite comprender la importancia del proceso de diseo de
una base de datos en el contexto del ciclo de vida de la misma. En la unidad 2, dando continuidad
al proceso de construccin de la base de datos, se explica cmo realizar el diseo fsico, de manera
que se definan todas las especificaciones necesarias para su implementacin. Luego, en la unidad 3,
pasamos a analizar el tema de la seguridad en una base de datos, enfocada a identificar e implementar

BIBLIOGRFICAS
REFERENCIAS
los mecanismos que permitan garantizar la confidencialidad, la integridad y la disponibilidad de los
datos. Y en la unidad 4 abordaremos el estudio del proceso que se cumple cuando un Sistema de Gestin
de Bases de Datos (SGBD) ejecuta consultas SQL en procura de mejor desempeo; adems, analizaremos
las buenas prcticas que el usuario/programador debe observar para ayudar a mejorar esos tiempos de
respuesta.

GLOSARIO
Para el segundo bimestre, la unidad 5, se enfoca en el procesamiento de transacciones, y su importancia
para garantizar: la integridad, el acceso concurrente, y recuperacin de la base de datos ante fallos.
En la unidad 6, ya con la base de datos implementada, se explica cmo evaluar su desempeo, y las
estrategias a aplicar para mejorar y optimizar el rendimiento del SGBD, sobre la base de un monitoreo
constante. La unidad 7, presenta un sistema particular de almacenamiento y acceso a los datos, a travs
de un esquema distribuido. Finalmente, la unidad 8, expone el uso de los almacenes de datos, en el
ANEXOS

marco de las soluciones de inteligencia empresarial, a fin de generar informacin valiosa para la toma
de decisiones.

Los conocimientos y experiencias que logre acumular durante el desarrollo de la asignatura, servirn
para fortalecer su formacin profesional, y despertarn en usted el inters de profundizar en el estudio,
experimentacin, aplicacin e investigacin de los sistemas de bases de datos y de la ciencia de datos
en su globalidad. Lo animo a recorrer este camino con una visin abierta que lo llevar no solo a aprobar
una asignatura, sino a descubrir nuevas oportunidades de especializacin e innovacin.

Bienvenido(a), le deseo el mejor de los xitos en su estudio!

6 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRELIMINARES

4. Bibliografa

NDICE
4.1. Bsica

PRELIMINARES
Silberschatz, A., Korth, H., Sudarshan, S. (2014). Fundamentos De Bases De Datos. Madrid, Espaa: McGraw-
Hill.

Es un libro de texto bien desarrollado, que refleja en su contenido una larga experiencia de los autores
en temas de bases de datos. Contribuye con explicaciones claras, detalladas, didcticas y respaldadas
en ejemplos, que ayudan a comprender mejor los temas que son objeto de nuestro estudio. Impone un

BIMESTRE
PRIMER
alto rigor cientfico al enfoque de los temas abordados, lo que es positivo, porque es muy importante
comprender los conceptos de base de datos desde esta perspectiva, puesto que esta materia al igual
que otras de corte cientfico-matemtico han surgido y evolucionado gracias a profundos estudios de
modelos matemticos en el manejo de estructuras de datos, para as llegar ahora a contar con sistemas
de bases de datos potentes, seguros, rpidos y muy fiables.

SEGUNDO
BIMESTRE
Encalada, E. (2017). Gua didctica de Base de Datos Avanzada. Loja, Ecuador: EdiLoja.

Constituye el principal instrumento de estudio que define la hoja de ruta, y encauza al alumno en cmo
organizar, desarrollar y enfocar su estudio. Direcciona a los contenidos fundamentales que se deben
revisar, y complementariamente ofrece orientaciones, ejemplos, recursos y actividades, que permiten

SOLUCIONARIO
aclarar, profundizar, aplicar y evaluar lo aprendido.

4.2. Complementara

Coronel, C., Morris, S., Rob, P. (2011). Bases De Datos, Diseo, Implementacin Y Administracin. Ciudad de

BIBLIOGRFICAS
REFERENCIAS
Mxico, Mxico: Cengage Learning.

Este texto comprende aspectos prcticos del diseo de base de datos, su implementacin y
administracin. Adems, ofrece ejemplos ilustrativos, y propone ejercicios que con su desarrollo pondrn
a prueba los conocimientos adquiridos por el lector. As mismo ofrece material adicional en la web
que complementan los contenidos del texto. Especial ayuda a esta asignatura prestan los contenidos

GLOSARIO
expuestos en el captulo 9, que describe de manera prctica el proceso de diseo de una base de datos;
en el captulo 11, con otra visin sobre la afinacin del desempeo de la base de datos; el captulo
10, refuerza la compresin de la gestin de transacciones que realiza el SGBD; el captulo 12 con una
exposicin clara de la administracin de sistemas distribuidos y el captulo 13 destaca la importancia y
aplicacin actual de los almacenes de datos.
ANEXOS

Elmasri, R. y Navathe, S. (2016). Fundamentals of Database Systems. Hoboken, Estados Unidos: Pearson.

Este libro ofrece conceptos fundamentales necesarios para llevar a cabo el diseo y la implementacin
de sistemas de bases de datos. Aporta contenidos muy interesantes y bien desarrollados que sin duda
permitirn profundizar los temas aqu expuestos. Concretamente, en los captulos 16 y 17 profundiza
a detalle la explicacin de los dispositivos de almacenamiento y las estructuras de indexacin. En los
captulos 18 y 19 refuerza la comprensin del procesamiento y optimizacin de consultas. Los captulos
20, 21 y 22, estn orientados a fundamentar la importancia de la gestin de las transacciones. El captulo
23, explica muy bien los esquemas de fragmentacin y replicacin en bases de datos distribuidas. En el

7 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRELIMINARES

captulo 29 permite comprender mejor el proceso de implementacin de un almacn de datos. Y en el


captulo 30 expone con especial nfasis los mecanismos de seguridad aplicables a una base de datos.

NDICE
Connolly, T. y Begg, C. (2005). Sistemas de bases de datos. Un enfoque prctico para diseo, implementacin
y gestin. Madrid, Espaa: Pearson Education.

Es un texto que no se puede dejar de lado, ya que plantea y estructura contendidos de manera que

PRELIMINARES
facilitan la comprensin ciclo de vida de una base datos y todo lo que implica cada una de sus fases.
Especial atencin merece la exposicin y explicacin que el autor realiza sobre las metodologas de
diseo de una base de datos. Dispone de casos de estudio sobre los cuales se puede aplicar dichas
metodologas. Tambin ofrece recursos adicionales en la web que ayudan al estudiante a complementar
los contenidos del texto.

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

8 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRELIMINARES

5. Orientaciones generales para el estudio

NDICE
Le doy la bienvenida, al estudio de la asignatura Bases de Datos Avanzadas!, donde abordaremos
contenidos de gran inters y actualidad para quienes nos apasiona el mundo de las tecnologas de la
informacin y concretamente la gestin y el anlisis de los datos. Su deseo por descubrir, aprender y

PRELIMINARES
experimentar esta rea de conocimiento, ser la mejor estrategia que lo impulsar a estudiar con actitud
proactiva y crtica, lo que garantiza que pueda superar este reto con xito y satisfaccin.

Para el estudio de la asignatura usted dispondr de varios recursos educativos con los que podr
desarrollar su aprendizaje:

BIMESTRE
La gua didctica, que marca la hoja de ruta a seguir. Constituye el principal instrumento

PRIMER
que le encauza en cmo organizar, desarrollar y enfocar su estudio. La gua, redirecciona
a los contenidos fundamentales -del texto bsico y/o recursos web- que debe revisar, y
complementariamente le brida orientaciones, recursos, instrumentos y actividades, para
aclarar, profundizar y aplicar lo aprendido.
El texto bsico, que abarca la mayor parte de los contenidos fundamentales que va a

SEGUNDO
BIMESTRE
estudiar. Es importante aclarar que no necesariamente la organizacin y secuencia de
contenidos del texto se corresponden estrictamente con la planificacin de la asignatura, en
la cual, la organizacin de la temtica est orientada a la consecucin de las competencias
y resultados de aprendizaje establecidos.

SOLUCIONARIO
Recursos web, con los que se completan los contenidos fundamentales a estudiar. Son
materiales educativos de acceso abierto, debidamente estructurados, didcticos, y
pertinentes para comprender los temas tratados. Se incluyen aqu: recursos educativos
abiertos, videotutoriales, casos de estudio, cuestionarios, y otros que el profesor tutor le
facilitar a travs de la plataforma virtual de aprendizaje.

BIBLIOGRFICAS
A continuacin, le propongo algunas recomendaciones y estrategias, que debe tener en cuenta para

REFERENCIAS
mejorar los resultados de su estudio:

Es muy importante que revise el plan docente, en el cual encontrar toda la informacin
previa que necesita para desarrollar el estudio de la asignatura, principalmente: los requisitos,
las competencias a desarrollar, los contenidos previstos, las actividades, el esquema de
evaluacin y los recursos para el aprendizaje.
Lea la introduccin de la presente gua, la cual resume el propsito de la asignatura y su GLOSARIO
importancia en el contexto de la titulacin y el rea de conocimiento que aborda.
Previo a iniciar el estudio de cada bimestre, revise con detenimiento la planificacin del
bimestre que consta en el plan de docente, ya que le permitir, por un lado, planificar
mejor su tiempo semana a semana; y, por otro lado, conocer los resultados de aprendizaje
ANEXOS

esperados, con base en los cuales podr enfocar mejor su atencin al desarrollar el estudio
de cada tema.
Es muy importante que, para desarrollar el estudio, siga las indicaciones de la gua didctica.
Por cada unidad, al inicio encontrar una breve presentacin y objetivos del contenido
a estudiar, y, adems, orientaciones puntuales segn cada tema. Luego, en el desarrollo
de cada apartado, la gua le redirige a los contenidos fundamentales que debe revisar,
tanto en el texto bsico, como en recursos web. Adicionalmente encontrar: aclaraciones,
ilustraciones, reflexiones, actividades propuestas, ideas clave, recursos complementarios,

9 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRELIMINARES

y otros elementos tutoriales, que le ayudarn a comprender y enfocar mejor su estudio.


Finalmente, cuenta con una autoevaluacin, para que mida los conocimientos asimilados.

NDICE
Revise con detenimiento los contenidos fundamentales, tanto del texto bsico como de los
recursos web, y si es necesario realice varias lecturas del mismo.
No se conforme con las fuentes provistas, aproveche internet para buscar nuevos recursos
que le ayuden a aclarar sus dudas.

PRELIMINARES
Dosifique su tiempo, defina un horario para la asignatura. Debe dedicarle al menos 8 horas
semanales. No postergue su estudio.
Elija un ambiente adecuado para el estudio, que cuente con luz suficiente y libre de ruidos
que puedan interrumpir su concentracin.
Establezca ideas y preguntas clave que le permitan profundizar su aprendizaje.
Apyese de esquemas, cuadros sinpticos, mapas mentales, para esquematizar y organizar

BIMESTRE
PRIMER
la asimilacin de conocimientos, desde su propia perspectiva. Dichos instrumentos, son
muy importantes a la hora de repasar y prepararse para los exmenes.
Desarrolle la tarea de cada bimestre progresivamente segn lo establece la planificacin de
la asignatura.

Recuerde que su profesor tutor le brindar todo el apoyo acadmico que requiera durante el desarrollo

SEGUNDO
BIMESTRE
de la asignatura. Siempre debe estar pendiente de las actividades del entorno virtual de aprendizaje y
de las orientaciones y recursos adicionales compartidos. Participe en los espacios que la herramienta le
provee para interactuar con sus compaeros y con su tutor.

Como ayuda al proceso de aprendizaje, a lo largo del presente documento encontrar los siguientes

SOLUCIONARIO
focalizadores:

Focalizador Propsito

Hace referencia a contenido del texto bsico. Le redirige a un punto especfico del texto que
debe revisar para avanzar en su estudio.

BIBLIOGRFICAS
REFERENCIAS
Le redirige al contenido de un recurso de aprendizaje publicado en el Entorno Virtual de
Aprendizaje. Que es parte del contenido fundamental de la asignatura.

GLOSARIO
Remarca y/o enfatiza algunas ideas o conceptos que es importante que no pierda vista de
cara a comprender los temas que vienen ms adelante.

Propone actividades que se recomienda las realice para aplicar, reforzar y asimilar los temas
estudiados.
ANEXOS

Referencia al contenido de un recurso o herramienta disponible en la web. Que complementa


alguno de los temas tratados.

10 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

6. Proceso de enseanza aprendizaje para el logro de competencias

NDICE
PRELIMINARES
PRIMER BIMESTRE

6.1. Orientaciones especficas para el aprendizaje por competencias

BIMESTRE
PRIMER
UNIDAD 1. PROCESO DE DESARROLLO DE UNA BASE DE DATOS

SEGUNDO
BIMESTRE
Estimado(a) estudiante, damos inicio al estudio de la asignatura Bases de Datos Avanzadas, nuevamente
bienvenido. Confiando que el camino que iniciamos aqu, represente para usted la acumulacin de
nuevas experiencias y descubrimientos que alienten e inspiren su formacin personal y profesional.

Esta primera unidad se centra en exponer y comprender el proceso que se sigue para construir e

SOLUCIONARIO
implementar una base de datos, con todo lo que ello implica. Desde la identificacin de los requerimientos
de datos, hasta la implementacin fsica de la base de datos y su posterior mantenimiento. Daremos
especial nfasis a la importancia que tiene el diseo en todo este proceso. Veremos cmo encaja el
proceso de construccin de la base de datos dentro del proceso de construccin de un sistema. Tambin,
se reforzar la comprensin de la arquitectura de un sistema de bases de datos. Para todo esto en unos

BIBLIOGRFICAS
casos revisaremos conceptos ya expuestos en la asignatura de Fundamentos de Bases de Datos, y

REFERENCIAS
reforzaremos con nuevos contenidos. Es muy importante que antes de pasar al realizar el Diseo Fsico,
no pierda de vista el proceso de desarrollo global que se est ejecutando.

Con el estudio de esta unidad, esperamos que usted est en capacidad de justificar y argumentar
debidamente la importancia del proceso de diseo dentro del ciclo de vida de una base de datos.

GLOSARIO
Vamos a iniciar!

1.1. Panormica del desarrollo de una base de datos


Empecemos recordando el propsito de los sistemas de bases de datos.
ANEXOS

En su texto bsico, revise el apartado 1.2, donde se explican las motivaciones por las que surgieron
los sistemas de bases de datos.

Es muy importante que usted tenga presente los problemas que describe el autor, y que justamente los
sistemas de bases de datos han permitido solucionar, de all su importancia para las organizaciones, y la
necesidad de que su implementacin siga un proceso adecuado. Muchos de esos problemas los iremos
abordando en esta asignatura.

11 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Entonces, a qu nos referimos con proceso de desarrollo de bases de datos?

El proceso de desarrollo de bases de datos, establece los pasos que debemos seguir para que a partir de

NDICE
una necesidad organizacional de contar con una solucin tecnolgica que permita organizar, almacenar
y gestionar adecuadamente su informacin -que se expresa en un conjunto de requerimientos de datos-
podamos llegar a disear e implementar dicha solucin a travs de los sistemas de bases de datos.

PRELIMINARES
Es un proceso que marca el camino a recorrer, que da inicio cuando se concibe la necesidad de una
base de datos, y que luego va tomando forma durante su diseo, que ve la luz cuando se la implementa,
que madura cuando se la afina, que tiene vida plena cuando entra en produccin, y que permanece
un estado de mejora constante. Es decir, es un camino que marca el ciclo de vida de una base de datos
(DBLC, por sus siglas en ingls).

Debemos tener claro que normalmente la implementacin de una base de datos est inmersa, deriva o

BIMESTRE
PRIMER
forma parte de la implementacin de un sistema de informacin, por lo que hay una estrecha vinculacin
entre ambos. Coronel, Morris y Rob (2011), define el Ciclo de Vida del Desarrollo de Sistemas (SDLC, por
sus siglas en ingls) en las tradicionales 5 fases: planeacin (o investigacin preliminar), anlisis, diseo,
implementacin y mantenimiento (Figura 1).

SEGUNDO
BIMESTRE
SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
Figura 1. Ciclo de vida del desarrollo de sistemas (SDLC)
Fuente: Coronel et al., 2011, p.375

GLOSARIO
Elaborado: Encalada, E.

El ciclo de vida de una base de datos como se ver, no es ajeno al SDLC, al contrario, debe existir sincrona
entre ambos, en cuanto a planificacin (tiempos), coordinacin, documentacin y otros.

Actividad propuesta:
ANEXOS

Busque en internet propuestas alternativas acerca del SDLC. Y construya un mapa mental que
las grafique segn el autor que las propone. Puede pasar que dependiendo del autor vare
la terminologa o la desagregacin de las fases, por ejemplo, algunos autores a la fase de
implementacin de la dividen en 3: codificacin, pruebas y despliegue.

1.2. Ciclo de vida de una base de datos (DBLC)


El DBLC define las fases que marcan la evolucin del desarrollo de un sistema de bases de datos. Coronel
et al. (2011) plantea un DBLC dividido en 6 fases (Figura 2). Que, como puede ver, guardan mucha relacin

12 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

con las fases del SDLC. Aqu algunas consideraciones y referencias adicionales, para complementar lo
descrito en la Figura 2:

NDICE
Para Connolly y Begg (2005), lo que aqu llamamos estudio inicial comprendera a su vez 3
etapas:

Planificacin de la base de datos: Definir el marco general de trabajo, las estrategias y

PRELIMINARES
metodologas a aplicar durante todo el proceso de diseo e implementacin.
Definicin del sistema. Establecer el mbito de aplicacin de la base de datos y las
vistas de usuario1..
Recopilacin y anlisis de requisitos. Levantar los requisitos de datos y las transacciones
de datos2 especficos por cada vista de usuario.

El estudio inicial del DBLC se realiza a la par con la planeacin del SDLC.

BIMESTRE
PRIMER
En la fase de diseo, tomamos como base los requisitos de datos de cada vista de usuario
identificados en el estudio inicial y a partir de all construimos un modelo de datos donde se
definen todas las especificaciones lgicas y fsicas, necesarias para realizar la implementacin
de la base de datos. Se realiza de forma paralela a la fase de diseo del sistema.
El diseo, que viene a ser el plano de construccin, que se materializa (se edifica) durante la

SEGUNDO
BIMESTRE
implementacin.
Como parte de la implementacin se debe realizar la carga de datos. Que podra ir desde
simplemente cargar ciertos parmetros y catlogos iniciales, hasta migrar todos los datos
existentes en sistemas antiguos u otras fuentes de datos, como Excel u otros.

SOLUCIONARIO
Durante las pruebas, se valida toda la implementacin de la base de datos tanto de forma
aislada, como en conjunto con el sistema de informacin.
Si las pruebas se superaron al 100%, entonces la base de datos entrar formalmente en
operacin (pasa a produccin), donde ya en condiciones de carga real, podran surgir nuevos
problemas de rendimiento que no se hayan detectado antes, por lo que puede requerir un
afinamiento adicional.

BIBLIOGRFICAS
REFERENCIAS
Ya en produccin se requiere un monitoreo constante y un mantenimiento que garantice su
operacin, evolucin y mejora permanentes.

GLOSARIO
ANEXOS

1 Una vista de usuario define qu es lo que se requiere de un sistema de base de datos desde la perspectiva de un determinado
rol de la organizacin o de un rea de aplicacin empresarial (Connolly y Begg, 2005, p.262)
2 Una transaccin de datos es una secuencia de operaciones que se ejecutan como una sola unidad lgica de trabajo. Ejemplo:
registrar venta, agregar cliente, agendar cita, etc.

13 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

NDICE
PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Figura 2. Ciclo de vida de una base de datos (DBLC)
Fuente: Coronel et al., 2011
Elaborado: Encalada, E.

Como usted ha podido corroborar, el DBLC y el SDLC son procesos vinculados que se van ejecutando

SOLUCIONARIO
paralelamente, son co-dependientes e integrados. Y aqu se vislumbra que, a nivel de bases de datos, la
fase de diseo es la ms crtica, porque de ella surgen todas las especificaciones que se implementan
al instalar y crear la base de datos. Si el diseo no est bien, las pruebas no podran ser superadas y
tendramos que volver a revisarlo y corregirlo, con el consiguiente esfuerzo y demora que ello implica.

1.3. Niveles de abstraccin

BIBLIOGRFICAS
REFERENCIAS
Es importante no olvidar los tres niveles de abstraccin de los datos, que estn presente en todo sistema
de bases de datos.

En su texto bsico, revise el apartado 1.3. donde se describen los niveles de abstraccin y la

GLOSARIO
diferenciacin entre esquemas y ejemplares (instancias).

Si nos asomamos a la ventana de estos tres niveles, qu veramos?

A nivel fsico veramos la base de datos en disco, los archivos de datos, su ubicacin, su
ANEXOS

tamao, y otros archivos, muy en dependencia del SGBD que usemos.


A nivel lgico veramos las estructuras lgicas de almacenamiento y organizacin de los
datos, que en bases de datos relacionales sabemos, son las relaciones o tablas, con todos
sus elementos y asociaciones (campos, tipos de datos, PKs, FKs, y dems restricciones de
integridad).
A nivel de vistas veramos lo que vera el usuario final a travs de las herramientas o
aplicaciones que usa para acceder a los datos, el usuario final no ve tablas o relaciones, ve a
travs de reportes, formularios, grficas y otros, solo la informacin que necesita y a la que
tiene acceso.

14 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

1.4. Metodologa de diseo de una base de datos


Como ya se prevea, dentro del DBLC la fase de diseo es clave. Puesto que es donde traducimos

NDICE
los requerimientos de datos y las transacciones de datos identificados por cada vista de usuario, a
especificaciones lgicas y fsicas implementables a travs de un SGBD.

PRELIMINARES
En su texto bsico, revise los apartados 1.6. y 7.1. donde se expone la panormica del proceso de
diseo de bases de datos.

Entonces, queda claro que la fase de diseo de una base de datos se divide en 3 etapas o subfases. La
Figura 3 ilustra y describe esas etapas.

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Figura 3. Etapas del diseo de una base de datos

SOLUCIONARIO
El orden de esas 3 etapas a su vez determina su criticidad (de mayor a menor), pues cada una depende
de la anterior, y como recalca Silberschatz, Korth y Sudarshan (2014), una vez en produccin, el esquema
fsico se puede cambiar sin afectar a las aplicaciones, pero un cambio a nivel conceptual y/o lgico,
implica que tambin ser necesario corregir las aplicaciones que acceden a la base de datos.

La metodologa que aqu se recomienda seguir para llevar a cabo el diseo toma en consideracin varios

BIBLIOGRFICAS
aspectos crticos, que usted no debe perder de vista al disear la base de datos. Connolly y Begg (2005),

REFERENCIAS
expone claramente estos factores (Figura 4).

GLOSARIO
ANEXOS

15 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

NDICE
PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Figura 4. Factores crticos en el diseo de una base de datos
Fuente: Connolly y Begg, 2005, p.401
Elaborado: Encalada, E.

SOLUCIONARIO
A continuacin, usted tiene una descripcin de la metodologa que se suele aplicar en cada etapa del
diseo.

Diseo conceptual

Proceso de obtener un modelo de datos independiente del modelo de base de datos a usar y de todas

BIBLIOGRFICAS
las consideraciones fsicas. El ms usado es el Modelo E-R el cual se basa en la identificacin de entidades

REFERENCIAS
y sus relaciones. La Figura 5 nos ilustra las actividades del diseo conceptual desde la perspectiva del
modelo entidad-relacin.

GLOSARIO
ANEXOS

Figura 5. Metodologa del diseo conceptual

16 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Diseo lgico

Proceso de obtener un modelo de datos de una empresa, apegado a un esquema de representacin

NDICE
especfico (relacional, orientado a objetos, NoSQL, orientado a grafos, etc.). Pero aun es independiente
de un SGBD especfico y otras consideraciones de implementacin. La Figura 6 nos ilustra las actividades
que conlleva el diseo lgico aplicados a un modelo de base de datos relacional.

PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Figura 6. Metodologa del diseo lgico

SOLUCIONARIO
Recuerde, un modelo de datos no es solo un diagrama, debe incluir tambin un diccionario
de datos donde consten todas aquellas especificaciones que no se pudiere representar en el
diagrama.

BIBLIOGRFICAS
REFERENCIAS
En el Anexo 1, se muestra un caso de estudio que incluye el desarrollo del diseo conceptual y diseo
lgico.

Actividad propuesta:

Aplique lo aprendido hasta ahora para realizar el diseo conceptual y diseo lgico para el
ejercicio 7.1 de su texto bsico.

GLOSARIO
Diseo fsico

El diseo fsico, es el proceso en el que se definen todas las especificaciones de implementacin de la


base de datos en un entorno especfico, que garantice eficiencia, seguridad y productividad. Para esta
etapa es necesario seleccionar el SGBD a usar. La Figura 7 nos ilustra las actividades que implica el diseo
ANEXOS

fsico tomando como ejemplo a Oracle como SGBD.

Roles tcnicos durante el proceso de diseo e implementacin de la base de datos

Durante este proceso, a nivel tcnico son 2 los roles que asumen las personas que realizan el diseo:

Administrador de los datos: son quienes desarrollan el diseo conceptual y el lgico. En su


perfil no se requiere que sean expertos en el SGBD elegido para implementar la base de
datos.

17 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Administrador de la base de datos: conocido como DBA, por sus siglas en ingls, es quien
se encarga de realizar el diseo fsico y luego implementar y optimizar la base de datos. Se

NDICE
requiere que sea experto en la administracin del SGBD elegido.

Obviamente, una misma persona o equipo, podra asumir ambos roles y ejecutar todo el proceso.

PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Figura 7. Metodologa del diseo fsico

SOLUCIONARIO
Durante la asignatura de Fundamentos de bases de datos, usted ya estudi el desarroll del diseo
conceptual y del diseo lgico, es decir asumi el rol de Administrador de los datos. En esta asignatura,
en la unidad 2, nos corresponder asumir el rol de DBA para construir el diseo fsico.

1.5. Arquitectura de una base de datos

BIBLIOGRFICAS
REFERENCIAS
Dado que, pasaremos a la etapa del diseo donde necesitamos definir las especificaciones de
implementacin fsica de los datos, es un buen momento para recordar cmo es la arquitectura de un
sistema de bases de datos.

Dirjase a su texto bsico y revise los apartados 1.7., 1.8. y 1.9. donde se describen los componentes
de un sistema de bases de datos. GLOSARIO

Durante el estudio de la asignatura haremos referencia a muchos de los componentes de esta


arquitectura. No los pierda de vista.
ANEXOS

Aunque a veces solemos usar los trminos Sistema de Base de Datos, Sistema de Gestin de Base de
Datos (SGBD) y Base de Datos indistintamente al hablar de bases de datos, dejando su interpretacin
sujeta al contexto en que se lo use, es importante aclarar la diferencia entre ellos:

La base de datos es el conjunto de archivos o medios fsicos donde se encuentran


guardados los datos. Lo que en la arquitectura que plantea el autor del texto bsico sera lo
que corresponde a almacenamiento en disco.

18 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

El SGBD es el software que permite acceder a la base de datos. Es una coleccin de


numerosas rutinas interrelacionadas, cada una de las cuales es responsable de alguna tarea

NDICE
especfica. Es la interfaz entre el usuario (usuario final, DBA, aplicaciones, herramientas) y
la base de datos. Incluye lo que en la arquitectura planteada en el texto corresponde a los
componentes gestor de almacenamiento y gestor de consultas.
El sistema de base de datos vendra a ser el todo, la suma del SGBD + Base de datos, e incluso
algunos autores lo conciben agregndole tambin las herramientas de administracin y las

PRELIMINARES
aplicaciones de usuario final.

Actividad propuesta:

Busque documentacin donde se ilustren y describan los componentes de la arquitectura del


SGBD Oracle. Relacione dichos componentes con los que describe el autor del texto.

BIMESTRE
PRIMER
Estimado(a) estudiante, hemos concluido el estudio de esta primera unidad, espero que le haya
aportado para mejorar la comprensin sobre el ciclo de vida de una base de datos y todo lo que su
implementacin implica. Es importante que no pierda de vista esto durante el estudio de los contenidos
que se desarrollan ms adelante.

SEGUNDO
BIMESTRE
Le invito a continuar con la misma dedicacin e inters.

nimo y adelante!

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

19 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

NDICE
Autoevaluacin 1

Una vez concluido el estudio de la presente unidad, le invito desarrollar el siguiente cuestionario, que le

PRELIMINARES
servir para verificar la asimilacin de lo aprendido.

Seleccione la opcin correcta

1. Al construir una base de datos, la identificacin de las vistas de usuario se realiza en la fase de:

a. Diseo

BIMESTRE
PRIMER
b. Estudio inicial
c. Implementacin

2. La etapa de diseo ms crtica es:

a. Diseo fsico

SEGUNDO
BIMESTRE
b. Diseo conceptual
c. Diseo de pruebas

3. Cul es el nivel ms elevado de abstraccin de los datos?

SOLUCIONARIO
a. Nivel de vistas
b. Nivel fsico
c. Nivel lgico

4. Cul es la etapa del diseo en la que no interesa aun saber si se va a trabajar con una base de

BIBLIOGRFICAS
REFERENCIAS
datos relacional o una base de datos orientada a objetos u otra?

a. Diseo conceptual
b. Diseo lgico
c. Diseo fsico

GLOSARIO
5. Para realizar el diseo fsico se debe primero

a. contar con el servidor donde se implementar la base de datos


b. haber concluido la construccin de la aplicacin que acceder a la base de datos
c. elegir el SGBD a utilizar
ANEXOS

6. El diccionario de datos en un modelo,

a. reemplaza al diagrama
b. describe el diagrama
c. complementa al diagrama

20 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

7. Cul es el modelo de datos en el que representamos tablas, columnas, llaves primaras y llaves
forneas?

NDICE
a. Modelo entidad-relacin
b. Modelo relacional
c. Modelo orientado a objetos

PRELIMINARES
8. Quien que se encarga de levantar los requerimientos y construir el modelo conceptual de datos
cumple el rol de:

a. Administrador de los datos


b. Administrador de la base de datos
c. Analista de base de datos

BIMESTRE
PRIMER
9. En un sistema de bases de datos, la gestin y mantenimiento de los archivos de datos y archivos
de ndices, est a cargo del

a. procesador de consultas
b. sistema operativo

SEGUNDO
BIMESTRE
c. gestor de almacenamiento

10. En una arquitectura de 3 capas, la lgica del negocio est en el lado del

a. cliente

SOLUCIONARIO
b. servidor de aplicaciones
c. servidor de base de datos

Recuerde que al final de la gua puede revisar el solucionario para validar sus aciertos y sus errores. Si hay
aspectos en los an tiene dificultad, le animo revisar nuevamente esos temas y apoyarse en la asesora

BIBLIOGRFICAS
que le brinda su tutor.

REFERENCIAS
Ir a solucionario

GLOSARIO
ANEXOS

21 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

UNIDAD 2. DISEO FSICO.

NDICE
Continuando con el proceso de construccin e implementacin de una base de datos, abordaremos
ahora el diseo fsico de la base de datos, que es la tercera etapa del proceso de diseo. Las dos etapas
previas (diseo conceptual y diseo lgico) usted las estudi en la asignatura Fundamentos de Bases de
Datos. Si es necesario repase lo aprendido.

PRELIMINARES
En esta unidad veremos, cules son los medios de almacenamiento y su finalidad dentro de un sistema
de bases de datos, hablaremos de las estructuras lgicas ordenadas llamadas ndices, conoceremos
como las tablas y los ndices se almacenan en disco, veremos cul el propsito de la memoria intermedia,
mostraremos como se realiza un anlisis transaccional, expondremos las consideraciones a tener en
cuenta a la hora de elegir el SGBD a usar, y finalmente realizaremos el diseo fsico para un caso de

BIMESTRE
estudio.

PRIMER
Es un tema muy interesante que le permitir a usted estar en capacidad de disear las especificaciones
fsicas requeridas para implementar una base de datos.

Para llevar a la prctica el proceso de diseo trabajaremos con el SGBD Oracle, le recomiendo si an no

SEGUNDO
BIMESTRE
lo ha hecho, descargar e instalar dicho motor y sus herramientas.

Puede usar los siguientes links para acceder a descargar el motor Oracle y las herramientas
asociadas:

Oracle Database Express Edition: https://rebrand.ly/taworadb

SOLUCIONARIO
Oracle SQL Developer: https://rebrand.ly/taworadev
Oracle SQL Developer Data Modeler: https://rebrand.ly/taworamod

Empecemos con una visin general de lo que representa el diseo fsico.

2.1. Panormica del diseo fsico

BIBLIOGRFICAS
REFERENCIAS
El diseo fsico es la ltima etapa del proceso de diseo y es el paso previo para la implementacin
de la base de datos. Por lo tanto, aqu es donde se deben establecer todas las consideraciones que
conlleven a la materializacin fsica de la base de datos. Para ello necesitamos seleccionar el SGBD a
usar, y en funcin de ello definir las especificaciones de implementacin. Este diseo debe garantizar
que el sistema operar adecuadamente, guardando el debido equilibro entre eficiencia, seguridad y
productividad. GLOSARIO

Como se explic en la Unidad 1 (ver Figura 3), el diseo de un base de datos, es un proceso sistemtico
en el que cada etapa se retroalimenta de la anterior. En este caso para realizar el diseo fsico es
necesario haber culminado con el diseo conceptual y diseo lgico, puesto que el modelo lgico y las
transacciones de datos, son los principales insumos de entrada del diseo fsico (ver Figura 7).
ANEXOS

Recuerde:

El diseo conceptual es independiente del modelo de base de datos.


El diseo lgico, se obtiene a partir del conceptual, y se realiza para un tipo de base de datos
especfico (relacional, jerrquica, red, noSQL, etc.), pero es independiente del motor (SGBD) a
usar.
El diseo fsico en cambio se realiza considerando ya las caractersticas y prestaciones del
SGBD elegido (Oracle, MySQL, PostgreSQL, etc.).

22 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

La seleccin del SGBD es muy importante y merece un anlisis cuidadoso, en funcin del presupuesto,
de las necesidades, de los requerimientos y expectativas del negocio. Ms adelante hablaremos en
detalle al respecto.

NDICE
Previo a aplicar la metodologa para realizar el diseo fsico, es necesario introducir algunos temas
que son necesarios para comprender el proceso, y que hacen referencia principalmente a: medios o
dispositivos de almacenamiento, estructuras de indexacin, organizacin o almacenamiento fsico de

PRELIMINARES
los datos y anlisis transaccional.

2.2. Medios de almacenamiento

Estudie el apartado 10.1 de su texto bsico, donde se describen los diferentes medios de
almacenamiento existentes.

BIMESTRE
PRIMER
Puntualizando lo explicado en el texto, diramos entonces que desde el punto de vista de los SGBD los
medios de almacenamiento son de tres tipos:

Almacenamiento primario: que es voltil, y es usado por el SGBD para procesar los datos en

SEGUNDO
BIMESTRE
primera instancia, es muy rpido, aunque de tamao limitado.
Almacenamiento secundario: que es no voltil, y es el que el SGBD utiliza para almacenar los
datos permanentemente.
Almacenamiento terciario: que es no voltil, y se utiliza principalmente como medio de

SOLUCIONARIO
respaldo de la informacin.

Voltil significa que su contenido es almacenado temporalmente y se pierde al reiniciar el sistema. No


voltil significa que su contenido permanece en el tiempo.

La Figura 8, grafica los medios de almacenamiento estudiados.

BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

Figura 8. Medios de almacenamiento

El almacenamiento primario y terciario no merecen mayor profundizacin. El primario corresponde


sobre todo a la memoria principal del sistema (que en la actualidad es la memoria RAM), en la cual,
el SGBD reserva un espacio propio para su uso, denominado memoria intermedia, que es donde
realiza el procesamiento de los datos. El terciario corresponde a medios de almacenamiento externo,
que normalmente se los usa para guardar los respaldos de la base datos, el medio ms conocido y
frecuentemente usado para estos propsitos son las cintas magnticas, aunque, de hecho, incluso un

23 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

disco duro externo o un USB flash drive pueden ser considerados terciarios si se los usa para ese tipo de
propsitos.

NDICE
El almacenamiento secundario, si requiere un poco ms de estudio, dada su criticidad para asegurar la
permanencia de los datos.

Almacenamiento secundario

PRELIMINARES
El almacenamiento secundario, permite materializar la persistencia de los datos.

En su texto bsico revise el apartado 10.2, centrndose principalmente en identificar las diferencias
entre los tipos de almacenamiento secundario (discos magnticos y el almacenamiento flash).

BIMESTRE
PRIMER
Actividad propuesta:

Compare los medios de almacenamiento secundario e identifique las ventajas y desventajas de


cada uno de ellos. Cundo usar uno u otro?

SEGUNDO
BIMESTRE
Entonces, almacenamiento secundario es donde residen fsicamente los datos de forma permanente.
Al momento en que el SGBD requiere procesar esos datos, lo que har es pasarlos de almacenamiento
secundario a almacenamiento primario; y viceversa cuando requiere actualizar la informacin. Todo
cambio permanente debe quedar registrado en almacenamiento secundario.

SOLUCIONARIO
Pero, qu pasa si falla el almacenamiento secundario?

Si un disco se daa y no tenemos respaldo de su contenido, la informacin se perdera. Ese es un riesgo


muy real, porque normalmente a nivel de equipos servidores, durante su vida til, es muy probable que
en algn momento los discos fallen.

BIBLIOGRFICAS
Para evitar que este tipo de fallos conduzca a la prdida de informacin es muy importante implementar

REFERENCIAS
dos medidas:

a. Respaldar la informacin frecuentemente y guardar esos respaldos en un lugar seguro (para


dichos respaldos se usan medios de almacenamiento terciario).
b. Implementar un arreglo redundante de discos independientes (RAID, por sus siglas en ingls),

GLOSARIO
es decir, redundancia a nivel de discos (se requieren al menos dos discos).

RAID

Implementar redundancia a nivel de discos es muy importante, ya que hace que nuestro servidor de
base de datos sea tolerante a fallos; es decir, que el fallo de un disco, no implique el fallo del SGBD ni la
prdida de la informacin.
ANEXOS

En su texto bsico estudie el apartado 10.3. Donde se explica lo que es RAID, sus niveles de
redundancia y las consideraciones que se deben en cuenta para implementarlo.

Como describe el autor, son varios los tipos de RAID (niveles) que se pueden implementar. Al respecto
es importante puntualizar que el nivel RAID 0, realmente no implementa redundancia, nicamente
optimiza la distribucin de datos cuando disponemos de varios discos. Los niveles que suelen ser ms

24 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

usados son: RAID 1, cuando tenemos 2 discos, y RAID 5 cuando tenemos 3 o ms discos. En cualquiera de
los niveles del 1 al 5, la tolerancia es de 1 fallo, es decir, si falla un disco, el sistema sigue funcionando con

NDICE
los restantes; dando tiempo a que se reemplace el disco daado. En RAID 6 la tolerancia es de 2 fallos.

Si, por ejemplo, nuestro servidor posee 3 discos de 1TB, y configuramos un arreglo tipo RAID 5, el sistema
operativo dispondr de un espacio de almacenamiento de 1.9 TB, y ser tolerante a un fallo.

PRELIMINARES
La siguiente herramienta le permite calcular el espacio disponible segn el nmero de discos, su
tamao y el tipo de RAID a aplicar.

https://rebrand.ly/tawnfje

La implementacin de redundancia (RAID) en almacenamiento secundario conlleva a lo que se


denomina almacenamiento estable. Es decir, un soporte para el almacenaje permanente de los datos

BIMESTRE
PRIMER
donde garantiza que esa permanencia no se ver afectada por fallos en el hardware.

2.3. Indexacin
Los ndices son estructuras ordenadas que ayudan a que las consultas SQL sean ms eficientes.

SEGUNDO
BIMESTRE
En su texto bsico, revise la introduccin del captulo 11 y el apartado 11.1 donde se explican los
conceptos bsicos de un ndice.

SOLUCIONARIO
Como menciona el autor, los ndices facilitan la bsqueda de registros en una tabla. Normalmente en
una relacin, los registros se almacenan consecutivamente uno detrs de otro sin observar un orden
especfico, o s, el orden de llegada.

Cuando requerimos encontrar ciertos registros especficos con base en un criterio de bsqueda, al no
estar ordenados, el SGBD deber evaluar cada registro, uno a uno consecutivamente, en bsqueda

BIBLIOGRFICAS
REFERENCIAS
de aquellos que cumplan el criterio de seleccin. Si se trata de una tabla con unos cuantos cientos de
registros, tal vez aquello no sea significativo en cuanto a demora; pero cuando son miles o millones
de registros, puede representar un gran problema de rendimiento. Suponga una tabla de PERSONAS
con 1 milln de filas, en la que requerimos consultar los datos de una de ellas con base en su correo
electrnico, y esa persona que estamos buscando es la que se registr ms recientemente, significa que
estar al final de la tabla, el SGBD deber recorrer necesariamente todas las filas para encontrarla, lo que
GLOSARIO
podra tomar algunos segundos.

La solucin en ese caso sera crear un ndice para la columna EMAIL de la tabla PERSONAS, es decir
una estructura adicional a la tabla, donde los emails se encuentran ordenados alfabticamente (ver
Figura 9), con ello el SGBD utilizara el ndice para buscar con mayor rapidez, y desde el ndice accedera
directamente a la ubicacin del(os) registro(s) en la tabla.
ANEXOS

Para aprender a crear un ndice mediante SQL dirjase al apartado 11.10 de su texto bsico.

25 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

NDICE
PRELIMINARES
BIMESTRE
Figura 9. Representacin de un ndice

PRIMER
Actividad propuesta:

Busque en internet algn dataset con un gran volumen de datos (decenas de miles de filas), y
realice lo siguiente:

SEGUNDO
BIMESTRE
1. En Oracle, cree una tabla y cargue all esos datos.
2. Elija una columna con base en la cual filtrar los datos de la tabla.
3. Realice consultas filtrando filas con base en la columna seleccionada. Tome nota del tiempo
que tardan.
4. Cree un ndice para la columna seleccionada.

SOLUCIONARIO
5. Vuela a realizar las consultas y compare los tiempos. Mejora el rendimiento?

2.4. Representacin fsica de los datos


Organizacin fsica de los datos

BIBLIOGRFICAS
REFERENCIAS
No necesariamente cada relacin de una base de datos relacional, se va a corresponder con un archivo
en almacenamiento secundario. La organizacin fsica de los datos depende mucho de cada SGBD,
cada motor fsicamente organiza los datos de forma distinta, buscando siempre la mayor eficiencia en
operaciones de lectura/escritura.

Pondremos como ejemplo Oracle, la Figura 10 muestra las estructuras que maneja este motor para
GLOSARIO
almacenar los datos fsicamente.

En bases de datos relacionales, son dos las estructuras de datos que ocupan espacio en disco: las tablas y
los ndices. A esas dos estructuras a nivel de organizacin y almacenamiento fsico Oracle las denomina
SEGMENTOS.
ANEXOS

Como vemos, existe una estructura global de almacenamiento llamada TABLESPACE, que a nivel de
almacenamiento secundario se traduce en uno o ms archivos de datos (DATAFILES). Luego, cada
segmento (tabla o ndice) se almacena dentro de un tablespace especfico, pudiendo sus registros/filas
estar distribuidos en diferentes datafiles de ese tablespace.

Como todo archivo o fichero computacional, los datafiles tienen un nombre y una ubicacin en disco,
y estn compuestos internamente por un conjunto de bloques, siendo un bloque la mnima unidad
de transferencia entre almacenamiento secundario y primario (entre disco y RAM). Cada registro de

26 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

una tabla se almacena normalmente dentro un bloque de datos, y un bloque puede contener muchos
registros.

NDICE
PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Figura 10. Estructuras Oracle para almacenamiento fsico de los datos
Fuente: https://docs.oracle.com/cd/E11882_01/server.112/e40540/physical.htm#CNCPT1112

Esto hablando de Oracle. No aplica lo mismo a otros motores. En MySQL por ejemplo para el sistema de
almacenamiento MyISAM, por cada tabla se crean 3 archivos en disco:

SOLUCIONARIO
1. .frm: estructura de la tabla
2. .MYD: datos
3. .MYI: ndices

Metadata

BIBLIOGRFICAS
REFERENCIAS
En el punto anterior vimos como por ejemplo Oracle organiza los datos fsicamente, entendindose
por datos en este caso, al contenido de las tablas y de los ndices. Ahora, la informacin acerca de la
estructura lgica de la base de datos -entindase por ejemplo la estructura de cada tabla, que incluye
nombre, columnas, tipos de datos, PK, FKs, restriccin NOT NULL, etc.- dnde se almacena? ... Lo hace
en el diccionario de datos.
GLOSARIO
En su texto bsico revise el apartado 10.7 para comprender el contenido y la estructura tipo, del
diccionario de datos en los SGBD relacionales.
ANEXOS

Todo objeto de base de datos (esquema, tabla, ndice, vista, trigger, usuario, rol, etc.), tiene su
especificacin en el diccionario de datos.

Gestin del almacenamiento primario

Es muy importante saber cmo el SGBD se realiza la gestin la memoria intermedia (espacio de la
memoria principal reservado para la operacin del motor).

27 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Dirjase al texto bsico y revise el apartado 10.8 que explica las funciones y acciones que realiza el

NDICE
gestor de memoria intermedia de un SGBD.

Como se vio en la Figura 8, el SGBD procesa los datos en almacenamiento primario, bsicamente en
memoria RAM. Cuando el SGBD requiere procesar ciertos registros, lo que har es ubicar esos datos en

PRELIMINARES
el almacenamiento secundario y cargar los bloques que los contienen a la memoria principal, que es
donde los procesar. Luego, una vez usados, si el procesamiento conllev actualizaciones a los datos,
o agregacin de nuevos registros, har el proceso contrario, pasar los bloques de datos de memoria
principal a disco, para que los cambios se registren de forma permanente.

El gestor de memoria intermedia, como recordar cuando revisamos la arquitectura de un sistema de

BIMESTRE
una base de datos es parte del Gestor de Almacenamiento en dicha arquitectura (ver figura 1.5 del texto

PRIMER
bsico).

En Oracle, por ejemplo, al espacio de memoria RAM reservado para uso del motor (memoria intermedia)
se denomina SGA (System Global Area), y dentro de este, el buffer usado para cargar los bloques de datos
desde el disco se llama Database Buffer Cach, y a los procesos encargados de gestionar esa memoria

SEGUNDO
BIMESTRE
intermedia se los llama Background Process. Ver Figura 11.

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO

Figura 11. Memoria intermedia en Oracle


ANEXOS

Fuente: https://docs.oracle.com/cd/E11882_01/server.112/e40540/startup.htm#CNCPT005

Personalizacin de la distribucin fsica de los datos y la configuracin del SGBD

Las posibilidades de personalizacin a nivel fsico de un SGBD son muy amplias, se puede personalizar,
por ejemplo: la ubicacin de los archivos de datos en almacenamiento secundario, el tamao de memoria
RAM asignado, el puerto de red usado para establecer conexin con la base de datos, el nmero mximo
de conexiones concurrentes, etc. Son decenas de parmetros que cada SGBD permite configurar. Por

28 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

ello es muy importante que la persona encargada del diseo fsico e implementacin de la base de datos
(el DBA) conozca la administracin del motor elegido.

NDICE
Actividad propuesta:

Investigue para Oracle y para MySQL, cules son los parmetros que se suelen personalizar con
frecuencia y el propsito de cada uno de ellos?

PRELIMINARES
Un SGBD, normalmente trae ya una configuracin predeterminada (valores por defecto para sus
parmetros), que es la que se aplica cuando realizamos una instalacin. Por lo que no suele resultar
complejo ese proceso. De hecho, cuando vamos a trabajar con bases de datos cuyo volumen de datos
proyectado es pequeo y de carga reducida, esa configuracin predeterminada suele ser suficiente.

Pero cuando hablamos de bases de datos corporativas, con proyeccin de grandes volmenes de

BIMESTRE
PRIMER
datos, y cientos de accesos concurrentes a la base de datos, esa configuracin predeterminada ya no es
suficiente. En ese caso se requiere que el DBA evale sobre todo tres aspectos:

1. La transaccionalidad: que implica realizar una proyeccin cuantificada de la carga que


deber soportar la base de datos, medida en el nmero de operaciones CRUD que deber
soportar cada tabla de nuestro modelo, en un periodo de tiempo determinado (por ejemplo,

SEGUNDO
BIMESTRE
diariamente). A este tipo de proyeccin se denomina Anlisis Transaccional.
2. El volumen de datos: que implica estimar el tamao que ocupar la base de datos en
almacenamiento secundario, con una proyeccin de al menos 5 aos. Tamao que se debe
estimar para cada una de estructuras de almacenamiento (tablas e ndices).

SOLUCIONARIO
3. La concurrencia: que implica estimar el nmero se mximo de accesos concurrentes a la
base de datos que se prev ocurrirn en horas pico.

2.5. Anlisis transaccional


Se trata de una tcnica que nos permite identificar y proyectar la carga que deber soportar la base de

BIBLIOGRFICAS
REFERENCIAS
datos. Para ello se toman en cuenta las transacciones de datos que se ejecutarn y la frecuencia con que
lo harn. Con ello a travs de una matriz de cruce establecemos la transaccionalidad que soportarn las
tablas de nuestro modelo.

En el Entorno Virtual de Aprendizaje revise el recurso Ejemplo Anlisis Transaccional. En el cul

GLOSARIO
se explica y se realiza este anlisis para un caso de estudio.

Como vemos, a travs de este anlisis vamos a identificar:

Las tablas crticas en nuestro modelo de datos (aquellas que soportarn el mayor nmero
de operaciones de acceso).
ANEXOS

Las tablas ms consultadas.


Las tablas que se acceden concurrentemente.
Las transacciones crticas.
Etc.

29 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Con ello podremos prever una parametrizacin y organizacin fsica adecuada para la implementacin
de nuestra base de datos. Sabremos, por ejemplo, como distribuir las tablas en espacio fsico, cuales

NDICE
tablas pueden requerir ms ndices, etc. Dentro del proceso de diseo fsico, se har uso de este anlisis.

2.6. Seleccin del SGBD


Antes de pasar a realizar el diseo fsico de la base de datos y dado que este -como ya se mencion-

PRELIMINARES
es dependiente de las consideraciones de implementacin fsicas, estamos en el punto en que ya es
necesario definir cul es el SGBD que vamos a usar para implementar la base de datos que estemos
desarrollando. Salvo que la organizacin ya cuente con una implementacin previa, y que uno de sus
imposiciones sea el continuar usando el motor ya instalado.

Esta decisin es muy importante, porque implica una inversin que requiere estar debidamente

BIMESTRE
justificada. Por lo tanto, merece ser analizada cuidadosamente. Es una decisin que se fundamenta en la

PRIMER
evaluacin de distintos criterios enfocados principalmente a:

Inversin requerida.
Funcionalidad provista.
Seguridad.

SEGUNDO
BIMESTRE
Concretamente los criterios a considerar para tomar una buena decisin y el peso que le demos a cada
uno dependern del escenario de implementacin en el que estemos inmersos. No es igual una base de
datos para una empresa pequea o para un proyecto puntual, que para una corporacin con un gran
volumen de informacin y muchos usuarios concurrentes. Coronel et al. (2011), nos explica algunos de

SOLUCIONARIO
los factores ms comunes a tomar en cuenta:

Costo. Este incluye el precio de compra original, junto con los costos de mantenimiento,
operacional, de licencia, instalacin, capacitacin y conversin.
Funciones y herramientas del SGBD. Algunos SGBD incluyen una variedad de herramientas

BIBLIOGRFICAS
que facilitan el desarrollo de aplicaciones. Por ejemplo, la disponibilidad de consulta

REFERENCIAS
por ejemplo (QBE), generadores de pantallas, generadores de informes, generadores de
aplicaciones y diccionarios de datos, etc., ayuda a crear un entorno de trabajo ms agradable
tanto para el usuario final como para el programador de aplicaciones. Los medios del
administrador de bases de datos, as como los de consulta, facilidad de uso, rendimiento,
seguridad, control de concurrencia, procesamiento de transacciones y soporte de terceros
tambin influyen en la seleccin de software de SGBD.
Modelo base. Esto puede ser jerrquico, de red, relacional, objeto / relacional u orientado a GLOSARIO
objetos.
Portabilidad. Un SGBD puede ser porttil entre plataformas, sistemas y lenguajes.
Requisitos de hardware del SGBD. Los elementos a considerar incluyen procesador(es),
RAM, espacio en disco, etc. (p.399).
ANEXOS

El modelo base de hecho, en este punto del proceso de desarrollo, cuando ya hemos culminado el diseo
lgico, ya lo tendramos definido. Recuerde que, para realizar el diseo lgico, debimos elegir el modelo
base de datos a usar, en nuestro caso -desde la asignatura Fundamentos de Bases de Datos- hemos
venido usando el modelo relacional.

30 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

A los factores anteriores, aadira y/o remarcara los siguientes:

Respaldos y recuperacin. Como usted ver cuando hablemos de seguridad, el tema de

NDICE
la disponibilidad es muy importante, y por lo tanto debemos tener claro, hasta qu punto
el SGBD ante la ocurrencia de un fallo (dao grave en hardware, incendio, etc.) facilita la
recuperacin de los datos, en el menor tiempo, y con la menor prdida posible.
Alcance del lenguaje de definicin de los datos. Se refiere a las facilidades que da el SGBD

PRELIMINARES
para implementar la estructura lgica de datos que hayamos definido, es decir, necesitamos
saber hasta qu punto su Lenguaje de Definicin de Datos (DDL, por sus siglas en ingls),
permite implementar todas las estructuras y restricciones de integridad definidas en el
diseo lgico. Esto es muy importante, pues como lo remarcaremos en las unidades 2 y 3,
es necesario asegurar que todas las restricciones de nuestro modelo se implementen.
Replicacin. Por las mismas razones de seguridad expuestas, es importante conocer si el

BIMESTRE
PRIMER
motor permite configurar un esquema que facilite contar con una rplica en lnea de la base
de datos en un segundo servidor o en ms. Que en organizaciones grandes sera til para
asegurar la disponibilidad, o para tener un sistema escalable, donde se pueda balancear y
soportar la carga de un creciente nmero de usuarios concurrentes.
Soporte tcnico a clientes. Sobre todo, en bases de datos corporativas es muy importante
saber los niveles soporte que ofrece el proveedor y sus costos. Esto es muy importante

SEGUNDO
BIMESTRE
sobre todo cuando hablamos de implementaciones con grandes volmenes de datos, con
alta concurrencia de usuarios, y con requerimientos de seguridad crticos. En esos casos, el
soporte y mantenimiento que recibamos del proveedor, puede ser clave.
Otros: documentacin tcnica, estabilidad del proveedor, gestin de versiones y soporte

SOLUCIONARIO
para actualizacin, concurrencia soportada (mximo nmero de sesiones que se puede
abrir simultneamente), facilidades para monitoreo y notificacin de alertas de rendimiento,
cifrado, etc.

Connolly y Begg (2005), recomienda una metodologa de 4 pasos para realizar la seleccin del SGBD (ver
Figura 12).

BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

Figura 12. Pasos principales para seleccionar un SGBD


Fuente: Connolly y Begg, 2005, p.270
Elaborado: Encalada, E.

31 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Actividades propuestas

1. Consulte a travs de internet, foros donde administradores de bases de datos comparten sus

NDICE
experiencias del proceso de evaluacin y seleccin de un SGBD. Cules son los criterios de
evaluacin ms mencionados, en orden de importancia?
2. Investigue las caractersticas de al menos 3 SGBD comerciales, y luego elabore un cuadro
comparativo con base en los factores de evaluacin descritos anteriormente. De las opciones
analizadas, cul considera podra ser ms apropiado para una empresa bancaria?

PRELIMINARES
2.7. Proceso de diseo fsico
Una vez decidido el SGBD a usar para implementar la base de datos, se puede proceder con el diseo
fsico. Recuerde, quien se encarga de esta tarea es el DBA, de quien se asume conoce de la administracin
del SGBD elegido. Con ello definido, ms el modelo lgico y ms las transacciones de datos, se procede,

BIMESTRE
PRIMER
con los siguientes pasos:

a. Traducir el modelo lgico a lenguaje de base de datos.


b. Identificar y definir ndices.
c. Definir la organizacin fsica de los datos.

SEGUNDO
BIMESTRE
d. Definir especificaciones de seguridad.

La explicacin de estos pasos se har para un caso de estudio y tomando como referencia el SGBD Oracle.

a. Traducir el modelo lgico a lenguaje de base de datos

SOLUCIONARIO
Implica tomar el modelo de datos resultante del diseo lgico, y convertirlo a lenguaje que entienda el
SGBD seleccionado (SQL en bases de datos relacionales).

Si necesita recordar los comandos y sintaxis del lenguaje SQL, revise el captulo 3 y captulo 4 de

BIBLIOGRFICAS
su texto bsico. En este caso especficamente lo que corresponde a los apartados 3.2, 4.4 y 4.5.

REFERENCIAS
Como hacerlo?

En el Entorno Virtual de Aprendizaje dentro del recurso Diseo fsico de una base de datos

GLOSARIO
Oracle, revise el apartado Traduccin del modelo lgico. En el cul se explica y desarrolla la
traduccin del modelo lgico a lenguaje SQL de Oracle.

Queda claro lo importante y necesario que es conocer las prestaciones del motor elegido y sobre todo
sus limitantes. No siempre todo lo que consta en el modelo lgico, se puede implementar con DDL.
Y debemos saber cmo solucionarlo adecuadamente. Por ejemplo, el tema de los campos derivados
ANEXOS

normalmente se soluciona creando un trigger3 (disparador) que recalcule el valor y lo actualice, cada vez
que modifique alguno de los datos vinculados al clculo.

Es importante que aquellas restricciones que no se puedan implementar a travs del SGBD queden
documentadas y comunicadas para que el responsable del desarrollo de la aplicacin las tome en cuenta.

3 Un trigger es una rutina de cdigo de programacin escrito en el lenguaje que provee el SGBD, y que est asociado a una
tabla y se ejecuta ante la ocurrencia de algn evento de acceso a los datos (SELECT, INSERT, UPDATE o DELETE)

32 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Recuerde:

Todas las restricciones de integridad se deben implementar, sea mediante DDL, usando triggers,

NDICE
o en la aplicacin.

b. Identificar y definir ndices

PRELIMINARES
Ya debemos tener claro lo que es un ndice y su importancia al realizar bsquedas u ordenar datos. La
pregunta ahora es cmo identificar los ndices requeridos? a cules columnas se les debe crear un
ndice?

En el Entorno Virtual de Aprendizaje dentro del recurso Diseo fsico de una base de datos
Oracle, revise el apartado ndices. En el cul se explica cmo identificar las columnas que hay a

BIMESTRE
indexar, y la manera de crear esos ndices en SQL de Oracle.

PRIMER
Es importante aclarar por qu se suele hablar de ndices primarios y secundarios. Los primarios
corresponden las columnas que son llave primaria (PK) y/o llave fornea (FK), dichas columnas
normalmente ya tienen un ndice, que fueron creados automticamente por SGBD cuando se las defini

SEGUNDO
como tal. Al resto de ndices que no corresponden a llaves primarias o llaves forneas, se los denomina

BIMESTRE
ndices secundarios.

Recuerde:

Son candidatas a crear un ndice aquellas columnas que son ms usadas en operaciones de

SOLUCIONARIO
consulta para filtrar, combinar, ordenar o agrupar informacin.

c. Definir la organizacin fsica de los datos

En el primer paso lo que hicimos fue, especificar la representacin lgica de los datos (tablas y restricciones
de integridad) usando principalmente DDL. Ahora corresponde establecer como se organizan los datos

BIBLIOGRFICAS
REFERENCIAS
fsicamente, en almacenamiento secundario.

En el Entorno Virtual de Aprendizaje dentro del recurso Diseo fsico de una base de datos
Oracle, revise el apartado Organizacin fsica. En el cul a partir del anlisis transaccional y
de la proyeccin de espacio en disco se propone un esquema de distribucin de los datos en
diferentes tablespaces Oracle.

Como se ha visto, en el caso de Oracle podemos distribuir las tablas en distintos tablespaces segn su GLOSARIO
propsito, y por cada tablespace podemos distribuir los archivos de datos en discos distintos. Y se puede
hacer mucho ms.

d. Definir especificaciones de seguridad


ANEXOS

Este es un punto muy importante en el proceso del diseo fsico, porque implica aplicar todas las medidas
que hagan falta para garantizar la seguridad integral de la base de datos, no solo es implementar la
seguridad de acceso lgico, que provee cada SGBD (mecanismo de autenticacin y asignacin de
privilegios), sino establecer todas las previsiones que hagan falta, para proteger nuestra base de datos,
fsica y lgicamente.

33 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Ejemplo de medidas para garantizar la seguridad de la base de datos, son:

Implementar servidor de respaldo, y replicacin sncrona (en tiempo real) entre base de

NDICE
datos maestro y esclavo.
Contar con redundancia elctrica.
Implementar redundancia en discos (RAID).

PRELIMINARES
Las aplicaciones accesibles desde la extranet solo pueden consultar datos.
El acceso fsico al servidor de base de datos solo puede estar permitido al DBA.
La conexin hacia la base de datos solo estar habilitada para equipos que estn en la red
interna de la empresa (intranet).
Las aplicaciones dirigidas a pblico en general solo pueden implicar consulta de datos.
El acceso a los datos desde sistemas externos se permitir solo a travs del uso de servicios

BIMESTRE
PRIMER
web.
La informacin privada de una persona como: email, salario, fecha de nacimiento, etc., no
sern de acceso pblico.
No se deben permitir modificaciones directas en la base de datos (activar log de auditora).
Cada aplicacin tendr su propio usuario de base de datos.

SEGUNDO
BIMESTRE
Las consultas de datos se realizarn a travs de vistas.

Son muchas las medidas que se pueden tomar de acuerdo a los riesgos a los que pueda estar expuesta
la base de datos en el contexto del propsito de la misma.

SOLUCIONARIO
Este tema lo estudiaremos en detalle en la unidad 3.

Es muy importante que no pierda de vista la documentacin del diseo fsico, con cada paso que
damos surgen nuevas especificaciones que deben quedar debidamente documentadas, sea en
lenguaje de la base de datos (script DDL), o en documentos complementarios (por ejemplo, las
medidas de seguridad no relacionadas a usuarios y privilegios de SGBD). El script o los scripts

BIBLIOGRFICAS
DDL, se van completando conforme avanza el diseo, inicialmente solo incluyen la creacin de

REFERENCIAS
las estructuras lgicas (tablas y sus restricciones de integridad), luego se agrega la creacin de
ndices, luego la especificacin de distribucin fsica, etc.

Actividad propuesta:

Proponga el caso de estudio de alguna empresa o institucin de la que usted conozca su operacin

GLOSARIO
y la informacin que gestiona, identifique los requerimientos de datos y las transacciones de
datos que all se manejan, y con base en ello realice todo el proceso de diseo (conceptual, lgico
y fsico).

Estimado(a) estudiante. Finalizamos aqu el estudio de la segunda unidad, espero le haya dado una
visin profunda de lo que significa el diseo fsico de una base de datos. Como ha podido constatar, el
ANEXOS

diseo fsico no es solo DDL, como algunas veces se lo interpreta, va mucho ms all. Es garantizar una
implementacin que cumpla con las expectativas de la empresa, que garantice operatividad y seguridad
plenas. La responsabilidad del DBA en este punto es muy importante.

Se viene el tema de la seguridad en las bases de datos.

A seguir con entusiasmo, poniendo todo su esfuerzo!

34 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

NDICE
Autoevaluacin 2

Una vez concluido el estudio de la presente unidad, le invito desarrollar el siguiente cuestionario, que le

PRELIMINARES
servir para verificar la asimilacin de lo aprendido.

Seleccione la opcin correcta

1. Un disco duro externo que se usa para mantener un respaldo de la base de datos se lo considera:

a. Almacenamiento primario

BIMESTRE
PRIMER
b. Almacenamiento secundario
c. Almacenamiento terciario

2. Cul de los siguientes niveles de RAID no implementa tolerancia a fallos en almacenamiento


secundario?

SEGUNDO
BIMESTRE
a. RAID 0
b. RAID 1
c. RAID 5

SOLUCIONARIO
3. Si tengo 5 discos de 2TB cada uno y configuro un arreglo de discos RAID nivel 6, tendra un espacio
disponible de aproximadamente 6TB y tolerancia a fallo de

a. 0 discos
b. 1 disco
c. 2 discos

BIBLIOGRFICAS
REFERENCIAS
4. Cul de las siguientes estructuras no ocupan espacio en disco?

a. Tablas
b. Vistas
c. ndices
GLOSARIO
5. Para agregar un nuevo ndice a una tabla se usa el comando:

a. ADD INDEX
b. CREATE INDEX
c. ALTER TABLE ADD INDEX
ANEXOS

6. En Oracle a las tablas e ndices, fsicamente se les llama

a. Segments
b. Data Files
c. Tablespaces

35 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

7. A la informacin del esquema de una tabla se le llama metadata y el SGBD la almacena en

a. la aplicacin

NDICE
b. el diccionario de datos
c. los archivos de configuracin

8. Aquellas restricciones de integridad del modelo lgico de datos que no se puedan implementar a

PRELIMINARES
travs de DDL y/o disparadores, las debe controlar

a. El sistema operativo
b. El DBA
c. La aplicacin
d. El usuario

BIMESTRE
PRIMER
9. Al implementar una base de datos, es aconsejable aadir ndices secundarios cuando los atributos
son frecuentemente utilizados en:

a. Criterios de proyeccin (clusula SELECT)

SEGUNDO
b. Criterios de seleccin (clusula WHERE)

BIMESTRE
c. Criterios de fuentes de datos (clusula FROM)
d. Criterios de asignacin (clusula SET)

10. El ANLISIS TRANSACCIONAL permite

SOLUCIONARIO
a. identificar las restricciones de integridad requeridas
b. identificar amenazas de seguridad
c. determinar los perfiles de usuario a crear
d. identificar relaciones crticas

BIBLIOGRFICAS
REFERENCIAS
Recuerde que al final de la gua puede revisar el solucionario para validar sus aciertos y sus errores. Si hay
aspectos en los an tiene dificultad, le animo revisar nuevamente esos temas y apoyarse en la asesora
que le brinda su tutor.

GLOSARIO
Ir a solucionario
ANEXOS

36 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

UNIDAD 3. SEGURIDAD

NDICE
Avanzando en el estudio de nuestra asignatura, corresponde ahora discutir acerca de la importancia de
la seguridad de la informacin dentro del ciclo de vida de una base de datos.

Como parte del diseo fsico y de cara a la implementacin de una base de datos es necesario establecer

PRELIMINARES
con claridad las especificaciones y los mecanismos que permitan asegurar la integridad y disponibilidad
de los datos. Se discutirn aqu los riesgos a los que estn expuestos los sistemas de bases de datos y
las armas de las que disponemos para prevenirlos. Y por supuesto haremos uso de los mecanismos de
seguridad lgica que proveen los SGBD.

Con el estudio de esta unidad, esperamos que usted adquiera la capacidad de proponer mecanismos

BIMESTRE
que permitan garantizar la confidencialidad, integridad y disponibilidad de la base de datos.

PRIMER
Para la implementacin de seguridad de acceso a nivel del SGBD continuaremos trabajando con el SGBD
Oracle.

3.1. Panormica de la seguridad en sistemas de bases de datos

SEGUNDO
BIMESTRE
Es necesario definir todas las medidas que hagan falta para asegurar que la base de datos no se vea afectada
ni en su contenido, ni en su accesibilidad. Por ello, es importante que se implementen mecanismos que
permitan evitar ataques externos (acciones preventivas), y si ocurrieren poder identificar el origen y sus
responsables (acciones correctivas).

SOLUCIONARIO
La seguridad de los datos, implica garantizar que la informacin almacenada en una base datos, que se
registra, actualiza y explora por canales autorizados (por ejemplo: a travs de los sistemas de informacin
institucionales), no sufra prdida ni alteraciones fraudulentas, y que pueda ser accedida y extrada en
cualquier momento sin inconvenientes.

BIBLIOGRFICAS
REFERENCIAS
Los sistemas de bases de datos, al igual que muchos sistemas computacionales, estn expuestos a
muchas amenazas que podran vulnerar ese estado deseado de los datos. Es decir, podran existir vas
por las cuales agentes externos no deseados pueden atacar y afectar la operacin normal de una base
de datos. Debemos tener claro cules son esas amenazas y cules son las herramientas que disponemos
para prevenirlas.

La operacin de la base de datos, podra alterarse, sea por una afectacin directa sobre el servidor donde
se ha implementado el SGBD, o indirectamente a travs las aplicaciones que acceden a los datos. GLOSARIO

Por lo tanto, la seguridad de los datos debe analizarse principalmente desde dos perspectivas:

Seguridad de la base de datos.


Seguridad de las aplicaciones.
ANEXOS

En la seguridad de la base de datos, entindase aquella inherente al servidor de bases de datos, que incluye
el motor de base de datos (SGBD) y su plataforma de implementacin. La seguridad de las aplicaciones,
en cambio se analiza bajo la perspectiva de que una aplicacin podra ser un punto de acceso indirecto
a la base de datos. Entonces, un agente mal intencionado podra atacar la base de datos, accediendo
directamente al servidor, o, indirectamente a travs de las aplicaciones que gestionan la informacin.
Otra va de ataque puede ser por intercepcin a nivel de la red de datos.

37 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

3.2. Seguridad de la base de datos


Comprende 3 aspectos principales:

NDICE
Confidencialidad
Integridad
Disponibilidad.

PRELIMINARES
La confidencialidad se refiere a la necesidad de que el acceso a la informacin se realice solo por vas
autorizadas. Es decir, se debe evitar que personas o agentes no autorizados puedan visualizar y/o alterar
los datos.

La integridad implica asegurar que la informacin almacenada en la base de datos, sea completa,

BIMESTRE
consistente y de calidad.

PRIMER
La disponibilidad refiere a garantizar el acceso a la base de datos, en todo momento que lo requiera la
organizacin.

3.3. Confidencialidad

SEGUNDO
BIMESTRE
Implica, impedir el acceso a los datos a personal o agentes no autorizados. Pues no toda la informacin
que una empresa almacena en sus bases de datos, es pblica; hay mucha informacin reservada. Incluso
internamente dentro de la propia organizacin, sus funcionarios dependiendo de su rol, perfil y cargo
podrn o no acceder a cierta informacin.

SOLUCIONARIO
Para esto existen varios mecanismos que se pueden implementar:

a. Acceso fsico.
b. Acceso lgico (autenticacin y asignacin de privilegios).
c. Vistas en base de datos.

BIBLIOGRFICAS
REFERENCIAS
d. Vistas de usuario en aplicaciones.
e. Cifrado.
f. Otros.

Acceso fsico

A nivel fsico, se debe restringir el acceso al servidor de base de datos solo a personal autorizado, que GLOSARIO
normalmente es el DBA. Para ello es necesario que el equipo servidor est ubicado en un lugar seguro, y
que existan adecuados mecanismos de control de acceso fsico a ese sitio.

Acceso lgico
ANEXOS

A nivel lgico se requiere controlar el acceso a la base de datos a travs de mecanismos de autenticacin
provistos por el propio SGBD, o a travs de otros servicios de directorio basados en el Protocolo Ligero de
Acceso a Directorios (LDAP, por sus siglas en ingls). Normalmente todo SGBD permite la asignacin de
credenciales (usuario y contrasea) para permitir el acceso de una persona o sistema. La autenticacin
abre la puerta principal, es decir permite establecer una conexin con la base de datos, pero no
necesariamente permite acceder a los objetos de la misma.

Adicionalmente se requiere que el usuario tenga privilegios, que son los permisos que se asignan a un
usuario internamente dentro del SGBD, y que permiten establecer a cules objetos puede acceder y

38 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

las operaciones que puede ejecutar sobre esos objetos. Por ejemplo, la aplicacin web de consulta de
notas de la UTPL, tiene acceso a la base de datos del Sistema Acadmico, nicamente a ciertas tablas

NDICE
relacionadas a las notas, pero nicamente con permisos de lectura.

Para facilitar esta tarea los SGBD permiten por ejemplo la creacin de perfiles de usuario y/o roles, los
cuales permiten agrupar usuarios bajo una misma categora y con los mismos privilegios.

PRELIMINARES
Es momento que revise el apartado 4.6 de su texto bsico donde se explica a detalle cmo se
realiza la asignacin de privilegios a usuarios de una base de datos.

Adicionalmente,

BIMESTRE
PRIMER
En el Entorno Virtual de Aprendizaje revise el recurso Prctica seguridad Oracle. Que es una
prctica guiada sobre la creacin de usuarios y asignacin de privilegios en Oracle.

Vistas en base de datos

SEGUNDO
BIMESTRE
Podemos crear vistas a nivel de base de datos que permitan acceder solo a una porcin de los datos. Y
asignar privilegios para que ciertos usuarios puedan acceder solo a la vista y no a las tablas origen.

SOLUCIONARIO
Revise el apartado 4.2 de su texto bsico donde se explican los usos y beneficios de las VISTAS en
bases de datos.

Vistas de usuario en aplicaciones

BIBLIOGRFICAS
Las aplicaciones de usuario final tambin conllevan el control de confidencialidad. De hecho, son las que

REFERENCIAS
implementan las vistas de usuario. De manera que, al autorizarle al usuario de la aplicacin a acceder
solo a ciertas funcionalidades, indirectamente le estn restringiendo el acceso solo a ciertos datos.

3.4. Integridad

GLOSARIO
La integridad de la base de datos debe estar asegurada, es decir, hay que garantizar la calidad de los
datos. Implica que la informacin debe ser completa, correcta y consistente.

Por ejemplo, en el caso de una tabla PERSONAS, no debera ocurrir que:

Dos personas tengan el mismo nmero de identificacin.


Exista una persona de la que no se conozca su nombre.
ANEXOS

Existen personas asociadas a un cdigo de nacionalidad que no exista en el catlogo


NACIONALIDADES.
Se produzcan alteraciones fraudulentas de los datos (desde orgenes desconocidos, en
horarios no previstos y/o por agentes no autorizados).

Para evitar problemas de integridad de esta ndole, hay dos mecanismos que implementan los SGBD: el
control de restricciones de integridad y la gestin de transacciones.

39 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Control de restricciones de integridad

Es necesario que, al construir la base de datos, y especficamente al traducir el modelo lgico al SGBD,

NDICE
todas las restricciones de integridad que impone el negocio, sean implementadas; sea a nivel del SGBD
(mediante DDL o Triggers) o a nivel de las aplicaciones. Esto ya se mencion en la unidad 2, pero es
importante recalcarlo.

PRELIMINARES
Como sabemos a nivel de SQL mediante DDL, son 3 tipos de restricciones de integridad que se pueden
implementar:

Integridad de dominio: tipos de datos, campos obligatorios, lista de valores.


Integridad de entidades: llaves primarias.
Integridad referencial: llaves forneas.

BIMESTRE
PRIMER
Otras restricciones se pueden implementar usando Triggers, por ejemplo:

La empresa solicita que ningn usuario ni aplicacin pueda registrar transacciones pasadas
las 21h00.
Actualizacin automtica de campos derivados.

SEGUNDO
BIMESTRE
Control de cardinalidades mximas distintas a N o *.

Y el resto de restricciones que no se puedan implementar mediante el SGBD, las debera controlar la
aplicacin.

SOLUCIONARIO
Gestin de transacciones

Otra va por la que pueden generarse inconsistencias en la base datos es cuando se registran transacciones
(por ejemplo, una factura de venta), que involucran a dos o ms tablas. Si no se gestionan correctamente
podra ocurrir que ante un fallo del sistema la transaccin quede parcialmente registrada (solo se registra
la cabecera de la factura y no los tems), lo que sera una grave inconsistencia.

BIBLIOGRFICAS
REFERENCIAS
As mismo se podran producir inconsistencias durante la ejecucin concurrente de transacciones. Es
decir, cuando muchos usuarios acceden y actualizan la base de datos simultneamente (por ejemplo,
varias cajas de un supermercado registrando facturas al mismo tiempo). Sin el adecuado control, ello
podra conllevar a modificaciones errneas o sobre escrituras de los datos.

Felizmente, los SGBD incorporan un componente para realizar este tipo de control y garantizar la
integridad de los datos luego de ejecutarse una transaccin o varias transacciones simultneamente. Si GLOSARIO
recuerda, en la arquitectura del sistema de base de datos (figura 1.5 del texto bsico) dentro del gestor
de almacenamiento existe un componente llamado gestor de transacciones, que es el encargado de
planificar la ejecucin de transacciones de manera que nunca afecte a la consistencia de los datos.

El tema de la gestin de transacciones y control de concurrencia se estudia en detalle en la unidad 5.


ANEXOS

3.5. Disponibilidad
La disponibilidad implica asegurar que la base de datos est disponible de forma permanente y con un
adecuado desempeo.

Es una parte importante de la seguridad, busca evitar al mximo Downtimes de la base de datos. Para lo
que es necesario considerar medidas como:

40 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Definir polticas de respaldo y recuperacin.


Definir protocolos de recuperacin ante desastres.

NDICE
Implementar redundancia a nivel de almacenamiento (RAID).
Implementar redundancia a nivel elctrico.
Implementar replicacin.
Mantener servidores de respaldo.

PRELIMINARES
3.6. Seguridad de las aplicaciones
Las aplicaciones al ser el intermediario entre los usuarios finales y la base de datos, constituyen un punto
crtico para la seguridad de los datos. Pues, si no estn debidamente validadas, podran terminar siendo
la puerta de entrada trasera a la base de datos. Pudiendo producirse accesos indebidos por causas tan

BIMESTRE
PRIMER
simples como que a un usuario le roben o adivinen sus credenciales, hasta algo ms complejo como es
la inyeccin de SQL a travs de los formularios de las aplicaciones.

Para el estudio de esta parte vamos a aprovechar la extensa y completa explicacin que nos da
el texto bsico. Revise los apartados 9.7 y 9.8. Dicho estudio le permitir tambin complementar
la comprensin de los 3 componentes (confidencialidad, integridad y disponibilidad) vistos

SEGUNDO
BIMESTRE
previamente

Como puede apreciar, muchos son los riesgos a los que est expuesta una base de datos e igualmente
muchos los mecanismos para combatirlos. Especial atencin merece el cifrado de datos que como ha
podido comprobar tiene muchas aplicaciones en la actualidad, en especial para asegurar la informacin

SOLUCIONARIO
que viaja a travs de internet.

En la Tabla 1, Coronel et al. (2011), nos presenta una lista muy completa de las posibles amenazas
(vulnerabilidades) a las que est expuesta una base de datos, y un conjunto de medidas que se suelen
tomar para proteger los datos de esos riesgos, revselas con atencin.

BIBLIOGRFICAS
REFERENCIAS
Tabla 1. Vulnerabilidades de seguridad y medidas relacionadas

Componente
Vulnerabilidad de seguridad Medidas de seguridad
del sistema
El usuario establece una contrasea
en blanco. Aplicar directivas de contraseas complejas.
La contrasea es corta o incluye Utilizar autenticacin multinivel.
fecha de nacimiento. Utilice pantallas de seguridad y protectores de GLOSARIO
Personal El usuario deja la puerta abierta todo pantalla.
el tiempo. Educar a los usuarios sobre los datos sensibles.
El usuario deja la informacin de Instalar cmaras de seguridad.
nmina en la pantalla durante largos Utilice cerraduras de puerta automticas.
perodos de tiempo.
ANEXOS

41 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Componente
Vulnerabilidad de seguridad Medidas de seguridad
del sistema

NDICE
Utilice directivas de grupo para restringir el uso de
El usuario copia los datos en una unidades flash.
unidad de flash.
Asigne derechos de acceso de usuario a las
La estacin de trabajo es utilizada estaciones de trabajo.
por mltiples usuarios.
Instale fuentes de alimentacin ininterrumpidas

PRELIMINARES
Un fallo de corriente bloquea el (UPS).
ordenador.
Estacin de Agregue bloqueos de seguridad a los equipos.
Personal no autorizado puede usar
trabajo y la computadora. Implementar un interruptor "muerto" para laptops
servidores robadas.
Datos sensibles se almacenan en una
computadora laptop. Cree y pruebe los planes de respaldo y
recuperacin de datos.
Datos perdidos por disco duro/

BIMESTRE
Redundancia a nivel de discos (RAID).

PRIMER
laptop robados.
Daos fsicos en los equipos Implementar un servidor de respaldo.
Se produce un desastre natural. Asegurar el sistema contra desastres naturales,
usar estrategias de co-localizacin.
Aplicar parches y actualizaciones de seguridad del
Ataques de desbordamiento
sistema operativo.

SEGUNDO
de espacio de almacenamiento

BIMESTRE
temporal Aplicar parches del servidor de aplicaciones.
Ataques de virus Instalar software antivirus y antispyware.
Sistema Ataques de gusanos Imponga rastros de auditora en los equipos.
operativo Realice copias de seguridad peridicas del
Ataques de denegacin de servicios
sistema.

SOLUCIONARIO
Caballos de Troya
Instale slo aplicaciones autorizadas.
Aplicaciones de spyware (espas)
Utilice directivas de grupo para evitar instalaciones
Violadores de contraseas
no autorizadas.
Errores de aplicacin; Pruebe extensamente los programas de
desbordamiento de espacio de aplicacin.

BIBLIOGRFICAS
almacenamiento temporal Construir salvaguardias en el cdigo.

REFERENCIAS
Inyeccin SQL, secuestro de sesin, Realice extensas pruebas de vulnerabilidad en
etc. aplicaciones.
Aplicaciones Vulnerabilidades de la aplicacin; Instalar lectores de spam y software antivirus para
codificacin cruzada, entradas no sistemas de correo electrnico.
validadas Utilice tcnicas de codificacin segura (vea www.
Ataques por correo: correo basura, owasp.org).
GLOSARIO
suplantacin de identidad, etc. Educar a los usuarios sobre los ataques de
Correos de ingeniera social ingeniera social.
Instale firewalls.
Deteccin de IP
Utilizar redes privadas virtuales (VPN).
Detectores de paquetes
Red Utilice sistemas de deteccin de intrusos (IDS).
Ataques de hackers
ANEXOS

Utilice el control de acceso a la red (NAC).


Borrar contraseas en red
Vigilancia de actividad en red.
Partes de datos estn abiertos a Implementar seguridad de sistema de archivos.
todos los usuarios.
Implementar la seguridad de acceso compartido.
Se puede acceder a los datos de
Datos Use el permiso de acceso.
forma remota.
Los datos se pueden eliminar desde Cifrar los datos a nivel del sistema o de la base de
un recurso compartido. datos.

Fuente: Coronel et al., 2011, p.630


Elaborado: Encalada, E.

42 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Es muy importante que usted en su rol de DBA sepa evaluar y tener presente los posibles riesgos a los se
puede enfrentar y de acuerdo al contexto de implementacin en el que este participando sepa proponer

NDICE
medidas que reduzcan la probabilidad de ocurrencia.

Es responsabilidad del DBA, implementar todas las medidas para garantizar:

la disponibilidad de la base de datos (en tiempo y en rendimiento).

PRELIMINARES
la integridad de los datos.
la integridad de los equipos.
la no alteracin indebida de los datos.
la no fuga de informacin.

Actividades propuestas:

BIMESTRE
PRIMER
1. Realice un mapa mental donde se sinteticen los aspectos de seguridad, las amenazas y los
mecanismos de prevencin.
2. Asuma que usted es el DBA en una institucin bancaria; que acciones y mecanismos
implementara para asegurar la disponibilidad de la base de datos. Un banco exige una
disponibilidad 24x7.

SEGUNDO
BIMESTRE
3.7. Incorporacin de seguridad al diseo fsico
Una vez explicado el alcance de la seguridad en sistemas de bases de datos, es momento de completar
el ltimo paso del proceso de diseo fsico definir especificaciones de seguridad.

SOLUCIONARIO
En el Entorno Virtual de Aprendizaje dentro del recurso Diseo fsico de una base de datos
Oracle, revise el apartado Seguridad. Donde ver, para el caso de estudio analizado, como
quedara la distribucin de roles, usuarios y privilegios, y adems se analiza en ese escenario
cuales seran las posibles amenazas y qu medidas tomar para prevenirlas.

BIBLIOGRFICAS
REFERENCIAS
El esquema se plantea all es abierto, es decir, usted como DBA puede plantear su anlisis de forma
distinta, lo importante es que sus motivaciones para implementar medidas de seguridad, estn
debidamente justificadas.

Actividades propuestas:

Para el caso de estudio propio que usted propuso en la unidad 2, implemente un escenario de
GLOSARIO
seguridad en lo que al acceso a los datos se refiere. Defina roles, usuarios y privilegios. Y realice las
pruebas que permita validarlos.

Tambin realice el anlisis de amenazas y contramedidas que usted propondra.

Felicitaciones! Hemos finalizado el estudio de la unidad 3. Espero le haya ayudado para comprender la
gran responsabilidad que como DBA tenemos a la hora de garantizar la seguridad de los datos. Pero a la
ANEXOS

vez saber que existen muchos mecanismos y medidas que se pueden ejecutar para conservar protegida
la base de datos.

Es momento de medir los conocimientos aprendidos.

Suerte y adelante!

43 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

NDICE
Autoevaluacin 3

Una vez concluido el estudio de la presente unidad, le invito desarrollar el siguiente cuestionario, que le

PRELIMINARES
servir para verificar la asimilacin de lo aprendido.

Seleccione la opcin correcta

1. El responsable de garantizar la seguridad de los datos es:

a. El DBA

BIMESTRE
PRIMER
b. La aplicacin
c. El SGBD

2. Hablando de seguridad de una base de datos, la confidencialidad de la informacin se refiere a la


necesidad de

SEGUNDO
BIMESTRE
a. mantener en secreto las claves de acceso a la base de datos.
b. restringir el acceso a los datos solo a usuarios autorizados.
c. impedir el acceso a los datos desde fuera de la organizacin.

SOLUCIONARIO
3. Las restricciones de integridad contribuyen a asegurar

a. el acceso restringido a los datos


b. la disponibilidad de los datos
c. la calidad de los datos

BIBLIOGRFICAS
REFERENCIAS
4. Ante la amenaza de Daos fsicos en los equipos, una de las contramedidas apropiadas sera:

a. implementar cortafuegos (firewall).


b. aplicar cifrado a los datos confidenciales.
c. mantener un servidor de respaldo.

GLOSARIO
5. A nivel del SGBD, la autenticacin permite:

a. Establecer conexin con la base de datos y acceder a todos los objetos de la misma.
b. Establecer conexin con la base de datos, el acceso a los objetos depender de los privilegios
que tenga el usuario.
c. Acceder fsicamente al servidor de base de datos
ANEXOS

6. Una medida apropiada para asegurar la disponibilidad de los datos es

a. instalar un firewall
b. implementar replicacin
c. implementar vistas

44 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

7. En Oracle y en generalidad de los SGBD, a la agrupacin de varios privilegios bajo un nombre, se


le llama:

NDICE
a. Usuario
b. Perfil
c. Rol

PRELIMINARES
d. Esquema

8. Las VISTAS son un mecanismo que ayuda a garantizar

a. la confidencialidad de la informacin.
b. la integridad de los datos.
c. la disponibilidad de la base de datos.

BIMESTRE
PRIMER
9. El cifrado se refiere a:

a. Realizar peridicamente una copia encriptada de la base de la base de datos.


b. Realizar un registro de todos los cambios realizados en la base de datos en forma encriptada.

SEGUNDO
BIMESTRE
c. Codificar los datos de una manera que no sean legibles por ningn programa que no
disponga de la clave de descifrado.

10. Cmo se llama el mecanismo que implementan los SGBD para evitar que, por ejemplo, al registrar
una transferencia bancaria, solo se registre el dbito en la cuenta origen y no se acredite el valor

SOLUCIONARIO
en la cuenta destino?

a. Control de restricciones de integridad


b. Procesamiento de consultas
c. Gestin de transacciones

BIBLIOGRFICAS
REFERENCIAS
Recuerde que al final de la gua puede revisar el solucionario para validar sus aciertos y sus errores. Si hay
aspectos en los an tiene dificultad, le animo revisar nuevamente esos temas y apoyarse en la asesora
que le brinda su tutor.

Ir a solucionario GLOSARIO
ANEXOS

45 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

UNIDAD 4. PROCESAMIENTO Y OPTIMIZACIN DE CONSULTAS

NDICE
Estimado(a) estudiante, avanzando con el estudio de nuestra asignatura, corresponde ahora revisar el
proceso que sigue el SGBD al ejecutar una consulta, desde que recibe la solicitud en lenguaje SQL, hasta
que retorna los resultados al usuario. Es un proceso que el motor lo hace automticamente, pero que
es muy importante comprenderlo porque nos da elementos de juicio para afinar la implementacin

PRELIMINARES
de nuestra base de datos. Tambin, analizaremos las buenas prcticas que debemos seguir al escribir
sentencias SQL.

Con el estudio de esta unidad, esperamos que usted est en capacidad de analizar e identificar la mejor
estrategia para procesar y ejecutar consultas SQL, y adoptar buenas prcticas en la construccin de
consultas SQL.

BIMESTRE
PRIMER
Importante!: para el estudio de esta unidad es imprescindible que usted recuerde lo que aprendi en la
asignatura Fundamentos de Bases de Datos, en lo que refiere al lgebra Relacional. Si es necesario haga
un repaso de aquello para volver a familiarizarse con sus operaciones y simbologa.

Tambin se asume que usted previamente concluy con xito el estudio de las unidades 2 y 3, y por lo

SEGUNDO
BIMESTRE
tanto conoce ya lo que es la memoria intermedia, sabe lo que es un ndice, lo que es un diccionario de
datos y lo que son los mecanismos de seguridad de acceso lgico basados en usuarios y privilegios.

Empecemos!

SOLUCIONARIO
4.1. Panormica del procesamiento de consultas
Las consultas SQL, son las operaciones quiz ms crticas para el desempeo de una base de datos. Son
las que normalmente consumen ms recursos y capacidad de procesamiento del servidor. Por ello es
muy importante comprender como ocurren.

BIBLIOGRFICAS
REFERENCIAS
En su texto bsico revise el apartado 12.1, donde se expone una visin general del procesamiento
de consultas. Centrndose en comprender el proceso macro.

Como explica el autor son tres los pasos que realiza el SGBD al ejecutar una consulta. Otros autores
los denominan de forma distinta. Nosotros los identificaremos a esos pasos como (1) ANLISIS Y
TRADUCCIN, (2) OPTIMIZACIN y (3) EJECUCIN. Aclarar, adems, que al plan de evaluacin que se GLOSARIO
menciona en el texto, tambin se lo conoce como plan de ejecucin.

La Figura 13 complementa esta panormica, ilustrando de forma general las acciones que conlleva cada
paso. Como se ve, el SGBD recibe una consulta expresada en lenguaje de alto nivel (SQL); a esta, en un
primer paso, la valida, simplifica y traduce a lenguaje de bajo nivel (algebra relacional); luego en el paso
ANEXOS

2, evala y selecciona el plan de ejecucin ms apropiado; el que finalmente, en el paso 3, lo traduce a


lenguaje de mquina, que es el que se ejecuta y genera los resultados. Todo este proceso el SGBD lo hace
automticamente.

Pero, el hecho que el motor optimice la consulta automticamente, no significa que debemos
despreocuparnos de como la escribimos, al contrario, mucho puede hacer el programador al estructurar
la consulta para evitar que el SGBD, realice un trabajo excesivo. Y porque, adems, como veremos, el
anlisis semntico que realiza el motor, es limitado.

46 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

NDICE
PRELIMINARES
Figura 13. Procesamiento de una consulta SQL
Fuente: Universidad de Sevilla, 2011

BIMESTRE
PRIMER
4.2. Fase de anlisis y traduccin
Tambin conocida como fase de descomposicin, su objetivo es validar, simplificar y traducir la consulta
a algebra relacional.

SEGUNDO
BIMESTRE
En el Entorno Virtual de Aprendizaje revise el recurso Anlisis y traduccin de una consulta
SQL . El cul ofrece una explicacin detallada del proceso que realiza un SGBD al analizar una
consulta SQL y transformarla a algebra relacional.

Como ve, esta fase es muy importante, pues el SGBD puede de hecho optimizar en mucho el enunciado

SOLUCIONARIO
de la consulta SQL, antes de definir un plan de ejecucin. Veamos otros ejemplos:

Suponga las siguientes relaciones:

BIBLIOGRFICAS
REFERENCIAS
donde todos los atributos son obligatorios.

Ejemplo 1:

Analice la siguiente consulta:


GLOSARIO
ANEXOS

Sintcticamente, la consulta est bien. En este caso, el motor buscar normalizar y simplificar la condicin
de seleccin. Si analizamos, la expresin condicional tipo = ANALGESICO ya est contenida en la condicin
tipo like A%, es decir ANALGESICO est incluido en el conjunto de los valores que empiezan con A, y al
ser una disyuncin, se reducira a la segunda expresin, as:

47 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Que en algebra relacional equivaldra a:

NDICE
PRELIMINARES
Con ello el motor evitar realizar una doble comparacin innecesaria al momento de procesar los datos
de la tabla.

Ejemplo 2:

BIMESTRE
PRIMER
Considere la siguiente consulta, que busca obtener los tipos de medicinas, que no tienen ningn
laboratorio que los provea:

SEGUNDO
BIMESTRE
Es una consulta expresada correctamente, que no tiene errores lxico-sintcticos, pero si un error

SOLUCIONARIO
semntico, que el motor lo detectar. Y es que, en este caso, si IDLAB es NOT NULL, es imposible que
dentro de la tabla MEDICINAS se encuentre un tipo que no tenga el id de laboratorio informado; por lo
que la funcin COUNT en este caso como mnimo devolver 1, jams 0.

El motor al detectar esta particularidad semntica, sabe que la consulta retorna un resultado vaco, y no
requiere avanzar a las fases de optimizacin y ejecucin. Con ello el SGBD se habr ahorrado el trabajo,

BIBLIOGRFICAS
REFERENCIAS
los recursos y el tiempo que implicara procesar, agrupar y contar las filas en la tabla MEDICINAS.

Ejemplo 3:

La siguiente consulta obtiene los nombres de las medicinas de laboratorio ASOL que vienen en
presentacin JARABE:

GLOSARIO
ANEXOS

La consulta ya est estructurada correctamente (no requiere simplificacin). Entonces, en este caso el
SGBD lo que har es convertirla a lgebra relacional para que pase a la fase de optimizacin. Y, como se
ha mencionado, puede haber varias representaciones en algebra relacional para la misma consulta, a
continuacin, algunas de las opciones que el SGBD podra evaluar.

La que sera la traduccin literal del enunciado SQL, es la siguiente:

48 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

donde, primero realiza un producto cartesiano y luego combina y filtra las filas. El rbol quedara as.

NDICE
PRELIMINARES
BIMESTRE
PRIMER
Una representacin alternativa sera, que primero combine las tablas, y luego filtre las filas, as:

SEGUNDO
BIMESTRE
SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
Una tercera opcin sera, que primero filtre las filas en cada tabla individualmente, y luego combine los
resultados, as:

GLOSARIO
ANEXOS

49 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Y as, como estas, usted podr inferir otras equivalencias en algebra relacional de la misma consulta
SELECT. Son las alternativas que el motor deber evaluar en la fase de optimizacin y de ellas elegir la
mejor (la que represente menor tiempo de obtencin de resultados).

NDICE
Actividades propuestas:

Dada las siguientes relaciones:

PRELIMINARES
donde EMAIL es llave nica.

BIMESTRE
PRIMER
1. La siguiente consulta que pretende obtener la lista de los empleados de la A a la C. Analcela
e identifique si tiene algn error sintctico o semntico, que el SGBD detectara.

SEGUNDO
BIMESTRE
2. Analice las siguientes consultas y diga, cmo quedara su enunciado SQL luego del anlisis
que realiza el SGBD?

SOLUCIONARIO
Caso 1

BIBLIOGRFICAS
REFERENCIAS
Caso 2

GLOSARIO

3. Para la siguiente consulta, cules seran las representaciones alternativas en lgebra


relacional?
ANEXOS

Espero, haya quedado ms claro lo que implica esta fase, y como este proceso de anlisis puede repercutir
en el desempeo del motor. Pasaremos ahora a la fase donde el SGBD define el plan de ejecucin.

50 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

4.3. Fase de optimizacin


Si durante la fase de anlisis y traduccin, la consulta no present errores que impidan su ejecucin, y si

NDICE
el enunciado de la consulta simplificada no conlleva a un resultado vaco, entonces el SGBD proseguir
con su procesamiento.

La consulta traducida a algebra relacional, pasa a la fase de optimizacin en la cual, el SGBD arma un plan

PRELIMINARES
de ejecucin, es decir, define la secuencia de acciones que debern ejecutar para procesar la consulta
y obtener los resultados. Ese plan, debe ser lo ms ptimo posible, en cuanto al tiempo de ejecucin.

Ahora, usted se debe preguntar cmo determinar cul plan es mejor sin ejecutarlo aun?... Existen dos
tcnicas de optimizacin:

1. Optimizacin basada en costo.

BIMESTRE
PRIMER
2. Optimizacin basada en reglas.

Optimizacin basada en costo

Bajo este modo, el SGBD analiza varias alternativas de ejecucin -como vimos el apartado anterior, para
un mismo enunciado SQL, hay varias representaciones en algebra relacional - y de ellas, debe escoger

SEGUNDO
BIMESTRE
una. Cul escoge? ... la que represente un menor costo de consumo de recursos de procesamiento y por
ende es la que se ejecutara en menor tiempo.

En su texto bsico revise el apartado 12.2, el cul le ofrece una explicacin de lo que significa

SOLUCIONARIO
determinar el coste del plan de ejecucin de una consulta SQL

Remarco dos aspectos que seala el autor, que es necesario los tenga en cuenta:

1. El coste ms importante de un plan, normalmente es el nmero de operaciones I/O (accesos

BIBLIOGRFICAS
REFERENCIAS
a disco)
2. No siempre menos accesos a disco, es menos tiempo. Si tenemos un servidor con dos
controladoras de disco; y los datos distribuidos en ambos arreglos, el SGBD podra acceder
paralelamente a ambos arreglos y realizar las lecturas en menor tiempo, aun cuando
sumados implique ms accesos.

GLOSARIO
Ante todo, usted debe tener claro que en realidad el clculo que realiza el SGBD al momento de
determinar el costo de ejecucin de una consulta, es bastante complejo; y est supeditado al anlisis
de algunas variables, tales como: el tamao de la memoria intermedia, la velocidad del procesador, la
configuracin del almacenamiento secundario, la distribucin fsica de los datos, la existencia de ndices,
la complejidad de la consulta, y otros.
ANEXOS

Pero quiz -como ya anticipamos- la variable que ms repercute, es el nmero de accesos a disco o
nmero de operaciones I/O. Puesto que, en comparacin al resto del proceso, el trabajo de ubicar los
bloques de datos en disco y cargarlos a memoria RAM, es la operacin ms lenta; el resto del proceso se
realiza en memoria principal. Podramos decir entonces que, el plan de ejecucin que requiera menos
accesos a disco, tiene una alta probabilidad de ser el ms eficiente.

Veamos entonces, como sera el clculo de coste de un plan de ejecucin en funcin del nmero de
operaciones I/O.

51 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

En el Entorno Virtual de Aprendizaje revise el recurso Clculo del costo I/O en consultas SQL.
El cul le explica cmo calcular el nmero de operaciones de lectura/estructura requeridos para

NDICE
las distintas alternativas de ejecucin -expresiones en algebra relacional- de una consulta SQL.

Para determinar el costo, el tema de las estadsticas es muy importante, porque le permiten al
optimizador, conocer informacin acerca de una tabla, sin necesidad de accederla, por ejemplo, saber

PRELIMINARES
cuntos registros tiene, el nmero de bloques que ocupa en disco, etc. Sin las estadsticas, el clculo del
costo de un plan de ejecucin sera inviable.

Con base en lo estudiado, le invito a desarrollar la siguiente actividad.

Actividad propuesta:

BIMESTRE
PRIMER
Dada las siguientes relaciones:

SEGUNDO
BIMESTRE
La siguiente consulta le permite obtener la lista de empleados que ganan menos de $500.

SOLUCIONARIO
Suponga las siguientes estadsticas:

empleados: 800

BIBLIOGRFICAS
REFERENCIAS
cargos: 20
cargos con sueldo inferior a $500: solo 2 (mantenimiento y conserje)
empleados de mantenimiento ms conserjes: 25

Con base en lo anterior determine los posibles planes de ejecucin (representaciones en algebra
relacional), para esa consulta, y por cada uno calcule el costo en trminos de operaciones I/O.
Cul es el plan ms ptimo?

GLOSARIO
Veamos ahora el otro mtodo de optimizacin.

Optimizacin basada en reglas

Con este mtodo, el SGBD, lo que hace es aplicar un conjunto de reglas de transformacin de expresiones
ANEXOS

(reglas de equivalencia) sobre la consulta expresada en lgebra relacional, de manera que, con base en
un conjunto de equivalencias, restructura el orden de evaluacin de los componentes de la consulta a
fin de mejorar la eficiencia de su ejecucin.

En su texto bsico revise la introduccin del captulo 13 y los apartados 13.1 y 13.2.

Los dos primeros le ofrecen una visin general de la optimizacin, que le permitirn reforzar
lo ya explicado.
El apartado 13.2 detalla todas las reglas de equivalencia que se pueden aplicar en expresiones
de lgebra relacional.

52 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Para propsitos de optimizacin, cada SGBD establece ciertas heursticas (o reglas heursticas), que
no son otra cosa que estrategias basadas en las reglas de equivalencia del algebra relacional, que

NDICE
aconsejan como se debera reestructurar el orden de ejecucin de las operaciones de una consulta
para hacerla ms eficiente. Connolly y Begg (2005), explica algunas de las reglas que podran aplicarse
para optimizar las consultas:

a. Realizar las operaciones de seleccin lo antes posible.

PRELIMINARES
b. Combinar el producto cartesiano con una operacin de seleccin subsiguiente cuyo
predicado represente una condicin de combinacin, para formar una operacin de
combinacin.
c. Utilizar la asociatividad de las operaciones binarias para reordenar los nodos hoja, de modo
que los nodos hoja con las operaciones de seleccin ms restrictivas se ejecuten primero.
d. Realizar las operaciones de proyeccin lo antes posible.

BIMESTRE
PRIMER
e. Calcular una nica vez las expresiones comunes (p.588).

En el Entorno Virtual de Aprendizaje revise el recurso Optimizacin basada en reglas


heursticas. Donde se muestran ejemplos de la aplicacin de estas reglas.

SEGUNDO
BIMESTRE
Como puede ver, estas heursticas lo que buscan es ordenar las operaciones de una consulta expresada
en algebra relacional, para que, al ejecutar ese plan, el SGBD vaya desechando las filas y/o columnas
irrelevantes (innecesarias) lo antes posible, y as reducir el nmero de lecturas y escrituras de bloques de

SOLUCIONARIO
datos al mnimo posible.

Actividad propuesta:

Dada las siguientes relaciones:

BIBLIOGRFICAS
REFERENCIAS
Considere las siguientes consultas, expresadas en lgebra relacional, y para cada una de ellas,
determine como se podran expresar de una forma ms eficiente aplicando reglas heursticas:

GLOSARIO
1.

2.
ANEXOS

Conclusin

Cada SGBD particulariza la aplicacin de estos mtodos y maneja sus propias heursticas y sus propios
algoritmos para el clculo del costo de un plan de ejecucin. En algunos casos combinan ambos mtodos,
es decir, de todos los planes de ejecucin posible, primero filtran algunos aplicando optimizacin basada

53 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

en reglas, luego con los restantes aplican optimizacin basada en costos para elegir el mejor. En otros
casos, el SGBD permite seleccionar el mtodo a aplicar.

NDICE
Una vez el SGBD elige el plan a ejecutar, este es compilado, es decir, es traducido a lenguaje de mquina
o lenguaje intermedio, segn la implementacin; y acto seguido se ejecuta.

La ejecucin es la materializacin del plan; es cuando a travs del sistema operativo, se transfieren

PRELIMINARES
los bloques de datos desde disco a memoria intermedia, se realizan las operaciones de combinacin,
seleccin, proyeccin, ordenacin, etc., segn sea el caso, y se generan los resultados, que a su vez son
enviados al usuario o sistema, que los solicit.

Son procesamientos como este, los que marcan diferencia entre los distintos SGBD, haciendo que unos
tengan mejor desempeo que otros, sobre todo en bases de datos que manejan grandes volmenes de
informacin.

BIMESTRE
PRIMER
4.4. Importancia de los ndices y la memoria intermedia
Hasta ahora hemos estudiado la optimizacin de consulta asumiendo que el SGBD siempre requiere
leer los datos desde almacenamiento secundario (disco) y pasarlos a memoria intermedia; y que para el

SEGUNDO
BIMESTRE
procesamiento no usa ndices.

Pero, como ya se mencion antes, realmente son muchos ms los factores de inciden en el rendimiento
de una consulta y que el motor evala al momento de obtener el plan de ejecucin ms ptimo. Entre
ellos estn, la gestin de la memoria intermedia y los ndices.

SOLUCIONARIO
En el Entorno Virtual de Aprendizaje revise el recurso Factores incidentes en la optimizacin de
consultas. Donde se ilustra y se explica entre otros, el papel que juega la gestin de la memoria
intermedia, y el uso de ndices, en el coste y rendimiento de una consulta.

BIBLIOGRFICAS
Sin duda, los ndices ayudan a acelerar en gran medida obtencin de resultados de una consulta SQL,

REFERENCIAS
pero no olvide que hay el lado negativo: el exceso de ndices en una tabla, puede ralentizar de forma
importante las operaciones de actualizacin de datos. Por lo tanto, siempre se debe analizar si un ndice
es realmente requerido.

En el tema de la memoria intermedia -que diramos es la porcin de RAM asignado para el SGBD- es muy
importante no desaprovechar la memoria libre disponible en nuestro servidor. Mientras ms RAM le
podamos asignar al motor, ms cach dispondr para almacenar y mantener datos y planes de ejecucin. GLOSARIO

Recuerde, si para la consulta recibida, ya existe un plan de ejecucin en memoria intermedia, el


SGBD, no necesitar volver a analizar la consulta, nicamente verificar permisos, y proceder a
ejecutar con el plan guardado.
ANEXOS

4.5. Buenas prcticas SQL


Si el motor ya se encarga de simplificar y optimizar la consulta, entonces, da igual como la escribamos?;
para qu esforzarnos escribiendo ordenadamente, si el SGBD la reordena. No?

No! Como usuario de la base de datos, usted tambin puede ayudar a que las consultas se procesen
eficazmente. Cmo hacerlo?, adoptando buenas prcticas en la codificacin del lenguaje SQL.

54 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

A continuacin, algunas recomendaciones importantes, a tomar en cuenta cuando usted formule


consultas SQL:

NDICE
a. Traer nicamente los datos que necestanos procesar, a veces ese comn la tentacin del
SELECT *, sin limitar seleccin ni proyeccin.
b. Ordenar solo si es necesario. La operacin ORDER BY es una de las operaciones que genera
ms consumo de recursos para su procesamiento.

PRELIMINARES
c. Cualificar los nombres de columna en consultas multitabla. Con ello cuando aparece el
nombre de una columna, el motor no tendr que ir a buscar en todas las tablas que constan
en la clusula FROM
d. En subconsultas, si es posible, usar IN en lugar de NOT IN. Si usa NOT IN el SGBD deber
evaluar la condicin con TODOS los resultados de la consulta, en cambio con IN, solo deber
evaluar hasta que encuentre una coincidencia.

BIMESTRE
PRIMER
e. Usar EXISTS en lugar de IN. Porque IN lo que busca es validar que exista al menos una
coincidencia, EXIST es ms eficiente ya que simplemente evala si el resultado de la
subconsulta es vaco o no vaco. Por ejemplo, en lugar de:

SEGUNDO
BIMESTRE
es mejor:

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
En el 2do caso, no es importante lo que devuelve la subconsulta, solo interesa saber si
devuelve algo o no. En este caso, solo devolver 1 cuando la ciudad de la sucursal coincida
con la ciudad de residencia del cliente que se est evaluando.

Igualmente, a nivel de las expresiones condicionales que se usan en las clusulas WHERE y HAVING hay
algunas recomendaciones muy importantes. Se las expone en la Tabla 2. GLOSARIO
ANEXOS

55 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

Tabla 2. Buenas prcticas para expresiones condicionales

Recomendacin Ejemplo

NDICE
Es ms rpido evaluar la condicin
En lo posible evitar usar PRECIO > COSTO
expresiones o funciones que evaluar
como operando de la PRECIO > COSTO * 1.12.

PRELIMINARES
condicin. En el segundo caso el motor tendr que evaluar primero la expresin aritmtica
y luego comparar.
Es ms rpido comparar
Tomar en cuenta que para
CODIGO = 1285
un SGBD es ms rpido
que comparar
comparar operando
CODIGO=1285
numricos que comparar
Asumiendo claro que en el primer caso CODIGO es tipo entero y el segundo es
fechas, cadenas y otros.

BIMESTRE
tipo cadena.

PRIMER
Tambin tener en cuenta Es ms rpido
que el SGBD compara ms GENERO = M
rpido las igualdades que las que
desigualdades. GENERO <> F
Del punto anterior se

SEGUNDO
BIMESTRE
puede inferir que, en una En lugar de:
condicional conjuntiva TIPO <> REPUESTO AND DESCUENTO = 0.2 AND PRECIO > 200
mltiple, el orden de las usar
comparaciones puede DESCUENTO = 0.2 AND PRECIO > 200 AND TIPO <> RESPUESTO
ser importante, primero Con ello, primero ejecutar la comparacin ms rpida, y luego con el conjunto
deberan ir las igualdades y de filas ya reducido, realizar las otras operaciones.

SOLUCIONARIO
luego las desigualdades.
Suponga, que la siguiente condicin se usa para filtrar las viviendas de una
ciudad, segn la barrio y tipo de vivienda. Y sabemos que los tipos de vivienda
Igualmente, tomando como son dos, mientras que los barrios son 50. En este caso, en lugar de usar:
base la lgica proposicional, TIPO = UNIFAMILIAR AND BARRIO = SAUCES
se puede inferir que, en es mejor usar

BIBLIOGRFICAS
una condicional conjuntiva BARRIO = SAUCES AND TIPO = UNIFAMILIAR

REFERENCIAS
mltiple, es mejor que porque la probabilidad de que 1era condicin sea falsa es de 49/50 = 98%,
la condicin con mayor mientras que en la 2da condicin es 1/2 = 50%. Es decir, es ms probable que no
probabilidad de ser falsa coincida el barrio a que no coincida el tipo, porque en barrio la dispersin es ms
vaya primero. alta. Con ello, al ocurrir que la primera condicin es falsa, por ser una conjuncin,
ya no es necesario evaluar la 2da. Recuerde que con el operador AND si uno de
los operando es falso, el resultado es falso.

GLOSARIO
Aplicando el mismo Para el mismo ejemplo anterior, en lugar de usar:
razonamiento anterior, en BARRIO = SAUCES OR TIPO = UNIFAMILIAR
una condicional disyuntiva usar
mltiple, es mejor que TIPO = UNIFAMILIAR OR BARRIO = SAUCES
la condicin con mayor porque la probabilidad de que coincida el tipo es 1/2=50%, mientras que la
probabilidad de ser probabilidad de que coincida el barrio es 1/50=2%. Y en el caso del OR, si uno de
verdadera, vaya primero. los operando es verdadero, el resultado es verdadero
ANEXOS

En lugar de escribir:
Aunque el SGBD lo suele
NOT (PRECIO > 500 AND MARCA = LG)
corregir en la fase de
es mejor decir (aplicando reglas de equivalencia):
anlisis y traduccin, es
PRECIO <= 500 OR MARCA <> LG
buena prctica evitar usar el
En el primer caso son 4 operaciones las que tiene que evaluar el motor, mientras
operador lgico NOT.
que en el segundo son solo 3.

Como usted puede advertir, no solo es cuestin de escribir ordenadamente; hay mltiples aspectos que
dependen del programador y que inciden en el rendimiento. Sin mencionar el tema de la semntica, que

56 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

como sabemos, su validacin es limitada en el SGBD; es el programador quien sabe lo que desea obtener
y quien debe asegurarse que el enunciado de la consulta se corresponde con lo que necesita.

NDICE
En sistemas de gestin de bases de datos como ORACLE, es posible incluso que el programador, le enve
al optimizador una sugerencia inserta en la consulta SQL. Estas sugerencias (HINTS), le instruyen al
optimizador sobre cmo comportarse a la hora de elegir el plan de ejecucin.

PRELIMINARES
Actividades propuestas:

1. Evale las siguientes expresiones condicionales, y diga cmo se podra mejorar su formulacin:
a. NOT (NUM_PAG < 80 OR EDITORIAL = LIMUSA)
b. NOT (SUELDO < 800) AND COD_POSTAL = 110401
2. Profundice su estudio sobre este tema, para ello investigue a travs de internet u otras fuentes
ms recomendaciones a tener en cuenta al codificar consultas en SQL, de manera que se le

BIMESTRE
PRIMER
facilite el trabajo al motor.
3. Investigue sobre uso de HINTS en ORACLE, identifique cules son los ms importantes y su
aplicacin.

Estimado(a) estudiante, hemos llegado al final de la unidad 4, y con ello cerramos este primer bimestre.
Espero que su estudio le haya resultado muy interesante y provechoso. Que el conocer como ocurre el

SEGUNDO
BIMESTRE
procesamiento de una consulta SQL dentro del SGBD, le sirva para tener ms elementos de juicio a la
hora instalar y configurar un servidor de bases de datos, no pierda vista la importancia de la memoria
intermedia, las estadsticas y los ndices. Y no olvide que, como usuario de bases de datos, el adoptar
buenas prcticas al escribir las consultas, aporta tambin al buen rendimiento de nuestra base de datos.

SOLUCIONARIO
Una vez haya superado su autoevaluacin, ser el momento propicio para repasar todo lo aprendido en
esta primera parte de la asignatura.

Muchos xitos!

BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

57 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

NDICE
Autoevaluacin 4

Una vez concluido el estudio de la presente unidad, le invito desarrollar el siguiente cuestionario, que le

PRELIMINARES
servir para verificar la asimilacin de lo aprendido.

Seleccione la opcin correcta

1. Dentro del procesamiento de una consulta, la fase de optimizacin implica

a. simplificar la estructura del enunciado SQL.

BIMESTRE
PRIMER
b. definir el plan de ejecucin.
c. traducir la consulta a algebra relacional.

2. El coste ms importante de un plan de ejecucin lo determina

a. la velocidad del procesador

SEGUNDO
BIMESTRE
b. el nmero tablas que se deben acceder
c. el nmero de accesos a almacenamiento secundario.

3. La validacin de una consulta contra el diccionario de datos para verificar la estructura de las

SOLUCIONARIO
tablas, se realiza durante la fase de:

a. Anlisis y traduccin
b. Optimizacin
c. Simplificacin

BIBLIOGRFICAS
REFERENCIAS
4. Qu sucede cuando al analizar una consulta, el SGBD encuentra errores semnticos?

a. Devuelve un ERROR al usuario.


b. Simplifica la consulta y prosigue su ejecucin.
c. Retorna un resultado vaco.

GLOSARIO
5. En los criterios de seleccin de consultas SQL, es ms rpido comparar:

a. Operandos numricos
b. Operandos tipo cadena
c. Operandos binarios
ANEXOS

6. Las estadsticas son necesarias cuando para la optimizacin de una consulta se aplica la tcnica de
optimizacin basada en

a. costos
b. reglas
c. estadsticas

58 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada PRIMER BIMESTRE

7. Durante el procesamiento de una consulta, la carga de los bloques de datos desde almacenamiento
secundario a almacenamiento primario se da en la fase de:

NDICE
a. Anlisis y traduccin
b. Optimizacin
c. Ejecucin

PRELIMINARES
8. Los ndices aceleran las operaciones de bsqueda y ordenacin porque

a. se almacenan en memoria RAM, que es ms rpida.


b. disminuyen el nmero de operaciones I/O requeridos para ejecutar una consulta.
c. ocupan poco espacio en disco.

BIMESTRE
PRIMER
9. A qu tipo de anlisis nos referimos, cuando decimos que durante el anlisis y traduccin de una
consulta el SGBD verifica que las condiciones no sean contradictorias?

a. Anlisis lxico
b. Anlisis sintctico

SEGUNDO
c. Anlisis semntico

BIMESTRE
d. Anlisis de eficiencia

10. Una buena prctica SQL es:

a. Ordenar siempre los resultados.

SOLUCIONARIO
b. Evitar el uso de EXISTS en subconsultas.
c. Cualificar los nombres de columna en consultas multitabla.

Recuerde que al final de la gua puede revisar el solucionario para validar sus aciertos y sus errores. Si hay
aspectos en los an tiene dificultad, le animo revisar nuevamente esos temas y apoyarse en la asesora

BIBLIOGRFICAS
REFERENCIAS
que le brinda su tutor.

Ir a solucionario

GLOSARIO
ANEXOS

59 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

SEGUNDO BIMESTRE

NDICE
6.2. Orientaciones especficas para el aprendizaje por competencias

PRELIMINARES
UNIDAD 5. GESTIN DE TRANSACCIONES

BIMESTRE
PRIMER
Estimado(a) estudiante, iniciamos aqu el segundo bimestre de nuestra asignatura, espero que la
experiencia de estudio desarrollada hasta ahora haya sido positiva y motivadora. En esta segunda parte
le invito a reafirmar el compromiso de poner todo su esfuerzo y dedicacin para que este nuevo tramo
que vamos a recorrer, represente una oportunidad para descubrir y desarrollar nuevas experiencias que
fortalezcan su formacin tanto personal como profesional.

SEGUNDO
BIMESTRE
En esta quinta unidad estudiaremos lo referente al procesamiento de transacciones, que es un tema muy
importante de cara al aseguramiento de la integridad de los datos. Veremos lo que es una transaccin,
sus caractersticas y estados, analizaremos como se implementa cada una de las propiedades de una
transaccin, explicaremos como el SGBD gestiona la ejecucin concurrente de transacciones de manera
que se preserve la integridad de la base de datos, y finalmente analizaremos lo que pasa cuando se

SOLUCIONARIO
presentan fallos durante la ejecucin de transacciones y como el SGBD se recupera de ellos.

Al terminar el estudio de esta unidad usted estar en capacidad de identificar y justificar la importancia
de las transacciones como instrumento para garantizar la integridad de los datos, y podr disear
planificaciones de ejecucin concurrente de transacciones que garanticen la integridad y recuperabilidad
de los datos.

BIBLIOGRFICAS
REFERENCIAS
Iniciaremos dando un vistazo general al procesamiento de transacciones.

5.1. Panormica del procesamiento de transacciones


El trmino transaccin ya le debe sonar familiar, es muy usado en el mbito de las bases de datos. De
GLOSARIO
hecho, cuando empezamos a construir una base de datos, durante el estudio preliminar identificamos
tanto requerimientos de datos como transacciones de datos. Desde ese punto de vista (el del usuario)
una transaccin es una accin especfica que se realiza a travs de una aplicacin, por ejemplo: registrar
una venta, registrar un prstamo, comprar un boleto de avin, reservar una habitacin de hotel, etc.
Acciones que a nivel de base de datos implicaran varias operaciones de consulta y actualizacin de
datos.
ANEXOS

En su texto bsico revise los apartados 1.2 y 1.8, donde se ofrece una descripcin del propsito
de los sistemas de bases de datos y una visin general de la gestin de transacciones. Le ayudar
a comprender mejor la importancia de la gestin de transacciones de cara a garantizar la calidad
de los datos

Recuerde que cuando estudiamos la arquitectura de una base de datos (unidad 1), y el componente
de integridad dentro de la seguridad de los datos (unidad 3), ya habamos identificado a la gestin de
transacciones como un elemento clave para asegurar la consistencia de los datos.

60 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Para que comprenda mejor, considere el caso de estudio PEDIDOS que se expone en el Anexo 2, y
pregntese qu sucede en la base de datos cuando se registra un pedido? Pues, sucede que al procesar

NDICE
la transaccin registrar pedido en la base de datos ocurren una serie de actualizaciones:

1. Agregar un nuevo pedido a la tabla PEDIDOS.


2. Agregar los tems solicitados a la tabla ITEMS
3. Actualizar las existencias de los productos ordenados en la tabla PRODUCTOS (control de

PRELIMINARES
stock).
4. Actualizar el monto de ventas para el vendedor que recept el pedido.
5. Actualizar el monto de ventas para la oficina del vendedor.

Para asegurar el xito de la transaccin, esas 5 operaciones deben ejecutarse TODAS de manera sucesiva.
De otra forma se produciran graves errores de inconsistencia en los datos. Pues, qu sucedera si por

BIMESTRE
PRIMER
algn evento no previsto (corte de suministro de energa, o falla en el hardware o error del software, etc.)
el proceso se interrumpiera entre la 4ta y 5ta actualizacin? En ese caso, el pedido quedara registrado
en la base de datos e incluso las existencias de los productos y el monto de ventas del vendedor se
actualizaran correctamente, pero no sucedera lo mismo con las ventas de la oficina conservara el
mismo valor que tena antes del inicio de la transaccin, aun cuando el pedido si fue registrado. Esto

SEGUNDO
BIMESTRE
obviamente provocara una grave inconsistencia en los datos, ya que no se cumplira la premisa de que
las ventas de una oficina deben ser iguales a la suma de las ventas de los empleados de esa oficina.

Ese control -el de asegurar que al procesar una transaccin no se produzcan inconsistencias en los datos-
es responsabilidad del SGBD a travs del componente gestor de transacciones.

SOLUCIONARIO
5.2. Soporte de transacciones
Cntrese ahora en comprender lo que es una transaccin, sus propiedades y los estados que la definen,
desde una perspectiva ms orientada al SGBD.

BIBLIOGRFICAS
REFERENCIAS
En su texto bsico revise la introduccin del captulo 14 y los apartados 14.1 y 14.2. Aprender lo
que es una transaccin de base de datos y sus propiedades.

Como lo expone el autor del texto, una transaccin es una secuencia de una o ms sentencias que juntas
forman una unidad de trabajo o de ejecucin. Y aqu es importante remarcar el trmino unidad, pues
una transaccin constituye una tarea que debe ejecutarse en su totalidad o en su defecto no ejecutarse, GLOSARIO
pero jams ejecutarse de manera parcial.
ANEXOS

61 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

NDICE
PRELIMINARES
BIMESTRE
PRIMER
Figura 14. Ilustracin del concepto de transaccin

SEGUNDO
BIMESTRE
Cada operacin de una transaccin realiza una parte de la tarea, y todas son necesarias para completarla
exitosamente. Por ello, el agrupar un conjunto de operaciones dentro de una transaccin le indica al
SGBD que se trata de una tarea que debe ejecutarse atmicamente para que la base de datos permanezca
en un estado consistente (o todas se efectan o ninguna). El SGBD es responsable de mantener este

SOLUCIONARIO
compromiso incluso si el programa de aplicacin aborta o si se produce un fallo en el hardware a mitad
de la transaccin. Analice la Figura 14 donde se ilustra lo antes expuesto.

Tenga en cuenta que cuando hablamos de operaciones de una transaccin nos referimos a operaciones
del lenguaje del SGBD (SQL en bases de datos relacionales), y especficamente operaciones de consulta
y actualizacin. A estas operaciones las llamaremos simplemente leer y escribir (read y write) a efectos

BIBLIOGRFICAS
de simplificar las explicaciones sobre el procesamiento de transacciones. Leer para hacer referencia a la

REFERENCIAS
consulta de un elemento de dato, y escribir para referirnos a su actualizacin.

Una vez claro el concepto, hablemos de las propiedades. No olvide que toda transaccin debe cumplir 4
propiedades, llamadas propiedades ACID:

Atomicity (Atomicidad): Una transaccin es una unidad de trabajo indivisible, que exige se
ejecuten o todas sus operaciones o ninguna, pero jams solo una parte de ellas. GLOSARIO
Consistency (Consistencia): Una transaccin es una unidad de integridad, por lo que su
ejecucin debe preservar la consistencia de los datos.
Isolation (Aislamiento): Una transaccin es una unidad de aislamiento. Implica que la
ejecucin de una transaccin no debe afectar la ejecucin de otras.
ANEXOS

Durability (Durabilidad): Una transaccin es una unidad de recuperacin. Si la transaccin


se finaliz con xito, los cambios en la base de datos deben ser permanentes.

El SGBD siempre debe garantizar el cumplimiento de las propiedades ACID. Iremos abordando cada una
de ellas con ms detalle.

Las primeras en analizar son las propiedades de atomicidad y durabilidad

62 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

En su texto bsico revise los apartados 14.3 y 14.4. All el autor explica cmo se debe asegurar la

NDICE
atomicidad y durabilidad de las transacciones

Ya hablamos de los medios de almacenamiento en la unidad 2. En este caso, cuando aqu se habla de
almacenamiento estable se refiere al almacenamiento secundario con tolerancia a fallos (RAID 1 en

PRELIMINARES
adelante). Este tipo de almacenamiento es necesario para garantizar la durabilidad de los datos.

Al hablar de atomicidad, en cambio aparecen los posibles estados de una transaccin. La Figura 15
complementa la explicacin de dichos estados y el flujo que entre ellos puede ocurrir; como se ve, una
transaccin termina cuando llega a un estado confirmada4 o abortada.

Cuando ocurre un fallo y la transaccin pasa a estado fallida, el SGBD debe deshacer (hacer rollback) de

BIMESTRE
PRIMER
todos los cambios efectuados hasta ese punto. Cmo lo hace? ... normalmente guarda un registro (un
log) de los cambios hechos el cul le sirve para regresar atrs. Solo pasar a estado abortada cuando se
haya retrocedido en todos los cambios, con ello se habr garantizado la atomicidad de la transaccin,
o todo o nada. Y si una transaccin ha terminado abortndose, entonces se puede optar por reiniciarla
o cancelarla. Se optara por lo primero siempre que el problema no haya correspondido a errores de la

SEGUNDO
BIMESTRE
aplicacin o por incompatibilidad de datos.

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
Figura 15. Estados de una transaccin

La otra propiedad muy importante de las transacciones es el aislamiento, la cual tiene incidencia cuando
el SGBD recibe varas transacciones a la vez y las organiza para que se ejecuten concurrentemente5. Pues
en ese caso surge la pregunta cmo evitar que la ejecucin de una transaccin afecte a otra?, cmo
garantizar el aislamiento? ... lo veremos al discutir el control de concurrencia en bases de datos. GLOSARIO

5.3. Control de concurrencia


La ejecucin concurrente de transacciones es un tema crtico que merece mucha atencin. En sistemas
multiusuario, varios clientes acceden simultneamente a la base de datos y por lo tanto muchas
ANEXOS

transacciones pueden requerir ser ejecutadas por el SGBD de forma simultnea.

4 En bases de datos los trminos confirmada y comprometida son similares.


5 No confundir concurrencia con paralelismo. El paralelismo implica ejecutar literalmente varios procesos al mismo tiempo,
requiere capacidades de multiprocesamiento. La concurrencia en cambio implica realizar simultneamente dos o ms
tareas, pero alternando en el tiempo la ejecucin de operaciones de una y otra.

63 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

En su texto bsico revise el apartado 14.5, donde se explica porque es necesario permitir la
ejecucin concurrente de transacciones y control que debe realizar el SGBD para que dicha

NDICE
ejecucin asegure la propiedad del aislamiento en cada transaccin.

Lo ms sencillo sera que el SGBD no admita la concurrencia, y en el evento de que varias transacciones
lleguen al mismo tiempo, las ponga en cola, y ejecute solo una transaccin a la vez. Esto sin duda

PRELIMINARES
garantizara la consistencia de los datos, pero no sera eficiente, porque si la ejecucin es secuencial, la
dispersin en los tiempos de respuesta a los usuarios podra ser muy alta.

Lo ms adecuado en este caso, entonces, es que varias transacciones se ejecuten concurrentemente


(alternando operaciones de distintas transacciones).

El problema de la concurrencia radica en que si no se la administra adecuadamente puede provocar

BIMESTRE
PRIMER
inconsistencias en la base de datos. La Figura 16 demuestra el riesgo que se corre cuando el SGBD
ejecuta concurrentemente dos transacciones que acceden y modifican la tabla PRODUCTOS del caso
de estudio PEDIDOS (Anexo 2). Para este caso en un inicio ambas transacciones asumen que hay en
existencias 200 unidades del producto 3-8; la transaccin A recepta un pedido por 100 unidades de
ese producto, mientras que la transaccin B acepta en cambio uno por 150 unidades, pues en las dos

SEGUNDO
BIMESTRE
transacciones se supone que hay suficiente stock, aun cuando sabemos que esto no es cierto ya que
ambos pedidos suman 250 unidades. Esto en primera instancia ya es un problema, en vista que se est
violando una regla del negocio que dice que no se puede aceptar pedidos ms all del stock existente.
Pero el problema mayor radica en el estado de inconsistencia en que queda la base de datos al final de
la ejecucin de ambas transacciones. Si se aceptan pedidos por 250 unidades y en stock haban 200 el

SOLUCIONARIO
saldo al final debera ser 50 y no 50 como se ha dado en este caso. Aun cuando se haya violado la regla
del negocio ya mencionada, no se puede aceptar tal estado de inconsistencia en la base de datos.

BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

Figura 16. El riesgo en la ejecucin concurrente de transacciones

64 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Sin embargo, como ya dijimos las ejecuciones concurrentes son necesarias y es tarea del SGBD controlar
dicha concurrencia para evitar que viole el aislamiento y se destruya la consistencia de los datos. Para

NDICE
ello debe evaluar y elegir un esquema de ejecucin que asegure el aislamiento.

La secuencia en la que se programa la ejecucin de las operaciones de distintas transacciones se


denomina planificacin. Por ejemplo: para el caso de la Figura 16, la planificacin sera la que se muestra
en la Figura 17.

PRELIMINARES
Figura 17. Ejemplo planificacin

BIMESTRE
PRIMER
Un tipo de planificacin es la llamada planificacin secuencial que es similar a ejecutar una transaccin a
la vez (sin concurrencia). Para el caso que estamos analizando una posibilidad de planificacin secuencial
es <Transaccion A -> Transaccion B>, Figura 18.

SEGUNDO
BIMESTRE
Figura 18. Ejemplo planificacin secuencial

SOLUCIONARIO
La planificacin secuencial garantiza la consistencia de los datos, pero no constituye una ejecucin
concurrente. Lo que se necesita es una planificacin que permita la ejecucin concurrente y que obtenga
los mismos resultados que una planificacin secuencial.

Aqu es importante aclarar, que, para efectos de evaluar una planificacin concurrente, las operaciones

BIBLIOGRFICAS
REFERENCIAS
que nos van a interesar realmente son leer (consulta) y escribir (agregacin, modificacin o eliminacin).
Esto porque durante el acceso a la base de datos (para consultar o actualizar) es cuando pueden
presentarse conflictos entre transacciones que estn operando sobre un mismo elemento. En SQL
estndar la operacin leer est asociada a la sentencia de consulta SELECT, y la operacin de escribir est
asociada en cambio a las operaciones INSERT, DELETE y UPDATE.

GLOSARIO
Secuencialidad

La secuencialidad es la propiedad que una planificacin concurrente debe cumplir con el fin de asegurar
la consistencia de los datos, debiendo para ello ser equivalente6 a una planificacin secuencial. Lo que se
conoce como planificacin secuenciable7.
ANEXOS

Para elaborar una planificacin concurrente secuenciable se debe partir de una planificacin secuencial,
a partir de la cual se va intercalando el orden de ejecucin de las instrucciones de una y otra transaccin
conservando siempre la propiedad de secuencialidad de la planificacin resultante.

Pero, cmo saber si se conserva la secuencialidad? La respuesta est en el estudio de las formas de
secuencialidad existente, las que nos dan normas que debemos considerar al momento de intercalar las
operaciones.

6 Dos planificaciones se consideran como equivalentes si ambas derivan en el mismo resultado


7 Algunos autores usan los trminos serie en lugar de secuencial, y serializable en lugar de secuenciable.

65 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Son dos las formas de secuencialidad o serializabiliadad existentes:

1. Secuencialidad en cuanto a conflictos

NDICE
2. Secuencialidad en cuanto a vistas

Secuencialidad en cuanto a conflictos

PRELIMINARES
Revise en su texto bsico el apartado 14.6. All el autor explica con detalle cmo se construye y
como se valida una planificacin secuenciable en trminos de conflictos. No pierda de vista los
procedimientos que all se explican.

Dicho de otra manera, en la secuencialidad en trminos de conflictos dos instrucciones consecutivas


de diferentes transacciones se pueden intercalar si no existe conflicto entre ellas. Y existe conflicto

BIMESTRE
PRIMER
solo cuando ambas operan sobre el mismo elemento de dato y al menos una de ellas lo escribe. Para
complementar lo explicado en el texto se veamos dos ejemplos ms.

EJEMPLO 1: Consideremos dos transacciones A y B dentro de nuestro caso de estudio PEDIDOS; las
cuales actualizan los montos de ventas (en OFICINAS y en EMPLEADOS), una vez receptados dos pedidos
del mismo vendedor por un importe de 2000 y 5000 dlares respectivamente. Se asume que son

SEGUNDO
BIMESTRE
transacciones que se ejecutan de forma simultnea. La Figura 19 muestra una planificacin secuencial
para la ejecucin concurrente de estas dos transacciones asumiendo que la transaccin A se ejecuta
primero.

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
Figura 19. Planificacin secuencial para ejemplo 1

Como ya se aclar lo que interesa para efectos de planificacin son solo las operaciones de leer y escribir, GLOSARIO
el resto de operaciones se deben ejecutar indistintamente dentro de la ejecucin concurrente, pero eso
s conservando la misma posicin dentro de la transaccin a la que pertenecen. La planificacin P1 de la
Figura 20 muestra la misma planificacin, pero excluyendo las operaciones de clculo.
ANEXOS

66 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

NDICE
PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Figura 20. Planificaciones para ejemplo 1

Ahora analicemos las instrucciones de esta planificacin. Para lograr una planificacin concurrente

SOLUCIONARIO
necesitamos intercalar instrucciones consecutivas de la transaccin A y B. En este caso las instrucciones
4 y 5 son consecutivas y estn en distintas transacciones. En vista que acceden a distinto elemento de
dato aun cuando una de ellas es una operacin escribir no presentan conflicto, por lo tanto, podemos
intercambiar su orden de ejecucin y la planificacin quedara como lo refleja la planificacin P2 de la
Figura 20. Igual intercambio podemos hacer entre las instrucciones 3 y 4 y entre las instrucciones 5 y 6
de P2; y posteriormente entre las instrucciones 4 y 5 de P3. La planificacin concurrente al final quedara

BIBLIOGRFICAS
REFERENCIAS
como la mostrada en P4. Y no se puede realizar ningn otro intercambio puesto que para todas las
posibilidades existe conflicto. Por ejemplo: las instrucciones 2 y 3 acceden al mismo elemento de datos
(OFICINAS.VENTAS) y la primera es una operacin de escritura por lo tanto existe conflicto entre ellas. La
planificacin resultante (P4) se dice que es secuenciable en cuanto a conflictos.

Ntese que solo se cambia es el orden de ejecucin de las operaciones, pero cada operacin se mantiene
GLOSARIO
en la transaccin a la que pertenece conservando su posicin.

EJEMPLO 2: Veamos ahora la comprobacin de la secuencialidad en trminos de conflictos. Considere


las siguientes transacciones:

T1 T2 T3
ANEXOS

escribir(X) leer(X) leer(X)


leer(Y) escribir(X) escribir(Y)
escribir(Y) escribir(Y)

La Figura 21 muestra 3 posibles ejecuciones concurrentes de esas 3 transacciones. Y queremos saber si


esas planificaciones son secuenciables en cuanto a conflictos, para ello por cada planificacin se elabora
un grafo de precedencia de acuerdo al procedimiento explicado en el texto bsico (Figura 22), si el grafo
contiene algn ciclo no es secuenciable. En este ejemplo la planificacin (a) no es secuenciable, (b) y

67 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

(c) si lo son; (b) es secuenciable en trminos de conflictos respecto a T1 -> T2 -> T3, mientras que (c) es
secuenciable respecto a T2 -> T1 -> T3.

NDICE
PRELIMINARES
Figura 21. Planificaciones concurrentes ejemplo 2

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
Figura 22. Grafos de precedencia planificaciones ejemplo 2

Actividad propuesta:

Dadas las siguientes transacciones:

BIBLIOGRFICAS
REFERENCIAS
1. Partiendo de la planificacin secuencial T1 -> T2 -> T3 -> T4. Construya una planificacin
secuenciable en trminos de conflictos.
2. Usando grafos de precedencia valide la planificacin resultante del punto anterior para
verificar que en efecto es secuenciable en cuanto a conflictos. GLOSARIO

Secuencialidad en cuanto a vistas

Otra forma de obtener planificaciones secuenciables es a travs de la secuencialidad en cuanto a vistas.


Las condiciones para que una planificacin concurrente sea equivalente la planificacin secuencial en
ANEXOS

cuanto a vistas son bastante sencillas y se resumen aqu.

1. En ambas planificaciones (en la concurrente y en la secuencial) debe cumplirse que el valor


original de un mismo elemento de dato debe ser accedido o ledo por la misma transaccin
(en caso de que exista una operacin de lectura).
2. Si en la planificacin secuencial existen dos instrucciones de diferentes transacciones donde
la una escribe un elemento de datos y la otra lee el valor del mismo elemento que fue escrito
por la anterior, el orden de estas dos instrucciones debe mantenerse en la planificacin
concurrente.

68 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

3. En ambas planificaciones la transaccin que escribe el valor final de un elemento de datos


debe ser la misma.

NDICE
Siempre que estas condiciones se cumplan podemos intercalar instrucciones y obtendremos una
planificacin secuenciable en cuanto a vistas.

En este caso no es necesario que las operaciones objeto de intercambio, sean operaciones consecutivas.

PRELIMINARES
Es posible intercalar operaciones no consecutivas siempre que se cumplan las condiciones antes
mencionadas, y obviamente que adems cada operacin conserve la misma posicin dentro de la
transaccin a la que pertenece.

Veamos un ejemplo. En la Figura 23 se muestran dos planificaciones equivalentes en cuanto a vistas


siendo la segunda una planificacin secuenciable en cuanto a vistas ya que se deriva de una planificacin
secuencial.

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Figura 23. Planificaciones equivalentes en trminos de vistas

SOLUCIONARIO
Para nuestro ejemplo desde el punto de vista de la secuencialidad en cuanto a conflictos la operacin
escribir(A) de la transaccin B esta en conflicto con la operacin escribir(A) de la transaccin A por lo que
no sera posible realizar un cambio entre ellas; pero desde el punto de vista de la secuencialidad en cuanto
a vistas esto es posible ya que la escritura final del elemento de datos A lo realiza la transaccin C siendo

BIBLIOGRFICAS
esta una escritura a ciegas, es decir que no importa el valor de A generado por las otras transacciones.

REFERENCIAS
Se cumple entonces para el ejemplo todas las condiciones de la secuencialidad en cuanto a vistas:

1. En ambas planificaciones es la transaccin A la que lee el valor inicial de elemento de datos


A.
2. En ambas planificaciones la transaccin B lee el valor del elemento B producido por la
transaccin A, al igual que la transaccin C lee el elemento B producido por la transaccin B. GLOSARIO
3. En ambas planificaciones es la transaccin C la que escribe el valor final del elemento de
datos A y es la transaccin B la que escribe el valor final del elemento de datos B.
ANEXOS

69 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Actividad propuesta:

Complemente la prctica de la secuencialidad en trminos de vista, consultado otros recursos y

NDICE
ejemplos. Luego, analice la siguiente planificacin y determine si es secuenciable en trminos de
vistas respecto a la planificacin secuencial T1 -> T2 -> T3 -> T4

PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Al momento de buscar como intercalar instrucciones en una planificacin secuencial para obtener
otra equivalente y concurrente se puede aplicar conceptos de todas las formas de secuencialidad, lo

SOLUCIONARIO
importante es que al final la planificacin resultante sea secuenciable. Toda planificacin secuenciable
en trminos de conflictos lo es tambin en trminos de vistas, pero no al contrario.

Tanto las planificaciones concurrentes que son secuenciables en cuanto a conflictos como las que son
secuenciables en cuanto a vistas, garantizan la consistencia en los datos siempre y cuando la ejecucin
concurrente concluya con xito y no exista ningn fallo. Pero sabemos que esto no siempre es as, por lo

BIBLIOGRFICAS
tanto, la planificacin concurrente debe tambin contar con otra propiedad que es la recuperabilidad

REFERENCIAS
en caso de fallos.

Uso de bloqueos para implementacin del aislamiento

La secuencialidad, es una de las herramientas que los SGBD usan para asegurar el aislamiento de
las transacciones, tal que en una ejecucin concurrente se organicen las operaciones de manera
que el resultado individual de cada transaccin no se vea afectado al alternar la ejecucin con otras GLOSARIO
transacciones. Complementariamente los SGBD usan una figura denominada bloqueo a travs del cual
cuando una transaccin accede a un elemento de datos, este adquirir un estatus especial de reserva
denominado bloqueo, por el cual solo una transaccin puede operar un elemento al mismo tiempo.
ANEXOS

Dirjase a su texto bsico y revise los apartados 14.8 y 14.9, y el captulo 15 hasta el apartado 15.2.
Comprender como la secuencialidad y el uso de bloqueos se complementan para asegurar el
aislamiento de las transacciones. Conocer tambin los tipos de bloqueo existentes.

5.4. Recuperacin de la base de datos


La recuperabilidad es la propiedad que debe cumplir cualquier ejecucin concurrente de manera que
asegure la atomicidad de las transacciones en caso de fallo.

70 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Revise en su texto bsico el apartado 14.7. All el autor explica las condiciones que debe cumplir

NDICE
una planificacin secuenciable para ser considerada adems recuperable.

La Figura 24 muestra otro caso que permite evidenciar el problema de planificaciones no recuperables.
Analice la planificacin (a), en este caso T2 lee el valor de A que escribi T1, por lo tanto, T2 depende de

PRELIMINARES
T1, y por razn similar T3 depende de T2. Si la transaccin T1 falla justo antes de la ltima operacin, por
la propiedad de atomicidad T1 debe deshacerse totalmente, al hacerlo quedara ya sin efecto la escritura
de A que realiz T1, por lo que la lectura de A que hizo T2 ya no sera consistente, por lo que tambin se
debe abortar T2 (no hay problema porque T2 an no ha finalizado). El problema es T3, ya que al abortar
T2 la lectura de A que hizo T3 tampoco es consistente, se debera abortar T3 tambin, pero no es posible
ya que, en el momento del fallo ya haba finalizado. Esto sin duda provoca una grave inconsistencia.

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
Figura 24. Ejemplo planificacin no recuperable y recuperable

BIBLIOGRFICAS
REFERENCIAS
Toda planificacin debe ser recuperable, y para que ello se cumpla el compromiso de las transacciones
dependientes debe ocurrir despus del comprometimiento de las transacciones de las que dependen.
Tal como se muestra en la planificacin (b) de la Figura 24.

Para asegurar la consistencia y atomicidad en una ejecucin concurrente no solo es necesaria una
planificacin secuenciable sino tambin recuperable.
GLOSARIO
Revise tambin el captulo 16 del texto bsico hasta el apartado 16.4 para que pueda comprender
como en la prctica el SGBD logra asegurar la atomicidad de las transacciones. Es decir, como ante
un fallo logra deshacer operaciones que ya fueron ejecutadas.
ANEXOS

71 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Actividad propuesta:

Considere las transacciones A, B y C que se muestran a continuacin:

NDICE
Transaccin A Transaccin B Transaccin C

leer(A) leer(C) leer(B)

PRELIMINARES
C=A A=B A=B

escribir(C) escribir(A) escribir(A)

leer(B) B=B+C leer(C)

A=A+B escribir(B) C=A-B

BIMESTRE
PRIMER
escribir(A) escribir(C)

Suponga que estas tres transacciones se ejecutan concurrentemente y necesitamos establecer


una planificacin para su ejecucin. Realice entonces lo siguiente:

a. Elija a su criterio una planificacin secuencial para la ejecucin de estas tres transacciones.

SEGUNDO
BIMESTRE
b. Tomando como punto de partida la planificacin secuencial del punto anterior, aplique
los conceptos de secuencialidad y recuperabilidad y construya una planificacin
concurrente que garantice la secuencialidad y recuperabilidad.

Nota. - No interesa un tipo de secuencialidad especfico puede ser cualquiera de los estudiados

SOLUCIONARIO
e incluso ambos. No olvide hacer constar cual fue la planificacin secuencial que le sirvi como
punto de partida.

5.5. Definicin de transacciones en SQL


En SQL estndar se especifica que una transaccin SQL comienza automticamente con la primera

BIBLIOGRFICAS
REFERENCIAS
sentencia SQL ejecutada por un usuario o un programa. La transaccin continua con las sentencias
subsiguientes hasta que finaliza a consecuencia de cualquiera de los siguientes escenarios:

Una sentencia COMMIT finaliza la transaccin con xito, haciendo que los cambios a la base
de datos sean permanentes. Una nueva transaccin comienza inmediatamente despus de
la sentencia COMMIT.

GLOSARIO
Una sentencia ROLLBACK aborta la transaccin deshaciendo las modificaciones que haya
efectuado a la base de datos. Una nueva transaccin comienza inmediatamente despus
de la sentencia ROLLBACK.
La terminacin de un programa con xito (para SQL programado) tambin finaliza la
transaccin correctamente, igual que si hubiera ejecutado una sentencia COMMIT.
La terminacin anormal del programa (para SQL programado), tambin aborta la transaccin,
ANEXOS

del mismo modo que si hubiera ejecutado una sentencia ROLLBACK.

Algunos SGBD adaptan el modelo de transacciones de SQL estndar para proporcionar capacidades
adicionales. La Figura 25 nos muestra un ejemplo de transacciones de los SGBD Sybase y Oracle.

En el caso de Sybase se incluyen cuatro sentencias de procesamiento de transacciones:

La sentencia BEGIN TRANSACTION seala el comienzo explcito de la transaccin.


La sentencia COMMIT TRANSACTION seala el final con xito de una transaccin

72 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

La sentencia SAVE TRANSACTION establece un punto de guarda a mitad de una transaccin.


Sybase guarda el estado de la base de datos en un punto actual de la transaccin y le asigna

NDICE
al estado guardado un nombre de punto de guarda, especificado en la sentencia.
La sentencia ROLLBACK TRANSACTION tiene dos papeles. Si se designa un punto de guarda
en la sentencia ROLLBACK Sybase deshace los cambios de la base de datos efectuados desde
el punto de guarda. Si no hay ningn punto de guarda designado la sentencia ROLLBACK
deshace los cambios desde la sentencia BEGIN TRANSACTION.

PRELIMINARES
El mecanismo de punto de guarda de Sybase es usado por muchos SGBD y es especialmente til en
transacciones complejas que contienen muchas sentencias. Oracle de hecho maneja conceptos
parecidos, la principal diferencia es que Oracle se adapta ms al estndar establecido (la transaccin
inicia automticamente con la primera sentencia SQL).

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
Figura 25. El modelo de transaccin de Sybase vs Oracle

Hemos concluido el estudio de la unidad 5, espero le haya parecido interesante, y le haya permitido
evidenciar la importancia que tiene la gestin de transacciones de cara a garantizar la integridad de la
base de datos. Todo SGBD debe implementar este tipo de controles.
ANEXOS

Le invito a avanzar con el mismo inters por descubrir nuevos retos

nimo y adelante!

73 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

NDICE
Autoevaluacin 5

Una vez concluido el estudio de la presente unidad, le invito desarrollar el siguiente cuestionario, que le

PRELIMINARES
servir para verificar la asimilacin de lo aprendido.

Seleccione la opcin correcta

1. Cuando se presenta un problema durante la ejecucin de una transaccin, sta pasa a un estado
de:

BIMESTRE
PRIMER
a. Abortada
b. Fallida
c. Terminada

2. Aquella planificacin en la cual se ejecuta una sola transaccin a la vez, se la denomina:

SEGUNDO
BIMESTRE
a. Concurrente
b. Secuencial
c. Secuenciable

SOLUCIONARIO
3. La operacin leer en una transaccin, en SQL est asociada a la sentencia:

a. SELECT
b. UPDATE
c. READ

BIBLIOGRFICAS
REFERENCIAS
4. Para garantizar la serializabilidad de las transacciones concurrentes se emplean mtodos de
bloqueo, uno de ellos es el bloqueo exclusivo el cual consiste en que si una transaccin tiene un
bloqueo exclusivo sobre un elemento de datos

a. solamente podr leer el elemento.


b. podr leer y actualizar el elemento.

GLOSARIO
c. no podr acceder al elemento de datos.

5. La propiedad del aislamiento podra verse comprometida sobre todo cuando el SGBD ejecuta a
la vez

a. solo una transaccin.


ANEXOS

b. varias transacciones que acceden a distintos elementos de datos.


c. varias transacciones que acceden a un mismo elemento de datos.

6. Todas las actividades de actualizacin de datos durante el procesamiento de una transaccin, se


guardan en un log o registro histrico, que luego sirve para poder

a. deshacer la transaccin.
b. guardar la transaccin
c. confirmar la transaccin

74 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

7. Para asegurar la consistencia y atomicidad en una ejecucin concurrente de transacciones se


necesita:

NDICE
a. Una planificacin secuenciable
b. Una planificacin secuencial
c. Una planificacin secuencial y adems recuperable

PRELIMINARES
d. Una planificacin secuenciable y adems recuperable

8. Si en una planificacin concurrente falla una transaccin de la cual dependen otras,

a. deben deshacerse la transaccin que fall y todas las que dependan de ella
b. deben deshacerse todas las transacciones de la planificacin concurrente
c. solo debe deshacerse la transaccin que fall

BIMESTRE
PRIMER
d. solo deben deshacerse las transacciones dependientes de la que ha fallado
e. no debe deshacerse ninguna transaccin

9. A nivel de bases de datos, una transaccin es:

SEGUNDO
BIMESTRE
a. Una operacin SQL
b. Una unidad lgica de trabajo
c. Un formulario de ingreso de datos
d. Una funcionalidad de una aplicacin

SOLUCIONARIO
e. Una operacin financiera

10. La propiedad que debe cumplir una ejecucin concurrente de transacciones para asegurar la
consistencia de los datos, se denomina:

a. Atomicidad

BIBLIOGRFICAS
b. Consistencia

REFERENCIAS
c. Durabilidad
d. Secuencialidad

Recuerde que al final de la gua puede revisar el solucionario para validar sus aciertos y sus errores. Si hay
aspectos en los an tiene dificultad, le animo revisar nuevamente esos temas y apoyarse en la asesora

GLOSARIO
que le brinda su tutor.

Ir a solucionario
ANEXOS

75 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

UNIDAD 6. AFINACIN Y MONITOREO DE LA BASE DE DATOS

NDICE
Estimado(a) estudiante, avanzando en nuestra asignatura, corresponde ahora discutir sobre lo que
significa afinar y monitorear un sistema de bases de datos. Veremos cuando corresponde hacerlo y como
evaluar y superar los problemas de rendimiento.

PRELIMINARES
Con el estudio de esta unidad usted estar en capacidad de evaluar y proponer acciones para mejorar el
desempeo de una base de datos.

Empecemos con una visin general de lo que es el afinamiento de una base de datos.

6.1. Panormica de la afinacin de una base de datos

BIMESTRE
PRIMER
Primero recordemos lo que se hacemos en el diseo fsico: (a) traducir el modelo lgico a lenguaje de
base de datos, (b) identificar y definir ndices, (c) definir la organizacin fsica de los datos, y (d) definir
especificaciones de seguridad.

Una vez se ha concluido el diseo fsico se procede con la fase de implementacin y carga de la base de

SEGUNDO
BIMESTRE
datos, esto es:

Instalar infraestructura hardware (servidor) y software (sistema operativo y el SGBD).


Crear y configurar la base de datos (esquema, estructuras fsicas, tablas, ndices, etc.) con
todas las especificaciones resultantes del diseo.

SOLUCIONARIO
Cargar los datos de partida.

Luego, una vez implementada la base de datos, se procede con la fase de prueba y evaluacin, en la cual,
entre otras, se realizan pruebas de rendimiento desde la aplicacin y de forma directa. Como resultado
podra ser necesario tener que realizar algunos ajustes a la instalacin inicial con el fin de garantizar
seguridad y rendimientos idneos. Eso es lo que se conoce como afinamiento de la base de datos.

BIBLIOGRFICAS
REFERENCIAS
Una vez realizados los ajustes que hagan falta, se vuelve a realizar las pruebas, hasta que sean exitosas.
Luego si, la base de datos entrar en operacin y pasar a la ltima fase del ciclo de vida que es el
mantenimiento o monitoreo permanente.

Si el diseo lgico y fsico fueron bien hechos, sern mnimos los ajustes a realizar durante las pruebas,

GLOSARIO
si al contrario el diseo fue mal ejecutado, es muy probable que se tenga que corregir incluso desde el
diseo conceptual.

Muchas veces cuando nos topamos con problemas de rendimiento de base de datos, lo primero que
asumimos es que se debe a problemas del servidor (mal instalado, mal configurado, falto de recursos,
etc.). Eso es un error, no debemos buscar fallas en la implementacin fsica de la base de datos, sin antes
ANEXOS

descartar posibles causas originadas en un mal diseo lgico o en un mal uso del lenguaje SQL.

6.2. Afinacin SQL


En la unidad 4 usted aprendi acerca de los factores que inciden en el rendimiento de las consultas
SQL, que es realmente la operacin ms crtica y en la que se suelen evidenciar los problemas de
rendimiento. Tambin en la misma unidad discutimos sobre las buenas prcticas SQL. La idea es que
aqu complementemos lo que ya conocemos, con algunas otras consideraciones que nos plantea
Silberschatz et al. (2014).

76 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

En su texto bsico revise los apartados 24.1.1 y 24.1.2. All el autor expone algunas consideraciones
y recomendaciones tendientes a mejorar el rendimiento de operaciones SQL. Recomendaciones

NDICE
inherentes al uso del lenguaje.

Sobre el tema de las cargas masivas que menciona el autor, esto es crtico cuando manejamos grandes
volmenes de datos y queremos por ejemplo replicar cierta informacin, o recuperar un respaldo ante

PRELIMINARES
un fallo del servidor. Es muy importante que al momento que seleccionamos el SGBD a usar, se evale las
prestaciones que tiene para este tipo de operaciones. Muchos SGBD proveen mecanismo para exportar
e importar los datos en formato binario, que es bastante eficiente. Y en efecto, si la carga masiva se hace
con sentencias de insercin la demora puede ser muy alta, principalmente porque al ejecutar un INSERT
el SGBD normalmente debe hacer validaciones de integridad, actualizar ndices y registrar los detalles
de la operacin en un log o registro histrico; en un INSERT individual ello no es perceptible, pero en

BIMESTRE
millones de registros acarrea mucha demora.

PRIMER
Recuerde, la mejor manera de optimizar el rendimiento de la base de datos es:

Primero, realizar un buen diseo.


Segundo, hacer buen uso del lenguaje de base de datos, adoptando buenas prcticas en su

SEGUNDO
codificacin.

BIMESTRE
Adems, tambin considerar lo siguiente:

Evitar que la consulta SQL traiga ms datos de lo que necesita.

SOLUCIONARIO
Usar paginacin en la visualizacin de listas de informacin.
Optimizar la apertura de sesiones que la aplicacin realiza en el SGBD. Evitar abrir demasiadas
sesiones que permanecen inactivas por largo tiempo.
Si es necesario, trasladar cierta lgica de la aplicacin a la base de datos (stored procedures).

Actividad propuesta:

BIBLIOGRFICAS
REFERENCIAS
Con base en lo estudiado en la Unidad 4 y a lo explicado en este apartado. Realice un mapa
mental que clasifique y detalle las buenas prcticas que un programador debe observar en la
codificacin del lenguaje SQL.

6.3. Afinacin del esquema lgico


No es deseable que luego implementar la base de datos se requiera modificar el diseo lgico, ya que GLOSARIO
como mencionamos en la unidad 1 un cambio en este punto implica muy probablemente realizar
correcciones en las aplicaciones que acceden a la base de datos. Sin embargo, puede darse, y si se da
debera ser durante la etapa de prueba y evaluacin (ver Figura 2) cuando an se est a tiempo de corregir
las aplicaciones.
ANEXOS

En el caso de bases de datos relacionales, la afinacin del esquema lgico implica modificar la estructura
de las tablas (agregar/eliminar campos, crear nuevas tablas, cambiar tipos de datos, etc.). Y puede ser
necesaria cuando se detectan problemas de rendimiento o de inconsistencia en los datos.

En su texto bsico revise el apartado 24.1.6. Donde el autor le explica algunos trucos o cambios
que se pueden introducir en el esquema lgico para mejorar el rendimiento.

77 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Quiz el truco ms conocido y usado es la desnormalizacin, que implica ir atrs en lo ya normalizado.


Aqu la diferencia entre los dos conceptos:

NDICE
Normalizar: Optimizar el diseo para eliminar redundancia de la base de datos.
Desnormalizar: Modificar el diseo para introducir redundancia en la base de datos.

Observe la Figura 26 donde se ilustra lo antes expuesto.

PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
Figura 26. Normalizar vs desnormalizar

BIMESTRE
La desnormalizacin busca mejorar tiempos en operaciones de consulta, reduciendo el nmero de
tablas involucradas. Implica descender a 2FN o 1FN (tablas con redundancia de datos). Pero debe tener
mucho cuidado, dado que la introduccin de redundancia puede implicar demoras en operaciones de
actualizacin.

SOLUCIONARIO
Veamos las tcnicas de desnormalizacin y sus formas de aplicacin.

En el Entorno Virtual de Aprendizaje revise el recurso Tcnicas de desnormalizacin. All usted


encontrar una explicacin detallada de cundo y cmo se aplica cada de una de las tcnicas.

BIBLIOGRFICAS
REFERENCIAS
De las tcnicas estudiadas, quiz las ms comunes son:

Inclusin de atributos derivados.


Atributos multivaluados (grupos repetitivos).
Combinacin de tablas con asociacin 1:1. GLOSARIO

Como decamos, hay que tener mucho cuidado al desnormalizar, pues se podra afectar a la integridad
de la base de datos. Tome en cuenta algunas recomendaciones:

Debe considerase solo cuando la mejora de rendimiento es muy significativa.


ANEXOS

Si el objetivo es nicamente reducir complejidad de consultas, usar VISTAS.


Tener cuidado que la redundancia no implique demoras en actualizaciones.
Si la tasa de consultas se vuelve demasiado alta, se debe pensar en usar ms bien un almacn
de datos.
La desnormalizacin debe usarse como recurso excepcional.

78 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Actividades propuestas:

1. Suponga que tenemos la tabla MATRICULAS con los atributos (idMatricula, fecha, estudiante,

NDICE
periodoAcademico, costoCurso, tasaAdministrativa, descuento). Donde cada vez que
necesitamos listar las matrculas debemos calcular el importe total, as:

PRELIMINARES
Cul es la tcnica de desnormalizacin que se podra aplicar en este caso para que la ejecucin
de la consulta sea ms eficiente? Cmo quedara la tabla desnormalizada? Cmo quedara la
consulta luego de desnormalizar?

2. Dadas las siguientes tablas.

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
Suponga que casi siempre requerimos consultar la informacin de los proyectos y sus integrantes,
as:

BIBLIOGRFICAS
REFERENCIAS
Cul tcnica de desnormalizacin aplicara para simplificar esta consulta, de manera que sea ms
eficiente? Cmo quedaran las tablas desnormalizadas? Cmo quedara la consulta luego de
desnormalizar?

3. Propngase algn ejemplo en el sera idneo aplicar la tcnica atributos multivaluados.

GLOSARIO
6.4. Anlisis de los problemas de rendimiento
Si el problema de rendimiento no radica ni en la aplicacin (mal uso del lenguaje o mal manejo de
sesiones) ni en el diseo conceptual y lgico, entonces corresponde evaluar la implementacin fsica de
la base de datos (servidor y red de datos).
ANEXOS

En su texto bsico revise el apartado 24.1.3. Donde se exponen las consideraciones a tener en
cuenta para identificar los cuellos de botella que podran estar afectando al rendimiento de la base
de datos.

Como explica el autor, a nivel de aplicacin podra haber problemas originados en la codificacin de
la misma sin que tenga relacin con la base de datos. Sera necesario entonces tambin descartar
problemas de ese tipo. Tenga en cuenta que los problemas de rendimiento que percibe el usuario final

79 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

son en la aplicacin que usa, lo que no necesariamente implica mal rendimiento de la base de datos,
pero ciertamente es un factor.

NDICE
Coronel et al. (2011), nos dice que en general hay 5 componentes que causan los cuellos de botella:

CPU: La potencia de procesamiento de la CPU del SGBD debe coincidir con la carga de
trabajo esperada del sistema

PRELIMINARES
RAM: El SGBD asigna memoria para uso especfico, como cach de datos y cach de SQL. Si
no hay suficiente RAM disponible, mover datos entre los componentes que compiten por
RAM escasa puede crear un cuello de botella
Disco duro: Otras causas comunes de los cuellos de botella son la velocidad del disco duro
y las tasas de transferencia de datos
Red: En un entorno de base de datos, el servidor de base de datos y los clientes estn

BIMESTRE
PRIMER
conectados a travs de una red. Cuando muchos nodos de red acceden a la red al mismo
tiempo, es probable que existan cuellos de botella.
Cdigo de la aplicacin: Una de las fuentes ms comunes de cuellos de botella es el cdigo
de aplicacin mal escrito (p.453).

SEGUNDO
Actividad propuesta:

BIMESTRE
Con base en lo estudiado y complementado con su propia investigacin, liste las posibles causas
de los problemas de rendimiento de una base de datos, y determine en qu orden usted las
ira evaluando, de manera que se aproveche al mximo la infraestructura disponible y se evite
incurrir en gastos innecesarios.

SOLUCIONARIO
6.5. Afinacin de la implementacin fsica
Este tipo de afinacin se refiere a realizar ajustes a las especificaciones derivadas del diseo fsico.

BIBLIOGRFICAS
En su texto bsico revise los apartados 24.1.4, 24.1.5, 24.1.7 y 24.1.8. En los cuales podr evaluar

REFERENCIAS
distintas posibilidades de lograr mejoras de rendimiento del sistema de base de datos con base en
ajustes a la parametrizacin del SGBD, al hardware, a los ndices y con el uso de vistas materializadas.

Como se ve, a nivel de implementacin fsica son varios los ajustes que se pueden realizar para mejorar
el rendimiento, si les damos una prioridad, podra ser la siguiente:

1. Agregar ndices secundarios GLOSARIO


2. Ajustar configuracin y parametrizacin del SGBD (para aprovechar mejor los recursos del
servidor)
3. Potenciar el servidor (aumentar memoria, disco, o procesadores)
4. Replantear infraestructura
ANEXOS

Nuevo servidor
Balanceo de carga (dos o ms servidores replicados)
Implementar almacn de datos para generacin de informes

Tenga en cuenta que, si se requiere este tipo de afinamiento, implica que alguna parte del diseo fsico
fue incorrecta. Por ejemplo, si se necesita aumentar memoria RAM, significa que no se no estim bien la
carga y concurrencia que deba soportar el servidor, si se requiere ms espacio en disco es porque no se
proyect bien el espacio requerido para almacenar la base de datos, etc.

80 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

6.6. Monitoreo del desempeo


Una vez la implementacin de nuestra base de datos haya sido probada y evaluada satisfactoriamente,

NDICE
entrar en operacin (puesta en produccin). Pero ello no significa que el trabajo termina all, ser
necesario vigilar constantemente la operacin del sistema. No olvide, como DBA somos responsables de
garantizar la disponibilidad de la base de datos.

PRELIMINARES
Al respecto, Connolly y Begg (2005) expone los principales factores de debemos considerar para medir
la eficiencia (Figura 27).

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
Figura 27. Factores para medir la eficiencia del sistema de base de datos
Fuente: Connolly y Begg, 2005, p.485

BIBLIOGRFICAS
REFERENCIAS
Elaborado: Encalada, E.

Por tanto, debemos monitorear de forma permanente el desempeo y recursos del sistema de base
de datos, principalmente: memoria principal, procesador, disco (espacio y contencin) y red. Para ello
podemos ayudarnos de herramientas de administracin y monitoreo que normalmente todos los motores
de base de datos tienen, desarrolladas por el propio fabricante o por terceros. La Figura 28 muestra un

GLOSARIO
ejemplo de cmo ser vera el tablero de control de la herramienta Oracle Enterprise Manager. Como
ve, en ese caso permite en una sola pantalla dar seguimiento al nivel de actividad (carga) soportado, el
estatus de los recursos del servidor, y los tiempos de respuesta en operaciones SQL, con una frecuencia
de actualizacin de 1 minuto.

En su texto bsico revise el apartado 24.1.9. Comprender que actualmente existen herramientas
que facilitan la tarea afinar el rendimiento de la base de datos, mediante, por ejemplo, la simulacin
ANEXOS

de escenarios de carga y concurrencia. Aqu ayuda mucho la proyeccin de carga y espacio en


disco que proyectamos durante el diseo fsico estudiando en la unidad 2.

Si se detectan problemas de rendimiento, considere el siguiente orden para descartar y encontrar la


fuente del problema.

Optimizar consultas.
Revisar modelo de datos.

81 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Revisar configuracin fsica de la base de datos (aumentar memoria, reorganizar y


defragmentar archivos).

NDICE
Potenciar servidor.
Introducir redundancia de datos (desnormalizar).

PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
Figura 28. Captura de la herramienta de monitoreo Oracle Enterprise Manager
Fuente: https://oracle-base.com/articles/12c/images/12cR2Database/15-database-express-12c.jpg

Actividades propuestas:

1. Para su implementacin local de Oracle Database, consulte sobre las utilidades de

GLOSARIO
administracin y monitoreo que trae incluidas la herramienta Oracle SQLDeveloper, pruebe
usarlas e evale lo que le permite monitorear.
2. Investigue otras herramientas de administracin disponibles para Oracle o para otro motor
de base de datos con el que usted est familiarizado.

Estimado(a) estudiante, concluimos aqu el estudio de la sexta unidad, espero le haya permitido
ANEXOS

dimensionar la responsabilidad que tenemos como DBA de garantizar el ptimo rendimiento del
sistema de base de datos, antes de salir a produccin (durante la fase de Prueba y evaluacin), y durante
la operacin del sistema. El monitoreo debe ser constante.

Con lo visto hasta ahora estamos cerrando lo referente al proceso de desarrollo de una base de datos.
pasaremos a discutir sobre dos tipos particulares de implementacin de bases de datos: las bases de
datos distribuidas y los almacenes de datos.

nimo y adelante!

82 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

NDICE
Autoevaluacin 6

Una vez concluido el estudio de la presente unidad, le invito desarrollar el siguiente cuestionario, que le

PRELIMINARES
servir para verificar la asimilacin de lo aprendido.

Seleccione la opcin correcta

1. En un diseo relacional, cuando combinamos dos relaciones en una sola estamos hablando de
una forma de

BIMESTRE
PRIMER
a. desnormalizacin
b. normalizacin
c. indexacin

2. La desnormalizacin y el uso de ndices ayudan a mejorar el rendimiento de las operaciones de:

SEGUNDO
BIMESTRE
a. Actualizacin de los datos.
b. Consulta de datos
c. Eliminacin de datos

SOLUCIONARIO
3. Una monitorizacin del sistema de base de datos se requiere porque con ello se puede:

a. Mejorar los tiempos de respuesta para los usuarios.


b. Aumentar el tiempo de vida til de los equipos
c. Evitar los fallos en almacenamiento secundario

BIBLIOGRFICAS
REFERENCIAS
4. El afinamiento de la base de datos se realiza durante la fase de:

a. Implementacin y carga
b. Diseo fsico
c. Prueba y validacin

GLOSARIO
5. Ante un problema de rendimiento de la base de datos, cul de las siguientes acciones debera
realizarse primero?

a. Potenciar el servidor
b. Desnormalizar
c. Optimizar consultas
ANEXOS

6. Las vistas materializadas pueden ayudar a mejorar el rendimiento de las consultas que realizan
agregaciones, sin embargo, si su mantenimiento es diferido, tienen un riesgo:

a. Aumenta la carga de las transacciones de actualizacin


b. Los datos podran no ser consistentes respecto a las tablas fuente
c. Ocupan espacio en disco, lo que implica ms accesos I/O.

83 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

7. Cul de los siguientes ajustes tendientes a mejorar el rendimiento de la base de datos, se puede
hacer mediante parametrizacin del SGBD?

NDICE
a. Aumentar la memoria intermedia
b. Aumentar la memoria principal
c. Aumentar la velocidad de procesamiento

PRELIMINARES
8. La operacin SQL que ms evidencia los problemas de rendimiento es:

a. INSERT
b. UPDATE
c. SELECT
d. CREATE INDEX

BIMESTRE
PRIMER
9. Para evitar cuellos de botella a nivel de RED se debera:

a. Mantener una conexin dedicada entre servidor de base de datos y servidor de aplicaciones.
b. Implementar una rplica de la base de datos en una red diferente

SEGUNDO
BIMESTRE
c. Reducir el lmite mximo de conexiones simultneas
d. Reducir el nmero de usuarios

10. La introduccin de redundancia puede afectar a:

SOLUCIONARIO
a. La disponibilidad de los datos
b. Las velocidades de transferencia entre disco y memoria intermedia
c. La integridad de los datos

Recuerde que al final de la gua puede revisar el solucionario para validar sus aciertos y sus errores. Si hay
aspectos en los an tiene dificultad, le animo revisar nuevamente esos temas y apoyarse en la asesora

BIBLIOGRFICAS
REFERENCIAS
que le brinda su tutor.

Ir a solucionario

GLOSARIO
ANEXOS

84 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

UNIDAD 7. BASES DE DATOS DISTRIBUIDAS

NDICE
Estimado(a) estudiante, es momento de discutir acerca de un tipo especial de implementacin de bases
de datos, en el cual, aunque se conservan las mismas estructuras lgicas de almacenamiento, los datos
fsicamente no residen en un solo lugar geogrficamente hablando.

PRELIMINARES
Es un tipo de implementacin que resulta de mucha utilidad sobre todo para grandes corporaciones con
presencia en muchos sitios, que manejan grandes volmenes de datos y altos niveles de concurrencia.
Analizaremos la definicin de este tipo de implementaciones, las tcnicas de almacenamiento
distribuido, lo que implica acceder a una base de datos distribuida desde la perspectiva del usuario y/o
aplicacin, las limitaciones y retos para la gestin de transacciones en estos casos y por ltimo veremos
cmo actualmente se est aprovechando este tipo de implementaciones para ofrecer servicios de

BIMESTRE
almacenamiento de datos en la nube.

PRIMER
Luego de analizar y discutir los temas programados, usted estar en capacidad de describir los usos y
beneficios y escenarios donde es til implementar sistemas de bases de datos distribuidas. Tambin
podr proponer un esquema de almacenamiento distribuido para un escenario especfico.

SEGUNDO
BIMESTRE
7.1. Panormica de un Sistema de Bases de Datos Distribuidas
Primero es importante que usted tenga claro la diferencia entre las diversas arquitecturas de los sistemas
de base de datos, las cuales denotan distintas maneras de acceder, procesar y almacenar los datos. Son 4
arquitecturas, que de alguna manera han marcado la evolucin de los sistemas de bases de datos:

SOLUCIONARIO
Arquitectura centralizada: es aquella donde en un solo servidor funciona tanto la base de
datos como las aplicaciones, no interactan con servidores externos. Todo el procesamiento
relacionado a los datos se realiza en ese servidor central.
Arquitectura cliente-servidor: en este caso ciertas tareas relativas al procesamiento de los
datos se realizan en equipos diferentes al servidor de base de datos. En lo que respecta a

BIBLIOGRFICAS
REFERENCIAS
la base de datos en s, sigue siendo centralizada, pues existe un solo servidor donde opera
el SGBD, pero las aplicaciones, pueden correr directamente en los equipos de usuario final
(arquitectura de 2 capas) o en servidores de aplicaciones (arquitectura de 3 capas).
Arquitectura paralela: el multiprocesamiento ha permitido que actualmente se cuenten
con implementaciones hardware con disponibilidad de muchos procesadores, lo que
implica que un servidor sea capaz de ejecutar varios procesos paralelamente. Ello permite
que un SGBD sea capaz de atender y despachar ms peticiones de acceso a los datos en un GLOSARIO
menor tiempo. Aunque desde el punto de vista lgico la base de datos seguira centralizada
en una sola ubicacin.
Arquitectura distribuida: Los datos en este caso fsicamente se encuentran diseminados
en distintos servidores dentro de una misma sede o en lugares geogrficamente distantes,
ANEXOS

pero integrados en un mismo sistema de gestin de bases de datos.

Nuestro estudio se centrar justamente en los sistemas de base de datos de arquitectura distribuida.

En su texto bsico revise el apartado 17.4. Contiene una visin general de los sistemas de bases
de datos distribuidas.

85 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Para reforzar la definicin que plantea el texto, considere una ms, Connolly y Begg (2005) definen a
una base de datos distribuida como Una coleccin lgicamente interrelacionada de datos compartidos

NDICE
(junto con una descripcin de estos datos) fsicamente distribuidos por una red informtica, y a un
Sistema de Gestin de Bases de Datos Distribuidas (SGBDD) lo definen como el sistema software que
permite gestionar la base de datos distribuida y hace que dicha distribucin sea transparente para los
usuarios(p.626).

PRELIMINARES
Complementariamente a lo explicado en el texto bsico, otra de las razones para implementar una base
de datos distribuida es la escalabilidad, ya que, en un entorno distribuido es mucho ms fcil manejar
la expansin, se pueden aadir nuevas localizaciones (nodos) a la red sin afectar las operaciones de las
otras.

La Figura 29, ilustra la topologa de un SGBDD. Donde cada nodo es un servidor fsicamente alojado en
una determinada ubicacin, que tiene un SGBD corriendo localmente y opcionalmente un conjunto de

BIMESTRE
PRIMER
datos almacenados localmente (por ejemplo, en el nodo 3 estara corriendo el SGBD, pero sin datos en
su almacenamiento secundario). La base de datos global la componen la suma de las bases de datos
locales.

SEGUNDO
BIMESTRE
SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
Figura 29. Sistema de gestin de bases de datos distribuidas
Fuente: adaptado de Connolly y Begg, 2005, p.627

GLOSARIO
Elaborado: Encalada, E.

Adems, no necesariamente en todos los nodos debe estar instalado el mismo motor, aunque es
deseable para que se pueda garantizar en mayor grado la consistencia de los datos.

Para distinguir entre sistemas homogneos y heterogneos, revise en su texto bsico el apartado
ANEXOS

19.1.

Todas estas consideraciones, Elmasri y Navathe (2016) la tienen en cuenta al plantear las condiciones
mnimas que debe cumplir una base de datos distribuida para ser considerada como tal:

Conexin de nodos de bases de datos a travs de una red informtica. Hay mltiples
ordenadores, llamados sitios o nodos. Estos sitios deben estar conectados por una red
subyacente para transmitir datos y comandos entre los sitios.

86 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Interrelacin lgica de las bases de datos conectadas. Es esencial que la informacin en los
distintos nodos de la base de datos est lgicamente relacionada.

NDICE
Posible ausencia de homogeneidad entre los nodos conectados. No es necesario que todos
los nodos sean idnticos en trminos de datos, hardware y software (p.842).

Desde el punto de vista de las aplicaciones de usuario final, al margen de cmo se distribuyan y
almacenen fsicamente los datos, un SGBDD se comporta de la misma forma que uno centralizado, es lo

PRELIMINARES
que se denomina transparencia.

Actividad propuesta:

Consulte cuales son las ventajas y desventajas de un sistema de base de datos distribuida y base
a ello identifique en que escenarios sera propicio este tipo de implementaciones.

BIMESTRE
PRIMER
7.2. Almacenamiento distribuido de datos
Tenga en cuenta que en una implementacin distribuida las estructuras lgicas de almacenamiento no
cambian ni desaparecen. En bases de datos relacionales, seguimos manejando las conocidas tablas o
relaciones; solo que en este caso su contenido (los datos) estara distribuido en distintos servidores.

SEGUNDO
BIMESTRE
En su texto bsico revise el apartado 19.2, el cual explica las dos tcnicas para distribuir los datos:
replicacin y fragmentacin.

SOLUCIONARIO
Como puede ver, la forma ms sencilla de distribuir una relacin es mediante replicacin, es decir mantener
una copia ntegra de la tabla en todos los nodos del sistema distribuido, de manera que cuando una
aplicacin requiera acceder a los datos de esa tabla lo har siempre de forma local. Esta tcnica implica
mayor disponibilidad y mejor rendimiento en consultas; pero vuelve ms complejas las operaciones de
actualizacin, dado que la actualizacin de un dato deber realizarse en todos los nodos del sistema

BIBLIOGRFICAS
REFERENCIAS
distribuido, y en consecuencia se incrementan los tiempos de respuesta y el nivel de concurrencia en el
procesamiento de transacciones. Por consiguiente, solo se deberan replicar aquellas tablas que no son
actualizadas con frecuencia y su contenido en su totalidad es susceptible de ser accedido desde todos
los nodos; por ejemplo, tablas de catlogos (pases, tipos de cuenta, categoras de empleados, marcas
de productos, etc.).

GLOSARIO
La replicacin completa (aquella de toda la base de datos) merece especial atencin, ya que en algunos
casos si suele ser muy til para asegurar la disponibilidad de la base de datos. Por ejemplo, una empresa
en la que realmente no existan nodos geogrficamente distantes, sino simplemente un esquema de dos
servidores alternativos, replicados y ubicados en el mismo sitio, con el propsito de realizar un balanceo
de carga, y que a la vez constituya un esquema de backup, de modo que, si falla uno de los servidores, el
sistema seguir funcionando con el otro sin necesidad de detener servicios.
ANEXOS

La fragmentacin en cambio implica particionar la tabla de manera que en cada nodo exista una porcin
de los datos. Lo ms comn es la fragmentacin horizontal, en la cual se divide la tabla en subconjuntos
de tuplas, y cada subconjunto se almacena en un nodo distinto de acuerdo al criterio de distribucin
que se haya elegido. En este punto, es importante acotar que hay un tipo especial de fragmentacin
horizontal llamada fragmentacin horizontal derivada, que es cuando se divide las tuplas de una tabla
en funcin de la fragmentacin de otra tabla.

87 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Tenga presente que el hecho de que en un nodo solo exista una parte de una tabla, no significa que
quien se conecta a ese nodo solo puede acceder a esa porcin de datos; puede acceder a todos los
datos de la tabla, si la tupla que busca no est en ese nodo, el SGBDD acceder al nodo donde est y la

NDICE
obtendr, la diferencia en ese caso es que la respuesta ser un poco ms demorada.

Tambin tenga en cuenta que se pueden combinar ambas tcnicas, unas tablas se replican y otras se
fragmentan, que de hecho es lo ms idneo. Se debera fragmentar tablas en las cuales desde cada nodo

PRELIMINARES
se accede frecuentemente a una porcin de sus filas. Los metadatos sobre la distribucin de los datos en
los diferentes nodos (rplicas y fragmentos) se guarda en un catlogo global que lo gestiona el SGBDD.

Veamos ahora un ejemplo que complementa lo explicado. Para el caso de estudio PEDIDOS descrito en
el Anexo 2, suponga que la empresa implementa una base de datos distribuida de manera que se instala
un nodo (un servidor local) en cada ciudad donde opera. En este caso el criterio de distribucin es la
CIUDAD y a partir de all se planifica la distribucin.

BIMESTRE
PRIMER
Para poder fragmentar en este caso, la tabla debera contener la columna que corresponda al criterio
de distribucin (fragmentacin horizontal directa) o estar asociada por llave fornea (FK) a una tabla
ya fragmentada con base en ese criterio. En nuestro caso OFICINAS es la tabla que contiene el atributo
CIUDAD por lo tanto se hara una fragmentacin horizontal. EMPLEADOS en cambio no tiene el atributo
CIUDAD, sin embargo, est relacionada a OFICINAS (cada empleado pertenece a una oficina), por lo

SEGUNDO
BIMESTRE
que se hara una fragmentacin horizontal derivada, y as sucesivamente. A continuacin, se muestra la
especificacin de cada fragmento para esas dos tablas:

oficinas_UIO =

SOLUCIONARIO
oficinas_GYE =

empleados_UIO =

empleados_GYE =

BIBLIOGRFICAS
Cada tabla fragmentada debera tener tantos fragmentos como valores distintos tenga el atributo

REFERENCIAS
con base en el cual se realiza la distribucin. En nuestro caso estamos asumiendo que solo son dos las
ciudades donde opera la empresa (Quito y Guayaquil).

A continuacin, se muestra el tipo de distribucin que correspondera realizar a cada tabla:

Tabla Tipo de distribucin Motivacin


Fragmentacin Contiene el atributo CIUDAD, con base en el cual se realiza la GLOSARIO
OFICINAS
horizontal distribucin.
Fragmentacin
EMPLEADOS Derivada a partir de la fragmentacin de oficinas.
horizontal derivada
Fragmentacin
PEDIDOS Derivada a partir de la fragmentacin de empleados.
horizontal derivada
ANEXOS

Fragmentacin
ITEMS Derivada a partir de la fragmentacin de pedidos.
horizontal derivada
Derivada a partir de la fragmentacin de empleados. Se
Fragmentacin
CLIENTES entiende que los clientes normalmente estn asociados a
horizontal derivada
ciudad del vendedor asignado.
Se asume que en todas las ciudades se oferta la misma lista
PRODUCTOS Replicacin
de productos.
Si productos se replica entonces fabricantes tambin ya que
FABRICANTES Replicacin
estn asociados. Adems, porque se trata de un catlogo.

88 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Aqu hay que tomar en cuenta que, si estamos hablando de que hay sucursales en cada ciudad que
tienen su propia bodega y stock de productos, hara falta en el modelo de datos PEDIDOS asociar las

NDICE
sucursales con los productos para poder llevar el inventario en cada localidad.

Es necesario aclarar por ltimo que, no se debe confundir FRAGMENTOS con VISTAS. Un fragmento no es
una vista de datos. Como sabemos en bases de datos las vistas no son estructuras de almacenamiento,
son relaciones virtuales que ejecutan la consulta SQL subyacente para obtener una porcin de los datos.

PRELIMINARES
Los fragmentos en cambio son estructuras de almacenamiento que corresponden a partes de una tabla
(subconjuntos de tuplas y/o columnas de una relacin).

Actividades propuestas:

1. Suponga las siguientes tablas de una base de datos de una empresa de servicios:

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Decidimos implementar un sistema SGBD distribuido, para lo cual establecemos que se har
una distribucin geogrfica de los datos, basados en la provincia. Es decir, tendremos un nodo
en cada provincia donde opere la empresa. Con base en lo anterior analice y diga: en este caso

SOLUCIONARIO
se debera aplicar fragmentacin, replicacin, ambas? Cules tablas se deberan fragmentar y
cules replicar?

2. Plantee un ejemplo de organizacin o negocio cuya naturaleza de operacin sera idnea


para implementar un sistema de base de datos distribuida. Indique las razones.

7.3. Transparencia en un SGBDD

BIBLIOGRFICAS
REFERENCIAS
La transparencia se refiere a que, desde el punto de vista del usuario final, a nivel lgico un sistema
distribuido deber ser idntico a un sistema no distribuido. Es decir, los usuarios de un sistema distribuido
debern comportarse exactamente como si fuera un sistema centralizado.

GLOSARIO
Dirjase a su texto bsico y estudie el apartado 19.2.3, para comprender los distintos niveles de
transparencia en bases de datos distribuidas.

En el ejemplo que se propuso en el apartado anterior, sobre la fragmentacin de OFICINAS y EMPLEADOS,


el hecho que existan unos fragmentos llamados oficinas_UIO, oficinas_GYE, empleados_UIO,
ANEXOS

empleados_GYE, no significa que a la vista del usuario final aparezcan tablas con esos nombres, para
el usuario siguen existiendo las tablas OFICINAS y EMPLEADOS, y nada ms. Quiere decir, que aquella
complejidad de la distribucin es interna dentro del SGBDD y no es visible para los usuarios o aplicaciones
que acceden a manipular los datos. Dicho de otro modo, en trminos de SQL, la lgica de las operaciones
SELECT, INSERT, UPDATE y DELETE no deber sufrir cambios.

Revise ahora lo que se expone en la Figura 30, corresponde a las 12 reglas propuestas por Christopher J.
Date8, que debe cumplir todo SGBD distribuido (SGBDD).
8 Christopher J. Date ha sido uno de los ms prominentes investigadores del modelo relacional de bases de datos.

89 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

NDICE
PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
Figura 30. Las doce reglas de Date para un SGBDD

BIBLIOGRFICAS
REFERENCIAS
Fuente: Connolly y Begg, 2005, p.661
Elaborado: Encalada, E.

7.4. Transacciones distribuidas


Recuerde la topologa de un sistema de base de datos distribuida (presentada en la Figura 29). Tenemos
GLOSARIO
varios nodos cada uno corriendo una instancia del SGBD que se haya elegido y normalmente una base
de datos local con una porcin de datos de la base de datos global. Y adems existe un SGBD distribuido
(SGBDD) que acta como coordinador y orquestador de todos nodos. Una aplicacin o usuario accede a
uno de los nodos (al SGBD local), el cual se encarga procesar sus peticiones. Si los datos requeridos para
atender la peticin estn todos en el nodo local, no requerir acceder a otros nodos, pero si la peticin
implica conexin a otros servidores del sistema distribuido, el SGBDD se encargar de coordinarlo. En
ANEXOS

ese contexto, ya se podr imaginar la complejidad que implica el procesar una transaccin en bases de
datos distribuidas, y el garantizar que se cumplan las 4 propiedades ACID ya estudiadas, de manera que
la integridad de los datos no sea afectada.

Para comprender las implicaciones del procesamiento de transacciones en un SGBDD, aproveche


la amplia explicacin que al respecto menciona el autor del texto bsico. Revise los apartados
19.3, 19.4 y 19.5. All se explica en detalle la estructura de una transaccin distribuida, los modos
de realizar el comprometimiento (COMMIT) de transacciones distribuidas y el esquema de control
de concurrencia que se aplica en estos casos.

90 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Por ello, si una transaccin de actualizacin de datos involucra en su ejecucin nicamente la base de
datos local del nodo al que se conecta, el procesamiento en ese caso ser igual al de una transaccin

NDICE
normal como las que estudiamos en la unidad 5. El problema surge cuando esa transaccin involucra a
varios nodos (porque la tabla actualizar esta replicada en varios nodos, o porque el registro involucrado
est en otro nodo); en ese caso dicha transaccin se convierte en una transaccin distribuida; implica
que ser necesario ejecutar varias transacciones locales en nodos distintos, y el control en este caso
lo asumir el SGBDD, cuyo trabajo ser orquestar la ejecucin de la transacciones locales de manera

PRELIMINARES
que se asegure que previo a confirmar la transaccin global, se hayan comprometido exitosamente las
transacciones locales involucradas (compromiso en dos fases).

Si a lo anterior sumamos la concurrencia en los nodos involucrados, posibles fallos o demoras en la


comunicacin entre servidores, interbloqueos, etc., la complejidad de procesar la transaccin se
multiplica. Al final el SGBDD deber asegurar las propiedades ACID, pero es importante que el DBA

BIMESTRE
se asegure de disear una distribucin de datos lo ms ptima posible de manera que se reduzca la

PRIMER
probabilidad de transacciones distribuidas.

7.5. Bases de datos en la nube


Con el surgimiento de cloud computing, aparecieron muchos servicios disponibles para que personas

SEGUNDO
BIMESTRE
y organizaciones aprovechen las mega infraestructuras de hardware que poseen corporaciones como
Google, Amazon, Microsoft y muchos otros, para albergar en ellas sus aplicaciones y sus datos, quitndose
con ello el peso de tener que instalar y mantener una infraestructura local, que se deprecia con los aos,
que tiene una vida til limitada y que siempre est sujeta a fallos.

SOLUCIONARIO
Uno de los servicios ya disponibles actualmente en la nube, es el de almacenamiento de datos. De
manera que las empresas puedan capturar y almacenar datos a travs de aplicaciones web, con rapidez,
con alta disponibilidad y sin preocuparse por el aumento de la demanda en el uso de sus plataformas.

Vaya a su texto bsico y revise el apartado 19.9, donde se explica como a partir del surgimiento de
la computacin en la nube, aparecieron en consecuencia servicios de almacenamiento de datos

BIBLIOGRFICAS
REFERENCIAS
a gran escala. Cntrese en identificar la diferencia entre una base de datos en la nube y una base
de datos tradicional y los pros y contras de este tipo de almacenamiento.

A continuacin, algunas reflexiones adicionales para complementar lo descrito por el texto bsico:

a. Este tipo de implementaciones se centran sobre todo en la captura de datos.

GLOSARIO
b. Se aprovechan los conceptos del procesamiento distribuido y de los sistemas de bases de
datos distribuidas para implementar este tipo de servicios.
c. Al igual que en bases de datos distribuidas tradicionales, las bases de datos en la nube
deben garantizar la transparencia. Es decir, el usuario no necesita conocer donde se ubican
los datos fsicamente y como estn distribuidos.
d. La principal ventaja radica en que el proveedor garantiza una alta disponibilidad de la base
ANEXOS

de datos (99.9% en la mayora de casos), lo que para una empresa se traduce en no tener que
preocuparse por el mantenimiento de una infraestructura local. El tener una infraestructura
local que garantice esos niveles de disponibilidad, resulta bastante costoso.
e. Tambin es importante la posibilidad que dan estos servicios para que la inversin est
orientada al uso. Es decir, la empresa solo paga los recursos que necesita de acuerdo a la
demanda y volumen de datos a almacenar, si estos crecen, podr ir incrementando recursos
de acuerdo a sus necesidades.
f. Una desventaja radica en el tema de la confidencialidad de los datos. El que cierta informacin

91 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

crtica y reservada pueda reposar fsicamente en servidores de otra empresa puede resultar
un problema para ciertas organizaciones.

NDICE
g. Otro problema puede radicar en tratar de integrar esa base de datos en la nube, con otras
que tengamos localmente, el establecer sesiones remotas desde mquinas locales puede
requerir conexiones a internet de alta velocidad. Lo que es un costo adicional para la
empresa.

PRELIMINARES
Actividad propuesta:

Investigue a travs de internet al menos 5 de los ms populares servicios de almacenamiento


de datos en la nube (bases de datos en la nube). Por cada uno identifique sus caractersticas
tales como: proveedor, motor de base de datos que usan, tipo de base de datos, capacidades
de almacenamiento, precios, opciones de escalamiento, etc. Elabore un mapa conceptual con la
caracterizacin de cada producto.

BIMESTRE
PRIMER
Como usted ha podido evidenciar los SGBDD representan una interesante alternativa de aprovechamiento
del procesamiento distribuido para lograr contar con un esquema de almacenamiento de datos donde la
carga transaccional no est concentrada en un solo servidor central. Sobre todo, til para empresas que
operan en lugares geogrficamente dispersos y con grandes volmenes de datos. Muchas corporaciones
han aprovechado este tipo de implementaciones para ofrecer a su vez servicios de almacenamiento de

SEGUNDO
BIMESTRE
datos a gran escala. La principal complejidad que se ve evidente en este tipo de implementaciones, es el
procesamiento de transacciones distribuidas y el aseguramiento de la integridad de los datos.

Hemos llegado al final del estudio de las bases de datos distribuidas. Como ve, es posible organizar los
datos de una forma descentralizada, con el fin garantizar mejor la disponibilidad de los datos y mejorar

SOLUCIONARIO
el desempeo de las aplicaciones de gestin. Espero que lo estudiado le haya ayudado a valorar las
ventajas de un sistema distribuido y tambin a ser consciente de sus limitaciones.

Hasta ahora hemos estudiado las bases de datos vistas sobre todo como los repositorios usados para
almacenar los datos que los usuarios registran a travs de aplicaciones de gestin como consecuencia
de la permanente operacin del negocio. En la ltima unidad pasaremos en cambio a estudiar las bases

BIBLIOGRFICAS
REFERENCIAS
de datos desde la perspectiva de la exploracin y anlisis de los datos.

Avance hacia el ltimo hito con la determinacin de aprovechar todo lo aprendido!

GLOSARIO
ANEXOS

92 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

NDICE
Autoevaluacin 7

Una vez concluido el estudio de la presente unidad, le invito desarrollar el siguiente cuestionario, que le

PRELIMINARES
servir para verificar la asimilacin de lo aprendido.

Seleccione la opcin correcta

1. Cuando los usuarios no son conscientes de en qu servidor estn almacenados fsicamente los
datos estamos hablando de:

BIMESTRE
PRIMER
a. Transparencia de la ubicacin
b. Transparencia del SGBD
c. Transparencia de la fragmentacin

2. En sistemas de bases de datos distribuidas, la replicacin consiste en:

SEGUNDO
BIMESTRE
a. Mantener una copia ntegra de una o ms tablas en mltiples bases de datos que forman un
sistema de base de datos distribuidos.
b. Crear vistas en cada uno de los nodos del sistema distribuido, las mismas que acceden a una
base de datos principal.

SOLUCIONARIO
c. Implementar dos o ms nodos del sistema distribuido con la configuracin hardware y
software.

3. En un esquema de base de datos distribuida, aquellas tablas que corresponden a catlogos, tal
como PAISES, ESTADOS_CIVILES, TIPOS_CLIENTE, etc., se las debera

BIBLIOGRFICAS
REFERENCIAS
a. fragmentar horizontalmente
b. fragmentar verticalmente
c. replicar

4. Los sistemas de almacenamiento de datos en la nube

GLOSARIO
a. no garantizan todas las propiedades ACID
b. no aseguran la disponibilidad de los datos
c. no permiten la escalabilidad

5. Cmo se asegura la atomicidad en transacciones distribuidas?


ANEXOS

a. Con un protocolo de commit en una fase (1PC).


b. Con un protocolo de commit en dos fases (2PC).
c. En bases de datos distribuidas no se garantizan las propiedades ACID

93 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

6. En una base de datos distribuida, cuando un usuario consulta los datos de una tabla fragmentada,
debe especificar

NDICE
a. la tabla y el fragmento de donde quiere extraer los datos
b. la tabla y la ubicacin (nodo) de donde requiere extraer los datos
c. solo tabla de donde quiere extraer los datos

PRELIMINARES
7. La heterogeneidad en bases de datos distribuidas se da cuando no todos los nodos

a. usan el mismo hardware


b. tienen los mismos datos
c. usan el mismo SGBD

BIMESTRE
PRIMER
8. Cuando una tabla se fragmenta horizontalmente con base en la fragmentacin de otra, se
denomina:

a. Fragmentacin horizontal mixta.


b. Fragmentacin horizontal derivada.

SEGUNDO
c. No existe tal forma de fragmentacin.

BIMESTRE
9. La arquitectura de sistemas de bases de datos en la cual un solo equipo acta como servidor de
base de datos y otro equipo como servidor de aplicaciones se denomina:

a. Centralizada

SOLUCIONARIO
b. Distribuida
c. Cliente-Servidor

10. En una base de datos distribuida

BIBLIOGRFICAS
a. puede haber nodos que no almacenen datos localmente.

REFERENCIAS
b. debe haber nodos que no almacenen datos localmente.
c. todos los nodos deben almacenar datos localmente.

Recuerde que al final de la gua puede revisar el solucionario para validar sus aciertos y sus errores. Si hay
aspectos en los an tiene dificultad, le animo revisar nuevamente esos temas y apoyarse en la asesora

GLOSARIO
que le brinda su tutor.

Ir a solucionario
ANEXOS

94 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

UNIDAD 8. ALMACENES DE DATOS

NDICE
Estamos a punto de finalizar el estudio de nuestra asignatura, discutiremos ahora acerca de los almacenes
de datos, los cuales actualmente representan una herramienta estratgica de gran utilidad para la toma
de decisiones dentro de las organizaciones.

PRELIMINARES
En esta unidad abordaremos los conceptos, usos y beneficios de los almacenes de datos; estudiaremos
su arquitectura en el contexto de la inteligencia de negocios, aprenderemos a disear la estructura lgica
de un cubo OLAP que permita responder a un conjunto de requerimiento de informacin de los niveles
gerenciales y expondremos la relacin de los almacenes de datos con la minera de datos.

Al finalizar estar en capacidad de evaluar y justificar la implementacin de un almacn de datos como

BIMESTRE
solucin estratgica para la toma de decisiones y sabr como disear un esquema multidimensional a

PRIMER
partir del cual se puedan obtener informes gerenciales.

8.1. Introduccin a los almacenes de datos


Primero tratemos de comprender el porqu de los almacenes de datos.

SEGUNDO
BIMESTRE
Dirjase a su texto bsico y revise la introduccin del captulo 20 y el apartado 20.1. Comprender
el contexto en el cual surgen lo almacenes de datos.

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

Figura 31. Tipos de sistemas de informacin


Fuente: http://pertutatis.cat/la-piramide-de-los-diferentes-tipos-de-sistemas-de-informacion

El texto nos habla de dos tipos de sistemas de informacin:

1. Sistemas de procesamiento de transacciones, tambin conocidos como Sistemas


operacionales, Sistema transaccionales, Transaction Processing System (TPS).
2. Sistemas de ayuda a la toma de decisiones, tambin conocidos como Sistemas de apoyo
a la toma de decisiones, Sistemas de soporte a las decisiones, Decision Support System (DSS).

95 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

sta es una clasificacin de los sistemas de informacin en funcin de su finalidad dentro de la empresa.
Y aunque realmente desde ese punto de vista no son los nicos tipos de sistemas (ver Figura 31), estos

NDICE
dos son los principales para el propsito de comprender los almacenes de datos.

Los TPS aparecieron primero y se orientan a automatizar procesos operativos de carcter repetitivo
dentro de la empresa, cuya finalidad primaria es el registro de las transacciones del negocio. Son sistemas
muy crticos que requieren una alta disponibilidad; puesto que, si dejan de operar u operan con mucha

PRELIMINARES
lentitud, ello puede significar demoras y hasta suspensin de actividades, lo cual a su vez se traduce en
prdidas, que no es deseable bajo ningn punto de vista. Detrs de un TPS existe una base de datos
llamada Base de datos transaccional o Base de datos operacional.

Los DSS en cambio se nutren de los datos captados principalmente a travs de los TPS para generar
nueva informacin que es muy til para los directivos de la empresa, ya que les sirve de base para la
toma de decisiones. Detrs de un DSS comnmente existe una base de datos conocida como Data

BIMESTRE
PRIMER
warehouse o Almacn de datos.

Dirjase nuevamente a su texto bsico y revise la introduccin del apartado 20.2, para comprender
lo que es un almacn de datos.

SEGUNDO
BIMESTRE
Al respecto, uno de los conceptos ms extendidos es el propuesto por Bill Inmon (el padre del Data
Warehouse) quin define a un almacn de datos como una coleccin de datos integrados, temticos,
historiados y no voltiles, organizados para apoyar el proceso de toma de decisiones.

SOLUCIONARIO
Integrado, porque integra fuentes de datos heterogneas, en una sola estructura consistente.
Temtico, porque los datos se organizan por temas (hechos) a analizar.
Historiado (o variable en el tiempo), porque los hechos normalmente tienen asociada una
dimensin temporal, que indica cuando ocurrieron.
No voltil, porque la informacin permanece, no se elimina, no se modifica9, es de solo

BIBLIOGRFICAS
REFERENCIAS
lectura.

Aqu es muy importante que usted tenga claro la diferencia entre una base de datos transaccional y un
almacn de datos. Por un lado, la base de datos transaccional al ser el repositorio de datos de los TPS
donde los datos se actualizan de forma permanente, necesita un afinamiento orientado a optimizar el
rendimiento de las operaciones de actualizacin (INSERT, UPDATE y DELETE, en SQL), por lo que requiere
GLOSARIO
un diseo altamente normalizado, e indexado lo menos posible. El almacn de datos por otro lado,
siendo la fuente de datos de los DSS, donde los datos cambian con menos frecuencia y su uso est
centrado en la generacin de informes para los directivos, requiere en cambio estar optimizado para
que las operaciones de consulta (SELECT en SQL) sean muy rpidas, por lo tanto, es permisible en este
caso introducir ciertos niveles de redundancia y agregar tantos ndices como hagan falta. En la Tabla 3
puede ver una lista detallada de las caractersticas que diferencian a un almacn de datos de una base
ANEXOS

de datos transaccional.

Tenga muy presente el factor integrador, que es un muy importante. Una base de datos transaccional
normalmente se focaliza en una parte del negocio (ventas, contabilidad, recursos humanos, etc.). Un
almacn de datos en cambio integra toda la informacin del negocio.

9 La caracterstica de que un Data Warehouse no se modifica es relativa. En realidad, el contenido de un almacn de datos si
se actualiza, pero peridicamente, no con la misma frecuencia que en una base de datos transaccional.

96 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Otra forma de contrastar estos dos enfoques, es segn el tipo de procesamiento que se realiza sobre los
datos, desde esa perspectiva existen dos tipos de sistemas:

NDICE
a. Procesamiento de Transacciones en Lnea (OLTP, por sus siglas en ingls): que es la
tecnologa asociada al conjunto TPS + base de datos transaccional, donde el procesamiento
se centra en el registro de transacciones, por lo que el SGBD debe contar con un gestor de
transacciones que garantice las propiedades ACID (que las estudiamos en la unidad 5).

PRELIMINARES
b. Procesamiento Analtico en Lnea (OLAP, por sus siglas en ingls): que es la principal
tecnologa asociada al conjunto DSS + almacn de datos, donde el procesamiento est
orientado a la exploracin y anlisis de los datos, por lo que tanto la aplicacin como el
SGBD subyacente deben garantizar una extraccin rpida de los datos.

Tabla 3. Comparacin entre una Base de datos transaccional y un Almacn de datos

BIMESTRE
PRIMER
Base de datos transaccional Almacn de datos (Data warehouse)
Datos operacionales Datos consolidados e integrados
Cambia continuamente Estable (se actualiza peridicamente)
Diseo normalizado Diseo desnormalizado

SEGUNDO
Predomina la actualizacin Predomina la consulta

BIMESTRE
Pocos ndices Muchos ndices
La actividad ms importante es el anlisis y la
La actividad ms importante es de tipo operativo
decisin estratgica
Diseado para ser eficiente (tiempos de respuesta) Diseado para ser efectivo (Informacin deseada)

SOLUCIONARIO
Orientado a la aplicacin (a usuarios operativos) Orientado al sujeto (a directivos)
Se adapta al negocio (responde nuevas
Modela el negocio (cambia si cambia el negocio)
preguntas)
Reacciona a eventos Se anticipa a eventos
Consultas simples y estandarizadas Consultas complejas que consolidan datos

BIBLIOGRFICAS
REFERENCIAS
Actual (Importancia del dato actual) Actual + Histrico (Importancia del dato histrico)
Detallada + Resumida (Datos en distintos niveles
Detallada (Datos en general desagregados)
de agregacin)
Predomina el proceso puntual Predomina el proceso masivo
Cientos de usuarios (por ejemplo, los usuarios de Decenas de usuarios (por ejemplo, los gerentes,
una organizacin) los analistas)

GLOSARIO
Muchas pequeas transacciones Las consultas son largas y complejas
MB - GB de datos GB - TB de datos
Soporta decisiones operativas Soporta decisiones estratgicas
Su finalidad es el procesamiento de transacciones Su finalidad es el anlisis de los datos

Observe la Figura 32, en ella se ilustra la relacin entre los dos enfoques OLTP y OLAP.
ANEXOS

97 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

NDICE
PRELIMINARES
BIMESTRE
Figura 32. De OLTP a OLAP

PRIMER
Fuente: https://es.slideshare.net/sebasrod/introduccin-al-datawarehouse-e-inteligencia-de-negocios

Cuando una empresa se constituye lo primero que implementar son sistemas transaccionales, para
automatizar la operacin del negocio. Cuando los datos recopilados a travs de los TPS crezcan a un
volumen importante, probablemente ser cuando se plantee la necesidad de implementar un almacn

SEGUNDO
BIMESTRE
de datos que le permita integrar todos los datos y sacar un mejor provecho a la informacin acumulada.
Hasta tanto, los reportes gerenciales se obtendrn directamente de las bases de datos transaccionales.

Cundo implementar un almacn de datos?

Cuando se tienen tasas de consulta y explotacin de datos muy alta, que estn afectando al

SOLUCIONARIO
rendimiento de los sistemas transaccionales.
Cuando se incrementan los reportes para los niveles gerenciales.
Cuando se desea consolidar informacin de distintas fuentes.
Cuando se desea aprovechar la informacin acumulada para anlisis de tendencias.

BIBLIOGRFICAS
Cuando hay preguntas que no se resuelven con una simple consulta de datos, y se requiere

REFERENCIAS
aplicar tcnicas avanzadas de anlisis.
Cuando se necesita integrar la informacin, con el objetivo de analizarla, para poder tomar
mejores decisiones.

Actividad propuesta:

GLOSARIO
Hemos dicho que con el propsito de comprender los almacenes de datos nos centraramos en
los sistemas de soporte a las decisiones (DSS). Sin embargo, como se vio en la Figura 31 existen
otros tipos de sistemas no transaccionales (KWS, MIS y ESS). Investigue el propsito de cada uno
y establezca la diferencia entre todos ellos (DSS, KWS, MIS y ESS).

Los almacenes de datos se integran a un concepto superior llamado Inteligencia de negocios.


ANEXOS

8.2. Inteligencia de negocios


Hasta ahora hemos hablado de los almacenes de datos asumindolos como aquella base de datos
que permite reunir la informacin de mltiples fuentes en un solo repositorio, que luego se lo utiliza
estrictamente para realizar consultas y generar informes que sirvan de apoyo a la toma de decisiones.

Con el tiempo, esta solucin tcnica que buscaba integrar toda la informacin de la empresa y alivianar
la carga de los sistemas transaccionales fue evolucionando y adquiri cada vez mayor importancia

98 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

por el gran beneficio estratgico que representa para las empresas el aprovechar sus datos histricos
para generar informacin que les permita por ejemplo conocer mejor a sus clientes, entender mejor el

NDICE
mercado, optimizar costos, focalizar mejor su publicidad, etc., es decir ser ms competitivos. Al punto que
actualmente la informacin ha pasado a ser un activo y un recurso estratgico para las organizaciones.

Y esa necesidad latente de aprovechar al mximo los datos, ha llevado a desarrollar nuevas soluciones
cada vez ms avanzadas que permiten explotar de forma muy eficiente la informacin que se guarda en

PRELIMINARES
un almacn de datos. Actualmente, los directivos de una empresa ya cuentan con herramientas que les
permite por si mismos extraer y visualizar la informacin que necesitan.

A todo ese conjunto de datos, estrategias y herramientas que permiten integrar, organizar, explorar,
generar, analizar y visualizar informacin til para mejorar el negocio, es lo que se conoce como
Inteligencia de Negocios (BI, por sus siglas en ingls), tambin conocida como inteligencia empresarial.

BIMESTRE
PRIMER
Aqu algunas otras definiciones de BI de autores reconocidos:

Es convertir la informacin de la empresa en un arma estratgica (Teddy Dale).


Se refiere al proceso de convertir datos en conocimiento y conocimiento en acciones para
crear la ventaja competitiva del negocio (The Data Warehouse Institute).

SEGUNDO
BIMESTRE
Conjunto de estrategias, acciones y herramientas enfocadas a la administracin y creacin
de conocimiento mediante el anlisis de datos existentes en una organizacin o empresa
(Ahumada-Tello et al., 2012).
Es el proceso de analizar y transformar los datos operacionales de una organizacin en un
repositorio accesible con informacin de mucho valor, y una adecuada distribucin de la

SOLUCIONARIO
informacin en la manera ms conveniente a las personas correctas, en el momento preciso
y en forma oportuna para tomar mejores decisiones (Pratte, 2005).
Es un trmino que describe un conjunto integral, coherente e integrado de herramientas
y procesos utilizados para capturar, recopilar, integrar, almacenar y analizar datos con
el propsito de generar y presentar informacin para apoyar la toma de decisiones

BIBLIOGRFICAS
empresariales (Coronel et al., 2011).

REFERENCIAS
Como puede ver, el trmino conocimiento es recurrente, y es que, ese es realmente el objetivo final de la
inteligencia de negocios, usar la experiencia histrica de la empresa -reflejada en los datos acumulados
en sus bases de datos transaccionales- para aprender de ella y generar nuevo conocimiento que pueda
ser aprovechado para crecer y mejorar. A ese proceso de transformar los datos en conocimiento se lo
suele conocer como pirmide del conocimiento (Figura 33).
GLOSARIO
ANEXOS

99 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

NDICE
PRELIMINARES
BIMESTRE
PRIMER
Figura 33. Pirmide del conocimiento

SEGUNDO
Fuente: https://daiomihernandezb07.files.wordpress.com/2015/02/pyramid.jpg

BIMESTRE
Beneficios

Son muchas las ventajas de BI en las empresas, y muchas las maneras de enfocar y describir sus beneficios.
Aqu destacamos algunos de los ms importantes:

SOLUCIONARIO
Capacidad de aprender de su propia experiencia con base en los datos del pasado y de
predecir situaciones futuras en diversos escenarios.
Suficiencia para entender mejor a los clientes o usuarios de sus servicios, identificando sus
gustos, sus patrones de consumo, su nivel de satisfaccin, etc. De manera que se puedan

BIBLIOGRFICAS
disear y aplicar estrategias orientadas a mejorar la calidad de los servicios para retener y

REFERENCIAS
atraer ms clientes.
Disponer de indicadores de gestin de una forma oportuna, rpida y en un formato
adecuado, que les permita a los directivos en cualquier momento monitorear y evaluar el
desempeo de empresa y el cumplimiento de los objetivos estratgicos.
Optimizacin de recursos, que se logra cuando se cuenta con indicadores de eficiencia

GLOSARIO
precisos, objetivos y detallados por cada persona, rea, producto/servicio, etc.; lo que
permite focalizar los esfuerzos para corregir de forma puntual lo que est mal.
Reduccin de los costos operativos, ya que la obtencin de la informacin se realiza de una
forma ms eficiente, con lo que se reducen los tiempos de extraccin y aumenta el tiempo
disponible para el anlisis y evaluacin de los resultados.
ANEXOS

Tcnicas y herramientas

En inteligencia de negocios la exploracin y anlisis de los datos se puede hacer principalmente mediante:

a. Consultas simples, usando por ejemplo el SQL estndar en bases de datos relacionales.
b. Anlisis OLAP, usando operaciones OLAP (que corresponden a caractersticas extendidas
de SQL), o con el uso de herramientas OLAP. Permite el anlisis de las mtricas del negocio,
con datos resumidos almacenados y pre-procesados a nivel de cubos (se los estudia ms
adelante).

100 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

c. Minera de datos (Data Mining), aplicando tcnicas estadsticas y de inteligencia artificial


(redes neuronales, redes bayesianas, etc.) para descubrir patrones ocultos en los datos.

NDICE
En cuanto a soluciones tecnolgicas para inteligencia de negocios, en el mercado existen muchas
herramientas especializadas en la exploracin, anlisis y visualizacin de datos. Comnmente conocidas
como plataformas BI, soluciones de inteligencia de negocios o soluciones de inteligencia empresarial. La
Tabla 4 muestra algunas de las ms conocidas.

PRELIMINARES
Tabla 4. Algunas de las herramientas BI disponibles en el mercado

Herramientas comerciales Herramientas OpenSource


IBM Cognos Analytics (http://www-03.ibm.com/software/
products/es/cognos-analytics)
Pentaho (http://www.pentaho.com/)
SAP Business Objects (http://www.businessobjects.com/)

BIMESTRE
PRIMER
SpagoBI (http://www.spagobi.org/)
Yellowfin (https://www.yellowfinbi.com/)
OpenI (http://wiki.openi.org/)
Sisense (https://www.sisense.com/)
RapidMiner (https://rapidminer.com/)
Oracle BI (https://www.oracle.com/solutions/business-analytics/)
LogiReport
Microstrategy (https://www.microstrategy.com/es)
JasperReports
Power BI (https://powerbi.microsoft.com/es-es/)

SEGUNDO
BIMESTRE
Qlikview (http://www.qlik.com/es-es/products/qlikview)

La mayora de estas son consideradas herramientas OLAP, es decir realizan la exploracin y anlisis
de los datos usando principalmente operaciones OLAP, complementadas con anlisis estadstico. Sin
embargo, actualmente se avanza notablemente en el desarrollo e implementacin de herramientas de

SOLUCIONARIO
minera de datos para extraer informacin no obvia en los datos; RapidMiner es un ejemplo de ese tipo
de herramientas.

Actividad propuesta:

Para complementar la comprensin de este tema, consulte en internet ms informacin acerca la

BIBLIOGRFICAS
REFERENCIAS
Inteligencia de negocios, especficamente:

Conceptos de otros autores.


Otros beneficios que conlleva.
Retos en su implementacin (problemas comunes que conlleva el implementar soluciones de
este tipo).
Herramientas disponibles y usadas en la actualidad.

Con base en ello elabore un mapa conceptual que refleje y resuma lo asimilado en este tema. GLOSARIO

Veamos ahora la arquitectura de este tipo de soluciones.

8.3. Arquitectura de un almacn de datos


ANEXOS

Normalmente se habla de arquitectura de almacn de datos, aunque en realidad los componentes que
la integran describen a toda una solucin de inteligencia de negocios.

En su texto bsico revise el apartado 20.2.1 el cual describe los distintos componentes de un
almacn de datos en el contexto de una solucin de inteligencia de negocios.

101 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Para complementar lo que expone el texto bsico, observe la Figura 34. Podemos decir que el almacn
de datos es la parte medular de una solucin de BI, puesto que es el contendor donde reposan los datos

NDICE
integrados de la empresa, que es la materia prima necesaria para el procesamiento y anlisis a realizar. Si
el almacn de datos no existe o si los datos que contiene no son consistentes o son incompletos, aunque
se cuente con las fuentes origen y con las herramientas de anlisis, sera imposible la implementacin de
una solucin de inteligencia de negocios.

PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Figura 34. Arquitectura de un almacn de datos en el marco de BI
Fuente: http://datawarehouse4u.info/

SOLUCIONARIO
Como se aprecia en la Figura 34, se parte de un conjunto datos operacionales de origen, cuyas fuentes
pueden ser internas (bases de datos transaccionales, archivos planos, hojas electrnicas, etc., propias de
la empresa) o externas (indicadores burstiles, informacin gubernamental, etc.). Pueden ser mltiples
fuentes heterogneas, a partir de las cuales se realiza un proceso de obtencin, agrupacin, limpieza,
depuracin e integracin de datos, de manera que al almacn pase solo lo necesario; proceso conocido

BIBLIOGRFICAS
REFERENCIAS
como Extraccin, Transformacin y Carga (ETL, por sus siglas en ingls). Como resultado del ETL, los datos
limpios se guardan en el almacn de datos en esquemas multidimensionales y a parir de all se extraen,
analizan y visualizan a travs de las herramientas BI, como las que listamos en la Tabla 4.

Ahora, enfocndonos puntualmente en un Data Warehouse, este tiene 3 componentes: gestor de carga,
gestor de almacenamiento y gestor de consulta.

Gestor de carga GLOSARIO

Permite hacer la extraccin transformacin y carga (ETL) desde las fuentes de datos operacionales.
Implica:

Estudio de los datos: violaciones a las dependencias, datos redundantes, datos hurfanos,
ANEXOS

datos no descriptivos, datos incompletos, etc.


Extraccin de los datos: en qu formatos se encuentran los datos?, cul ser la frecuencia
con la que se extraern los datos?, en qu orden se cargarn los datos?, cmo se minimizar
el tiempo requerido para cargar los datos?
Estacionamiento de los datos: para evitar sobrecarga en las fuentes de datos.
Transformacin de los datos: ordenar, dividir, juntar, buscar y anexar, agregar resmenes.
Limpieza de los datos: Ausencia de valores, valores inconsistentes, valores duplicados,
violaciones a las reglas del negocio.

102 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Carga de los datos: datos actuales e histricos.

ETL es la tarea ms compleja dentro del proceso de implementacin de un almacn de datos, puesto

NDICE
que la integracin de los datos desde distintas fuentes implica superar muchos problemas de distinta
ndole, derivados de la posible heterogeneidad de esos orgenes, tal como:

Sistemas diferentes, incluyendo plataformas diferentes y sistemas operativos diferentes.

PRELIMINARES
Sistemas de base de datos diferentes.
Esquemas, formatos de datos y convenciones de nombrado diferentes.
Fuentes de datos dispersas geogrficamente.

Por lo que hay algunos retos a superar:

BIMESTRE
Vencer problemas de inconsistencias en la integracin de los datos.

PRIMER
Realizar un correcto mapeo de datos en fuentes origen con metadatos del Data warehouse.
Elegir el momento adecuado para realizar la carga de manera que se minimice el impacto a
sistemas operacionales.
Que el tiempo de carga sea el mnimo posible.

SEGUNDO
BIMESTRE
Tome en cuenta adems que este proceso debe ser automatizado, ya que peridicamente se requerir
actualizar el almacn de datos desde las fuentes.

Gestor de almacenamiento

SOLUCIONARIO
Al igual que en las bases de datos transaccionales, el gestor de almacenamiento se encarga de administrar
las estructuras tanto lgicas como fsicas de la base de datos. Realiza el control y comprobacin de la
integridad y consistencia de datos, permite la creacin de ndices, vistas y particiones; provee mecanismos
para asegurar la disponibilidad de los datos, entre otros.

Para la representacin lgica de la informacin se usa el modelo multidimensional (cubos OLAP).

BIBLIOGRFICAS
REFERENCIAS
Gestor de consultas

Responde a las consultas de los usuarios, o ms concretamente de las herramientas de exploracin,


anlisis y visualizacin de datos.

GLOSARIO
8.4. Diseo multidimensional
En un almacn de datos para la representacin de la informacin se usa el anlisis multidimensional,
donde para un tema en especfico (HECHO), se analiza una serie de mtricas (INDICADORES) desde
distintas perspectivas (DIMENSIONES). Desde el punto vista relacional, se traduce en un esquema tipo
estrella, donde en el centro hay una tabla llamada tabla de hechos (FACT) y varias tablas satlites en torno
ANEXOS

a la tabla de HECHOS llamadas tablas de dimensiones. A este esquema estrella se lo conoce tambin
como cubo OLAP.

En su texto bsico revise el apartado 20.2.2 donde encontrar ms detalles sobre la estructura de
un esquema en estrella de un almacn de datos.

Veamos ahora en detalle y con ejemplos como se realiza este tipo de diseo.

103 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

En el Entorno Virtual de Aprendizaje revise el recurso Diseo multidimensional. En el cul


se explica paso a paso el diseo de lgico de un almacn de datos mediante un modelo

NDICE
multidimensional.

Es clara la diferencia entre el diseo de una base de datos tradicional respecto al diseo de un almacn
de datos. La Figura 35 ilustra bien esta diferencia, en la base de datos transaccional las entidades se

PRELIMINARES
relacionan de forma dispersa, mientras que en un almacn de datos todas las entidades confluyen hacia
una entidad central.

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
Figura 35. Comparacin diseo de una Base de Datos

SOLUCIONARIO
Transaccional vs el diseo de un Data Warehouse

Esa entidad central ya en su implementacin constituye la llamada tabla de hechos, y las que estn a
su alrededor son las tablas de dimensiones que contienen las perspectivas de anlisis. Y entre las tablas
dimensionales y la tabla de hechos siempre hay una asociacin 1:N. La Figura 36 muestra otro ejemplo

BIBLIOGRFICAS
de cubo OLAP para analizar los hechos referentes a al tema matrculas.

REFERENCIAS
Decimos tambin que este tipo de diseo multidimensional, es desnormalizado, pues en este caso no
importa que exista redundancia, lo importante es que la extraccin de los datos sea mucho ms eficiente.
En la Figura 36 por ejemplo, la tabla dimensional CENTRO_UNIVERSITARIO no llega a 3FN, pues existen
dependencias transitivas, lo que provoca que existan muchas repeticiones de nombres de ciudad y de
nombres de provincia, desde el punto de vista transaccional eso no sera dable, pero en un almacn de
datos es necesario. GLOSARIO
ANEXOS

Figura 36. Ejemplo cubo OLAP Matrculas

104 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Recuerde, cada cubo OLAP permite analizar ciertos indicadores (mtricas) para un tipo de
hecho en particular (ventas, prestamos, reservas, matriculas, etc.), desde distintas perspectivas

NDICE
dependiendo del hecho, siendo muy comunes aquellas que describen cuando ocurri y donde
ocurri el hecho.

Entonces, de un cubo OLAP, son muchos los informes que un directivo podra generar. Por ejemplo, a
partir del cubo OLAP de la Figura 36, se podran obtener distintos informes, tales como:

PRELIMINARES
Total de estudiantes matriculados por cada rea acadmica y por cada ao, en el centro
universitario de Manta.
Costo promedio de matrculas por carrera y por ao.
Relacin hombres vs mujeres matriculados por rea acadmica y por nivel de estudios.

BIMESTRE
PRIMER
Actividad propuesta:

Para el caso de estudio PEDIDOS descrito en el Anexo 2, realice lo siguiente:

1. Disee un cubo OLAP que permita obtener los siguientes informes gerenciales
a. Top 10 de los productos ms vendidos en 2016.
b. Promedio total de ventas por cada da de la semana.

SEGUNDO
BIMESTRE
c. Total de ventas anuales desde 2009 en productos fabricados por la empresa PRONACA.
2. En su base de datos Oracle, implemente en esquemas diferentes (usuarios distintos) ambos
esquemas: el esquema transaccional y el cubo OLAP.
3. Para cada informe, escriba la sentencia SQL que permita obtenerlo. Escriba dos sentencias:

SOLUCIONARIO
a. La que permite obtenerlo desde la base de datos transaccional.
b. La que permite obtenerlo desde el cubo OLAP.
c. Compare ambas sentencias Se comprueba que es ms simple la extraccin desde el
almacn de datos?
4. Identifique qu otros informes podran obtener los directivos a partir del cubo diseado en
el punto 1.

BIBLIOGRFICAS
REFERENCIAS
A continuacin, un ejemplo de cmo sera la visualizacin de un informe a travs de herramientas OLAP.

GLOSARIO
ANEXOS

105 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Total de estudiantes matriculados por cada rea acadmica y por cada ao, en el centro
Reporte
universitario de Manta.

NDICE
Herramienta Qlikview
Visualizacin

PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
8.5. Minera de datos
Habamos mencionado antes a la minera de datos como uno de los mtodos para explorar los datos con

BIBLIOGRFICAS
el objetivo de descubrir patrones no evidentes.

REFERENCIAS
En su texto bsico revise el apartado 20.3. donde se explica lo que es la minera de datos, su
diferencia con el aprendizaje automtico, y sus aplicaciones.

GLOSARIO
As como la minera tradicional es la accin de escavar en la tierra para encontrar y extraer minerales,
la minera de datos lo que hace es escavar en los datos buscando informacin o conocimiento oculto
que le pueda servir a una organizacin para orientar mejor sus decisiones y sus acciones. La idea es que,
aplicando diferentes tipos de algoritmos sobre un conjunto de datos, se puedan descubrir estructuras
o patrones tiles. Por ejemplo, es comn escuchar que detrs de las operaciones financieras de ciertas
personas u organizaciones, podran ocultarse delitos financieros como el lavado de dinero, en este
ANEXOS

caso la minera de datos puede ayudar en mucho a encontrar y contrastar patrones que alerten sobre
estos hechos. Si una persona que normalmente se maneja en un cierto rango de actividad financiera,
y de pronto esa actividad aumenta considerablemente (tanto en montos como en frecuencia), podra
significar una alerta que se requiere investigar.

El poder predecir un hecho antes de que ocurra, es informacin de alto valor estratgico para cualquier
organizacin. Por ejemplo, para una empresa comercial el poder predecir el volumen de ventas en
funcin de distintas estrategias publicitarias, sera informacin invaluable. Y a lograr obtener ese tipo de
conocimiento es donde punta la minera de datos.

106 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Revisemos ahora los diferentes tipos de aplicacin de la minera de datos.

NDICE
Revise en su texto bsico los apartados 20.4, 20.5 y 20.7 para aprender acerca de las aplicaciones
de la minera de datos. Cntrese en comprender el alcance y beneficio de cada tipo de aplicacin.

PRELIMINARES
Complementariamente, revise la Tabla 5 donde se resumen estos tipos de aplicacin.

Tabla 5. Tipos de aplicaciones minera de datos

Tipos de aplicacin de
Descripcin Ejemplos
la minera de datos
Clasificar los estudiantes en categoras

BIMESTRE
Examinar las caractersticas de un nuevo

PRIMER
segn su rendimiento: bajo, medio y
objeto y asignarle una clase o categora alto.
Clasificacin
de acuerdo a un conjunto de tales
objetos previamente clasificados. Detectar los estados operacionales de
un sistema: con falla, seguro, inactivo.
Predecir un valor futuro con base a Predecir cuanto efectivo requerir un
Pronstico (Prediccin)
valores pasados. cajero automtico en un fin de semana.

SEGUNDO
BIMESTRE
Determinar cosas u objetos que van
juntos.
Determinar que productos se adquieren
Asociacin (reglas) Es el descubrimiento de relaciones conjuntamente en un supermercado.
entre las caractersticas (atributos) que
conforman la base de datos.

SOLUCIONARIO
Dividir la base de clientes de acuerdo
Agrupacin o con los hbitos de consumo.
Dividir una poblacin en un nmero de
segmentacin
grupos ms homogneos. Establecer los grupos de estudiante
(Clustering)
segn sus estilos de aprendizaje.
Fuente: Aguilar, s.f

BIBLIOGRFICAS
Elaborado: Encalada, E.

REFERENCIAS
La minera de datos en s es un campo de estudio muy amplio que est en pleno desarrollo, y que
actualmente se basa en el uso de tcnicas estadsticas y de inteligencia artificial.

Actividades propuestas:

GLOSARIO
1. Investigue casos de xito acerca de la aplicacin de la minera de datos para generar
conocimiento en las organizaciones. Busque internet ejemplos de conocimiento que se
puede llegar a descubrir aplicando esta tcnica. Elabore un cuadro resumen organizando los
casos encontrados en funcin del impacto y utilidad.
2. Consulte cuales son principales tcnicas de inteligencia artificial que se usan en la minera de
datos.
3. Consulte herramientas para minera de datos disponibles actualmente en el mercado, y
ANEXOS

elabore un cuadro comparativo, donde se puedan contrastar precio, tipo licencia, plataforma,
caractersticas funcionales y cualquier otro aspecto que considere oportuno.

Estimado(a) estudiante, concluimos aqu el estudio de la ltima unidad de nuestra asignatura. Espero
le haya permitido dimensionar el valor estratgico que actualmente tiene la informacin para las
organizaciones, que bien aprovechado puede representar una gran ventaja competitiva. Y en ese
propsito los almacenes de datos juegan un papel determinante al ser el concentrador e integrador de
los datos que atestiguan la experiencia acumulada por el negocio.

107 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Confo en que todo lo aprendido en la asignatura, le haya permitido descubrir nuevos retos y
oportunidades en su futuro profesional.

NDICE
Gracias por su inters y dedicacin!

PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

108 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

Autoevaluacin 8

NDICE
Una vez concluido el estudio de la presente unidad, le invito desarrollar el siguiente cuestionario, que le
servir para verificar la asimilacin de lo aprendido.

PRELIMINARES
Seleccione la opcin correcta

1. En un almacn de datos la extraccin de los datos desde las fuentes origen, su transformacin y
limpieza, estn a cargo del

a. gestor de carga

BIMESTRE
PRIMER
b. gestor de almacenamiento
c. gestor de consulta

2. Los sistemas a travs de los cuales se registran las operaciones diarias de una organizacin se
denominan:

SEGUNDO
BIMESTRE
a. Sistemas transaccionales
b. Sistemas de soporte a las decisiones
c. Sistemas de informacin ejecutiva

SOLUCIONARIO
3. La exploracin de los datos histricos en bsqueda de patrones ocultos se logra mediante:

a. Consultas SQL
b. Operaciones OLAP
c. Minera de datos

BIBLIOGRFICAS
REFERENCIAS
4. Al tipo de aplicacin de la minera de datos en el cul exploramos los datos buscando identificar
entidades vinculadas entre s con base en el descubrimiento de relaciones entre sus atributos, se
denomina:

a. Asociacin
b. Prediccin
c. Clasificacin GLOSARIO

5. OLTP se refiere a los tipos de sistemas en los cuales la operacin principal es

a. la consulta de datos
b. la actualizacin de datos
ANEXOS

c. la replicacin de datos

6. En un modelo multidimensional tipo estrella a las perspectivas desde las cuales se pueden analizar
ciertos indicadores, se las denomina:

a. Hechos
b. Medidas
c. Parmetros
d. Dimensiones

109 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SEGUNDO BIMESTRE

7. Al disear un Data Warehouse bajo un esquema estrella (cubo) el tipo de relacin existente entre
una tabla de dimensin y la tabla de hechos es:

NDICE
a. 1:1
b. 1:N
c. N:M

PRELIMINARES
8. En materia de diseo de bases de datos hablamos de modelo multidimensional y modelo entidad-
relacin, estos dos modelos se utilizan:

a. El modelo multidimensional para bases de datos transaccionales y el modelo entidad-


relacin para almacenes de datos
b. El modelo multidimensional para almacenes de datos y el modelo entidad-relacin para

BIMESTRE
PRIMER
bases de datos transaccionales
c. Se pueden utilizar indistintamente en bases de datos transaccionales y almacenes de datos
d. No existe un modelo multidimensional, para cualquier diseo de base de datos se parte de
un modelo entidad-relacin

SEGUNDO
9. Un Data Warehouse puede permitir integrar datos provenientes de hasta

BIMESTRE
a. una nica fuente de datos
b. mltiples fuentes de datos homogneas
c. mltiples fuentes de datos heterogneas

SOLUCIONARIO
10. Al conjunto de estrategias y herramientas enfocadas a la administracin y creacin de conocimiento
mediante el anlisis de datos en una organizacin o empresa se denomina:

a. Inteligencia de negocios
b. Inteligencia artificial

BIBLIOGRFICAS
REFERENCIAS
c. Minera de datos
d. Inteligencia colectiva

Recuerde que al final de la gua puede revisar el solucionario para validar sus aciertos y sus errores. Si hay
aspectos en los an tiene dificultad, le animo revisar nuevamente esos temas y apoyarse en la asesora
que le brinda su tutor.
GLOSARIO

Ir a solucionario
ANEXOS

110 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SOLUCIONARIO

7. Solucionario

NDICE
Autoevaluacin 1

PRELIMINARES
Pregunta Respuesta
1 b
2 b
3 a
4 a

BIMESTRE
PRIMER
5 c
6 c
7 b
8 a

SEGUNDO
BIMESTRE
9 c
10 b

SOLUCIONARIO
Ir a autoevaluacin

BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

111 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SOLUCIONARIO

Autoevaluacin 2

NDICE
Pregunta Respuesta
1 c
2 a

PRELIMINARES
3 c
4 b
5 b
6 a
7 b

BIMESTRE
PRIMER
8 c
9 b
10 d

SEGUNDO
BIMESTRE
Ir a autoevaluacin

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

112 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SOLUCIONARIO

Autoevaluacin 3

NDICE
Pregunta Respuesta
1 a
2 b

PRELIMINARES
3 c
4 c
5 b
6 b
7 c

BIMESTRE
PRIMER
8 a
9 c
10 c

SEGUNDO
BIMESTRE
Ir a autoevaluacin

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

113 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SOLUCIONARIO

Autoevaluacin 4

NDICE
Pregunta Respuesta
1 b
2 c

PRELIMINARES
3 a
4 b
5 a
6 a
7 c

BIMESTRE
PRIMER
8 b
9 c
10 c

SEGUNDO
BIMESTRE
Ir a autoevaluacin

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

114 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SOLUCIONARIO

Autoevaluacin 5

NDICE
Pregunta Respuesta
1 b
2 b

PRELIMINARES
3 a
4 b
5 c
6 a
7 d

BIMESTRE
PRIMER
8 a
9 b
10 d

SEGUNDO
BIMESTRE
Ir a autoevaluacin

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

115 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SOLUCIONARIO

Autoevaluacin 6

NDICE
Pregunta Respuesta
1 a
2 b

PRELIMINARES
3 a
4 c
5 c
6 b
7 a

BIMESTRE
PRIMER
8 c
9 a
10 c

SEGUNDO
BIMESTRE
Ir a autoevaluacin

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

116 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SOLUCIONARIO

Autoevaluacin 7

NDICE
Pregunta Respuesta
1 a
2 a

PRELIMINARES
3 c
4 a
5 b
6 c
7 c

BIMESTRE
PRIMER
8 b
9 c
10 a

SEGUNDO
BIMESTRE
Ir a autoevaluacin

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

117 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada SOLUCIONARIO

Autoevaluacin 8

NDICE
Pregunta Respuesta
1 a
2 a

PRELIMINARES
3 c
4 a
5 b
6 d
7 b

BIMESTRE
PRIMER
8 b
9 c
10 a

SEGUNDO
BIMESTRE
Ir a autoevaluacin

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

118 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada REFERENCIAS BIBLIOGRFICAS

8. Referencias bibliogrficas

NDICE
Ahumada-Tello, E., Zrate, R., Plascencia, I., y Perusquia-Velasco, J. (2012). Modelo de competitividad basado
en el conocimiento: el caso de las pymes del sector de tecnologas de informacin en Baja California.
Revista International Administracin & Finanzas, 2012, 5-13.

PRELIMINARES
Connolly, T. y Begg, C. (2005). Sistemas de bases de datos. Un enfoque prctico para diseo, implementacin
y gestin. Madrid: Pearson Education.

Coronel, C., Morris, S., Rob, P. (2011). Bases De Datos, Diseo, Implementacin Y Administracin. Mxico:
Cengage Learning.

BIMESTRE
PRIMER
Elmasri, R. y Navathe, S. (2016). Fundamentals of Database Systems. Hoboken: Pearson.

Pratte, D. (2005). Business Intelligence tools are key to building profits. Acesso em, 25.

Silberschatz, A., Korth, H., Sudarshan, S. (2014). Fundamentos De Bases De Datos. Madrid: McGraw-Hill.

SEGUNDO
BIMESTRE
Universidad de Sevilla. (2011). Procesamiento y Optimizacin de Consultas. Recuperado de http://www.lsi.
us.es/docencia/get.php?id=5793.

SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

119 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada GLOSARIO

9. Glosario

NDICE
BI: Inteligencia de Negocios (Business Intelligence).
CRUD: Crear, Leer, Actualizar y Borrar (Create, Read, Update and Delete).

PRELIMINARES
Data Mart: Mercado de Datos. Son pequeos data warehouse que pueden funcionar
independientemente y que estn orientados a un rea especfica del negocio.
DBA: Administrador de Bases de Datos (Database Administrator).
DBLC: Ciclo de Vida de las Bases de Datos (Database Life Cycle).
DBMS: Sistema de Gestin de Base de Datos (Database Management System). Similar a
SGBD.

BIMESTRE
PRIMER
DDBMS: Distributed Database Management System.
DDL: Lenguaje de Definicin de Datos (Data Definition Language).
DSS: Sistemas de soporte a las decisiones (Decision Support System), Sistenas de apoyo a la
toma de decisiones, Sistemas de ayuda a la toma de decisiones.
ETL: Extraccin, Transformacin, Carga (Extract, transform and load).

SEGUNDO
BIMESTRE
InnoDB: Mecanismo de almacenamiento de MySQL, de cdigo abierto que soporta
transacciones ACID, bloqueo de registros e integridad referencial.
LDAP: Protocolo Ligero/Simplificado de Acceso a Directorios (Lightweight Directory Access
Protocol).

SOLUCIONARIO
MyISAM: Mecanismo de almacenamiento de MySQL, basado en el formato ISAM.
OLAP: Procesamiento Analtico en Lnea (OnLine Analytical Processing).
OLTP: Procesamiento de Transacciones En Lnea (OnLine Transaction Processing).
RAID: Conjunto redundante de discos independientes (Redundant Array of Independent
Disks).

BIBLIOGRFICAS
REFERENCIAS
REA: Recurso Educativo Abierto.
SDLC: Ciclo de vida de desarrollo de sistemas (Systems Development Life Cycle).
SGBD: Sistema de Gestin de Base de Datos, tambin conocido como Motor de Base de
Datos. similar a DBMS.
SGBDD: Sistema de Gestin de Bases de Datos Distribuidas.

GLOSARIO
SQL: Lenguaje Estructurado de Consulta (Structured Query Language).
TPS: Sistemas de procesamiento de transacciones (Transaction Processing System), Sistemas
operacionales, Sistema transaccionales.
Transaccin de datos: Secuencia de operaciones que se ejecutan como una sola unidad
lgica de trabajo. Ejemplo: registrar venta, agregar cliente, agendar cita, etc.
Trigger: Disparador en espaol. Son rutinas de cdigo que se ejecutan automticamente,
ANEXOS

normalmente cuando cambia el estado de una tabla. Es decir, cuando en SQL ocurre alguno
de los eventos INSERT, UPDATE o DELETE.

120 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada ANEXOS

10. Anexos
DI CTI ONARY

TH ESA UR US

NDICE
Anexo 1. Caso de estudio Alquiler de videos

PRELIMINARES
CASO DE ESTUDIO ALQUILER DE VIDEOS

Diseo de base de datos

Descripcin del problema

BIMESTRE
Una empresa de alquiler de videos desea informatizar la gestin de los prstamos que realiza da a da a

PRIMER
sus clientes, con ello busca llevar un adecuado control de la informacin de videos y prstamos realizados,
ofrecer un mejor servicio a sus clientes, y contar con una base de datos que le permita conocer el estado
de su negocio.

Se ha planteado entonces la necesidad de construir un sistema para el alquiler de videos y con ello

SEGUNDO
BIMESTRE
construir una base de datos para almacenar toda la informacin generada por este proceso.

Requisitos de datos

Gestin de informacin de videos disponibles incluidos su gnero, por cada video adems

SOLUCIONARIO
del nombre debe guardarse la foto de su portada.
Gestin de los prstamos realizados, llevando el control de a quien se realiza el prstamo, la
fecha de alquiler y la fecha de devolucin. Por cada video alquilado se registra un prstamo,
es decir si un mismo cliente solicita 2 videos se registraran dos prstamos.
Cada cliente puede alquilar varios videos y un video puede ser alquilado a varios clientes en
fechas distintas.

BIBLIOGRFICAS
REFERENCIAS
Cuando el cliente devuelve un video debe registrarse la fecha de devolucin y actualizar su
estado de Alquilado a Devuelto.
Por cada cliente se requiere conocer sus datos personales y de contacto.
En todo momento se debe poder conocer los videos que estn disponibles para alquilar.
Transacciones de datos
GLOSARIO
Transaccin Tipo
1 Administrar Clientes Actualizacin
2 Administrar Videos Actualizacin
3 Registrar alquiler de video Actualizacin
ANEXOS

4 Registrar devolucin de video Actualizacin


5 Reporte de alquiler de videos por cada mes, ordenados por fecha de alquiler Consulta
6 Listar informacin de videos disponibles incluido el gnero Consulta

121 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada ANEXOS

Diseo conceptual

Diagrama E-R

NDICE
PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

122 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada ANEXOS

Diccionario de datos

Tipo Entidad/ Restriccin de Dominio

NDICE
Atributo Obligatorio Valor por defecto
Relacin Adicional
cliente apellido X
cliente nombre X
video genero X

PRELIMINARES
video nombre X
Tres posibles valores:

D (disponible),
video estado X D
N (no disponible),

BIMESTRE
B (dado de baja)

PRIMER
Fecha actual al momento
alquila fechapre X Debe ser mayor a 1970
del registro
alquila dias_plazo X
Tres posibles valores:

SEGUNDO
BIMESTRE
A (alquilado),
alquila estado X A
V (vencido),

D (devuelto)
Debe ser mayor o igual a
alquila fechadev

SOLUCIONARIO
fecha de prstamo

Diseo lgico

Diagrama relacional

BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

123 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada ANEXOS

Diccionario de datos

Restriccin de Dominio

NDICE
Tabla Columna Obligatorio Valor por defecto
Adicional
clientes apellido X
clientes nombre X
videos genero X

PRELIMINARES
videos nombre X
Tres posibles valores:

D (disponible),
videos estado X D
N (no disponible),

BIMESTRE
B (dado de baja)

PRIMER
Fecha actual al momento
prestamos fechapre X Debe ser mayor a 1970
del registro
prestamos dias_plazo X
Tres posibles valores:

SEGUNDO
BIMESTRE
A (alquilado),
prestamos estado X A
V (vencido),

D (devuelto)
Debe ser mayor o igual a
prestamos fechadev

SOLUCIONARIO
fecha de prstamo

BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

124 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada ANEXOS

Anexo 2. Caso de estudio Pedidos


CASO DE ESTUDIO PEDIDOS

NDICE
Descripcin del problema

Imaginmonos en una empresa de distribucin que desea informatizar el procesamiento de pedidos.

PRELIMINARES
Las consideraciones bsicas a tomar en cuenta en un principio son las siguientes:

La empresa tiene varias oficinas o localidades donde recepta los pedidos.


Cada oficina cuenta con un equipo de vendedores y empleados quienes se encargan de procesar
los pedidos de cada cliente.
A su vez cada vendedor tiene un supervisor, el cual a su vez tiene bajo su control a varios vendedores.

BIMESTRE
Un cliente puede solicitar uno o ms productos en un solo pedido.

PRIMER
Cada producto se codifica basndose en el fabricante y a un nmero interno.
Esquema relacional

OFICINAS EMPLEADOS

SEGUNDO
BIMESTRE
EMPLEADO_OFICINA
IDOFICINA integer not null IDEMPLEADO integer not null
IDEMPLEADO integer null IDOFICINA integer not null
CIUDAD char(30) not null EMP_IDEMPLEADO integer null
REGION char(30) not null CEDULA char(10) not null
OBJETIVO numeric(12,2) not null DIRECTOR APELLIDOS char(30) not null SUPERVISOR
VENTAS numeric(12,2) not null NOMBRES char(30) not null
GENERO char(1) not null

SOLUCIONARIO
FECHANACIMIENTO date not null
FECHAINGRESO date not null
NROTELEFONO char(14) null
CUOTA numeric(12,2) not null
VENTAS numeric(12,2) not null

BIBLIOGRFICAS
REFERENCIAS
PEDIDOS FABRICANTES
NUMERO integer not null CLIENTE_VENDEDOR
IDFABRICANTE integer not null
PEDIDO_VENDEDOR
IDCLIENTE integer not null NOMBRE char(30) not null
IDEMPLEADO integer not null
FECHAPEDIDO date not null PEDIDO_CLIENTE
IMPORTE numeric(12,2) not null

CLIENTES GLOSARIO
IDCLIENTE integer not null
IDEMPLEADO integer null
ITEM_PEDIDO
RUC char(13) null
EMPRESA char(30) not null
LIMITECREDITO numeric(12,2) not null
ANEXOS

ITEMS
IDFABRICANTE integer not null ITEM_PRODUCTO
IDPRODUCTO integer not null
NUMERO integer not null PRODUCTOS
CANTIDAD integer not null IDFABRICANTE integer not null
PRECIO numeric(12,2) not null IDPRODUCTO integer not null
DESCRIPCION char(30) not null
PRODUCTO_FABRICANTE
PRECIO numeric(12,2) not null
EXISTENCIA integer not null

125 MODALIDAD ABIERTA Y A DISTANCIA


Texto-Gua: Base de Datos Avanzada ANEXOS

Restricciones de integridad para campos derivados

La suma del importe de los pedidos receptados por un vendedor debe corresponder a valor

NDICE
de ventas para ese vendedor (empleados.ventas).
La suma de las ventas de los vendedores de una misma oficina debe corresponder al total
de ventas de esa oficina (oficinas.ventas).
El importe total de cada pedido (pedidos.importe) es igual a la suma del importe de cada

PRELIMINARES
tem correspondiente a ese pedido.

BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS

126 MODALIDAD ABIERTA Y A DISTANCIA

Das könnte Ihnen auch gefallen