Está en la página 1de 30

Ingeniería Técnica en Informática

Escuela Universitaria de Informática


Universidad Politécnica de Madrid

Asignatura: Administración de Bases de Datos


Tema 2:
Desarrollo e Implantación de una Base
de Datos

Pedro P
P. Alarcón Cavero
pedrop.alarcon@eui.upm.es
Juan Garbajosa Sopeña
jgs@eui.upm.es

Febrero 2010

Contenido
y Proceso de diseño de bases de datos
y Diseño conceptual
Contenido y Diseño lógico
Proceso Diseño
D. Conceptual
D. Lógico
y Estructura física de los SGBD
y Diseño físico
Estructura Física
Diseño Físico
Ejemplo SGBD
Puesta en marcha
y Ejemplo SGBD
y Puesta en marcha de una base de datos

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 2

1
Proceso de Diseño de Bases de Datos
y Obtener la estructura lógica y física que
contenga
Contenido
◦ la información útil para un grupo de usuarios de
Proceso Diseño
D. Conceptual
acuerdo con unos requisitos pre-establecidos
D. Lógico
Estructura Física
y Objetivos (difíciles de conseguir y de medir)
◦ Requisitos funcionales
Diseño Físico
Ejemplo SGBD

◦ Requisitos de rendimiento
Puesta en marcha

◦…

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 3

Proceso de Diseño de Bases de Datos


Requisitos de Requisitos de
1. Análisis de Requisitos Datos Procesos

Diseño de Esquemas Diseño de Procesos


2. Diseño Conceptual Conceptual y (transac. y
Externos diferidos)
Contenido (independ. del SGBD) (independ. del SGBD)
Proceso Diseño 3. Elección de SGBD
D. Conceptual
D. Lógico Diseño de Esquemas
Estructura Física 4. Diseño Lógico Conceptual y
Diseño Físico (estándar y específico) Externos
Ejemplo SGBD (dependiente del SGBD) • retricciones
Puesta en marcha • frecuencias
Diseño del Esquema
5 Diseño Físico
5. I t
Interno
(dependiente del SGBD)

Sentencias LDD Implementación de


6. Implementación
Sentencias LDDA Catálogo Transacciones

7. Carga
BD

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 4

2
Análisis y Especificación de Requisitos
y Se refiere a la aplicación o sistema
y Se especifican requisitos referidos a datos y
Contenido
procesos
y Metodologías: OMT, UML, SADT, Warnier-Orr,
Proceso Diseño
D. Conceptual

DFD’s, Ágiles, etc.


D. Lógico
Estructura Física
Diseño Físico
Ejemplo SGBD
Puesta en marcha
y Esta fase es costosa y de gran importancia

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 5

Elección de un SGBD
y Adecuación a la aplicación
◦ modelo (relacional, red, OO...)
◦ transacciones...
t i
Coste de adquisición del software
Contenido
Proceso Diseño y
D. Conceptual
D. Lógico
Estructura Física
y Coste de adquisición del hardware
Diseño Físico
Ejemplo SGBD
y Coste de mantenimiento
y Coste de creación y conversión de la BD
Puesta en marcha

y Coste de personal
y Coste de formación
y Servicio venta y post-venta

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 6

3
2. Diseño Conceptual
y Compuesto por:
◦ Diseño del esquema conceptual
Contenido
◦ Diseño de procesos (transacciones y procesos
Proceso Diseño
D. Conceptual
diferidos)
y Enfoques para diseño del esquema conceptual:
D. Lógico
Estructura Física

◦ Centralizado
Diseño Físico
Ejemplo SGBD

◦ Integración
g de vistas
Puesta en marcha

y Estrategias para diseño del esquema conceptual:


◦ Hacia-abajo (Top-down)
◦ Hacia-arriba (Bottom-up)

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 7

Diseño de Procesos
y En paralelo con diseño del esquema conceptual:
realimentación
y I d
Independiente
di t deld l SGBD y en un estadio
t di temprano
t
Contenido
Proceso Diseño
dentro del proceso
Diseño de procesos: transacciones y procesos
D. Conceptual
D. Lógico y
diferidos
Estructura Física
Diseño Físico

La BD debe contener toda la información para


Ejemplo SGBD
Puesta en marcha y
soportar
t llos procesos
y Se presta principalmente atención a las transacciones
y Los procesos diferidos pueden ser críticos en BD
voluminosas
2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 8

4
3. Diseño Lógico
y Definir el EC y EE en el SGBD elegido, a partir del EC
de la fase anterior
y Fases
F
◦ Diseño lógico estándar
Contenido
Proceso Diseño
D. Conceptual
Diseño Lógico
Estructura Física
◦ Diseño lógico específico
Diseño Físico
Ejemplo SGBD
y Resultado
Puesta en marcha
◦ Conjunto de sentencias LDD del SGBD elegido
◦ Detalles de diseño físico, si ha lugar

Las sentencias se completan al finalizar el diseño físico

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 9

Diseño Lógico específico


y LDD en SQL2
◦ CREATE SCHEMA <nombrebd> AUTHORIZATION <usuario>;
◦ CREATE DOMAIN <nombre> AS <tipodato>
p [[DEFAULT <valor>]] [[CHECK
<condic>];
Contenido
Proceso Diseño
◦ CREATE TABLE [<esquema>.]<nombre_tabla>
D. Conceptual (<atrib> <tipo> | <dominio> [NOT NULL] [DEFAULT <valor>] [CHECK
Diseño Lógico
<condic>], ....
Estructura Física
Diseño Físico PRIMARY KEY (<atrib>,...)
Ejemplo SGBD [UNIQUE (<atrib>,...)]
Puesta en marcha
[FOREIGN KEY (<atribo>) REFERENCES tabla(<atrib>)
[ON {DELETE | UPDATE} {SET NULL | SET DEFAULT | CASCADE}]]
[CHECK (<condicion>)] );

◦ CREATE VIEW <nombre_vista> [(<lista_atributos>)] AS <consulta>


[WITH CHECK OPTION];

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 10

5
4. Estructura Física de los SGBD
y El diseño físico es claramente dependiente del SGBD
y No obstante muchos gestores poseen rasgos
comunes
Contenido
Proceso Diseño y Presentaremos algunos
D. Conceptual
Diseño Lógico y Gestión de la información persistente
Estructura Física
Diseño Físico ◦ Discos
Ejemplo SGBD
Puesta en marcha ◦ Gestión del espacio en disco
◦ Í
Índices
◦ RAID

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 11

Ficheros y Discos
y EL SGBD almacena la información en disco duro
y Esto repercute en el diseño del SGBD
Contenido
◦ READ
x transfiere los datos desde el disco a la memoria principal
Proceso Diseño
D. Conceptual
Diseño Lógico
(RAM)
Estructura Física
Diseño Físico
Ejemplo SGBD
◦ WRITE
Puesta en marcha
x transfiere los datos desde la RAM al disco
◦ Ambas operaciones son costosas, y deben
planificarse cuidadosamente

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 12

6
Ficheros y Discos
y ¿Por qué no almacenar todo en la memoria
principal?
◦ Coste elevado, superior al de memoria secundaria
Contenido
Proceso Diseño ◦ Es volátil, y queremos que los datos sean persistentes, entre
diferentes ejecuciones
D. Conceptual
Diseño Lógico
Estructura Física
Diseño Físico
◦ Almacenamiento jerárquico típico:
Ejemplo SGBD
Puesta en marcha
x Memoria principal (RAM) para los datos usados en cada
momento
x Discos para la base de datos (almacenamiento secundario)
x Cintas, CD, DVD, etc. para almacenar versiones de los
datos (almacenamiento terciario)

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 13

Discos
y Dispositivo de almacenamiento secundario
y Principal ventaja sobre las cintas: acceso
Contenido
aleatorio vs. secuencial
y Los datos se almacenan y recuperan en
Proceso Diseño
D. Conceptual

unidades llamadas bloques de disco o páginas


Diseño Lógico
Estructura Física
Diseño Físico
Ejemplo SGBD
Puesta en marcha
y Al contrario que en la RAM, el tiempo para
recuperar un bloque de disco depende de su
ubicación en el disco
Por tanto, la ubicación relativa de las páginas en el disco es
un factor muy importante en el rendimiento del SGBD
2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 14

7
Componentes de un disco
y Discos giratorios (ej. 90rps)
y El “arm assembly” se mueve EJE

hacia dentro o hacia fuera para


Contenido
situar la cabeza en la pista CABEZA DEL DISCO

deseada. Las pistas bajo una


PISTAS
Proceso Diseño
SECTOR
D. Conceptual ESTRUCTURA

Diseño Lógico misma cabeza forman un DEL BRAZO

Estructura Física
Diseño Físico
cilindro (imaginario)
Ejemplo SGBD
Puesta en marcha
y Solo una cabeza lee/escribe al MOVIMIENTO DEL BRAZO PLATO

mismo tiempo p y en un pplato


y El tamaño del sector es un
múltiplo del tamaño del
bloque/página (que es fijo)

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 15

Acceso a las Páginas de Disco


y Tiempo de acceso (read/write) a un bloque de disco:
◦ Tiempo de posicionamiento:
x movimiento del brazo ppara posicionar
p la cabeza lectora en la pista
p
x varía entre 1 y 20 mseg
Contenido
Proceso Diseño ◦ Tiempo de rotación
D. Conceptual
Diseño Lógico
x espera a que el bloque rote justo debajo de la cabeza lectora
Estructura Física x varía entre 0 y 10 mseg
◦ Tiempo de transferencia
Diseño Físico
Ejemplo SGBD
Puesta en marcha
x transferencia de los datos a/desde disco
x estáá en torno a 1mseg
1 para páginas
á de
d 4KB
y Clave para bajar el coste de I/O:
◦ Reducir las esperas de posicionamiento/rotación

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 16

8
Colocación de las páginas en disco
y Concepto de ‘Siguiente’ bloque:
◦ bloques en la misma pista, seguido por
◦ bloques en el mismo cilindro, seguido por
Contenido
Proceso Diseño
D. Conceptual
◦ bloques en cilindros adyacentes
Diseño Lógico
Estructura Física
y Los bloques de un fichero deben colocarse
Diseño Físico
Ejemplo SGBD
secuencialmente en el disco (por ‘Siguiente’), para
Puesta en marcha
minimizar la esperas (posicionamiento y rotación)
y Para una búsqueda secuencial, la precarga (pre-
fetching) de varias páginas al tiempo es un avance
importante

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 17

Gestión del espacio en disco


y El nivel mas bajo del SGBD gestiona el espacio en
disco
y Los
L niveles
i l mas altos
lt llllaman a esta
t capa para:
◦ cargar/descargar una página
Contenido
Proceso Diseño
D. Conceptual
Diseño Lógico
Estructura Física
◦ leer/escribir una página
Diseño Físico
Ejemplo SGBD
y Una petición para una secuencia de páginas debe
Puesta en marcha
realizarse colocando las páginas secuencialmente
(contiguas) en el disco
y Los niveles altos no necesitan conocer como se hace
esto, o como se gestiona el espacio libre

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 18

9
Gestión del Buffer en el SGBD
Petición de páginas desde niveles altos

Buffer Pool frame libre

página de BD en memoria
Memoria
Contenido
Proceso Diseño
D. Conceptual principal
Diseño Lógico
Estructura Física Elección de frame: dictado por la
Diseño Físico política de reemplazo
Ejemplo SGBD
Puesta en marcha
Disco
BD

y Los datos deben estar en la RAM para que el SGBD pueda operar con ellos
y Se gestiona una tabla de correspondencia: <frame#, pageId>
Memoria principal Disco

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 19

Solicitud de página
y Si el SGBD solicita una página que no está en el Buffer Pool:
◦ Elegir un frame para reemplazarlo. Si el frame fue modificado desde su
carga
g (estado
( dirty),
y), se escribe en el disco
Contenido ◦ Cargar la página requerida en el frame elegido
Proceso Diseño
D. Conceptual ◦ Fijar la página y devolver su dirección
Diseño Lógico
Estructura Física y El solicitante de una página debe liberarla, e indicar si la página fue
Diseño Físico
modificada (bit de marcado dirty)
Ejemplo SGBD
Puesta en marcha
y Las páginas del pool pueden ser solicitadas varias veces,
◦ Se utiliza un contador (“pin count”)
◦ Una página es candidata para ser reemplazada si: “pin count” = 0
y Si se puede predecir la petición (p.e., recorrido secuencial) puede
realizarse una precarga (pre-fetched) de varias páginas al tiempo

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 20

10
SGBD vs. Sistema de Ficheros del SO
y Diferencias entre los SO
◦ Aspectos de portabilidad

Contenido
y Un fichero no es habitual que ocupe varios discos
Proceso Diseño
D. Conceptual
y La gestión de los bufferes en SGBD requiere
Diseño Lógico
Estructura Física
forzar dónde va una página en el disco
Las páginas deben estar contiguas no importando
Diseño Físico
Ejemplo SGBD y
desperdiciar
p espacio
p
Puesta en marcha

y Tipos de ficheros
◦ Registros de longitud fija
◦ Registros de longitud variable

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 21

Registros de Longitud Fija


y La información sobre los tipos de campos (y longitud en bytes) está
almacenada en el catálogo del sistema
y Encontrar el campo “n” supone recorrer el registro
L1 L2 L3 L4
Contenido
Proceso Diseño
Campo1 Campo2 Campo3 Campo4
D. Conceptual
Diseño Lógico Dirección base (B) = posición del registro en la página Dirección=B+L1+L2+L3
Estructura Física
Diseño Físico
Tabla del catálogo SYSCOLUMNS: colname tabid colno coltype collength
Ejemplo SGBD colname char(18) nombre de la columna
IdCliente 2 1 1 2
Puesta en marcha tabid integer id. de la tabla
colno smallint nº de columna Nombre 2 2 0 15
coltype smallint tipo de datos de la columna
collength smallint longitud (física) de la columna FechaAlta 2 3 7 4

Tabla de la base de datos: Fichero de datos


CREATE TABLE Clientes
(IdCliente Smallint Not Null, 101Ana Tomía 05052005 102 (2 bytes) = 00000000 00110111
102Nestor Tilla 09092009 Nestor Tilla (15b): 1 caracter=1 byte
Nombre Char(15) Not Null,
103Carmelo Cotón 03032010 09092009 (4b): almacena número
FechaAlta Date,
PRIMARY KEY (IdCliente)); 104Leandro Gao 03032010 Dirección Campo 3 (Registro2)= 21+2+15

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 22

11
Registros de longitud variable
y Formatos
◦ Separador de campos
IdCliente Nombre FechaAlta Telefono Ciudad

101 Ana Tomía 05052005 919999999 Madrid


Contenido
Proceso Diseño
102 Nestor Tilla 09092009 Ciudad Real
D. Conceptual
Diseño Lógico
Estructura Física ◦ Directorio de registro
Diseño Físico
x Acceso directo al campo “i”
Ejemplo SGBD
Puesta en marcha x Eficiencia al almacenar valores nulos
x Sobrecargag por
p gestión
g del directorio de registro
g

102 Nestor Tilla 09092009 Ciudad Real

Array de
desplazamiento
de campos

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 23

Formato de Página
y Registro de longitud fija
DESEMPAQUETADO
EMPAQUETADO BITMAP
slot 1 slot 1
slot 2 slot 2
Contenido
Proceso Diseño
D. Conceptual … espacio libre

Diseño Lógico
slot n slot n
Estructura Física
Diseño Físico
slot m
Ejemplo SGBD
Puesta en marcha
N número de 1 …0 1 1 M número de
registros registros
m …3 2 1

◦ RID: Record id = <page id, slot #>


x En la primera alternativa, el movimiento o empaquetamiento de los registros para
gestionar el espacio libre de la página puede variar el “RID”, y esto en algunos casos
puede no ser aceptable

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 24

12
Formato de Página
y Registro de longitud variable
Rid = (I,N) P ág ina I

Rid = ( I,2)
I 2)

Contenido Rid = ( I,1 )


Proceso Diseño
D. Conceptual
Diseño Lógico
Estructura Física
Diseño Físico
Ejemplo SGBD
20 16 24 N
Puesta en marcha P un ter o al
N 2 1 c o m ie nzo
de l
Longitud del e spa c io
registro libr e
D IRE C TORIO D E S L OTS

◦ Se pueden mover registros en la página sin cambiar su “Rid”


◦ Esto también es interesante para registros de longitud fija

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 25

Ficheros de Registros
y Una página o bloque es aceptable en operaciones
de entrada/salida, pero los niveles mas altos del
SGBD operan con registros, y ficheros de
Contenido registros
Proceso Diseño
D. Conceptual
Diseño Lógico
y Fichero
Estructura Física ◦ colección de páginas, conteniendo cada una, una
colección de registros
Diseño Físico
Ejemplo SGBD
Puesta en marcha
◦ Debe permitir:
x Inserción, modificación y borrado de registros
x Leer un registro concreto (con su identificador de registro: rid)
x Recorrer todos los registros (con posibilidad de utilizar
condiciones en los registros a ser recuperados)

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 26

13
Índices
y Un fichero (pila) permite recuperar registros
◦ Especificando el rid (registro Id), o
◦ Recorriendo los registros secuencialmente
Contenido
Proceso Diseño
D. Conceptual
y Algunas veces, queremos recuperar registros
Diseño Lógico
Estructura Física
especificando valores de uno o mas campos, p.e.,
Diseño Físico
Ejemplo SGBD
◦ Obtener los estudiantes del departamento ‘OEI’
Puesta en marcha
◦ Obtener los estudiantes con curso > 2
y Los índices son estructuras de fichero que permiten
resolver estas consultas basadas en valores, de forma
eficiente

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 27

Estructura de índices ISAM


y Operación
◦ Creación del Fichero
x La páginas hoja (de datos) se colocan secuencialmente ordenadas por la clave
de búsqueda; se asignan las páginas de índice, y el espacio para páginas de
overflow
◦ Entradas del índice
Contenido
x <valor clave de búsqueda, pagina id>
Páginas de índices
Proceso Diseño x Permiten la búsqueda “directa” de las entradas de datos, que están en las
D. Conceptual páginas hoja
Diseño Lógico ◦ Búsqueda Páginas de datos
Estructura Física x Empieza en root, usa comparación de claves hasta llegar a la hoja
Diseño Físico ◦ Inserción
Ejemplo SGBD x Encontrar la hoja correspondiente, y ponerlo ahí
Páginas de
overflow
Puesta en marcha
◦ Borrado
x Encontrar
E t y borrar
b la
l hhoja;
j sii lla página
á i ded overflow
fl está
tá vacía,
í desasignarla
d i l
◦ Estructura de árbol estática
x Las inserciones y borrados afectan únicamente a páginas hoja
y El interés del ABD radica en el número de E/S
que implica cada operación: por ejemplo, estimar
tiempos (medios) de cada operación

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 28

14
Ejemplo de árbol ISAM
y Cada nodo puede tener 2 entradas

Contenido
Proceso Diseño
D. Conceptual
Diseño Lógico
Estructura Física
Diseño Físico
Ejemplo SGBD
Puesta en marcha

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 29

Tras insertar 23*, 48*, 41*, 42* ...

Raíz
40

Contenido PAGINAS DE INDICES

Proceso Diseño 51 63
20 33
D. Conceptual
Diseño Lógico
PAGINAS DE LAS HOJAS
Estructura Física PRIMARIAS
Diseño Físico
Ejemplo SGBD
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
Puesta en marcha

PAGINAS DE OVERFLOW 23*


48* 41*

42*

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 30

15
.... Al borrar 42*, 51*, 97*

Raíz
40

Contenido PAGINAS DE INDICES


Proceso Diseño
51 63
20 33
D. Conceptual
Diseño Lógico
PAGINAS DE LAS HOJAS
Estructura Física PRIMARIAS

Diseño Físico
Ejemplo SGBD 10* 15* 20* 27* 33* 37* 40* 46* 55* 63*
Puesta en marcha

PAGINAS DE OVERFLOW 23*


48* 41*

y el 51* aparece en nodo intermedio pero no en nodo hoja

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 31

Índices densos y dispersos


y Denso vs. Disperso
◦ Si hay por lo menos una entrada para el valor de clave de
búsqueda (en algún registro de datos),
datos) entonces Denso
Contenido
Proceso Diseño
◦ Cada índice Disperso está agrupado
D. Conceptual
Diseño Lógico
◦ Los índices Dispersos son mas pequeños; sin
Estructura Física
Diseño Físico
embargo, algunas optimizaciones útiles se basan en
Ejemplo SGBD
Puesta en marcha
índices Densos
y Disperso (direcciona páginas)
◦ Ordenación por claves principales de una tabla, si las tuplas
están físicamente ordenadas por ese campo
y Denso (direcciona registros)
◦ Ordenación por otro campo, p.ej. índices secundarios
2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 32

16
Índices densos y dispersos

Anacleto, 35, 6754 24


Angel, 26, 5698 25
A
Antonio,
i 50
50, 8975 26
Contenido Beatriz, 38, 6547 27
Proceso Diseño
D. Conceptual
Anacleto Luis, 24, 4532 35
Diseño Lógico
Estructura Física
Luis Miguel, 50, 9807 38
Diseño Físico Paloma Natividad,25, 1212
Ejemplo SGBD
Puesta en marcha
50
Paloma, 25,
Paloma 25 4543
Indice disperso 51
Patricia, 51, 5434
para nombre
Zacarias,27, 8976

Indice denso
Fichero de datos para edad

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 33

Indices y Claves de búsqueda


20, 55 20
21, 70 21
22 35
22, 22
Contenido 22, 55
Ana, 22, 35
Proceso Diseño
edad, aciertos edad
D. Conceptual
Diseño Lógico
Estructura Física
Bea, 21, 70
Diseño Físico
Ejemplo SGBD
Dani, 22, 55
Puesta en marcha
Juan, 20, 55
35, 22 35
55, 20 Registros ordenador
por nombre
55
55,22 70
70, 21
aciertos, edad aciertos

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 34

17
Almacenamiento RAID
y RAID:
◦ Redundant Arrays of Inexpensive/Independent Disks
y Características
◦ Combina varios discos duros para formar una única unidad lógica en la que almacenar los
d
datos de
d forma
f conjunta
Contenido ◦ Mayor tolerancia a fallos y mayor rendimiento que un solo disco o un grupo de discos
Proceso Diseño
independientes
D. Conceptual y Objetivos
Diseño Lógico ◦ Aumentar el rendimiento y la fiabilidad
Estructura Física ◦ MTTF (Mean Time To Failure)
Diseño Físico x 1 disco = 200.000 horas <> 22,8 años
Ejemplo SGBD x Banco de 100 discos = 2.000 horas <> 83,3 días
Puesta en marcha y Dos técnicas principales
◦ Data striping
x Los datos están particionados. El tamaño de una partición se llama “striping unit”.
x Las particiones son distribuidas entre varios discos.
x Mejora el rendimiento
◦ Redundancia
x Mas discos -> mas fallos.
x La información redundante permite reconstruir los datos si un disco falla.
x Mejora la fiabilidad

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 35

Niveles RAID
y Nivel 0: Sin redundancia
y Nivel 1: Mirrored (dos copias idénticas)
◦ Cada disco tiene una imagen espejo (check disk)
Contenido
Proceso Diseño
◦ Lecturas paralelas. Una escritura involucra dos discos
D. Conceptual
◦ Máxima tasa de transferencia = tasa de transferencia de un
Diseño Lógico
Estructura Física disco
Nivel 0+1: Striping and Mirroring
Diseño Físico
Ejemplo SGBD y
◦ Lecturas paralelas. Una escritura involucra dos discos
Puesta en marcha

◦ Máxima tasa de transferencia = ancho de banda conjunto


(aggregate bandwidth)

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 36

18
Niveles RAID
y Nivel 3: Paridad de bit intercalado
◦ Un byte se “rompe” en bits
◦ Cada lectura y escritura involucra todos los discos;;
Contenido ◦ la matriz de discos puede procesar una petición cada vez
Proceso Diseño
D. Conceptual
y Nivel 4: Paridad de bloque [de fichero] intercalado
Diseño Lógico
◦ Un bloque de fichero se “rompe” en varios discos
Estructura Física
Diseño Físico ◦ Un disco espejo (comprobación)
◦ Lecturas paralelas para pequeñas peticiones; las grandes
Ejemplo SGBD
Puesta en marcha

utilizan todo el ancho de banda


◦ La escritura incluye bloques modificados y disco espejo
y Nivel 5: Paridad de bloque intercalado y distribuidos
◦ Similar al nivel 4 de RAID, pero los bloques de paridad están
distribuidos entre todos los discos

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 37

Niveles RAID
y Cada nivel de RAID ofrece una combinación
específica de tolerancia a fallos (redundancia),
Contenido
rendimiento
d y coste
Proceso Diseño JBOD (Just a Bunch Of Disks):
D. Conceptual Grupo de discos en un volumen
Diseño Lógico lógico, sin mejora de rendimiento
Estructura Física
RAID ni disponibilidad
Diseño Físico
0+1
Ejemplo SGBD
Puesta en marcha

RAID 0

RAID 3
JBOD RAID 1
RAID 5

coste

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 38

19
Diseño Físico
y Objetivos
y Determinación del espacio de almacenamiento
y Técnicas para acelerar operaciones de unión natural
Contenido
Proceso Diseño (sistemas relacionales)
D. Conceptual
Diseño Lógico
Estructura Física
y Elección de caminos de acceso (índices)
Diseño Físico
Ejemplo SGBD
y Producción del Esquema Interno
Puesta en marcha
y Monitorizaciones

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 39

Objetivos del Diseño Físico


y Optimizar tiempos de respuesta
◦ Definición
◦ Factores que influyen
Contenido
Proceso Diseño
y Minimizar espacio de almacenamiento para los ficheros físicos
D. Conceptual de la BD
Diseño Lógico
Estructura Física y Optimizar rendimiento de transacciones (throughput)
Proporcionar procedimientos óptimos de recuperación e
Diseño Físico
Ejemplo SGBD y
Puesta en marcha
integridad de la BD
y Asegurarse que los requisitos y criterios de seguridad y
confidencialidad se cumplen

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 40

20
Determinar espacio de almacenamiento
y Determinar los factores propios de cada fichero
y Establecer tamaño (Kb o Mb) de las estructuras
ló i
lógicas
Contenido
Proceso Diseño y Definir ocupaciones iniciales
D. Conceptual
Diseño Lógico
Estructura Física
y Definir modo de gestionar e incrementar el espacio
Diseño Físico
Ejemplo SGBD
y Establecer correspondencia entre estructuras lógicas
Puesta en marcha
y ficheros físicos

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 41

Técnicas para acelerar la unión natural


y Agrupamiento (clustering)
◦ Proporciona eficiencia en uniones naturales para
relaciones
l i 11:N
N
Contenido
Proceso Diseño y Desnormalizar el esquema lógico
D. Conceptual
Diseño Lógico
Estructura Física
◦ Se compensa con transacciones que mantengan la
Diseño Físico consistencia de la BD o con procesos off-line
Ejemplo SGBD
Puesta en marcha
y Particionamiento
◦ Vertical
◦ Horizontal

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 42

21
Ejemplo de clustering
Esquema lógico Esquema físico

Propietario
Contenido
Nombre Dni Fichero de almacenamiento
Proceso Diseño
D. Conceptual
Diseño Lógico
Pepe 3451 Pepe 3451
Estructura Física Juan 4587
Diseño Físico 3451 M4567
Ejemplo SGBD
Puesta en marcha
Posee Juan 4587
Dni Matricula 4587 T9879
4587 S3456
3451 M4567
4587 T9879
4587 S3456

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 43

Elección de caminos de acceso (índices)


y Consideraciones
◦ Para cada consulta, elegir campos candidatos para crear
índices
◦ Para cada transacción de actualización, elegir campos
candidatos para crear índices
Contenido
Proceso Diseño
D. Conceptual
Diseño Lógico
◦ Considerar frecuencias de ejecución
Estructura Física ◦ Considerar restricciones de tiempo
Normas generales para elegir caminos de acceso
Diseño Físico
Ejemplo SGBD y
◦ Claves pprimarias
Puesta en marcha

◦ Claves foráneas
◦ Atributos de uso frecuente
◦ Frecuencia actualizaciones

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 44

22
Elección del tipo de índice
y Pilas
◦ Por cada operación se cargan varias tuplas a la vez
◦ Número relativamente bajo de tuplas
Contenido
Proceso Diseño
◦ Hay que recuperar todas las tuplas para cada operación
D. Conceptual
◦ Adecuada para una tabla cargada permanentemente en
Diseño Lógico
Estructura Física memoria
Hash
Diseño Físico
Ejemplo SGBD y
◦ Útil cuando la búsqueda se basa en clave completa
Puesta en marcha

y Índices: patrón, valor exacto, rangos y patrones de clave


◦ Indices de uno o varios niveles

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 45

Elección del tipo de índice


y ISAM
◦ Estático
◦ Creado al tiempo p qque el fichero de datos
Contenido ◦ Su rendimiento se deteriora conforme se actualiza la tabla
Proceso Diseño
D. Conceptual
◦ Las actualizaciones hacen perder la secuencia de acceso a la
Diseño Lógico clave
Arboles B+
Estructura Física
Diseño Físico
y
Ejemplo SGBD
Puesta en marcha
◦ El rendimiento no se deteriora con el uso
◦ Mantiene el orden de las claves cuando se actualiza
◦ Si las actualizaciones no son frecuentes el rendimiento
puede ser peor por tener un nivel más de índice
y Clusters: Indices y Tablas
◦ Recuperación de tuplas anidadas

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 46

23
Producción del Esquema Interno
y Sintaxis SQL para índices
◦ Creación de índice
x CREATE [UNIQUE] INDEX < index name >
Contenido ON < table name > ( < column name > [ < order > ]
Proceso Diseño
D. Conceptual
{, < column name > [ < order > ] } )
Diseño Lógico [CLUSTER]
Estructura Física
Diseño Físico ◦ Borrado
Ejemplo SGBD
Puesta en marcha x DROP INDEX < index name>

y SSentencias
i específicas
ífi d
dell SGBD para reserva
de espacio

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 47

Monitorizaciones de la BD
y Permiten obtener estadísticas de utilización:
◦ Se almacenan en el catálogo o DD
Contenido
◦ Incluyen, entre otras:
Proceso Diseño
D. Conceptual
x nº de invocaciones de transacciones predefinidas
x actividades de E/S en ficheros
Diseño Lógico
Estructura Física
Diseño Físico
Ejemplo SGBD x nº de páginas o bloques de ficheros de datos,
índices u otros
Puesta en marcha

x frecuencia de utilización de índices


◦ Con esta información se puede afinar el sistema

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 48

24
6. Ejemplo de SGBD
y Espacio de almacenamiento

Contenido
Proceso Diseño
D. Conceptual
Diseño Lógico
Estructura Física
/dev/rxy0f /usr/trozo1
/dev/rxy0h
Diseño Físico
Ejemplo SGBD
Puesta en marcha

Partición Fragmento Fichero


de Unix
Partición

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 49

Esquema de una BD

Base de Datos

Contenido
Espacios BD raíz espacio 1 espacio BLOB 1..N

Proceso Diseño
D. Conceptual Fragmentos frg1 frg2 frg3 frg4 frg5 frg6 1..N por espacio
Diseño Lógico
Espacios 1..N por
Estructura Física de tablas espacio BD
Diseño Físico
1..N por
Ejemplo SGBD Extensiones ... ... espacio de tablas
Puesta en marcha

•Páginas de datos
•Páginas de índices
•Páginas de bitmap
•Páginas blob
•Páginas libres

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 50

25
Espacio físico y lógico
y Espacio Físico (contiguo)
◦ Páginas
◦ Extensiones
◦ Fragmentos
Contenido ◦ Páginas especiales: BLOB, Bitmap ...
Proceso Diseño
D. Conceptual
y Espacio Lógico (colección de espacios físicos)
Diseño Lógico ◦ Espacios de base de datos
Estructura Física x formado por una colección de fragmentos, de 1 a N
Diseño Físico
Ejemplo SGBD
◦ Espacios de tablas
Puesta en marcha
x colección de todas las extensiones asignadas a una tabla
x el espacio no es necesariamente continuo (en una extensión sí)
◦ Espacios especiales: BLOB, Bitmap...
y Cada tabla tiene su espacio de tabla con todos sus datos
y En el espacio raíz pueden estar los ficheros “logical logs” y
“physical logs”

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 51

Ejemplo de estructura de una página


Página #

Cabecera de Página (# bytes libres) (próximo slot libre) Timestamp

Contenido
Fila Fila (Row) Fila
Proceso Diseño
D. Conceptual
Diseño Lógico
Estructura Física Fila
Diseño Físico
Ejemplo SGBD
Puesta en marcha
……………………….espacio libre en la página……………………………

Pie (tabla de slots):


4 bytes por slot, 1 slot por fila Timestamp

offset (despl.)
página # slot # de fila tamaño fila
3 bytes 1 byte 2 bytes 2 bytes

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 52

26
Ejemplo Sintaxis Creación Esquema BD
y CREATE DATABASE nombreBD
[IN nombredbs]
[WITH {[BUFFERED] LOG | LOG MODE ANSI}]

Contenido
◦ Por defecto se crea en el “rootdbs”, pero no es recomendable
Proceso Diseño
D. Conceptual ◦ nombredbs: dbspace que contendrá el catálogo del sistema para
Diseño Lógico la BD
Estructura Física
◦ WITH [BUFFERED] LOG: para ejecución de transacciones
(commit,rollback,..)
Diseño Físico
Ejemplo SGBD
Puesta en marcha ◦ Sin BUFFERED se escribe directamente en disco (más rápido,
menos seguro)
◦ LOG MODE ANSI, funciona sin BUFFERED

y DROP DATABASE nombre

2010 © Pedro P. Alarcón Administración de Bases de Datos – EU Informática (UPM) 53

Ejemplo Sintaxis Creación Esquema BD


y CREATE [TEMP] TABLE (<especificacion_de_columna>)
[WITH NO LOG]
[[IN <nombredbspace>]
p ]
Contenido
[EXTEND SIZE <tamaño>]
Proceso Diseño
[NEXT SIZE <tamaño>]
D. Conceptual
Diseño Lógico [LOCK MODE (PAGE|ROW)]
Estructura Física
Diseño Físico
Ejemplo SGBD
Puesta en marcha
<especificacion_de_columna>:=
(<nombrecolumna> {<tipodato>|{BYTE|TEXT} [IN {TABLE|<blobspace>}]}
[NOT NULL] [UNIQUE [CONSTRAINT <nombreconstr>]] [, ........]
[UNIQUE (<listacolumnas>) [CONSTRAINT <nombreconstr >]] [, ...] )

2010 © Pedro P. Alarcón Administración de Bases de Datos – EU Informática (UPM) 54

27
Ejemplo Sintaxis Creación Esquema BD
y ALTER TABLE <nombre_tabla>
[ <añadir_modificar_eliminar_columnas> ]
[ <añadir_modificar_eliminar_restricciones> ]
Contenido
[MODIFY NEXT SIZE <tamaño>]
Proceso Diseño
[LOCK MODE (PAGE|ROW)]
D. Conceptual
Diseño Lógico se reescriben todos los datos de la tabla, compactando espacios libres
DROP TABLE <nombre_tabla>
Estructura Física
Diseño Físico y
Ejemplo SGBD
Puesta en marcha

y CREATE VIEW <nombre_vista>


< b i t > [ (<lista_columnas>)]
(<li t l >)]
AS <consulta>
[WITH CHECK OPTION]
y DROP VIEW <nombre_vista>

2010 © Pedro P. Alarcón Administración de Bases de Datos – EU Informática (UPM) 55

Ejemplo Sintaxis Creación Esquema BD


y CREATE [UNIQUE] [CLUSTER] INDEX <nombre_indice>
ON <nombre_tabla> ( <columna1> [ASC|DESC], ........)

Contenido ◦ Índices cluster:


Proceso Diseño
D. Conceptual x solo se puede tener uno por tabla
Diseño Lógico
Estructura Física x almacena físicamente las filas en el orden de la clave del
Diseño Físico
Ejemplo SGBD
índice
Puesta en marcha
x no se actualiza (reorganiza) al insertar o eliminar filas en la
tabla
x para reorganizar, eliminar el índice y volver a crearlo

y DROP INDEX <nombre_indice> TO <nombre_tabla>

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 56

28
Ejemplo Sintaxis Creación Esquema BD
y Tipos de datos:
◦ CHAR [(n)],VARCHAR
◦ SMALLINT
Contenido ◦ INTEGER
◦ DECIMAL [(m[,n])]
Proceso Diseño
D. Conceptual
Diseño Lógico ◦ MONEY [(m[,n]]
Estructura Física
Diseño Físico ◦ SMALL FLOAT, FLOAT [(n)]
◦ SERIAL [(n)]
Ejemplo SGBD
Puesta en marcha

◦ DATE, DATETIME : fecha y hora


◦ TEXT contiene texto, sin límite
◦ BYTE contiene objetos binarios

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 57

7. Puesta en marcha de una BD


y Creación de la BD diseñada con la asignación de espacio definida
y Carga de datos
◦ nueva creación: introducción de datos
◦ ya existente: conversión de datos
Contenido
Proceso Diseño y Creación de índices
◦ únicos: se pueden crear antes para comprobar unicidad
D. Conceptual
Diseño Lógico
Estructura Física
◦ duplicados: después de la carga
Diseño Físico
Ejemplo SGBD ◦ cluster: antes de la carga
Puesta en marcha
y Comprobar validez del espacio asignado, y del crecimiento esperado
y Comprobar subsistema de copia/recuperación
y Ejecutar baterías de pruebas de aceptación
y Revisar existencia y validez de documentación y procedimientos

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 58

29
Ejemplo de estimación de espacio
y Una base de datos tiene un área con 1.000.000 de registros. Realizar
una estimación del espacio necesario para crear la base de datos
suponiendo un crecimiento del 15% anual y cinco años de vida. La
cabecera de registro ocupará 30 bytes, y la cabecera y el pie de
página
á i 64 cadad uno. Cada
C d registro
i de
d datos
d tiene
i 275 bytes.
b Suponer
S
páginas de diferentes tamaños (1024, 2048, 4096, 8192).
y Calcular el tiempo medio para acceder a un registro utilizando la
clave primaria y la clave secundaria suponiendo que las páginas son
de 2048 bytes. El índice principal tiene 20 bytes para el rango de
claves y 10 para la dirección de la página. Un índice secundario tiene
10 bytes para la clave y 10 bytes para la dirección.
y Se debe suponer el tiempo de posicionamiento 30ms, y el tiempo
de acceso secuencial en disco 5 ms. Para los cálculos el llenado es
del 70%, y la base de datos está uniformemente distribuida en la
superficie del disco.

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 59

Resumen
y Se ha analizado el papel y relevancia del ABD
• Análisis -
• Diseño lógico y Diseño físico
• Implementación y Carga
• Puesta en marcha +

y Se ha visto cómo
• Estimar parámetros de reserva de espacio
• Técnicas básicas para minimizar tiempo de acceso a los datos

y Queda por ver métodos y procedimientos para


• Garantizar seguridad (confidencialidad), integridad y recuperación
• Optimizar tiempos de respuesta y throughput de transacciones

2010 © Pedro P. Alarcón, Juan Garbajosa Administración de Bases de Datos – EU informática (UPM) 60

30

También podría gustarte