lunes, 10 de abril de 2017

Bases de datos


Una bases de datos es una coleccion de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Las bases de datos permiten a sus usuarios acceder, registrar y analizar datos de una manera rápida y sencilla.


Las bases de datos tradicionales se organizan por campos, registros y archivos:


  • Un campo es una pieza única de información.
  • Un registro es un sistema completo de campo.
  • Un archivo es una colección de registros.
Todas los motores de bases de datos cuenta con tablas y consultas, las cuales son muy importantes para tener en cuenta a la hora de crear una nueva bases de datos.
  1. Tablas: Una tabla de bases de datos es similar en apariencia a una hoja de calculo en cuanto a los datos ya que se almacenan en filas y columnas. Una tabla sirve para guardar los datos de forma organizada y para mantenerlos separados por tipo de información ademas esto permite que no se produzcan redundancias y así poder ser utilizados en una consulta.
  2. Consultas:Las consultas pueden realizar diversas funciones en una base de datos. La función mas común es recuperar datos especificos de las tablas, los datos que se quieren ver o que se están consultando están distribuidos en las diferentes tablas ya creadas. Los consultas permiten filtrar los datos y obtener solo los registro que se desean. Existen dos tipos de consultas:
    1. Consultas de selección solo recuperan los datos.
    2. Consultas de acción se utilizan para crear nuevas tablas, agregar datos, actualizar o eliminar todo a partir de una consulta.
Motores de bases de datos

Access !


Access es un sistema de gestión de bases de datos utilizado en mi clase de introducción a la ingeniería de software para que sepamos su correcto uso y para así poder implementarlo en nuestro proyecto ya que access tiene la capacidad de hacer las siguientes cosas:
  • Agregar nuevos datos a una bases de datos.
  • Modificar los datos existentes en la base de datos.
  • Eliminar la información.
  • Organizar y ver los datos de diferentes formas.
  • Compartir los datos con otras personas mediante informes, correo electrónico o internet, ademas access permite exportar sus bases de datos a otros motores de bases de datos como lo es SQL server, mas adelante mostrare como hacer esta exportación.
SQL server !

SQL server es un sistema de gestion de bases de datos relacionase, se ejecuta en T-SQL, un conjunto de extensiones de programación y  varias características SQL estándar, incluyendo control sobre las transacciones, excepción y manejo de errores, procesamiento fila, así como variables declaradas.
SQL server como se dijo anteriormente es un sistema de gestion de bases de datos que es utilizada este semestre en gestión bases de datos 2, la cual es de gran utilidad por su entorno gráfico, es de fácil utilidad, ademas las consultas son de fácil búsqueda y se pueden generar diferentes tipos de consultas como transaccionales, también procedimientos almacenados y triggers.

¿Como exportar de Access a SQL server?

Pues muy fácil solo es necesario tener en cuenta los siguientes pasos:
Paso 1: Se debe guardar la base de datos en access en version 2002-2003.
Paso 2: Abrimos SQL server import and Export Wizard.

Paso 3: En el origen del archivo seleccionar Access.

Paso 4: Buscar en el computador el archivo  y seleccionarlo.

Paso 5: Seleccionar como destino SQL Server Native Client 11.0 y se le coloca el nombre del servidor de SQL Server y seleccionar el nombre del proyecto.

Paso 6: Seleccionamos la opción copy data.

Paso 7: Seleccionar las tablas que queremos exportar.

Paso 8: Lo corremos inmediatamente.

Paso 9: Le damos finalizar y esperamos que se completen todas las operaciones y cerramos.




TRABAJO GESTION DE BASES DE DATOS



BASE DE DATOS TRANSACCIONAL







POR
ANGELICA MARIA ROBAYO GOMEZ
MIGUEL ARCANGEL RIOS PULIDO





PRESENTADO A
IVAN ALBERTO LOZANO ACEVEDO











UNIVERSIDAD DE LA SABANA
CHÍA, COLOMBIA.
2017

BASE DE DATOS TRANSACCIONAL


INTRODUCCIÓN


Con el siguiente trabajo  se quiere demostrar tres propiedades de una transacción, atomicidad nos asegura que si durante la transacción ocurre un error las actualizaciones no se reflejarán en la base de datos, quién garantiza esta propiedad es el gestor de transacciones, durabilidad asegura que una vez realizada la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema, lo lleva a cabo el componente de gestión de recuperaciones y aislamiento se ejecutan varias transacciones al mismo tiempo pero cada una se ejecutan en un orden o independiente una transacción de otra, es realizada por el componente de gestión de concurrencia, además demostrar el retroceso en cascada utilizando como motor de la bases de datos SQL Server.


CUERPO


Microsoft SQL Server es un sistema de manejo de bases de datos del modelo relacional, desarrollado por Microsoft, el lenguaje utilizado por SQL Server es Transact-SQL utilizado para manipular y recuperar datos, además es capaz de poner grandes cantidades de información a muchos usuarios simultáneamente y de manera muy rápida.
SQL Server empieza en el año 1989 con la versión 1.0 que salió para el sistema operativo OS/2 de IBM, posteriormente en el año 1993 aparece SQL Server 4.21 para Windows NT, luego en el año de 1995 sale la version de SQL Server 6.0 para Windows 95 para estos momentos SQL Server era poco conocida y poco popular, recién tomaba auge Windows NT en el mundo de los servidores, al año siguiente 1996 se lanza SQL Server 6.5. En 1998 Microsoft lanza SQL Server 7.0 que se convierte en la versión más popular, en el siguiente año Microsoft lanzó otra versión 7.0 con las herramientas OLAP (OnLine Analytical Processing), donde el objetivo es agilizar la consulta de grandes cantidades de datos. En el año 2000 salió la versión 8.0, en el 2003 la versión 8.0 64-bit Edition, en el 2005 se lanzó la nueva version 9.0, años más tarde 2008 10.0.
Características de SQL Server : Soporte de transacciones, soporta procedimientos almacenados, incluye también un entorno gráfico de administración, permite trabajar en modo cliente servidor, donde la información y los datos se alojan en el servidor y los terminales o clientes de la red, permite administrar información de otros servidores de datos.


Para poder aplicar las propiedades de una transacción primero debemos dar una definición una transacción es un conjunto de comandos que modifican los datos almacenados en una base de datos, es tratada como una unidad, además asegura de que todos los comandos se realicen o ninguno, si uno de los comandos falla ningún dato debe modificarse asegurando así la integridad de los datos en la base.
El proceso para una bases de datos es:
  • Inicio de la transacción.
  • Procesamiento de los comandos.
  • Búsqueda de errores:
    • Si se encuentra un error se hace un rollback
    • Si no se encuentra error se termina la transacción (Commit)


Propiedades ACID de una transacción


Atomicidad: Todas las sentencias de una transacción deben ser completadas de una forma exitosa de lo contrario será un rollback. Esto quiere decir que la transacción debe realizarse de forma exitosa o no se realizara nada.
Para demostrar lo anterior se creó una bases de datos de un banco con dos tablas clientes y cuenta, se creó un procedimiento para realizar una transacción en la tabla de clientes con los siguientes datos:

Select* from cliente;



En el procedimiento almacenado podemos ver una transacción exitosa debió a que no existe ninguna inconsistencia en los datos que se desea actualizar.





Realizamos un nuevo procedimiento para demostrar de que si existe un error ninguna parte de la transacción se hará.
En nuestro ejemplo el campo de teléfono solo cuenta con espacio para 12 caracteres e intentamos actualizar el número con más caracteres de los permitidos.



Como podemos ver ni el apellido ni el teléfono fueron actualizados.

Aislamiento: Se ejecutan varias transacciones al mismo tiempo pero cada una se ejecuta independientemente en un orden, esto previene que las transacciones hagan cambios en la base de datos con información inconsistente.

Para demostrar lo anterior utilizamos la tabla de cuenta la cual tiene los siguientes datos:
En la pantalla 1 se empieza el proceso de actualización del saldo en una cuenta, pero a su vez en la pantalla 2  se desea ver todas las cuentas para luego actualizar el saldo de la misma cuenta de la pantalla 1, durante ese proceso el sistema utiliza mecanismos de bloqueo que no permite que la transacción 2 interfiriera en la transacción 1 para garantizar la inconsistencia de datos.



Como se termino el proceso de la transacción en la pantalla 1 la transacción 2 (pantalla 2) puede continuar con su proceso.


Durabilidad: Una vez que un cambio este hecho este es permanente, si el sistema tiene un error o una falla de energía antes de que un conjunto de comandos sea completado (transacción) esto debe ser deshecho y la base de datos debe ser restaurada en su estado original cuando el sistema vuelva a empezar otra vez.
Se mostraron los datos existentes en la tabla de cuenta :


Se inicia la transacción de borrado y se ve que se realizó el cambio:

Después de fallos técnicos al pc, se vuelve a abrir la base de datos y se evidencia que los cambios no fueron guardados.




Retroceso en cascada:


Save Tran:  en algunos casos tenemos transacciones muy grandes y durante su ejecución se pueden cometer errores en el último comando o en cualquiera y para evitar que se devuelva todo el proceso, colocamos los save tran que permiten dividir las transacciones en diferentes segmentos, de esta forma el usuario puede ejecutar rollbacks para un solo save tran, dejando los cambios  previos iguales.


CONCLUSIONES
  • Se logró demostrar las propiedades de aislamiento, atomicidad, durabilidad además el retroceso en cascada de una transacción de manera exitosa, evidenciando la importancia de aplicarlas en una base de datos para que esta sea consistente.


BIBLIOGRAFÍA

  • SILBERSCHATZ, A., KORTH, H.F., SUDARSHAN, S. "Fundamentos de bases de datos", 3a edición, McGraw-Hill, 1998.

No hay comentarios:

Publicar un comentario