7/24/2019 T1transaccion
1/9
INFORME DE TRABAJO Nro.1
CONTROL DE TRANSACCIONES EN
GESTION BASES DE DATOS
Y
ELABORACION DE DIAGRAMA CONCEPTUAL DE
BASES DE DATOS ORIENTADO A OBJETOS
Edwin Callejas Pinto
7/24/2019 T1transaccion
2/9
Captulo 1
CONTROL DE TRANSACCIONES
EN UN SISTEMA BANCARIO
1.1. CONTROL DE TRANSACCIONES EN SISTEMA DE GES-
TION DE BASES DE DATOS
Una transaccion en un Sistema de Gestion de Bases de Datos es un conjunto de ordenes quese ejecutan formando una unidad de trabajo, en forma indivisible o at omica. Las propiedadesrequeridas para las transacciones se denomina ACID (Atomicidad, Consistencia, Aislamiento,Durabilidad), las cuales garantizan que cuando se inicia un proceso el mismo debe concluir demanera correcta o debe ser anulado, en este caso se retorna a las condiciones de partida delsistema y ninguna operacion queda permanente, es decir cuando por alguna causa el sistemadebe cancelar la transaccion, empieza a deshacer las ordenes ejecutadas hasta dejar la base dedatos en su estado inicial como si la orden de la transacci on nunca se hubiese realizado. Eldiagrama conceptual es:
Figura 1.1: Diagrama conceptual de la transaccion.(ModuloI Curso de doctorado)
1
7/24/2019 T1transaccion
3/9
T1. Transacciones y BDOO Edwin Callejas Pinto
1.2. CONTROL DE LA TRANSACCION
Otro esquema que permite visualizar la forma del proceso de la transacci on se muestra en lasiguiente figura, en la misma se muestra el papel que juegan las instrucciones
BEGIN: Especifica que va a empezar una transaccion.
COMMIT: Le indica al motor que puede considerar la transaccion completada con exito.
ROLLBACK: Indica que se ha alcanzado un fallo y que debe restablecer la base al puntode integridad.
Por ejemplo para una transaccion bancaria de traspaso de un importe de la cuenta Nro1 a lacuenta Nro2, s emuestra en el siguiente diagrama que puede ser codificado en cualquier programa:
Inicio
Cargar A = NroCta1Cargar B = NroCta2
Cargar I = Importe
A := A I
B:= B + I
Actualizar variables (A,B,fecha)
Proceso Ok?SiNo
COMMIT
Escribir en la BD
ROLLBACK
Error en la Transaccion
Deshacer operaciones
Fin
Figura 1.2: Ejemplo de transaccion bancaria
2
7/24/2019 T1transaccion
4/9
Captulo 2
BASE DE DATOS PARA UNA
EMPRESA DE CADENA DE
HOTELES
2.1. ESQUEMA CONCEPTUAL
Se ha tomado como ejemplo la elaboracion de una base de datos para una cadena de hoteles,cuyo diagrama conceptual es:
Figura 2.1: Diagrama conceptual de la BDOO de la cadena de hoteles
3
7/24/2019 T1transaccion
5/9
T1. Transacciones y BDOO Edwin Callejas Pinto
2.2. DIAGRAMA DE CLASE
El diagrama de clase es:
Figura 2.2: Diagrama de clase de la BDOO de la cadena de hoteles
2.3. DISENO DE LA BASE DE DATOS
2.3.1. DEFINICION DE TIPOS DE DATOS
define data type Direccion: tuple[calle: string, zona: string, ciudad:
string, numero:integer]
define data type Telefonos: set(integer)
define data type Fecha:tuple[a~no:integer, mes:integer, dia:integer];
4
7/24/2019 T1transaccion
6/9
T1. Transacciones y BDOO Edwin Callejas Pinto
2.3.2. DEFINICION DE TIPOS DE OBJETOS
Define object type Hotel extent Hoteles
type
tuple [ nombre: string,
nit: integer,
gerente:string,nro_habitaciones: integer,
direccion: Direccion,
telefono: Telefonos
habitaciones set(Habitacion) inverse Habitacion:hot
]
operations
crear_nuevo_hotel: Hotel,
destruir_hotel(): Boolean,
a~nadir_habitacion(h: Habitacion): boolean,
quitar_habitacion(h:Habitacion):boolean;
define object type Habitacion extent Las_Habitaciones
type
tuple [ numero: integer,
costo: real,
estado: boolean,
tipo: string,
nrocamas: integer,
nropiso:integer,
servicios: set(string)
hot: Hotel inverse Hotel: habitacionesreservahab: Reserva inverse Reserva: listahabitaciones
]
operations
crear_nueva_habitacion: Habitacion,
destruir:habitacion(): boolean,
devolverEstado():boolean,
devolverNrocamas():integer,
devolverCosto(): real,
establecerEstado(),
establecerNrocamas(),
establecerCosto(),
mostrarServicios() ;
define object type Suit inherit Habitacion extent Suits
type
Tuple[ nombre: string,
telefono: integer
]
5
7/24/2019 T1transaccion
7/9
T1. Transacciones y BDOO Edwin Callejas Pinto
operations
crear_nueva_suit: Suit,
destruir_suit(): boolean;
define object type Huesped extent Huespedes
type
Tuple[
apellido_paterno: string,
apellido_materno:string,
nombres:string,
documento: string,
nrodocumento: string,
reservahab: Reserva inverse Reserva huespedTitular,
domicilio: Direccion,
telefono: Telefonos
]
operations
crear_nuevo_huesped: Huesped,
destruir_huesped(): boolean;
tiempo_de_estancia(): integer;
define objet type Nacional inherit Huesped extent Nacionales
type
nit: string
operations
crear_nuevo_huespedNacional: Nacional,destruir_huespedNacional(): boolean;
define object type Extranjero inherit Huesped extent Extranjeros
type
tuple[
pais: string,
visa: boolean,
vencimiento: Fecha
]
operationscrear_nuevo_huespedExtranjero: Nacional,
destruir_huespedExtranjero(): boolean;
define object type Reserva extent Reservas
type
tuple[fechaReserva: Fecha,
fechaEntrada: Fecha,
fechaSalida: Fecha,
6
7/24/2019 T1transaccion
8/9
T1. Transacciones y BDOO Edwin Callejas Pinto
huespedTitular: Huesped inverse Huesped: reservahab,
listahuespedes: set(Huesped),
listahabitaciones: set(Habitacion) inverse Habitacion: reservahab;
facturarelacionada: Factura inverse Factura: reser
montoReserva: Real
]
operations
crear_nueva_reserva: Reserva,
destruir_reserva(): boolean,
adicionarHuesped(h: Huesped):boolean,
eliminarHuesped(h: Huesped):boolean,
cancelarReserva(r: Reserva): boolean
define object type Factura extent Facturas
type
tuple[
nroFactura: Integer
fechaEmision: Fecha
total: Real
descripcion: set(string)
reser: Reserva inverse Reserva: facturarelacionada
operations
crear_nueva_factura: Reserva,
destruir_factura(): boolean;
7
7/24/2019 T1transaccion
9/9
Bibliografa
[1] Aguilar R. Modelos de Bases de datos avanzados. Modulo I. Curso de Doctorado. Universi-dad Nacional de Siglo XX. 2015.
[2] Aguilar R. Base de datos orientado a objetos. Modulo II. Curso de Doctorado. UniversidadNacional de Siglo XX. 2015.
[3] Elmarsi and Navathe.Fundamentos de Sistemas de bases de datos.Pearson Education. 2007.
[4] Mannino M.Administracion de bases de datos: diseno y desarrollo de aplicaciones. McGraw-Hill. 3ra Ed. 2007.
[5] Silverschatz et.al.Fundamentos de bases de datos. McGrawHill. 5ta Ed. 2006.
8
Recommended