base datos

40
BASES DE DATOS LUZ MYRIAM PADILLA GIL Mayo 20 -21 de 2010

Upload: lucysantacaba

Post on 14-Jun-2015

1.298 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Base datos

BASES DE DATOS

LUZ MYRIAM PADILLA GILMayo 20 -21 de 2010

Page 2: Base datos

AGENDA

1. GENERALIDADES2. SQL3. NORMALIZACION4. ADMINISTRACION DE TRANSACCIONES Y CONTROL DE 5. CONCURRENCIA6. BASES DE DATOS DISTRIBUIDAS7. ALMACENAMIENTO DE DATOS Y PROTECCION8. BASE DE DATOS ORACLE

Page 3: Base datos

1. GENERALIDADES

Page 4: Base datos

DEPTO

# id* nombre

EMPLEADO

# id* nombreo sueldo

Cada empleado debe ser asignado a 1 y solo 1 departamentoCada depto podría ser responsable por 1 o más empleados

Page 5: Base datos

id nombre

D1 CONTABILIDADD2 VENTAS

id nombre sueldo id_depto

E1 JUAN 100 D1E2 PEDRO 200 D1E3 JOSE 100 D2E4 MARTHA 150 D1

DEPTO EMPLEADO

Page 6: Base datos

create table empleado ( id varchar2 (4) not null, nombre varchar2 (30) not null, sueldo number (10,2) not null, id_depto varchar2 (4) not null, primary key (id), foreign key (id_depto) references depto (id_depto));

Page 7: Base datos

sueldo > 150 (empleado) E2 PEDRO 200

nombre, sueldo (empleado) E1 JUAN 100 E2 PEDRO 200 E3 JOSE 100 E4 MARTHA 150

DEPTO X EMPLEADOD1 CONTABILIDAD E1 JUAN 100 D1D1 CONTABILIDAD E2 PEDRO 200 D1D1 CONTABILIDAD E3 JOSE 100 D2D1 CONTABILIDAD E4 MARTHA 150 D1

Page 8: Base datos

2. SQL (Structured Query Language)

SQL es un lenguaje estandar para acceder y manipular bases de datos

SQL es un estandar ANSI (American National Standards Institute)

SQL puede ser dividido en dos partesDML (Data Manipulation Language)DDL (Data Definition Language)

DML: Insert, Update, DeleteDDL: Create, Alter, Drop

Page 9: Base datos

select A1,A2, ..,Anfrom r1, r2, .., rmwhere P

A1, A2,...,An ( (r1 x r2 x .. x rm))

SELECT D.ID, D.NOMBRE, E.ID E.NOMBRE, E.SUELDOFROM DEPTO D, EMPLEADO EWHERE D.ID = E.ID_DEPTO;

Page 10: Base datos

3. NORMALIZACION

La normalización es una técnica utilizada para diseñar tablas ellas que las redundancias de datos se reducen al mínimo

Primera forma normal (1FN)Una entidad está en 1FN si no tiene grupos repetitivos, es decir, un atributo solo puede tomar un único valor de un dominio simple

Segunda forma normal (2FN)La entidad está en 1FN y no hay dependencias funcionales de atributos no principales respecto de una parte de las claves. Cada uno de los atributos de una entidad depende de toda la clave 

Page 11: Base datos

Tercera forma normal (3FN)

Una entidad está en 3FN si está en 2FN y todos sus atributos no principales dependen directamente de la clave primaria, es decir, no hay dependencias funcionales transitivas de atributos no principales respecto de las claves. Forma normal de Boyce-Codd (BCNF)Un determinante es cualquier atributo cuyo valor determina otros valores en una filaUna tabla esta en forma Boyce-Codd si todo determinante en ella es una clave candidato

Page 12: Base datos

4. ADMINISTRACION DE TRANSACCIONES Y CONTROL DE CONCURRENCIA

Una transacción es una unidad lógica de trabajo que debe ser totalmente completada o abortada

Propiedades de la transacción

•Atomicidad •Durabilidad •Seriabilidad (como si se ejecutaran en serie)•Aislamiento

Page 13: Base datos

Manejo de transacciones con SQL: commit y rollback

Registro de transacciones: Mientras que el DBMS ejecuta transacciones que modifican la base de datos, tambien se actualiza automaticamente el registro de transacciones. El registro de transacciones guarda:

-Un registro del inicio de la transaccion

-Informacion de cada sentencia sql que incluye valores antes y despues

-Finalización commit de la transacción

En caso de falla el DBMS deshace las transacciones incompletas y continua con las transacciones que estaban comprometidas pero aun no se habian escrito en la base de datos fisica  

Page 14: Base datos

CONTROL DE CONCURRENCIA CON METODOS DE BLOQUEO

Un bloqueo garantiza el uso exclusivo de un elemento de datos dentro de una transacción concurrente.

En otras palabras, T2 no tiene acceso a un elemento de datos que está siendo utilizado por la transacción T1.

Una transacción adquiere un bloqueo antes de acceder a los datos, el bloqueo se libera (desbloquea) cuando la transacción, de modo que otra pueda bloquear el

Elemento de datos para su uso exclusivo

Granularidad del bloqueo. Niveles: base de datos, tabla, pagina (bloque de datos), fila, atributo

Tipos de bloqueo: bloqueos binarios o compartidos/exclusivos

Page 15: Base datos

Los conflictos de concurrencia ocurren solo cuando dos transacciones se ejecutan concurrentemente y una de ellas actualiza la base de datos

Existe un bloqueo exclusivo cuando el acceso se reserva específicamente para la transacción que bloqueo el objeto

Existe un bloqueo compartido cuando a transacciones concurrentes se les otorga acceso de lectura con base en un bloqueo común

Se emite un bloqueo compartido cuando una transacción desea leer datos de la base de datos y no existe un bloqueo exclusivo en dicho elemento de datos

Se emite un bloqueo exclusivo cuando una transacción desea escribir (actualizar) un elemento de datos y ninguna otra transacción lo mantiene bloqueado  

Page 16: Base datos

El uso de la técnica de bloqueos puede conducir a dos problemas:

La programación de las transacciones resultante puede no ser serializable (protocolo de dos fases)

Se pueden producir abrazos mortales, es provocado cuando dos transacciones esperan que una u otra desbloquee los datos (técnicas de prevención y detección)

El bloqueo de dos fases define como las transacciones adquieren y ceden bloqueos. Las dos fases son:

Una fase de crecimiento en la que una transacción adquiere todos los bloqueos requeridos sin desbloquear ningún dato

Una fase de contracción en la que una transacción libera todos los bloqueos y no puede obtener uno nuevo  

Page 17: Base datos

5. BASES DE DATOS DISTRIBUIDAS

Un DDBMS rige el almacenamiento y procesamiento de datos lógicamente relacionados a través de un sistema de computadoras interconectadas, donde tanto los datos como las funciones de procesamiento se distribuyen entre varios sitios

La base de datos se divide en fragmentos, los cuales pueden ser horizontales (un conjunto de filas) o verticales (un conunto de atributos). Cada fragmento puede colocarse en un nodo de red diferente

Page 18: Base datos

Red de comunicaciones

TP TPTPDP DP

TPDP

TPDP

DP

Componentes de sistema de base de datos distribuido

Nota: Cada procesador de transacciones puede accesar datos en cualquier procesador de datos, y cada procesador de datos manejra todas las solicitudes de datos locales de cualquier procesador de transacciones

Page 19: Base datos

Procesamiento en sitios múltiples, datos en sitios múltiples (MPMD)

Una base de datos distribuida homogénea integra solo un tipo particular de DBMS, en una red de computadoras

Un sistema heterogéneo integra varios tipos diferentes de DBMS en una red de computadoras  

Page 20: Base datos

Características de transparencia de la base de datos distribuida •Transparencia de distribución •Transparencia de transacción •Transparencia de falla •Transparencia de desempeño •Transparencia de heterogeneidad

Page 21: Base datos

Protocolo commit de dos fases

El protocolo garantiza que, si una parte de la operacion de transaccion no puede completarse, todos los cambios realizados en los otros sitios que participan en la transaccion seran deshechos para mantener un estado de base de datos consistente.

Cada procesador de datos mantiene su propio registro de transaccion. El protocolo requiere que cada registro de transaccion de procesador individual, se escriba antes de que el fragmento de base de datos se actualice en realidad

El protocolo define las operaciones entre dos tipos de nodos: el coordinador y uno o mas subordinados

Page 22: Base datos

Fase 1: Preparacion1.El coordinador envia un mensaje PREPARED TO COMMIT a todos los subordinados2.Los subordinados reciben el mensaje, escriben el registro de transacciones mediante el protocolo de escritura anticipada y envian un mensaje de confirmacion YES/PREPARED TO COMMIT o NO/NOT PREPARED al coordinador3.El coordinador se asegura de que todos los nodos esten listos para completar o abortar la transaccion

Fase 2: El commit final1.El coordinador envia un mensaje COMMIT a todos los subordinados y espera las respuestas2.Cada subordinado recibe un mensaje COMMIT, luego actualiza la base de datos mediante el protocolo DO3.Los subordinados contestan con un mensaje de COMMITED o NOT COMMITED al coordinador

Page 23: Base datos

Diseño de una base de datos distribuida

Fragmentación de los datos: horizontal, vertical o mixta

Replicación: se refiere al almacenamiento de copias de datos en sitios múltiples servidos por una red de computadoras.Regla de consistencia mutua: requiere que todas las copias de fragmentos sean idénticas

Colocación de datos, describe el proceso de decidir en qué sitios colocar los datos  

Page 24: Base datos

6. ALMACENAMIENTO DE DATOS Y PROTECCIONAsegurando disponibilidad de datos y sistemas

Alta disponibilidadAvailabitity % = Uptime / Total Time (99.999%)

Clustering: Un cluster se refiere a dos o más servidores que parecen como un sistema simple en una red. -Active/active clusters-Active/Passive Clustering (o active/standby cluster)-Fault-tolerant cluster, o high-availability cluster

Failover: Ocurre cuando una aplicación individual sobre un servidor cluster falla y el servicio cluster intenta reiniciar la aplicación sobre el mismo servidor.

Page 25: Base datos

Técnicas de almacenamiento de datos empresariales

- Escalabilidad: Es la habilidad de un sistema de crecer suavemente para satisfacer las demandas crecientes sin tener que ser reemplazado, reconfigurado o rediseñado

-Memoria virtual

-Sistemas de almacenamiento distribuido

-Arreglos de drives de alto rendimiento: es un grupo de discos separados que son configurados para trabajar como una unidad para mejorar el rendimiento, disponibilidad y tolerancia a las fallas.

Page 26: Base datos

Network-Attached Storage

Un NAS es un servidor de archives especializado diseñado y dedicado para soportar únicamente necesidades de almacenamiento

Implementaciones de SAN (Storage Area Network)

Una San es una red de alta velocidad de propósito especial que está dedicada al almacenamiento de datos.

La SAN contiene servidores que comparten acceso a dispositivos de almacenamiento de datos tales como arreglos de discos o drives de cintas.

Los servidores y dispositivos dentro de la SAN están interconectados usando tecnologías de networking de alta velocidad tales como canales de fibra, FDDI, ATM o Ethernet de alta velocidad

Page 27: Base datos

Conceptos y Tecnicas de recuperación de desastres. Backup

Políticas de backup: podría incluir especificaciones para todos los componentes del plan de backup, incluyendo el backup del software, hardware, medios, programación y planes de prueba, así como el diseño de la responsabilidad administrativa por el sistema

Métodos de rotación: Un método de rotación es la programación que determina el número de cintas de backups u otros conjuntos de medios que son necesarios, y la secuencia en la cual ellos son usados y reusados

Page 28: Base datos

Tipos de backup

-Un backup full o normal

-Un backup diferencial hace backup de los archivos que son creados o modificados desde el último backup completo

-Un backup incremental hace backup de todos los archivos que fueron creados o modificados desde el último full backup o backup incremental

Page 29: Base datos

Metodos de tolerancia a fallas (RAID)

Los estándares RAID (Redundant Array of Independent Disks) son un conjunto de especificaciones independientes del vendedor para configuraciones tolerantes a fallas sobre múltiples sistemas de disco.

Si uno o más de los discos fallan, los datos pueden ser recuperados desde los discos restantes.

RAID puede ser implementado a través de software del sistema operativo, pero las implementaciones de RAID basadas en hardware son más eficientes y más ampliamente utilizadas.

Hay varios niveles de RAID, cada uno de los cuales provee una combinación diferente de características y eficiencias. Los niveles RAID son identificados por un número: RAID 0, RAID 1, y RAID 5 son los más comunes

Page 30: Base datos

RAID nivel cero implementa striping, el cual es el proceso de esparcir datos a través de múltiples drives. Striping puede mejorar dramáticamente el rendimiento de lectura y escritura (no provee tolerancia a fallas).

En RAID nivel 1, los datos de una partición entera son duplicados en dos drives idénticos por uno u otro mirroring o duplexing.

En mirroring, los dos discos comparten una controladora de drive.

En duplexing, cada disco tiene su propia controladora de drive. Los datos son escritos en las dos partes del mirror simultáneamente.

Page 31: Base datos

Sistemas de RAID de nivel 5 dividen los datos en bytes individuales a través de múltiples drives, con información de paridad también dividida a través de múltiples drives.

Se necesitan al menos tres drives de disco físicos. SI uno de los drives falla, la información de paridad sobre el resto de los drives puede ser usada para reconstruir los datos.

Con RAID 5, el rendimiento se mejora porque más de acción de lectura y escritura puede ocurrir simultáneamente. Adicionalmente, los cálculos de paridad pueden crear overhead cuando se escribe

Page 32: Base datos

Fuente: http://mksistemas.files.wordpress.com/2007/12/dibujo1.jpg

7. BASE DE DATOS ORACLE

Page 33: Base datos

Archivos

•Datafiles•Control Files•Online Redo Log Files•Archived Redo Log Files

Page 34: Base datos
Page 35: Base datos

Objetos bases de datos

•Tablas•Esquema•Vistas•Secuencias•Sinonimos•Indices•Clusters•Procedimientos, funciones, paquetes•Disparadores (Triggers)•Enlaces de BD (Database link)

Page 36: Base datos

Gestión de privilegios y recursos

Fuente: http://www.redcientifica.com/oracle/c0004p0004.html

Page 37: Base datos

CREATE USER CONSULTA IDENTIFIED BY prueba1 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TMP PROFILE DEFAULT ACCOUNT UNLOCK;

-- 2 System Privileges for CONSULTA GRANT CREATE SESSION TO CONSULTA; GRANT CREATE TABLE TO CONSULTA;

Page 38: Base datos

Bibliografía

Sistemas de bases de datosDiseño, implementación y administración Peter Rob / Carlos CoronelThomson (2004)

Técnicas y Prácticas Metodología Métrica versión 3Ministerio de Administraciones Publicas. España  Curso ACM: Fundamentals of Data Protection and Disaster Recovery 

Page 39: Base datos

http://www.jorgesanchez.net/bd/arquOracle.pdfhttp://xue.unalmed.edu.co/~mfcabrera/db/arqoracle.pdfhttp://www.redcientifica.com/oracle/c0004p0004.html

Page 40: Base datos

G R A C I A S