administración de base de datos 4.3 y 4.4

19
Administración de Base de Datos José Luis Lorenzo López Diego Armando Morales Aguilar Marco Antonio Ramírez Gómez Miguel Ángel Rodríguez Guillen Instituto Tecnológico de Tuxtla Gutiérrez 6° Semestre Ingeniería en Sistemas Computacionales

Upload: chelismaster

Post on 13-Nov-2015

255 views

Category:

Documents


1 download

DESCRIPTION

Presentacion power point BASE De DATOS

TRANSCRIPT

Administracin de Base de Datos

Administracin de Base de DatosJos Luis Lorenzo LpezDiego Armando Morales AguilarMarco Antonio Ramrez GmezMiguel ngel Rodrguez Guillen

Instituto Tecnolgico de Tuxtla Gutirrez

6 SemestreIngeniera en Sistemas Computacionales

4/13/2015 11:41 PM 2007 Microsoft Corporation. Todos los derechos reservados. Microsoft, Windows, Windows Vista y otros nombres de productos son o podran ser marcas registradas o marcas comerciales en los EE.UU. u otros pases.La informacin incluida aqu solo tiene fines informativos y representa la vista actual de Microsoft Corporation a fecha de esta presentacin. Ya que Microsoft debe responder ante los cambios en el mercado, no debe considerarse responsabilidad suya el hecho de garantizar la precisin de la informacin facilitada despus de la fecha de esta presentacin. MICROSOFT NO FACILITA GARANTAS EXPRESAS, IMPLCITAS O ESTATUTORIAS EN RELACIN A LA INFORMACIN CONTENIDA EN ESTA PRESENTACIN.

14.3 Comandos de Activacin de los Modos de OperacinQu es una transaccin?

Secuencia de operaciones que se ejecutan completamente o bien no se realizan.No puede quedarse en un estado intermedio

Ejemplo: una transferencia entre dos cuentas no puede quedarse en un estado intermedio: O se deja el dinero en la primera cuenta o en la segunda, pero no se puede sacar el dinero de la primera cuenta, que falle algo en ese momento y no entregarlo en la segunda.

Es una secuencia de una o varias instrucciones de SQL que forman conjuntamente una unidad lgica de trabajo.Cuando una transaccin finaliza con xito, se graba (COMMIT). Si fracasa, se restaura el estado anterior (ROLLBACK)

4.3 Comandos de Activacin de los Modos de OperacinLos pasos para usar transacciones en MySQL son:Iniciar una transaccin con el uso de la sentencia BEGIN.Actualizar, insertar o eliminar registros en la base de datos.Si se quieren los cambios a la base de datos, completar la transaccin con el uso de la sentencia COMMIT. nicamente cuando se procesa un COMMIT los cambios hechos por las consultas sern permanentes.Si sucede algn problema, podemos hacer uso de la sentencia ROLLBACK para cancelar los cambios que han sido realizados por las consultas que han sido ejecutadas hasta el momento.4.3 Comandos de Activacin de los Modos de OperacinCOMMIT: Finaliza la transaccin actual y hace permanentes (confirma) los cambios realizados

ROLLBACK:Finaliza la transaccin actual y deshace los cambios realizados

Por defecto el autocommit esta activadoset autocommit = 0; Desactivadoset autocommit = 1; Activado

Sentencia COMMITUna sentenciaCOMMITmarca el final de una transaccin correcta, implcita o definida por el usuario. COMMIT hace que todas las modificaciones efectuadas sobre los datos desde el inicio de la transaccin sean parte permanente de la base de datos, y adems, libera los recursos mantenidos por la conexin. Su sintaxis es la siguiente:

COMMITCOMMENT'mensaje' |FORCE'texto']

COMMENTsirve para comentar la transaccin en un mximo 255 caracteres.FORCE fuera de modo manual una transaccin dudosa y es de uso exclusivo en sistemas distribuidos de base de datos.Sentencia ROLLBACKSeala el final sin xito de una transaccin, elimina todas las modificaciones de datos realizadas desde el inicio de la transaccin y tambin libera los recursos que retiene la transaccin. Su sintaxis es la siguiente:

ROLLBACK [WORK] [TO SAVEPOINTnombrePuntoRestauracin |FORCE'texto'];

Finaliza la transaccin actual y deshace los cambios realizados.

Ejemplo

RECOVERYUn sistema de recuperacin consiste en restaurar la BD a un estado correcto, tras cualquier fallo que la haya dejado en un estado incorrecto. En Oracle hay recuperaciones automticas ante los fallos el proceso, vara dependiendo del tipo de fallo y las estructuras afectadas.Ficheros Redo Log: Ficheros de almacenamiento de cambios en la BD, (Recovery).Ficheros de Control: Almacenan el estado de la estructura fsica de la BD, (Gua de recuperacin).Rollback segments: Almacenan las ltimas sentencias realizadas sobre la BD. Saben cundo se ha confirmado o no una transaccin.Backups de la BD: Copias de seguridad,(Restoring).

4.4MANEJO DE INDICESEl ndice de una base de datos que mejora la velocidad de las operaciones, permitiendo un rpido acceso a los registros de una tabla en una base de datos. Al aumentar drsticamente la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuales se hacen frecuentes bsquedas.4.4.1 Tipos de IndicesPRIMARY KEY: Este ndice se ha creado para generar consultas especialmente rpidas, debe ser nico y no se admite el almacenamiento NULL.KEY o INDEX: Son usados indistintamente por MySQL, permite crear ndices sobre una columna, sobre varias columnas o sobre partes de una columna.UNIQUE: Este tipo de ndice no permite el almacenamiento de valores iguales.FULLTEXT: Permiten realizar busquedas de palabras. Solo pueden usarse sobre columnas CHAR, VARCHAR o TEXT.SPATIAL: Este tipo de ndices solo puede usarse sobre columnas de datos geomtricos (spatial) y en el motor MyISAM

->CREATE TABLE nombreTabla(campo1 tipoDato,[campo2...,] PRIMARY KEY (campo1 [,campo2...]) );->ALTER TABLE nombreTabla ADD PRIMARY KEY(campo1 [,campo2...]);->CREATE TABLE nombreTabla(campo1 tipoDato, campo2 tipoDato,.. INDEX [nombreIndice] (campo1 [,campo2...]));->ALTER TABLE nombreTabla ADD INDEX [nombreIndice] (campo1 [,campo2...]);->CREATE INDEX nombreIndice ON nombreTabla(campo1 [,campo2...]);->CREATE TABLE nombreTabla( campo1 TIPO, campo2 TIPO, FULLTEXT [nombreIndice] (campo1 [campo2,...]) );->ALTER TABLE nombreTabla ADD FULTEXT [nombreIndice] (campo1 [,campo2,...]);->CREATE FULLTEXT INDEX nombreIndice ON nombreTabla(campo1 [,campo2,...]);->CREATE TABLE nombreTabla(campo1 tipoDato, campo2 tipoDato,.. UNIQUE [nombreIndice] (campo1 [,campo2...]));->ALTER TABLE nombreTabla ADD UNIQUE [nombreIndice] (campo1, campo2) ...->CREATE UNIQUE INDEX nombreIndice ON nombreTabla(campo1 [,campo2...]);

4.4.2 Reorganizacin de ndicesUn factor clave para conseguir una E/S de disco mnima para todas las consultas de bases de datos es asegurarse de que se creen y se mantengan buenos ndices. Una vez creados los ndices, se debe procurar mantenerlos para asegurarse que sigan trabajando en forma ptima.Fragmentacin de los ndicesLa fragmentacin es consecuencia de los procesos de modificacin de los datos (instrucciones INSERT, UPDATE y DELETE) efectuados en la tabla y en los ndices definidos en la tabla. Existen dos tipos de fragmentacin:Interna: Fragmentacin dentro de pginas individuales de datos e ndices con espacios libres que generan la necesidad de ms operaciones de E/S y ms memoria para su lectura.Externa: Cuando el orden lgico de las pginas no es correcto, porque las pginas no son contiguas.La fragmentacin de ndices se puede reparar reorganizando un ndice o reconstruyndolo. Para los ndices fraccionados que fueron construidos en una estructura partida se puede usar cualquiera de estos mtodos o bien en un ndice completo o bien en un nico fragmento del ndice.Deteccin de fragmentacin:El primer paso para decidir qu mtodo de desfragmentacin se va a utilizar consiste en analizar el ndice para determinar el nivel de fragmentacin.La siguiente sentencia permite conocer el grado de fragmentacin de los ndices de la base de datos thuban-homologada.

Una vez que se toma conciencia del nivel de fragmentacin, se debe utilizar la tabla a continuacin para determinar el mejor mtodo para su correccin.

Para reorganizar uno o ms ndices se debe usar la sentencia ALTER INDEX con la clusula REORGANIZE. Por ejemplo:ALTER INDEX PK_LOGS ON THUBAN_LOGS REORGANIZEEl proceso de reorganizacin de ndices se realiza siempre en lnea y el consumo de recursos es bajo por lo que no mantiene bloqueos por mucho tiempo.4.4.3 Reconstruccin de ndicesLa reconstruccin de un ndice lo descarta y genera uno nuevo. Esto provoca la eliminacin de la fragmentacin, el reclamo de lugar en el disco a travs de la compactacin de pginas por la configuracin de fill factor y el reordenamiento de filas de ndices en pginas continuas (asignacin de nuevas pginas).Los siguientes mtodos pueden utilizarse para reconstruir ndices agrupados y no agrupados:ALTER INDEX con la clusula REBUILD.CREATE INDEX con la clusula DROP_EXISTING.Ejemplo:ALTER INDEX PK_LOGS ON THUBAN_LOGS REBUILDLa siguiente declaracin reconstruye el admin_docindex tabla organizada por ndices.ALTER TABLE admin_docindex MOVE;

Para reconstruir la tabla de admin_docindex pero no el segmento de datos de desbordamiento, realizar un movimiento en lnea de la siguiente manera:ALTER TABLE admin_docindex MOVE ONLINE;

Para reconstruir la tabla admin_docindex junto con su segmento de datos de desbordamiento de realizar la operacin de movimiento como se muestra en la siguiente declaracin. ALTER TABLE admin_docindex MOVE TABLESPACE admin_tbs2 OVERFLOW TABL.ESPACE admin_tbs3;En esta ltima afirmacin, se crea una tabla organizada por ndices con una columna LOB (CLOB). Ms tarde, la tabla se mueve con el ndice LOB y segmento de datos se reconstruye y se traslad a un nuevo espacio de tablas.

CREATE admin_iot_lob TABLE(nmero c1 (6) clave primaria,admin_lob CLOB)ORGANIZATION INDEXL.OB (admin_lob) STORE AS (TABLESPACE admin_tbs2);...ALTER TABLE admin_iot_lob MOVER LOB (admin_lob) TIENDA AS (TABLESPACE admin_tbs3);