Documentos de Académico
Documentos de Profesional
Documentos de Cultura
U3 Act 3
ADMINISTRACION DE
UNA BASE DE DATOS
1
U3 ACT. 3
Integrantes:
Juana Geovanna Suárez Velázquez
Ezequiel Torres Desilos
Rubén David Rodríguez Gaytán
Oscar Isidro Rodríguez García
Profesor:
Emily Jazmin De la Garza Acuña
Grado y Grupo:
5°” A”
Fecha:
8/11/22
2
INDICE
Administración de datos y bases de datos ...................................................................................... 4
Administración de los recursos de informaciónpara el manejo del conocimiento............................. 5
Responsabilidades de los administradores de datosy los administradores de bases de datos ......... 6
Manipulación del diccionario de datos ............................................................................................ 10
Administración de entornos de bases de datos .......................................................................... 14
Administración de bases de datos de objetos ................................................................................. 15
Detalles con los conceptos y las técnicas administrativas .......................................................... 16
Sentencias CREATE y DROP ROLE ........................................................................................... 18
Sentencias GRANT y REVOKE ................................................................................................... 18
Administración de transacciones ..................................................................................................... 19
15.1 Aspectos básicos de las transacciones de bases de datos .................................................. 19
15.1.1 Ejemplos de transacciones ................................................................................................. 20
Enunciados SQL para definir las transacciones ........................................................................... 20
15.1.2 Propiedades de la transacción ........................................................................................... 21
15.2.2 Problemas de interferencia ................................................................................................ 23
15.2.3 Herramientas de control de concurrencia ......................................................................... 23
Granularidad de candados ........................................................................................................... 25
15.3 Administración de recuperaciones ....................................................................................... 25
15.3.1 Dispositivos de almacenamiento de datos y tipos de fallas ............................................. 25
15.3.2 Herramientas de recuperación .......................................................................................... 26
15.3.3 Procesos de recuperación ................................................................................................. 27
15.4 Aspectos del diseño de transacciones ................................................................................. 28
15.4.1 Límite de transacción y puntos decisivos .......................................................................... 28
15.4.2 Niveles de aislamiento........................................................................................................ 30
15.4.3 Momento de imposición de la restricciónde integridad ................................................... 31
15.4.4 Puntos de protección ........................................................................................................ 32
15.5 Administración del flujo de trabajo ....................................................................................... 32
15.5.1 Caracterización de los flujos de trabajo ............................................................................. 33
15.5.2 Tecnologías que permiten el flujo de trabajo .................................................................... 33
3
Administración de datos y bases de datos
Las bases de datos soportan las operaciones de negocios y la toma de decisiones
administrativas en distintos niveles. La mayoría de las grandes organizaciones han
desarrollado diversas bases de datos operacionales para ayudar a manejar los negocios
con eficiencia, Conforme las organizaciones logran mejorar su operación, empiezan a
darse cuenta del potencial de toma de decisiones de sus bases de datos. Las bases de
datos operacionales ofrecenla materia prima para la toma de decisiones administrativas,
Sin embargo, es preciso agregar mayor valor con el fin de aprovechar las bases de datos
operacionales para la gerencia media y alta. Es necesario limpiar, integrar y resumir las
bases de datos operacionales con el objeto de proporcionar valor para la toma de
decisiones tácticas y estratégicas. La integración se vuelve necesaria porque a menudo las
bases.
Tal vez la gerencia media quiera integrar los datos en distintos departa-mentos, plantas
de manufactura y tiendas detallistas. La alta gerencia depende de los resultados del
análisis de la gerencia media y las fuentes de datos externas. La alta gerencia necesita in-
tegrar los datos de modo que sea posible llevar un registro de clientes, productos,
proveedores y otras entidades importantes en toda la organización. Además, es necesario
resumir los datos externos y luego integrarlos con los internos
4
Administración de los recursos de información para el
manejo del conocimiento
5
La mejor tecnología de la in-formación fracasa si no se alinea con los elementos humanos
y de la organización. La tecnología de la información debe ampliar la capacidad
intelectual individual, compensar las limitaciones en el procesamiento humano y apoyar
una dinámica positiva en la organización.
Puesto Responsabilidades
Establece estándares y políticas entre las bases de datos con respecto a los
nombres, la capacidad para compartir datos y la propiedad de los datos.
Negocia los términos contractuales con los distribuidores de tecnología
de la información.
6
La seguridad comprende la protección de una base de datos del acceso no autorizado y de
la des- trucción maliciosa. Debido al valor de la información en las bases de datos
corporativas, existeuna gran motivación para los usuarios no autorizados que tratan de
obtener acceso ilegal a ellas. Los competidores se sienten atraídos por el acceso a
información delicada sobre los planes de desarrollo de los productos, las iniciativas para
ahorrar en costos y los perfiles de los clientes, La seguridad es un amplio tema que
comprende muchas disciplinas. Existen aspectos lega-les y éticos relacionados con quién
tiene acceso a los datos y cuándo se pueden revelar.
El planteamiento más común para las reglas de autorización se conoce como control de
acceso discrecional. En éste, a los usuarios se les asignan derechos o privilegios de
acceso a secciones específicas de una base de datos. Para un control preciso, los
privilegios se especifi- can para las vistas en lugar de las tablas o los campos, . Como las
funciones son más estables que losusuarios individuales, las reglas de autorización que
hacen referencia a las funciones requieren menos mantenimiento que las reglas que
hacen referencia a usuarios individuales. A los usuarios se les asignan funciones y una
contraseña. Durante el proceso de registro a la base de datos, el sistema de seguridad
autentica a los usuarios e indica a qué funciones pertenecen.
DBA
Autenticación,
Los controles de acceso obligatorios son menos flexibles que los controles de acceso dis-
crecionales. En los primeros, a cada objeto se le asigna un nivel de clasificación y a cada
usua-rio se le da un nivel de autorización. Un usuario puede tener acceso a un objeto si su
nivel de autorización ofrece acceso al nivel de clasificación del objeto, Además de estos
controles de acceso, los DBMS ofrecen soporte para la encriptación de bases de datos.
La encriptación comprende la codificación de los datos para ocultar su signifi- cado. Un
algoritmo de encriptación cambia los datos originales (conocidos como texto plano o
plaintext).
7
Sentencias de seguridad de SQL:2003
La sentencia GRANT también se puede usar para asignar usuarios a los roles, como se
muestra en las últimos tres sentencias GRANT, el usuario Smith puede otorgar la función
ISAdministrator a otros usuarios. La opciónWITH GRANT se debe utilizar con precaución
porque ofrece mucha libertad al usuario.
La sentencia REVOKE se utiliza para eliminar un privilegio de acceso. se elimina el
privilegio SELECT de ISFaculty. La cláusula RESTRICT significa que el privilegio se revoca
sólo si no se otorgó a la función especificada por más de unusuario.
(SQL:2003)
8
Estas limitaciones adicionales de seguridad casi siempre se especifican en las interfaces
propietarias o en las herramientas de desarrollo de aplicaciones, en lugar de SQL
Procedimiento, función,
Privilegio/ paquete, biblioteca, Vista
Objeto Tabla Vista Secuencia2 operador, tipo de índice materializada 3
ALTER X X
DELETE X X X
EXECUTE X
INDEX X
INSERT X X X
REFERENCES X X
SELECT X X X X
UPDATE X X X
Para las prácticas de encriptación, un DBA debe considerar los estándares de documenta-
ción, el uso de parámetros y el contenido, como resume la tabla 14.6. Los estándares de
docu- mentación pueden incluir estándares de nombres, explicaciones de parámetros y
descripciones de las condiciones previas y posteriores a los procedimientos. Es preciso
vigilar el uso de pa- rámetros en los procedimientos y funciones. Para el contenido, los
disparadores no deben rea-lizar revisiones de integridad que se puedan codificar como
restricciones de integridad declara- tiva (restricciones CHECK, llaves primarias, llaves
foráneas...). Para reducir el mantenimiento, los disparadores y los procedimientos
almacenados deben hacer referencia a los tipos de datos de las columnas de las bases de
datos asociadas. un procedimiento almacenado o un disparador depende de las tablas,
vistas, procedimien-tos y funciones a los que hace referencia, así como de los planes de
acceso que crea el compila-dor SQL.
...
BEGIN
BEGIN
9
Garantizar que los procedimientos almacenados y disparadores funcionan de manera
correcta. Si un procedimiento o disparador utiliza un sentencia SQL, casi todos los DBMS
recopilan au-tomáticamente este procedimiento o disparador, en caso de que el plan de
acceso asociado sea obsoleto.
Un DBA debe estar consciente de las limitaciones de las herramientas que ofrece el DBMS
para el manejo de dependencias. Para procedimientos y funciones almacenados en un
sitio remoto, un DBA puede elegir entre el mantenimiento de la dependencia con sello
de la hora o la firma. Con el mantenimiento del sello de la hora, un DBMS recompila un
objeto dependiente para cualquier cambio en los objetos referenciados, Asimismo, un
DBA debe estar consciente de que un DBMS no va a recompilar un procedimiento ni un
disparador si se elimina uno de los objetos referenciados. El procedimiento o disparador
dependiente se marcará como inválido porque la recompilación no es posible.
contiene las tablas del catálogo en el Definition_Schema, como resume la tabla 14.9.El
Definition_Schema contiene una o más tablas del catálogo que corresponden a cada
objeto que se puede crear en una definición de datos SQL o una sentencia de control de
datos. Las tablas de catálogo de la base en el Definition_Schema no están pensadas para
accederse en las aplicaciones.
Contenido
USER_CATALOG Contiene datos básicos sobre cada tabla y vista definidas por un usuario.
USER_OBJECTS Contiene datos sobre cada objeto (funciones, procedimientos, índices,
disparadores, afirmaciones, etc.) definido por un usuario. Esta tabla
contiene la hora de creación y la última vez que cambió para cada objeto.
Contiene datos ampliados acerca de cada tabla, como la distribución del
espacio y los resúmenes estadísticos.
USER_TABLES
Contiene datos básicos y ampliados para cada columna, como nombre de
USER_TAB_COLUMNS columna, referencia de la tabla, tipo de datos y un resumen estadístico.
10
Sin embargo, para cualquier tarea específica, como manejar disparadores, un DBA
necesita utilizar una pequeña cantidad de tablas de catálogo. La tabla 14.10 presenta
algunas delas tablas de catálogo más importantes de Oracle.
Un DBA modifica en forma implícita las tablas de catálogo cuando utiliza comandos de
definición de datos, como la sentencia CREATE TABLE. Los DBMS usan las tablas de catá-
logo para procesar consultas, autorizar usuarios, revisar las limitaciones de integridad y
llevara cabo el procesamiento de otras bases de datos. El DBMS consulta las tablas de
catálogo antes de emprender cada acción. Por tanto, la integridad de estas tablas es
crucial para la operación del DBMS. Sólo los usuarios más autorizados deben tener
permitido modificar las tablas de catálogo. Para aumentar la seguridad y la confiabilidad,
el diccionario de datos casi siempre es una base de datos separada y guardada de
manera independiente de las bases de datos de los usuarios.
Planeación de datos
Muchas de ellas han creado islas deautomatización que ofrecen soporte para los objetivos
locales, pero no para las metas globales de la organización. La estrategia de las islas de
automatización puede dar lugar a una mala ali- neación de los objetivos del negocio y de
la tecnología de la información. Uno de los resultadosde esta alineación equivocada es la
dificultad para extraer el valor de la toma de decisiones de las bases de datos operativas.
Como respuesta a los problemas de las islas de automatización, muchas
organizaciones llevan a cabo un proceso de planeación detallado para la tecnología y
los sistemas de in- formación. El proceso de planeación tiene varios nombres, como
planeación de sistemas de información, planeación de sistemas de negocios, ingeniería
de sistemas de información y arquitectura de sistemas de información. Todos estos
planteamientos ofrecen un proceso para lograr los siguientes objetivos:
• Evaluación de los sistemas de información actuales en cuanto a las metas y objetivos
de laorganización.
• Determinación del alcance y lo oportuno que resulta el desarrollo de nuevos
sistemas deinformación, así como el uso de nueva tecnología de la información.
• Identificación de las oportunidades de aplicar la tecnología de la información para
lograruna ventaja competitiva.
11
Los administradores de datos desempeñan una función importante en el desarrollo de
los planes de sistemas de información: llevan a cabo numerosas entrevistas para
desarrollar el mo-delo de datos empresariales y se coordinan con otros empleados de
planeación con el objeto de desarrollar modelos de interacción. Para aumentar las
probabilidades de que los planes sean aceptados y utilizados, los administradores de
datos deben lograr la participación de la alta ge- rencia.
Selección y evaluación de los sistemas de administración
de bases de datos
La selección y evaluación de un DBMS puede ser una tarea muy importante para una
organi- zación. Los DBMS proporcionan una parte importante de la infraestructura de
cómputo. Con- forme las organizaciones se esfuerzan por manejar el comercio
electrónico a través de Internet y extraer el valor de las bases de datos operativas, los
DBMS desempeñan una función cada vez más importante. El proceso de selección y
evaluación es importante por el impacto que puede tener una mala elección. Los
impactos inmediatos pueden ser el lento desempeño de las bases, de datos y la pérdida
del precio de compra. El proceso de selección y evaluación comprende una valoración
detallada de las necesidades de una organización y las características de los DBMS
candidatos. El objetivo del proceso es de- terminar un grupo reducido de sistemas
candidatos que se investigan con mayor detalle. Debido a la naturaleza detallada del
proceso, un DBA realiza la mayor parte de las tareas. Por tanto, el DBA necesita conocer
bien los DBMS para poder llevarlas a cabo.
12
Calificar
13
gratuito sobre todo para sistemas que no son de misión crítica.
Evaluación
comparativa
(benchmark) Descripción Medidas de desempeño
TPC-C Evaluación comparativa de Transacciones por minuto; precio por
la captura de pedidos en línea transacciones por minuto
TPC-H Soporte para consultas ad hoc Consultas compuestas por hora; precio de
peticiones compuestas por hora
TPC-App Procesamiento de transacciones Interacciones de los servicios web por
de negocio a negocio con segundo (SIPS) por servidor de aplicaciones;
servicios de aplicaciones y web SIPS totales; precio por SIPS
TPC-W Evaluación comparativa del Interacciones web por segundo; precio
comercio en línea por interacciones web por segundo
14
Responsabilidades
Área
Educar y consultar sobre el diseño de aplicaciones y las
características
Monitoreo del desempeño problemas de integridad; modificar los niveles de recursos para
mejorar el desempeño
15
Detalles con los conceptos y las técnicas
administrativas
• Administración de recursos de información: filosofía administrativa para controlar
los re- cursos de información y aplicar la tecnología de información con el fin de
soportar la tomade decisiones administrativas.
• Administrador de bases de datos: puesto de apoyo para administrar bases de datos
indivi- duales y DBMS.
• Administrador de datos: puesto administrativo con responsabilidades de
planeación y polí-ticas para la tecnología de la información.
• Controles de acceso discrecionales para asignar derechos de acceso a grupos y
usuarios.
• Controles de acceso obligatorios para bases de datos muy delicadas y estáticas
utilizadas enla recopilación de inteligencia y la defensa nacional.
• Sentencias SQL CREATE/DROP ROLE y sentencias GRANT/REVOKE para reglas de autorización discrecional.
16
AND O1.OffYear =
O2.OffYear AND
O1.OffDays = O2.OffDays
AND O1.OffTime =
O2.OffTime
AND O1.OffLocation = O2.OffLocation ) )
• Limitación CHECK en la sentencia CREATE TABLE para limitaciones
que comprenden las condiciones de fila en columnas de la misma
tabla.
CREATE TABLE Student
( StdSSN CHAR(11),
StdFirstName VARCHAR(50) CONSTRAINT
StdFirstNameRequiredNOT NULL,
StdLastName VARCHAR(50) CONSTRAINT
StdLastNameRequiredNOT NULL,
StdCity VARCHAR(50) CONSTRAINT
StdCityRequired NOTNULL,
StdState CHAR(2) CONSTRAINT
StdStateRequired NOTNULL,
StdZip CHAR(9) CONSTRAINT
StdZipRequired NOTNULL,
StdMajor CHAR(6),
StdClass CHAR(6),
StdGPA DECIMAL(3,2),
CONSTRAINT PKStudent PRIMARY KEY
(StdSSN), CONSTRAINT ValidGPA CHECK ( StdGPA
BETWEEN 0 AND 4 ),
CONSTRAINT MajorDeclared CHECK
( StdClass IN ('FR', 'SO') OR StdMajor IS NOT NULL ) )
17
Sentencias CREATE y DROP ROLE
<Privilege>:
{ SELECT [ (ColumnName*) ] |
DELETE |
INSERT [ (ColumnName*) ] |
REFERENCES [ (ColumnName*) ] |
UPDATE [ (ColumnName*) ]
USAGE |
TRIGGER |
UNDER |
EXECUTE }
18
Administración de transacciones
15
Panorama general
Este capítulo describelas propiedades de las transacciones, enunciados SQL para definir las
transacciones y las pro- piedades del procesamiento de transacciones. Después de aprender los
conceptos de las tran-sacciones, estará listo para estudiar el control de concurrencias y el manejo
de recuperaciones,dos importantes servicios para apoyar el procesamiento de transacciones. En
cuanto al controlde concurrencias, este capítulo describe el objetivo, los problemas de
interferencia y las herra-mientas de control de concurrencias. En relación con el manejo de
recuperaciones, este capítulodescribe los tipos de fallas, las herramientas y los procesos de
recuperación.
19
15.1.1 Ejemplos de transacciones
Un sistema de información puede tener varias clases de transacciones diferentes. La
tabla15.1 ilustra las transacciones de un sistema de captura de pedidos. En cualquier momento
losclientes podrían crear negocios con cada una de estas transacciones. Por ejemplo, muchos
clien-tes pueden hacer pedidos mientras otros revisan el estado de sus pedidos. Como ejemplo
adi-cional de las transacciones en un sistema de información, la tabla 15.2 ilustra las
transaccionestípicas en el sistema de nómina de una universidad. Algunas de estas transacciones
son periódi-cas, mientras otras son eventos únicos.
20
Como aprenderá más adelante en este capítulo, las transacciones deben estar diseñadas para
durar poco. Con el fin de acortar la duración de una transacción en un cajero automático,la
interacción del usuario debe colocarse fuera de la transacción siempre que sea posible. Enuna
transacción en cajero automático, el enunciado START TRANSACTION se puede colocardespués
de las primeras tres filas para eliminar la interacción con el usuario. Las transaccionesmuy largas
pueden dar lugar a un tiempo de espera prolongado entre los usuarios concurrentesde una base
de datos. Sin embargo, los enunciados UPDATE e INSERT deben permanecer en lamisma
transacción porque forman parte de la misma unidad de trabajo.
• Atómica
significa que una transacción no se puede subdividir. Ya sea que se realice todoel trabajo en la
transacción o que no se haga nada. Por ejemplo, la transacción en un cajeroelectrónico no
representará débito en una cuenta sin también acreditar una cuenta corres- pondiente. La
propiedad atómica implica que los cambios parciales que realiza una transac-ción deben
deshacerse si ésta se cancela.
• Consistente
significa que si las limitaciones aplicables son ciertas antes de empezar la tran-sacción, éstas
también lo serán al terminarla. Por ejemplo, si se calcula el saldo de la cuentadel usuario antes de
la transacción, también se calcula después de ésta. De lo contrario, latransacción se rechaza y
ningún cambio tiene lugar.
21
• Aislada
significa que las transacciones no interfieren entre sí, excepto en formas permi-tidas. Una
transacción nunca debe sobrescribir los cambios realizados por otra. Además,una transacción no
debe interferir en otros aspectos, como no ver los cambios temporalesrealizados por otras
transacciones. Por ejemplo, su pareja no sabrá que usted retiró dinerosino hasta terminar la
transacción en el cajero electrónico.
• Durable
significa que cualquier cambio que resulte de una transacción es permanente. Nin-guna falla va a
borrar ningún cambio después de terminar la transacción. Por ejemplo, sila computadora de un
banco experimenta una falla cinco minutos después de terminar unatransacción, sus resultados
siguen grabados en la base de datos del banco
Los DBMS ofrecen dos servicios para garantizar que las transacciones tienen las propie-dades
ACID: transparencia de recuperación y transparencia de concurrencia. La recuperacióncomprende
acciones para manejar las fallas, como errores en la comunicación y colapsos delsoftware. La
concurrencia comprende acciones para controlar la interferencia entre varios usua-rios
simultáneos de la base de datos. El análisis siguiente proporciona los detalles acerca de
latransparencia de recuperación y concurrencia.
• La transparencia de recuperación
significa que el DBMS restaura automáticamente una base de datos a un estado consistente
después de una falla. Por ejemplo, si ocurre una fallade comunicación durante una transacción en
un cajero automático, los efectos de la tran-sacción quedan borrados de la base de datos. Por otra
parte, si el DBMS se colapsa tressegundos después de que termina una transacción en un cajero
automático, los detalles dela transacción son permanentes.
• La transparencia de concurrencia
significa que los usuarios perciben la base de datoscomo un sistema para un solo usuario, aunque
haya varios usuarios simultáneos. Por ejem- plo, aun cuando muchos usuarios traten de reservar
lugares en el mismo vuelo medianteuna transacción de reservación, el DBMS se asegura de que
cada usuario no sobrescriba eltrabajo de los demás.
22
15.2.2 Problemas de interferencia
Hay tres problemas que se pueden presentar debido al acceso simultáneo a una base de datos:
(1)actualización perdida, (2) dependencia sin realizaciones y (3) recuperación inconsistente.
Estasección define cada problema y presenta ejemplos de su ocurrencia.
Actualización Perdida
Una actualización perdida es el problema de interferencia más serio porque los cambios a una
base de datos se pierden sin que nadie se dé cuenta. En una actualización perdida, la actualiza-
ción de un usuario sobrescribe la de otro, como ilustra la cronología de la figura 15.4. La crono-
logía muestra dos transacciones concurrentes que tratan de actualizar el campo de asientos
libres(SR) en el registro del mismo vuelo. Supongamos que el valor de SR es 10 antes de que
empiecenlas transacciones. Después del tiempo T2 ambas transacciones guardan el valor de 10
para SR en los búfers locales, como resultado de las operaciones leídas. Después del tiempo T4,
ambas
Candados
Los candados ofrecen una forma de evitar que otros usuarios tengan acceso a un elemento deuna
base de datos que está en uso. Un elemento de una base de datos puede ser una fila, un bloque,
un subconjunto de filas o incluso una tabla completa. Antes de tener acceso al elementode la base
de datos, es necesario obtener un candado. Otros usuarios deben esperar si tratan deobtener un
candado en el mismo elemento. La tabla 15.3 muestra conflictos para ambos tipos
23
El administrador del control de concurrencia es la parte del DBMS responsable de adminis-trar los
candados. Este administrador conserva una tabla oculta para registrar los candados quetienen
diversas transacciones.
24
Granularidad de candados
La granularidad de candados representa una complicación en relación con los candados.
Lagranularidad se refiere al tamaño del elemento de la base de datos que tiene candado. La mayor
parte de los DBMS manejan candados de distintas granularidades, como ilustra la figura 15.7.El
candado más extenso abarca toda la base de datos. Si toda la base tiene un candado
exclusivo,ningún otro usuario tiene acceso a la base de datos hasta quitarlo. Por otro lado, el
candado más pequeño abarca sólo una columna individual. También puede haber candados en
partes de la base de datos que no ven los usuarios en general. Por ejemplo, es posible tener
candados en losíndices y en las páginas (registros físicos)
La mayor parte de los DBMS de escritorio emplean una política más sencilla de tiempofuera para
controlar los puntos muertos. En una política de tiempo fuera, el administrador decontrol de
concurrencia cancela (con un enunciado ROLLBACK) cualquier transacción quehaya estado en
espera durante más de un tiempo específico. Debemos hacer notar que una po-lítica de tiempo
fuera puede cancelar transacciones que no tienen puntos muertos. El intervalode tiempo fuera
debe ser suficientemente largo para que pocas transacciones sin puntos muertostengan que
esperar mucho
25
cadatipo de dispositivo tiene un índice de fallas independiente. Algunas fallas afectan sólo la
memoria principal, mientras que otras afectan la memoriavolátil y la no volátil.
La tabla 15.5 muestra cuatro tipos de fallas con sus efectos y frecuencia.Los primeros dos tipos de
fallas afectan la memoria de una transacción en ejecución. El códigode la transacción puede
revisar que no haya condiciones de error, como un número de cuenta in-válido o la cancelación de
la transacción por parte del usuario. Por lo regular, una falla detectada por un programa da lugar
al aborto de la transacción con un mensaje específico para el usuario.El enunciado SQL ROLLBACK
puede cancelar la transacción si ocurre una condición anormal.Recuerde que el enunciado
ROLLBACK hace que todos los cambios realizados por la transac-ción se eliminen de la base de
datos. Las fallas que detecta el programa son, por lo general, lasmás comunes y menos dañinas.
La terminación anormal tiene un efecto similar para una falla detectada por un programa, mas por
una causa diferente. La transacción se cancela, pero a menudo el usuario no puede entenderel
mensaje de error. La terminación anormal puede ser provocada por eventos como tiempo fueraen
una transacción, fallas en la línea de comunicación o un error de programación (por ejemplo,dividir
entre cero). El enunciado ON ERROR en la figura 15.1 detecta la terminación anormal.
Unenunciado ROLLBACK elimina cualquier efecto de la transacción terminada en la base de datos.
26
15.3.3 Procesos de recuperación
El proceso de recuperación depende del tipo de falla. La recuperación de una falla del disposi-tivo
es sencilla, pero puede tomar mucho tiempo, como explicamos a continuación:
27
15.4 Aspectos del diseño de transacciones
Con los servicios de recuperación y concurrencia, puede sorprender el hecho de que el diseña-dor
de transacciones todavía tenga que tomar decisiones importantes de diseño. El diseñador puede
ser un administrador de bases de datos, un programador o un programador asesorado porun
administrador de bases de datos. Las decisiones de diseño pueden tener un impacto signifi-cativo
en el desempeño del procesamiento de las transacciones. Los conocimientos acerca delos
detalles del control de concurrencia y la recuperación lo convierten en un mejor diseñadorde
transacciones. Esta sección describe las decisiones disponibles para que los diseñadores
detransacciones mejoren su desempeño
límite detransacción
una decisión importantedel diseño de transaccio-nes, en la que una apli-cación, que consiste enun
grupo de enunciadosSQL, se divide en una omás transacciones.
Al elegir el límite de una transacción, el objetivo es minimizar su duración al tiempo que se ga-
rantiza la satisfacción de las restricciones críticas. Los DBMS están diseñados para transaccio-nes
de corta duración porque los candados pueden obligar a que otras transacciones tengan
queesperar. La duración incluye no sólo el número de lecturas y escrituras en una base de datos,
sinotambién el tiempo invertido en esperar las respuestas del usuario. Por lo general, el límite de
unatransacción no debe comprender la interacción con el usuario.
28
En las transacciones realizadasen cajeros automáticos, sistemas de reservaciones en líneas aéreas
y transacciones de pedidos de productos (figuras 15.1, 15.2 y 15.3, respectivamente), los
enunciados START TRANSACTIONy COMMIT pueden moverse para rodear sólo la parte SQL del
pseudocódigo. La duración no debe comprometer la revisión de restricciones. Como la revisión de
restric-ciones debe ocurrir al final de una transacción, tal vez sea difícil revisar algunas
restricciones.
Para ilustrar la opción del límite de una transacción, los formularios jerárquicos ofrecen
uncontexto conveniente. Un formulario jerárquico representa una aplicación que lee y escribe
enuna base de datos. Por ejemplo, el formulario de registro de la base de datos de la
universidad(figura 15.11) manipula la tabla Registration en el formulario principal y las tablas
29
Otro aspecto del límite de transacciones es la interacción de usuarios. Por lo general, ésta
debetener lugar fuera de la transacción. La figura 15.12 muestra la transacción de reservación en
30
15.4.3 Momento de imposición de la restricciónde integridad
Además de establecer el nivel de aislamiento, SQL permite el control del momento de imposi-ción
de la restricción de integridad. En forma predeterminada, las restricciones se ponen en prác-tica
inmediatamente después de cada enunciado INSERT, UPDATE y DELETE. Para la mayor parte de
las restricciones, como llaves primarias y foráneas, es apropiado ponerlas en práctica deinmediato.
Si se viola una restricción, el DBMS emite una operación de restauración al estadooriginal de la
transacción. El regreso al estado original restaura la base de datos a una condiciónconsistente, ya
que las propiedades ACID garantizan la consistencia al final de una transacción. Para las
restricciones complejas, quizá no sea apropiado ponerlas en práctica de inmediato.Por ejemplo,
una restricción de la carga de trabajo de los profesores garantiza que cada maestroimparte entre
tres y nueve unidades cada semestre. Si una transacción asigna una carga de tra- bajo completa,
es necesario diferir la revisión de la restricción hasta el final de la transacción.Para este tipo de
restricciones complejas es preciso especificar el momento de la restricción.
31
Para cada transacción, el diseñador puede especificar si las restricciones que lo permitense
difieren o se ponen en práctica de inmediato, utilizando el enunciado SET CONSTRAINTS.Por lo
regular, este enunciado se coloca justo después del enunciado START TRANSACTION,como
muestra el ejemplo 15.4.
32
15.5.1 Caracterización de los flujos de trabajo
Los flujos de trabajo soportan procesos de negocios tales como ofrecer un servicio telefónico,la
obtención de un préstamo y pedir un producto. Los flujos de trabajo consisten en tareas que
pueden realizar las computadoras (hardware y software), los seres humanos o una
combinaciónde ambos. Por ejemplo, al dar un servicio telefónico, el software determina la hora
de la cita para el servicio y actualiza una base de datos de horarios, mientras un técnico
inspecciona lacaja del teléfono para determinar si existe algún problema. Un flujo de trabajo define
el orden enque se realizan las tareas, las condiciones para que se lleven a cabo y los resultados de
las tareasrealizadas. Por ejemplo, el hecho de prestar un servicio telefónico comprende el
contacto inicialcon el cliente, una visita opcional de servicio, la facturación y el cobro. Cada una de
estas tareas puede tener condiciones en las cuales se prefieran, o puedan dar como resultado,
acciones comola actualización de la base de datos y una invocación de otras tareas.
33
Siñani, V. (2014). Administración de Bases de Datos Diseño y Desarrollo de Aplicaciones cd.
(pp. 482 – 543)
https://www.academia.edu/6813144/Administraci%C3%B3n_de_Bases_de_Datos_Dise%C3%B1o_y_Des
arrollo_de_Aplicaciones_cd
34