T1transaccion

download T1transaccion

of 9

Transcript of T1transaccion

  • 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