Beruflich Dokumente
Kultur Dokumente
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
rea Tcnica
NDICE
PRELIMINARES
MODALIDAD ABIERTA Y A DISTANCIA
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
BIBLIOGRFICAS
REFERENCIAS
Gua Didctica
Angel Eduardo Encalada Encalada
Primera edicin
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
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
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
NDICE
4.4. Importancia de los ndices y la memoria intermedia................................................................ 54
4.5. Buenas prcticas SQL................................................................................................................................ 54
Autoevaluacin 4 ...................................................................................................................................................... 58
PRELIMINARES
SEGUNDO BIMESTRE
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
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.
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.
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
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
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,
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
NDICE
PRELIMINARES
PRIMER BIMESTRE
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!
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.
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.
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:
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.
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.
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).
A nivel fsico veramos la base de datos en disco, los archivos de datos, su ubicacin, su
ANEXOS
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
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
Diseo lgico
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
Durante este proceso, a nivel tcnico son 2 los roles que asumen las personas que realizan el diseo:
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.
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
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:
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:
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
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.
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
a. Diseo fsico
SEGUNDO
BIMESTRE
b. Diseo conceptual
c. Diseo de pruebas
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. reemplaza al diagrama
b. describe el diagrama
c. complementa al diagrama
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:
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
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:
SOLUCIONARIO
Oracle SQL Developer: https://rebrand.ly/taworadev
Oracle SQL Developer Data Modeler: https://rebrand.ly/taworamod
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:
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.
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.
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS
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:
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?
BIBLIOGRFICAS
Para evitar que este tipo de fallos conduzca a la prdida de informacin es muy importante implementar
REFERENCIAS
dos medidas:
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
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
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.
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?
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
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.
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).
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.
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
Fuente: https://docs.oracle.com/cd/E11882_01/server.112/e40540/startup.htm#CNCPT005
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
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:
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.
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.
GLOSARIO
se explica y se realiza este anlisis para un caso de estudio.
Las tablas crticas en nuestro modelo de datos (aquellas que soportarn el mayor nmero
de operaciones de acceso).
ANEXOS
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.
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.
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
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:
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.
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)
Recuerde:
Todas las restricciones de integridad se deben implementar, sea mediante DDL, usando triggers,
NDICE
o en la aplicacin.
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.
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.
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.
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.
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.
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
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
a. Segments
b. Data Files
c. Tablespaces
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:
SEGUNDO
b. Criterios de seleccin (clusula WHERE)
BIMESTRE
c. Criterios de fuentes de datos (clusula FROM)
d. Criterios de asignacin (clusula SET)
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
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.
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:
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.
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
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.
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.
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.
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.
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:
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.
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:
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
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
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.
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.
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.
Suerte y adelante!
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.
a. El DBA
BIMESTRE
PRIMER
b. La aplicacin
c. El SGBD
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
BIBLIOGRFICAS
REFERENCIAS
4. Ante la amenaza de Daos fsicos en los equipos, una de las contramedidas apropiadas sera:
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
a. instalar un firewall
b. implementar replicacin
c. implementar vistas
NDICE
a. Usuario
b. Perfil
c. Rol
PRELIMINARES
d. Esquema
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:
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?
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
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
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.
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:
BIBLIOGRFICAS
REFERENCIAS
donde todos los atributos son obligatorios.
Ejemplo 1:
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:
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.
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
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:
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
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.
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:
BIMESTRE
PRIMER
2. Optimizacin basada en reglas.
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:
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.
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.
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.
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.
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:
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).
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:
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
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
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.
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
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
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
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.
BIMESTRE
PRIMER
b. definir el plan de ejecucin.
c. traducir la consulta a algebra relacional.
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?
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
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
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
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
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.
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.
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:
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
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
El SGBD siempre debe garantizar el cumplimiento de las propiedades ACID. Iremos abordando cada una
de ellas con ms detalle.
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
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.
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
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.
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.
NDICE
2. Secuencialidad en cuanto a vistas
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.
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
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.
T1 T2 T3
ANEXOS
(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:
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
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.
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:
Actividad propuesta:
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.
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.
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
Actividad propuesta:
NDICE
Transaccin A Transaccin B Transaccin C
PRELIMINARES
C=A A=B A=B
BIMESTRE
PRIMER
escribir(A) escribir(C)
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.
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
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.
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
nimo y adelante!
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.
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
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
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. deshacer la transaccin.
b. guardar la transaccin
c. confirmar la transaccin
NDICE
a. Una planificacin secuenciable
b. Una planificacin secuencial
c. Una planificacin secuencial y adems recuperable
PRELIMINARES
d. Una planificacin secuenciable y adems recuperable
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
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
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.
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:
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.
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:
SEGUNDO
codificacin.
BIMESTRE
Adems, tambin considerar lo siguiente:
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.
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.
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.
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.
BIBLIOGRFICAS
REFERENCIAS
De las tcnicas estudiadas, quiz las ms comunes son:
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:
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?
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?
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
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:
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.
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
Optimizar consultas.
Revisar modelo de datos.
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:
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!
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.
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
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:
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:
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
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
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
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.
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.
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.
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).
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.
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?
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.
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.
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.
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.
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).
BIMESTRE
se asegure de disear una distribucin de datos lo ms ptima posible de manera que se reduzca la
PRIMER
probabilidad de transacciones distribuidas.
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:
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
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:
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.
GLOSARIO
ANEXOS
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.
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
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
GLOSARIO
a. no garantizan todas las propiedades ACID
b. no aseguran la disponibilidad de los datos
c. no permiten la escalabilidad
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
BIMESTRE
PRIMER
8. Cuando una tabla se fragmenta horizontalmente con base en la fragmentacin de otra, se
denomina:
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
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
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.
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.
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
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.
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.
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
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.
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).
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
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:
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
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).
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
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:
BIBLIOGRFICAS
REFERENCIAS
Inteligencia de negocios, especficamente:
Con base en ello elabore un mapa conceptual que refleje y resuma lo asimilado en este tema. GLOSARIO
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.
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.
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
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:
PRELIMINARES
Sistemas de base de datos diferentes.
Esquemas, formatos de datos y convenciones de nombrado diferentes.
Fuentes de datos dispersas geogrficamente.
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.
BIBLIOGRFICAS
REFERENCIAS
Gestor de consultas
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.
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
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:
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
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.
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.
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.
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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.
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
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
Diseo conceptual
Diagrama E-R
NDICE
PRELIMINARES
BIMESTRE
PRIMER
SEGUNDO
BIMESTRE
SOLUCIONARIO
BIBLIOGRFICAS
REFERENCIAS
GLOSARIO
ANEXOS
Diccionario de datos
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
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
NDICE
Descripcin del problema
PRELIMINARES
Las consideraciones bsicas a tomar en cuenta en un principio son las siguientes:
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
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