Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRCTICAS
ADMINISTRACIN DE
BASES DE DATOS
SCB-1001
ndice
PLAN ISIC-20102004
INGENIERA EN SISTEMAS
COMPUTACIONALES
INTRODUCCIN-----------------------------------------------------------------------------------------------------------------1
PRCTICA 1
Fundamentos de la Inteligencia Artificial------------------------------------------------------------------------------------1
PRCTICA 2
Representacin del conocimiento--------------------------------------------------------------------------------------------1
PRCTICA 3
Sistemas de razonamiento lgico--------------------------------------------------------------------------------------------1
PRCTICA 4
Bsqueda y Satisfaccin de Restricciones---------------------------------------------------------------------------------1
LISTA DE MATERIAL, EQUIPO O REACTIVO A UTILIZAR---------------------------------------------------------1
LISTA DE BIBLIOGRAFA REQUERIDA----------------------------------------------------------------------------------1
CONTROL DE CAMBIOS DEL MANUAL DE PRCTICAS
INTRODUCCIN
La informacin en una Base de Datos (BD) est sujeta a diversos peligros, tanto deliberados
comoaccidentales. Por tanto, el Sistema Gestor de Base de Datos (SGBD) deber ofrecer un conjunto
apropiado de controles paraproteger la BD contra este tipo de riesgos. Entre los controles necesarios
estn los derecuperacin, concurrencia, seguridad e integridad.
Los problemas de recuperacin y concurrencia estn muy ligados con la nocin deprocesamiento de
transacciones. En este captulo presentamos el concepto de transaccin,usado para representar una
unidad lgica de procesamiento de la BD. Estudiaremos lastcnicas de control de concurrencia,
utilizadas para asegurar que mltiples transaccionesrealizadas por varios usuarios no interfieren entre
s produciendo resultados incorrectos.Tambin analizaremos las tcnicas para la recuperacin desde
transacciones fallidas.
Los temas a tratar son diversos y dependen del SGBD ocupado
Pgina 1
Prctica
SUBTEMA:
1.- OBJETIVO
Conocerlas funciones del administrador de Base de datos
2.- MARCO TERICO
SGBD SMBD: Conjunto de programas que controla todo el acceso a la Base de Datos , y proporciona
la interfaz entre el usuario y el sistema de Base de Datos.
Base de Datos: Es una coleccin de archivos interrelacionados, creados con un SGBD. El contenido de
una Base de Datos engloba la informacin concerniente (almacenadas en archivos) de una
organizacin, de tal manera que los datos estn disponibles para los usuarios, una finalidad de la base
de datos es eliminar la redundancia o al menos minimizarla.
Server2Go. Servidor portable para el desarrollo de aplicaciones que incluye entre otros MySQL,
Apache, PHP, etc.
Pgina 2
Prctica
SUBTEMA:
INSTALACIN Y CONFIGURACIN DE UN
SMBD
Observaciones: Esta prctica incluye las propuestas en el temario: 1)
Instalar y configurar un manejador de base de datos, usando los
asistentesproporcionados por el fabricante del gestor, 2) Realizar un anlisis
comparativo de diferentes manejadores de bases de datos, 3) Instalar y
configurar del manejador elegido para el desarrollo de la materia, sin utilizar
los asistentes y en sistemas operativos distintos, y 4) Desarrollar un
proyecto integrador relacionado con otras materias.
1.- OBJETIVO
Requisitos previos
Antes de instalar PostgreSQL, comprueba que tienes el siguiente software en tu ordenador:
Microsoft Installer
Presente por defecto en Windows 2000, Me y XP. Puedes comprobar si lo tienes
instalado seleccionando "Ejecutar..." en el men Inicio y escribiendo MSIEXEC. Si no
aparece un cuadro de dilogo informndote de la versin, debes instalar una versin
apropiada:
o
Adems, debes saber cmo cambiar las variables de entorno de Windows. Esto depende de tu
versin de Windows, pero normalmente puedes hacerlo desde el Panel de Control, opcin
"Sistema", etiqueta "Avanzado" o similar.
Para ms informacin
Esta informacin est basada en el documento InstallingthePeerDirectPostgreSQL beta for
Windows. En el web ofical de PostgreSQL puedes encontrar toda la informacin sobre
Fecha de Actualizacin 9/09/2013
Pgina 3
Definicin de SQLite
SQLite es un sistema de gestin de bases de datos relacional compatible con ACID (Atomicity,
Consistency, Isolation and Durability Atomicidad, Consistencia, Aislamiento y Durabilidad).
SQLite slo necesita una librera (biblioteca) que ocupa poco ms de 700KB (tclsqlite3.dll).
Desarrollada en C, SQLite es un proyecto de dominio pblico creado por D. Richard Hipp.
A diferencia de los sistemas de gestin de base de datos cliente-servidor (Oracle, MySQL,
Microsoft SQL Server, DB2, etc.), el motor de SQLite no es un proceso independiente con el
que el programa principal se comunica, sino que es una biblioteca (finchero DLL) que se enlaza
con el software mediante llamadas a funciones y subrutinas. Esto reduce la latencia en el acceso
a la base de datos, debido a que las llamadas a funciones son ms eficientes que la
comunicacin entre procesos.
La base de dato SQLite (definiciones, tablas, ndices y datos) se guarda como un slo fichero
estndar en la mquina host. Este diseo simple se logra bloqueando todo el fichero de base de
datos al principio de cada transaccin.
Actualmente, SQLite va por la versin 3.6.11, que permite bases de datos de hasta 2 Terabytes
de tamao, y tambin permite la inclusin de campos tipo BLOB.
Este motor de base de datos es muy til para realizar aplicaciones de propsito general que
necesiten guardar datos en base de datos y que no sean "intrusivos", es decir, programas que
con un ejecutable, una DLL y un fichero de base de datos funcionaran perfectamente, sin
necesidad de instalacin de motores de base de datos, ni de ningn otro componente.
3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR
En la lista siguiente se describe el hardware, el software, la infraestructura de red que necesitar:
Microsoft Access
Laboratorio de Centro de cmputo.
Sistema Operativo Windows Xp
Sistema Operativos Linux
4.- COMPETENCIAS ESPECFICAS
Organizar por equipos a los alumnos (2 integrantes mximo).
Instalacin
I.
II.
PGHOME=C:\pgsql
Pgina 4
PGDATA=%PGHOME%\data
PGLIB=%PGHOME%\lib
PGHOST=localhost
3.
4.
Utilizando la opcin "Ejecutar..." del men Inicio, lanza los siguientes programas:
o
initdb
Pgina 5
post_svc -install
pg_ctlstart
Utilidades adicionales
Es recomendable que instales tambin la utilidad de administracin grfica de PostgreSQL, que
proporciona entre otras cosas un entorno ms cmodo que psql bajo Windows. Antes de poder
utilizarla has de instalar tambin el controlador ODBC para PostgreSQL.
III.
Instalacin
Pgina 6
1.
2.
3.
el ejecutable
Pgina 7
IV.
V.
4.
5.
Se hace la instalacin.
Instalar y configurar del manejador elegido para el desarrollo de la materia, sin utilizar
los asistentes y en sistemas operativos distintos
Seleccionar DBMS para desarrollar un proyecto integrador relacionado con otras
materias
5. RESULTADOS
Pgina 8
Prctica
SUBTEMA:
Pgina 9
5.- RESULTADOS
Construir el espacio de tablas temporales en su proyecto
6. CONCLUSIONES
Desarrollar su proyecto en unSMBD
7.- BIBLIOGRAFA
1. Post, Gerald V. Sistemas de Administracin de Bases de Datos, 3 Edicin, Editorial Mc Graw Hill,
2006
2. Mannino Michael V. Administracin de bases de datos: Diseo y desarrollo de aplicaciones.2da.
Edicin, Editorial Mc Graw Hill. Ao 2009.
3. Abraham Silbertshatz, Henry F. Korth, S. Sudarshan, Fundamentos de base de datos, 5ta edicin,
Mc Graw Hill.
4. PEREZ, C. Oracle 10g. Administracin y Anlisis de Bases de Datos. 2 edicin.Editorial Ra-ma.
5. Everest Gordon C. Database management. Objectives, system function & administration.3ra. Edicin
McGrawHill.
6. Farley, Gua de Seguridad e Integridad de Datos, Serie LanTimes, Editorial Mc-Graw Hill
7. Ramakrishnan, Sistemas de Gestion de Bases de Datos Editorial McGrawHill
8. Rosa, Maria Elizabeth. SQL Server, Bases de Datos robustas y confiables,
Coleccin Manuales USERS, Editorial MP Ediciones.2005
9. Oracle. 2010. Documentacin oficial del Administrador de Base de Datos. Disponible en Internet
desde:
http://www.oracle.com/technology/documentation/index.html.
10. Mysql. 2009.- Manuales de Referencia del Manejador de Base de Datos.Disponible en Internet en: http://dev.mysql.com/doc/refman/5.0/es/index.html. Con acceso el 24 de
febrero de 2010.
11. Microsoft. 2010. Centro de desarrollo de SQL Server. Disponible desde
Internet en: http://msdn.microsoft.com/es-mx/sqlserver/bb671064.aspx. Con acceso el 24 de febrero de
2010.
Prctica
SUBTEMA:
Pgina 10
Server2Go en USB
Servidor de MySql
Manual de MySQL
Postgres.
Pgina 11
Se trata de asignar los permisos necesarios tal como se cumple en esta tabla
i)
5. RESULTADOS
6. CONCLUSIONES
Desarrollar una base de datos con SMBD
7.- BIBLIOGRAFA
1. Post, Gerald V. Sistemas de Administracin de Bases de Datos, 3 Edicin, Editorial Mc Graw Hill,
2006
2. Mannino Michael V. Administracin de bases de datos: Diseo y desarrollo de aplicaciones.2da.
Edicin, Editorial Mc Graw Hill. Ao 2009.
3. Abraham Silbertshatz, Henry F. Korth, S. Sudarshan, Fundamentos de base de datos, 5ta edicin,
Mc Graw Hill.
4. PEREZ, C. Oracle 10g. Administracin y Anlisis de Bases de Datos. 2 edicin.Editorial Ra-ma.
5. Everest Gordon C. Database management. Objectives, system function & administration.3ra. Edicin
McGrawHill.
6. Farley, Gua de Seguridad e Integridad de Datos, Serie LanTimes, Editorial Mc-Graw Hill
7. Ramakrishnan, Sistemas de Gestion de Bases de Datos Editorial McGrawHill
8. Rosa, Maria Elizabeth. SQL Server, Bases de Datos robustas y confiables,
Coleccin Manuales USERS, Editorial MP Ediciones.2005
9. Oracle. 2010. Documentacin oficial del Administrador de Base de Datos. Disponible en Internet
desde:
http://www.oracle.com/technology/documentation/index.html.
10. Mysql. 2009.- Manuales de Referencia del Manejador de Base de Datos.Disponible en Internet en: http://dev.mysql.com/doc/refman/5.0/es/index.html. Con acceso el 24 de
febrero de 2010.
11. Microsoft. 2010. Centro de desarrollo de SQL Server. Disponible desde
Internet en: http://msdn.microsoft.com/es-mx/sqlserver/bb671064.aspx. Con acceso el 24 de febrero de
2010.
Prctica
CONCURRENCIA.
Fecha de Actualizacin 9/09/2013
Pgina 12
Transacciones
Las transacciones son un concepto fundamental de todos los sistemas de bases de datos. El
punto esencial de una transaccin es su capacidad para empaquetar varios pasos en una sola
operacin todo o nada. Los estados intermedios entre los pasos no son visibles para otras
transacciones concurrentes, y si ocurre alguna falla que impida que se complete la transaccin,
entonces ninguno de los pasos se ejecuta y no se afecta la base de datos en absoluto.
Por ejemplo, considere una base de datos bancaria que contiene balances de varias cuentas de
clientes y balances totales de depsito de sucursales. Suponga que queremos registrar un pago
de $100 de la cuenta de Alicia a la de Roberto. Simplificando la operacin exageradamente, las
rdenes SQL para hacerlo se veran as:
UPDATEcuentasSETbalance=balance-100.00WHEREnombre='Alicia';
UPDATEsucursalesSETbalance=balance100.00WHEREnombre=(SELECTsucursalFROMcuentasWHEREnombre='Alicia');
UPDATEcuentasSETbalance=balance+100.00WHEREnombre='Roberto';
UPDATEsucursalesSETbalance=balance+100.00WHEREnombre=(SELECTsucursalFROMcuen
tasWHEREnombre='Roberto');
Los detalles de estas rdenes no son importantes en este momento; lo que importa es que hay
varias actualizaciones separadas involucradas para lograr esta operacin ms o menos sencilla.
Los operadores bancarios van a querer estar seguros de que o todos estos pasos se ejecutan o
no se ejecuta ninguno. Definitivamente no sera aceptable si una falla del sistema resulta en
que Roberto recibe $100 que no fueron debitados de la cuenta de Alicia. Tampoco si a Alicia le
debitaran y a Roberto no le abonaran. Se necesita una garanta de que si algo sale mal en el
transcurso de la operacin, ninguno de los pasos ejecutados hasta el momento tendrn efecto.
Para el ejemplo anterior, agrupar las actualizaciones en una transaccin proporciona esa
garanta. De las transacciones se dice que son atmicas: desde el punto de vista de otras
transacciones, la transaccin ocurre completamente o no ocurre en absoluto.
En PostgreSQL, una transaccin se indica encerrando las rdenes SQL de la transaccin entre
las rdenes BEGIN y COMMIT. Entonces la transaccin bancaria del ejemplo de arriba se vera
as:
BEGIN;
Fecha de Actualizacin 9/09/2013
Pgina 13
Si en medio de una transaccin se decide que ya no se quiere registrar los cambios (tal vez el
balance de Alicia se volvi negativo en algn momento, por ejemplo), se puede recurrir a la
orden ROLLBACK en lugar de COMMIT y todas las actualizaciones hasta ese punto quedaran
canceladas.
De hecho, PostgreSQL trata cada declaracin de SQL como si se estuviera ejecutando dentro
de una transaccin. Si uno no especifica una orden BEGIN, entonces cada declaracin
individual tiene un BEGIN y, si es exitosa, un COMMIT alrededor de ella. Algunas veces, a un
grupo de declaraciones encerradas entre BEGIN y COMMIT se les llama un bloque de transaccin.
Retomando el ejemplo de la base de datos bancaria, suponga que se debitan $100 de la cuenta
de Alicia y se abonan a la cuenta de Roberto, pero que despus resulta que se debi abonar a la
cuenta de Walter. Esto se podra hacer usando un punto de recuperacin:
BEGIN;
UPDATEcuentasSETbalance=balance-100.00WHEREnombre='Alicia';
SAVEPOINTmi_savepoint;
UPDATEcuentasSETbalance=balance+100.00WHEREnombre='Roberto';
-- Uy ... no era la cuenta de Roberto sino la de Walter
ROLLBACKTOmi_savepoint;
UPDATEcuentasSETbalance=balance+100.00WHEREnombre='Walter';
COMMIT;
4.- COMPETENCIAS ESPECFICAS
I. Organizar por equipos a los alumnos (2 integrantes mximo).
II. hay que ejecutar el script "b05_bdcrear.sql" Este ltimo es un ejemplo de script que
invoca a otros.
$ psql template1 f b05_b99_bdborrar.sql;
$ psql template1 f b05_bd00.sql 2>&1 | tee resultado.txt
Pgina 14
El proceso sera:
a) sesin 1: iniciamos una transaccin, vemos los datos que hay, actualizamos los datos y
no confirmamos la transaccin.
b) sesin 2: iniciamos la transaccin y consultamos la informacin de distribucin.
c) sesin 2: iniciar una transaccin e intentar sumar 5 a la cantidad.
d) sesin 1: confirmamos los cambios y vemos qu pasa con los datos vistos desde esta
sesin y luego vamos a ver los datos vistos desde la sesin 2.
e) sesin 2: confirmamos los cambios
.
IV. Vamos a probar la Serializacin. Vamos a trabajar sobre la tabla clientes, para el cliente
cuyodni es 0001. Intentaremos cambiar su nombre de LUIS a LUISA en ambas
sesiones, el proceso sera, antes de empezar las transacciones, activar el modo de
transacciones a serializable:
a) sesin 1: iniciamos una transaccin, vemos los datos que hay.
b) sesin 2: hacemos lo mismo.
c) sesin 1: actualizamos el nombre y no confirmamos la transaccin.
d) sesin 2: hacemos lo mismo.
e) sesin 1: confirmamos la transaccin y vemos los datos
f) sesin 2: hacemos lo mismo.
V. Ahora pasamos al esquema empresa, donde los departamentos pueden tener un jefe que
es un empleado, y los empleados tienen un jefe que tambin es un empleado, as como
pertenecen a un departamento. Normalmente, los jefes de los departamentos, son
empleados que ya existen, pero imaginemos que demos de alta un departamento que
tiene un empleado nuevo, con lo que hay que darlo de alta tambin, realizar esta
operacin para estos datos:
Es posible realizar esto en una transaccin, dandode alta primero el departamento y luego el
empleado?. Qu tendramos que hacer para poder realizar la transaccin?.
Si la clave ajena la hubisemos definido como DEFERRABLE INITIALLY IMMEDIATE,
Qu tendramos que hacer para poder ejecutar la transaccin?
5. RESULTADOS
6. CONCLUSIONES
Aplicar en su proyecto integrador
Pgina 15
Prctica
SUBTEMA:
RECUPERACIN
SERVER.
DE
DATOS
DE
SQL
Recoveryfor SQL Server est diseado para una recuperacin efectiva de bases de datos
daados de Microsoft SQL Server. Te permite evitar la prdida de informacin importante. El
procesador de texto de Microsoft SQL Server es la herramienta ms amplia para la creacin de
cualquier tipo de base de datos, incluyendo bases de datos corporativos. Escanea, analiza los
archivos daados y exporta todos los datos del archivo. Si la bases de datos est muy daado,
la perdida de datos es inevitable. Todos los datos recuperados se guardan en un set de archivos
SQL. Despus de la recuperacin la base de datos se convierte disponible para procesar.
El dato importante que el programa solamente analiza los archivos daados y no cambia los
datos originales. La recuperacin para SQL Server trabaja con archivos de texto con varios
formatos: la base de datos de Microsoft SQL Server de diferentes versiones (archivos .mdf,
.ndf, .bak, .ldf)
Caractersticas
Pgina 16
Recupera SQL Server 2005, 2008 datos comprimidos (tipos ROW, RAGE)
Recupera SQL Server 2008 tipo de datos filestream. Ten en cuenta que la base de datos deben ser
recuperados en el mismo equipo donde se encuentra la base de datos originalmente
Recupera informacin tipo varchar (max)
Soporta versiones Microsoft SQL Server 2008 R2, 2008, 2008 x64, 2008 Express, 2005, 2005 x64,
2005 Express, 2000, 2000 x64, 7.0 y 6.5
Recupera valores predeterminados, normas, Chequeos limitados, datos de usuario (Permitir nulo,
default, regla)
Pgina 17
Los resultados de la reconstruccin del script de la base de datos se divide en varias partes para la
conveniencia de visualizar y editar
Limitaciones
Las fechas que no entran en el rango de enero, 1, 1900 Diciembre 31, 2199 no se pueden recuperar
correctamente
El orden de las filas en las tablas recuperadas puede diferir de la orden original
Sistema operativo: Windows 2000, XP, Vista, 7, Server 2003 o Server 2008. Windows 95, 98,
ME no son compatibles.
4.- Competenicas
I. Organizar por equipos a los alumnos (2 integrantes mximo).
II. Realizar procedimientos para recuperacin de la base de datos de su proyecto a partir de los
archivos de respaldo.
III. Realizar procedimiento para migracin de la base de datos de su proyecto.
IV. Realizar los dos punto con interfaz en un lenguaje anfitrin.
5.- APARATOS E INSTRUMENTOS
I. Computadora
Fecha de Actualizacin 9/09/2013
Pgina 18
Prctica
SUBTEMA:
RESTAURACION DE BD.
Observaciones: Esta prctica incluye a la Prctica #7del temario deAdministracin
de Base de Datos que dice Establecer estrategias para crearmtodos de
restauracin de datos.
1.- OBJETIVO
I. Crear puntos de restauracin y recuperacin de bases de datos (simulacin dedaos)
2.- MARCO TEORICO
El objetivo de una restauracin completa de la base de datos es restaurar toda la base de datos.
Durante el proceso de restauracin, la base de datos completa se encuentra sin conexin. Antes de
que ninguna parte de la base de datos tenga conexin, se recuperan todos los datos a un punto
coherente en el que todas las partes de la base de datos se encuentran en el mismo momento y en el
que no existe ninguna transaccin sin confirmar.
3.- MATERIAL, EQUIPO O REACTIVO
a) Server2Go en USB , SqlServer,postgress
b) Servidor de MySql, Sql Server
c) Manual de MySQL,Sql Server
4.- PROCEDIMIENTO
a) Organizar por equipos a los alumnos (3 integrantes mximo).
Pgina 19
En general, la recuperacin de una base de datos hasta el momento del error incluye los
siguientes pasos bsicos:
1.
Realizar una copia de seguridad del registro de transacciones activo (denominado el final del registro).
De esta forma se crea una copia de seguridad de registros despus del error. Si el registro de
transacciones activo no est disponible, todas las transacciones de esa parte del registro se pierden.
Importante:
En el modelo de recuperacin por medio de registros de operaciones masivas, realizar la copia de seguridad de un
registro que contiene operaciones de registro masivo requiere acceso a todos los archivos de datos de la base de
datos. Si no se puede tener acceso a los archivos de datos, no se puede realizar una copia de seguridad del registro
de transacciones. En ese caso, debe repetir manualmente todos los cambios realizados desde la copia de seguridad
de registros ms reciente.
2.
Para obtener ms informacin, vea Copias de seguridad de registros despus del error.
3.
Restaurar la copia de seguridad completa ms reciente sin recuperar la base de datos (RESTORE
DATABASE database_name FROM backup_device WITH NORECOVERY).
4.
Si existen copias de seguridad diferenciales, restaurar la ms reciente sin recuperar la base de datos
(RESTORE DATABASE database_name WITH NORECOVERY).
5.
Restaurar los registros secuencialmente con la opcin NORECOVERY, comenzando por la primera
copia de seguridad del registro de transacciones creada despus de la copia de seguridad que recin
restaurada.
6.
7.
Una restauracin completa de la base de datos normalmente se puede recuperar hasta un punto o
transaccin marcada en una copia de seguridad de registros. Sin embargo, en el modelo de recuperacin
por medio de registros de operaciones masivas, si la copia de seguridad de registros contiene cambios de
registros de operaciones masivas, no es posible la recuperacin a un momento dado. Para obtener ms
informacin, vea Restaurar bases de datos a un punto de una copia de seguridad.
Al restaurar completamente una base de datos, debe utilizar una nica secuencia de
restauracin. En el siguiente ejemplo se muestran las opciones ms importantes de una
secuencia de restauracin para el caso de una restauracin completa en que la base de datos se
restaura al momento del error. Una secuencia de restauracin consta de dos o ms operaciones
de restauracin que mueven datos en una o varias fases de restauracin. La sintaxis y los
detalles no relevantes para este propsito se omiten.
La base de datos se restaura y se pone al da. Para reducir el tiempo de puesta al da se utiliza
una copia diferencial de la base de datos. Esta secuencia de restauracin est orientada a
eliminar la prdida de trabajo; la ltima copia de seguridad que se restaura es una copia de
seguridad de registros despus del error.
Pgina 20
2.
3.
4.
CONCLUSIONE
El alumno aplicar sus conocimiento en la restauracin de una base de datos
7. PRACTICA A RESOLVER
8.- BIBLIOGRAFA
Computadora
CANT.
UNIDAD
Pgina 21
BIBLIOGRAFIA
CANT
1
2
3
4
5
6
Pgina 22
DATOS GENERALES
FECHA DE
ACTUALIZAC
ION
09/09/2013
ELABOR Y/O
ACTUALIZ
DESCRIPCIN DE LA ACTUALIZACIN
Pgina 23