Objetivo: Identificar los tipos de bases de datos, medios en que pueden ser almacenados los datos y los conceptos fundamentales de un sistema gestor de base de datos para comprender la importancia de la organización e integridad de los datos.
DB1 Unidad 1: Sistemas de almacenamiento de la información
1. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
1
01/03/2022
Sistemas de
almacenamiento de la
información
Unidad 1
Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo para
uso de los cursos de Bases de Datos
2. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
2
01/03/2022
Objetivo general de la Unidad 1
Identificar los tipos de bases de datos, medios en que pueden ser
almacenados los datos y los conceptos fundamentales de un sistema
gestor de base de datos para comprender la importancia de la
organización e integridad de los datos.
3. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
3
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
4. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
4
01/03/2022
Base de Datos
• Es un conjunto de datos relacionados entre sí,
almacenados en conjunto sin redundancias innecesarias e
independientes de los programas que los usan.
• Son persistentes en el tiempo. Usan un lenguaje para
incluir, modificar o extraer los datos.
• Es un conjunto de datos operativos, accesibles desde algún
nivel de la empresa (Estratégico, Táctico, Operativo).
• Una BD debe cumplir con las características de:
Unicidad Consistencia
Seguridad Privacidad
Disponibilidad Integridad
5. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
5
01/03/2022
Base de datos
▪ La base de datos es una colección autodescriptiva de registros o
tablas relacionados
▪ Componentes :
▪ Datos de usuario
▪ Metadata: datos sobre la estructura de la base de datos
▪ Indices y estructuras relacionadas
▪ Stored procedures: módulos de programa almacenados en la
base de datos
▪ Triggers: un procedimiento que se ejecuta cuando ocurre una
actividad particular en los datos
▪ Application metadata: datos que describen elementos de la
aplicación, como formularios e informes
6. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
6
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
7. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
7
01/03/2022
CONCEPTOS BASICOS
▪ Entidades
▪ Cualquier ente sobre el que se almacena información
▪ Se convierte en una tabla. Ejemplo: Estudiante
▪ Registros
▪ Es la información de cada unidad en una tabla
▪ Ejemplo: Maria, Solorzano, 19, 1985, 200190909
▪ Atributos
▪ Son los datos que se almacenan sobre una entidad, formando un registro
▪ Ejemplo: Nombre, Apellido, edad, año, matricula
▪ Clave
▪ Un atributo o conjunto de atributos que son unicos para un registro de una
entidad
8. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
8
01/03/2022
CONCEPTOS BASICOS
▪ Relaciones
▪ Las entidades una BD se pueden relacionar
▪ Ejemplo: Estudiante y Materia
▪ Materia y Paralelo
▪ Paralelo y Profesor, etc
▪ Indices
▪ Un atributo o conjunto de atributos
▪ Permite para mejorar la busqueda de ciertos registros
9. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
9
01/03/2022
CONCEPTOS BASICOS
▪ Transacción
▪ Una acción o grupo de acciones sobre los datos de una tabla en
una BD
▪ Inserción, actualización, eliminación, etc
▪ ACID
▪ Prueba para comprobar una Base de datos
▪ Atomicity,Consistency,Isolation,Durability
▪ SQL: Structure Query Language
▪ Permite comunicarse con la Base de Datos
▪ Para realizar consultas, inserciones, actualizaciones, etc
10. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
10
01/03/2022
Lenguajes
DSL = DDL + DML
▪ DDL. (Lenguaje de definición de datos).- Define o declara objetos
y restricciones de la BD. Estático e Invariante.
▪ DML. (Lenguaje de manipulación de datos).- Manipula o procesa
objetos de la BD. Dinámico. Operaciones.
▪ DSL. (Lenguaje de dominio específico - declarativo)
▪ Representa un nexo entre el SBD y algún lenguaje anfitrión. Ejem:
SQL, HTML
▪ Provee herramientas a los lenguajes tradicionales para que se integren
al Sistema de Base de Datos. Puede haber distintos tipos de DSL para
un mismo sistema .
11. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
11
01/03/2022
DDL y DML
DDL
▪ Detalla la implementación
del esquema de la BD
▪ El compilador DDL genera la
tablas que se almacena en
el diccionario de datos
▪ El diccionario de datos
contiene la metadata (datos
acerca de los datos)
create table customer (
customer-id char(10),
customer-name char(59))
DML
▪ Accesa o manipula los datos
de la BD
▪ Es un lenguaje de consultas
▪ Procedimental – Qué y cómo
obtener datos
▪ No procedimental – Qué datos
se necesitan, sin decir cómo
obtenerlos.
select customer-nam
from customer
where customer-id = ‘192’
12. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
12
01/03/2022
Estructura de datos relacional
título director género rodaje nacionalidad duración
Amores Perros A. González Drama 2000 México 145
The Matrix A. Wachowsky Ciencia-ficción 1999 EEUU 138
Torrente S. Segura Comedia 1997 España 110
Nos miran N. López Policiaco 2001 España 118
Amelie J. P. Jeunet Comedia 2001 Francia 122
Los lunes al sol F. León Drama 2002 España 117
tuplas
cardinalidad
grado
atributos
La relación PELICULA
--- ---
--- ---
Ciencia-ficción,
Drama,Thriller,
Comedia...
--- ---
--- ---
2002, 1997,
1999, 2001,
1994, 1972...
Italia,Argentina,
España, EEUU,
Francia,Japón..
--- ---
--- ---
dominios
Títulos Nombres
Géneros Años Países
Tiempo
13. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
13
01/03/2022
Términos básicos
Modelo Relacional
Procesamiento
de Ficheros
Formal SQL-92
Relación Tabla Fichero
Tupla
Si la tupla t está en la relación
R, entonces tR
Fila Registro concreto
Atributo
Debe tener un nombre único
dentro de cada relación
cabecera de
Columna
Nombre de
Campo de registro
Cardinalidad nº de tuplas en una relación =
Grado nº atributos en una relación =
Dominio
colección de valores permitidos
para ciertos atributos
=
14. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
14
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
15. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
15
01/03/2022
Sistema de Archivos
▪ La información debe perdurar
▪ La solución es almacenar en unidades llamadas archivos
▪ Son una colección de datos con nombre, que deben ser persistentes
▪ Pueden ser manipulados como una unidad y
▪ Sus elementos individuales también pueden ser manipulados
▪ El “Sistema de Archivos” es parte del sistema operativo, responsable
▪ De la administración de los archivos y
▪ De controlar la información se comparta correctamente
16. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
16
01/03/2022
Sistemas de Archivos
▪ Archivo: Conjunto de datos de distintos tipos,
almacenados en un disco.
▪ Los archivos pueden ser:
▪ Estructurados
▪ conformados por campos y registros
▪ No estructurados
▪ voz, video, etc.
17. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
17
01/03/2022
Elementos de un archivo
estructurado
Registro
Campos
18. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
18
01/03/2022
¿Qué hace el Sistema de Archivos?
▪ Permite a los usuarios:
▪ Crear, modificar y borrar y compartir los archivos
▪ Ordenar la transferencia de información
▪ Sacar respaldo y recuperar archivos
▪ Despreocuparse de detalles como formato o comunicación
entre dispositivos
▪ Controla el acceso (permisos) a los mismos:
▪ Lectura, escritura, ejecución
▪ Permite “mapear” un archivo con su nombre simbólico
19. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
19
01/03/2022
Nombres de los archivos
▪ Las reglas para los nombres
▪ Varian de sistema a sistema
▪ Algunos distinguen entre mayusculas y minusculas
▪ Unix si, Windows no
▪ Muchos S.O. manejan extensiones, otros no
▪ La extensión solo indica algo sobre el archivo
▪ Pero es solo convencional
▪ Unix no maneja extensiones y Windows si
▪ Las extensiones no representan el contenido real de un
archivo
20. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
20
01/03/2022
Estructura de un Archivo
▪ El usuario decide la estructura que usará
▪ Secuencia de bytes
▪ El archivo es una serie no estructurada de bytes(caracteres).
▪ Posee máxima flexibilidad.
▪ Ejemplo: archivos tipo texto
▪ Secuencia de registros
▪ El archivo es una secuencia de registros de longitud fija,
▪ Cada uno con su propia estructura interna.
▪ Árbol
▪ El archivo consta de un árbol de registros
▪ Cada registro tiene un campo key
▪ El árbol se ordena mediante el campo de clave
▪ Permite un acceso mas rapido al a información
21. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
21
01/03/2022
Acceso a un Archivo
▪ Se refiere a como leer los datos en un archivo
▪ Acceso Secuencial
▪ Los registros no se pueden saltar
▪ Para llegar a 1 tengo que haber leído todos los anteriores
▪ Acceso Aleatorio
▪ Puedo ir directamente al registro deseado para leer o escribir
22. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
22
01/03/2022
Esquema de acceso a archivos
▪ Para accesar al archivo se requiere de métodos de
busqueda de informacion.
▪ Todo esquema de acceso requiere una CLAVE
(key) de busqueda, la cual debe ser comparada con
las claves de los registros del archivo hasta
encontrar el buscado.
▪ Realmente se puede localizar un registro por
cualquiera de sus campos.
23. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
23
01/03/2022
Esquema de acceso a archivos
Secuencial
▪ Debe empezar la búsqueda siempre desde el
registro No. 1
▪ Método muy lento. Aplicable sólo en archivos
relativamente pequeños (< 1000 registros).
▪ Cada registro implica un acceso a disco.
25. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
25
01/03/2022
Esquema de acceso a archivos
Indexados
▪ Puede localizar cualquier registro de una forma
más directa, sin necesidad de iniciar desde el
primero.
▪ Es más rápido, ya que sólo realiza unos pocos
accesos al disco.
▪ Requiere de un archivo auxiliar: Archivo de indices.
▪ Indice: Tabla o lista que relaciona registros claves
con ubicaciones físicas sobre archivos de acceso
directo.
27. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
27
01/03/2022
Esquema de acceso a archivos
Indexados
▪ El índice tiene una estructura de árbol con varios
niveles.
▪ Para accesar a un registro de datos se debe
navegar el árbol de índices hasta llegar al nivel más
bajo, el cual apunta a los datos.
▪ El número de accesos al disco será equivalente al
número de niveles +1.
28. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
28
01/03/2022
Usos para los diferentes tipos
de acceso.
▪ Acceso sequencial: Cintas magnéticas.
▪ Ya no es popular.
▪ La típica aplicación que utiliza el acceso secuencial es
“roles de pago”.
▪ Acceso directo: Tecnología de discos magnéticos.
▪ Actualmente la mayoría de aplicaciones usan esta
forma de acceso.
29. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
29
01/03/2022
Métodos para el acceso a
sistemas de archivos
▪ ISAM (Indexed sequential access method).
▪ VSAM (Virtual sotorage access method)
▪ Direct File access Method
30. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
30
01/03/2022
Motivación
▪ Considera un archivo con registros de estudiantes ordenados
por su GPA
▪ ¿Cómo podemos responder a una selección de rango (Ej.,
“Encontrar todos los estudiantes con un GPA mayor que 3.0”)?
▪ ¿Qué tal hacer una búsqueda binaria seguida de un escaneo?
▪ Sí, pero…
▪ ¿Qué sucede si el archivo se vuelve "muy" grande?
▪ El costo es proporcional al número de páginas obtenidas
▪ Por lo tanto, puede volverse muy lento!
Page 1 Page 2 Page N
Page 3 Data File
31. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
31
01/03/2022
Motivación
▪ ¿Que tal crear un archivo de índices/index file (con una
entrada por página) y hacer búsqueda binaria allí?
▪ Pero, ¿qué pasa si el archivo de índice también se vuelve
"muy" grande?
Page 1 Page 2 Page N
… Data File
Index File
K 1 P 1 K 2 P 2 K N P N
Index Entry = <first key on the page, pointer to the page>
32. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
32
01/03/2022
Motivación
▪ Repetir recursivamente!
Non-leaf
Pages
Pages
Leaf
Cada página de árbol es un bloque de disco y todos los registros de datos residen
(si es elegido para ser parte del índice) en SOLAMENTE leaf pages
¿De qué otra manera se pueden almacenar los registros de datos?
33. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
33
01/03/2022
ISAM Trees
▪ Indexed Sequential Access Method (ISAM) trees
son estáticos
Ej., 2 Entradas Por Página
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
20 33 51 63
40
Root
Non-Leaf
Pages
Leaf
Pages
34. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
34
01/03/2022
ISAM Trees: Desbordamientos de
página
▪ ¿Qué pasa si hay muchas inserciones después de crear el
árbol?
Non-leaf
Pages
Pages
Leaf
Overflow
page
Primary pages
35. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
35
01/03/2022
ISAM: Creación de archivos
▪ Cómo crear un archivo ISAM?
▪ Todas las leaf pages (páginas hojas) se asignan
secuencialmente y se ordenan según el valor de la
clave de búsqueda
▪ Si se utiliza la Alternativa (2) o (3), los registros de
datos se crean y ordenan antes de asignar leaf pages
▪ Las páginas que no son hojas se asignan
posteriormente
36. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
36
01/03/2022
ISAM: Búsqueda de entradas
▪ La búsqueda comienza en la raíz y las comparaciones
clave la dirigen a una hoja
▪ Buscar 27*
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
20 33 51 63
40
Root
37. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
37
01/03/2022
ISAM: Inserción de entradas
▪ Se determina la página adecuada como para una búsqueda y se
inserta la entrada (con páginas de desbordamiento agregadas si
es necesario)
▪ Insertar 23*
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
20 33 51 63
40
Root
23*
38. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
38
01/03/2022
ISAM: Inserción de entradas
▪ Se determina la página adecuada como para una búsqueda y se
inserta la entrada (con páginas de desbordamiento agregadas si
es necesario)
▪ Insertar 48*
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
20 33 51 63
40
Root
23* 48*
39. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
39
01/03/2022
ISAM: Inserción de entradas
▪ Se determina la página adecuada como para una búsqueda y se
inserta la entrada (con páginas de desbordamiento agregadas si
es necesario)
▪ Insertar 41*
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
20 33 51 63
40
Root
23* 48* 41*
40. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
40
01/03/2022
ISAM: Inserción de entradas
▪ Se determina la página adecuada como para una búsqueda y se
inserta la entrada (con páginas de desbordamiento agregadas si
es necesario)
▪ Insertar 42*
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
20 33 51 63
40
Root
23* 48* 41*
42*
¡Las cadenas de páginas desbordadas pueden desarrollarse
fácilmente!
41. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
41
01/03/2022
ISAM: Eliminación de entradas
▪ La página apropiada se determina como para una búsqueda y la
entrada se elimina (las páginas de desbordamiento SOLO son
eliminadas cuando quedan vacías)
▪ Eliminar 42*
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
20 33 51 63
40
Root
23* 48* 41*
42*
42. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
42
01/03/2022
ISAM: Eliminación de entradas
▪ La página apropiada se determina como para una búsqueda y la
entrada se elimina (las páginas de desbordamiento SOLO son
eliminadas cuando quedan vacías)
▪ Eliminar 42*
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
20 33 51 63
40
Root
23* 48* 41*
43. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
43
01/03/2022
ISAM: Eliminación de entradas
▪ La página apropiada se determina como para una búsqueda y la
entrada se elimina (las páginas de desbordamiento SOLO son
eliminadas cuando quedan vacías)
▪ Eliminar 42*
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
20 33 51 63
40
Root
23* 48* 41*
44. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
44
01/03/2022
ISAM: Eliminación de entradas
▪ La página apropiada se determina como para una búsqueda y la
entrada se elimina (las páginas de desbordamiento SOLO son
eliminadas cuando quedan vacías)
▪ Eliminar 51*
10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*
20 33 51 63
40
Root
23* 48* 41*
Tenga en cuenta que 51 todavía
aparece en una entrada de
índice, ¡pero no en la hoja!
45. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
45
01/03/2022
ISAM: Eliminación de entradas
▪ La página apropiada se determina como para una búsqueda y la
entrada se elimina (las páginas de desbordamiento SOLO son
eliminadas cuando quedan vacías)
▪ Eliminar 55*
10* 15* 20* 27* 33* 37* 40* 46* 55* 63* 97*
20 33 51 63
40
Root
23* 48* 41*
Las páginas principales NO
se eliminan, ¡incluso si se
vacían!
46. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
46
01/03/2022
ISAM: Algunos asuntos
▪ Una vez que se crea un archivo ISAM, las inserciones y eliminaciones
afectan solo al contenido de las páginas de hoja (i.e., ISAM es una
estructura estática!)
▪ Dado que las páginas de nivel de índice nunca se modifican, no es
necesario bloquearlas durante las inserciones/eliminaciones
▪ Crítico para la concurrencia!
▪ Las cadenas de desbordamiento largas pueden desarrollarse
fácilmente
▪ El árbol se puede configurar inicialmente para que ~20% de cada página
sea libre
▪ Si la distribución y el tamaño de los datos son relativamente estáticos,
ISAM podría ser una buena opción para buscar!
47. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
47
01/03/2022
Árboles dinámicos
(Dynamic Trees)
▪ Los índices ISAM son estáticos
▪ Se pueden desarrollar largas cadenas de desbordamiento a medida que
crece el archivo, lo que conduce a un rendimiento deficiente
▪ Esto requiere índices más flexibles y dinámicos que se ajusten
con gracia a las inserciones y eliminaciones.
▪ No es necesario asignar las páginas hoja secuencialmente como
en ISAM
▪ Entre los esquemas de índices dinámicos más exitosos se
encuentra el árbol B+
48. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
48
01/03/2022
Propiedades de un B+ Tree
▪ Cada nodo en un B+ tree de orden d (esta es una medida
de la capacidad de un árbol):
▪ Tiene como máximo 2d claves (keys)
▪ Tiene al menos d claves (excepto la raíz/root, que puede
tener solo 1 clave)
▪ Todas las hojas están al mismo nivel
▪ Tiene exctamente n-1 claves si el número de punteros es n
k1 k2
… kn
p1
pn+1
Apunta a un subárbol
en el que todas las
claves son menores
que k1
Apunta a un subárbol
en el que todas las
claves son
mayores o iguales que kn
Apunta a un subárbol en el que todas las claves
son mayores o iguales que k1 y menores que k2
49. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
49
01/03/2022
B+ Tree: Búsqueda de entradas
▪ La búsqueda comienza en la raíz y las comparaciones
clave la dirigen a una hoja (como en ISAM)
▪ Ejemplo 1: Buscar entrada 5*
Root
17 24 30
2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
✓
50. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
50
01/03/2022
B+ Tree: Búsqueda de entradas
▪ La búsqueda comienza en la raíz y las comparaciones
clave la dirigen a una hoja (como en ISAM)
▪ Ejemplo 2: Buscar entrada 15*
Root
17 24 30
2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
15* no es encontrado!
51. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
51
01/03/2022
B+ Trees: Insertar entradas
▪ Encuentra la hoja correcta L (leaf)
▪ Poner la entrada de datos en L
▪ Si L tiene suficiente espacio, hecho!
▪ Si no, divider (split) L entre L y y un nuevo nodo L2
▪ Vuelva a dividir las entradas de manera uniforme, copiando la
clave central (the middle key)
▪ El nodo principal puede desbordarse
▪ Push up la “clave central” (las divisiones "hacen crecer" los
árboles; una división de raíz aumenta la altura del árbol)
52. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
52
01/03/2022
B+ Tree: Ejemplo de inserción
▪ Insertar entrada 8*
Root
17 24 30
2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
La hoja está llena; por lo tanto, hay que dividir!
53. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
53
01/03/2022
B+ Tree: Ejemplo de inserción
▪ Insertar entrada 8*
Root
17 24 30
2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
2* 3* 5* 7* 8*
5
La clave central (es decir, 5) es “copiada”
y sigue apareciendo en la hoja
54. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
54
01/03/2022
B+ Tree: Ejemplo de inserción
▪ Insertar entrada 8*
Root
17 24 30
2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
2* 3* 5* 7* 8*
5 17 24 30
13
5
El padre está lleno; entonces, dividir!
> 2d claves y 2d + 1 punteros
55. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
55
01/03/2022
B+ Tree: Ejemplo de inserción
▪ Insertar entrada 8*
Root
17 24 30
2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
2* 3* 5* 7* 8*
5
5 24 30
17
13
La clave central (i.e., 17)
es “pushed up”
56. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
56
01/03/2022
B+ Tree: Ejemplo de inserción
▪ Insertar entrada 8*
Root
17 24 30
2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
2* 3* 5* 7* 8*
5 24 30
17
13
57. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
57
01/03/2022
B+ Tree: Ejemplo de inserción
▪ Insertar entrada 8*
2* 3*
Root
17
24 30
14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
5
7*
5* 8*
Dividir la raíz conduce a un aumento de la altura en 1!
¿Qué pasa con la redistribución de entradas en lugar de dividir nodos?
FINAL TREE!
58. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
58
01/03/2022
B+ Tree: Ejemplo de inserción
▪ Insertar entrada 8*
Root
17 24 30
2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
La hoja está llena; por lo tanto, compruebe el vecino (Sibling) ‘Pobre vecino’
59. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
59
01/03/2022
B+ Tree: Ejemplo de inserción
▪ Insertar entrada 8*
Root
17 24 30
2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
Hazlo a través del padre
60. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
60
01/03/2022
B+ Tree: Ejemplo de inserción
▪ Insertar entrada 8*
Root
17 24 30
2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
Hazlo a través del padre
8*
¡"Copie" el nuevo valor de clave baja!
13
8
Pero, ¿cuándo redistribuir y cuándo dividir?
61. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
61
01/03/2022
Dividir vs redistribuir
▪ Nodos hoja (Leaf)
▪ Los punteros de vecino anterior y siguiente deben actualizarse
en las inserciones (si se va a realizar la división)
▪ Por lo tanto, verificar si la redistribución es posible no aumenta la
E/S.
▪ Por lo tanto, si un vecino puede ahorrar una entrada, redistribuya
▪ Nodos Non-Leaf
▪ Verificar si la redistribución es posible generalmente aumenta la
E/S
▪ ¡Dividir nodos que no son hojas generalmente vale la pena!
62. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
62
01/03/2022
Inserciones en B+: Tenga en cuenta
▪ Cada entrada de datos debe aparecer en un nodo
hoja; por lo tanto, "copie" la clave central (middle key)
al dividir
▪ Al dividir las entradas del índice, simplemente " push
up" la clave central
▪ Aplicar división y/o redistribución en nodos hoja
▪ Aplicar solo división en nodos que no sean hojas
63. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
63
01/03/2022
B+ Trees: Eliminación de entradas
▪ Comience en la raíz, busque la hoja L donde pertenece
la entrada
▪ Eliminar la entrada
▪ Si L está al menos medio lleno, hecho!
▪ Si L se desborda
▪ Trate de redistribuir (es decir, tomar prestado de un
“vecino rico" y "copiar" su clave más baja)
▪ Si la redistribución falla, mezclar L y un “vecino
pobre”
▪ Actualizar padre
▪ Y posiblemente fusionar, recursivamente
64. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
64
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 19*
2* 3*
Root
17
24 30
14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39*
13
5
7*
5* 8*
La eliminación de 19* no provoca un desbordamiento
65. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
65
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 19*
2* 3*
Root
17
24 30
14* 16* 24* 27* 29* 33* 34* 38* 39*
13
5
7*
5* 8* 20* 22*
FINAL TREE!
66. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
66
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 20*
2* 3*
Root
17
24 30
14* 16* 24* 27* 29* 33* 34* 38* 39*
13
5
7*
5* 8*
Eliminar 20* provoca un desbordamiento; por lo tanto, verifique a un vecino
para la redistribución
20* 22*
67. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
67
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 20*
2* 3*
Root
17
24 30
14* 16* 24* 27* 29* 33* 34* 38* 39*
13
5
7*
5* 8*
El vecino es 'rico' (es decir, puede prestar una entrada); por lo tanto,
¡elimine 20* y redistribuya!
20* 22*
68. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
68
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 20*
2* 3*
Root
17
24 30
14* 16* 24* 27* 29* 33* 34* 38* 39*
13
5
7*
5* 8* 22*
“Copiar” 27*, el valor más bajo en la hoja de la que tomamos prestado 24*
¿Está hecho?
69. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
69
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 20*
2* 3*
Root
17
30
14* 16* 24* 27* 29* 33* 34* 38* 39*
13
5
7*
5* 8*
“Copiar” 27*, el valor más bajo en la hoja de la que tomamos prestado 24*
22*
27
70. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
70
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 20*
2* 3*
Root
17
30
14* 16* 24* 27* 29* 33* 34* 38* 39*
13
5
7*
5* 8* 22*
27
¡ARBOL FINAL!
71. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
71
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
2* 3*
Root
17
30
14* 16* 24* 27* 29* 33* 34* 38* 39*
13
5
7*
5* 8*
La hoja afectada contendrá solo 1 entrada y el vecino no puede prestar
ninguna entrada (es decir, la redistribución no es aplicable); por lo tanto, fusionar!
22*
27
72. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
72
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
2* 3*
Root
17
30
14* 16* 24* 27* 29* 33* 34* 38* 39*
13
5
7*
5* 8* 22*
27
30
22* 27* 29* 33* 34* 38* 39*
Fusionar
¡"Tira" 27 porque la página a la que
apuntaba ya no existe!
73. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
73
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
2* 3*
Root
17
14* 16*
13
5
7*
5* 8*
30
22* 27* 29* 33* 34* 38* 39*
No, pero ya casi …
¿Está hecho?
74. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
74
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
2* 3*
Root
17
14* 16*
13
5
7*
5* 8*
30
22* 27* 29* 33* 34* 38* 39*
Esto implica un desbordamiento; por eso,
¡Debemos redistribuir o fusionar!
75. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
75
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
2* 3*
Root
17
14* 16*
13
5
7*
5* 8*
30
22* 27* 29* 33* 34* 38* 39*
El vecino es "pobre" (es decir, la redistribución
no es aplicable); por lo tanto, fusionar!
76. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
76
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
2* 3*
Root
17
14* 16*
13
5
7*
5* 8*
30
22* 27* 29* 33* 34* 38* 39*
Root
13
5
Le falta un puntero para 30!
30
77. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
77
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
2* 3*
Root
17
14* 16*
13
5
7*
5* 8*
30
22* 27* 29* 33* 34* 38* 39*
Root
13
5
¡Carece de un valor clave para crear una entrada de índice completa!
30
78. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
78
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
2* 3*
Root
17
14* 16*
13
5
7*
5* 8*
30
22* 27* 29* 33* 34* 38* 39*
Root
13
5
“Pull down (sacar)” 17!
30
17
79. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
79
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
2* 3* 7* 14* 16* 22* 27* 29* 33* 34* 38* 39*
5* 8*
Root
30
13
5 17
¡ARBOL FINAL!
80. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
80
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
Root
13
5 17 20
22
30
14* 16* 17* 18* 20* 33* 34* 38* 39*
22* 27* 29*
21*
7*
5* 8*
3*
2*
Suponga (en su lugar) el árbol de aquí durante la eliminación de 24*
¡Ahora podemos redistribuir (en lugar de fusionar) claves!
24* estaba originalmente aquí
81. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
81
01/03/2022
B+ Tree: Ejemplos de eliminaciones
▪ Eliminar 24*
14* 16* 33* 34* 38* 39*
22* 27* 29*
17* 18* 20* 21*
7*
5* 8*
2* 3*
Root
13
5
17
30
20 22
¡HECHO! Basta con redistribuir sólo 20; 17 fue redistribuido para ilustración.
82. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
82
01/03/2022
Atributos de un archivo
▪ Varían de sistema en sistema, algunos posibles son:
▪ Acceso
▪ Creador
▪ Bandera ascii / binario
▪ Longitud del registro
▪ Tiempo de creación
▪ Tiempo del último acceso
▪ Tiempo de la última modificación
▪ Tamaño actual
83. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
83
01/03/2022
Operaciones con Archivos
▪ Las llamadas más comunes al sistema relacionadas con
los archivos son
▪ Create
▪ Delete
▪ Open
▪ Close
▪ Read
▪ Write
▪ Append
▪ Seek
▪ Get attributes
▪ Set attributes.
▪ Rename
84. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
84
01/03/2022
JERARQUIA DE ARCHIVOS
85. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
85
01/03/2022
Nombre de la Ruta de Acceso
▪ Cuando el sistema de archivos está organizado como un árbol
▪ La ruta de acceso compone el nombre completo de un archivo
▪ Las rutas se pueden manejar de la siguiente forma
▪ Ruta de Acceso Absoluta: es la ruta de cada archivo
▪ Desde el directorio raíz hasta el archivo, separados por un “separador”
▪ Ruta de Acceso Relativa:
▪ Se utiliza el concepto de directorio activo
▪ Todos los nombres de directorio se nombran en función del directorio activo
86. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
86
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
87. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
87
01/03/2022
Clasificación de archivos
▪ Se los puede clasificar como:
▪ De instrucciones
▪ Programa fuente, programa objeto, etc.
▪ De datos
▪ Acceso secuencial vs. acceso indexado
▪ De longitud fija vs longitud variable.
88. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
88
01/03/2022
Sistemas de Archivos mas
importantes
▪ El tipo de Sistema de Archivo depende del sistema operativo y la
funcionalidad que se desee
▪ Windows utiliza FAT, VFAT o NTFS
▪ Sun utiliza NFS
▪ Linux usa ext2
▪ FAT, EXT2 y EXT3 usan una tabla de asignación de archivos
▪ La actualización de la tabla FAT es muy importante
▪ Si no se actualiza se puede producir pérdida de datos
▪ NTFS usa una arquitectura tipo arbol como una base de datos
89. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
89
01/03/2022
VENTAJAS Y DESVENTAJAS
▪ Ventajas y Desventajas de FAT
▪ No puede deshacer una eliminación
▪ Es mejor para unidades o particiones con menos de 200 MB, máximo 4G en
Windows NT y 2G en DOS
▪ No es posible establecer permisos en archivos de particiones FAT
▪ Ventajas y Desventajas de NTFS
▪ NTFS es el mejor sistema para volúmenes de 400 MB o más.
▪ Tiene un buen sistema de recuperación
▪ No se recomienda utilizar NTFS en un volumen que sea menor de 400 MB,
debido a la carga de espacio que supone NTFS.
▪ No es posible dar formato a un disquete con el sistema de archivos NTFS
90. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
90
01/03/2022
Problemas con los sistemas de
archivos tradicionales
▪ Los sistemas de archivos por sí solos tienen
muchas limitaciones
▪ Carecen de sentido de integración.
▪ Redundancia de datos,
▪ Dependencia Programas-Datos
▪ Carencia de flexibilidad, data-sharing, disponibilidad.
▪ No implementan conceptos de relación entre los
distintos archivos.
▪ Sus mecanismos de seguridad se aplican en forma
individual a cada archivo, y no al conjunto.
91. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
91
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
92. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
92
01/03/2022
Sistemas de Bases de Datos
▪ Al trabajar con archivos para cada aplicación
▪ La información no ha de ser controlada
▪ Puede duplicarse o
▪ Se corre el riesgo de tener datos incongruentes
▪ Existe una dificultad para darle mantenimiento
▪ La búsquedas pueden ser especificas
▪ Se pierde seguridad de los datos
▪ Problemas de actualización y concurrencia
93. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
93
01/03/2022
Archivos Vs BD
Archivos Base de Datos
Dependencia de relaciones externas a
los datos
Independencia a relaciones externas a
los datos
Datos sin compartir en toda la empresa Datos compartidos y compatibles en la
empresa
Redundancia de los datos Redundancia mínima y controlada
Archivos no relacionados entre si Datos relacionados de acuerdo a un
modelo
Acceso limitado y con poca flexibilidad,
eficiencia y seguridad
Flexibilidad, Integridad, Eficiencia y
seguridad
94. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
94
01/03/2022
¿Que es una Base de Datos?
▪ Es un sistema formado por
▪ Un conjunto de datos y
▪ Un paquete de software para manejar esos datos
95. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
95
01/03/2022
¿Que debe cumplir?
▪ Acceso Multiple
▪ Flexibilidad
▪ Seguridad
▪ Proteccion contra fallos
▪ Independencia física y lógica
▪ Interfaz de alto nivel
▪ Consultas directas(queries)
96. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
96
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
97. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
97
01/03/2022
TIPOS DE BASE DE DATOS
▪ Jerárquicas
▪ Solo se pueden crear estructuras jerárquicas
▪ No permite definir relaciones muchos a muchos
▪ En Red
▪ Puede representar todas las relaciones
▪ Se permite que un mismo nodo tenga varios padres (posibilidad
no permitida en el modelo jerárquico)
▪ Relacionales
▪ Nacen de las BD Jerárquicas
▪ Éste es el modelo más utilizado en la actualidad
▪ Son mas flexibles y manejan el estándar SQL
98. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
98
01/03/2022
Bases de datos Jerárquicas
▪ Se representa por medio de niveles similar a la estructura de un
árbol Al dar de baja a un padre, automáticamente se dan de baja
todos sus hijos.
▪ Como en el modelo de red los datos se agrupan en registros y
cada registro tiene sus propios campos.
▪ Las relaciones entre los registros son llamados enlaces.
99. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
99
01/03/2022
Base de datos en Red
▪ En el modelo de red, los datos se representan mediante un
conjunto de registros y las relaciones entre ellos se llaman
enlaces.
▪ Los registros son parecidos a las entidades. Cada registro es
un conjunto de campos (atributos).
100. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
100
01/03/2022
Base de datos en Red (cont…)
▪ El diagrama de la estructura son esquemas el diseño de la base de
datos en red .
▪ Su simbología es la siguiente:
▪ El diagrama de la estructura anterior sería el siguiente:
Cajas que representan los registros
Representan los enlaces
Cuenta Nombre Dirección
Registro cliente
Cuenta NumFact Total
Registro Factura
enlace
El diagrama especifica que un cliente puede tener varias facturas.
101. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
101
01/03/2022
En este modelo, el lugar y la forma en que se almacenen los
datos no tienen relevancia (a diferencia de otros modelos como
el jerárquico y el de red). Esto tiene la considerable ventaja de
que es más fácil de entender y de utilizar para un usuario
esporádico de la base de datos.
La información puede ser recuperada o almacenada mediante
"consultas" que ofrecen una amplia flexibilidad y poder para
administrar la información.
Bases de datos relacionales
102. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
102
01/03/2022
Este modelo, bastante reciente, y propio de los modelos
informáticos orientados a objetos, trata de almacenar en la
base de datos los objetos completos (estado y
comportamiento).
Una base de datos orientada a objetos es una base de datos
que incorpora todos los conceptos importantes del paradigma
de objetos:
❖Encapsulación - Propiedad que permite ocultar la información
al resto de los objetos, impidiendo así accesos incorrectos o
conflictos.
❖Herencia - Propiedad a través de la cual los objetos heredan
comportamiento dentro de una jerarquía de clases.
❖Polimorfismo - Propiedad de una operación mediante la cual
puede ser aplicada a distintos tipos de objetos.
Bases de datos orientadas a objetos
103. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
103
01/03/2022
Bases de datos orientadas a objetos
▪ El Modelo de Datos Orientado a Objetos, es una
adaptación para los sistemas de Bases de Datos del
Paradigma de la Programación Orientada a Objetos.
▪ Se basa en el concepto de Encapsular elementos de
datos, sus características, atributos y el código que opera
sobre ellos en elementos complejos llamados Objetos.
▪ Los Objetos estructurados se agrupan en Clases.
Por ejemplo: El
conjunto de las clases
se estructura en
subclases y superclases
como se puede ver en
la figura.
104. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
104
01/03/2022
Bases de datos orientadas a
objetos (cont…)
Ventajas Inconvenientes
Los conjuntos de datos complejos pueden
guardarse y consultarse de forma rápida y
sencilla.
El uso de las bases de datos orientadas a
objetos no está muy extendido.
Los códigos de identificación se asignan
automáticamente a cada objeto.
En algunas situaciones, la gran complejidad
puede acarrear problemas de rendimiento.
Funciona bien con lenguajes de programación
orientados a objetos.
105. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
105
01/03/2022
Clasificación actual:
▪ Los principales tipos de BBDD son:
• Relacionales: la información que almacena la
BBDD está relacionada entre sí. Los datos
relacionados (registros o filas) son almacenados
en tablas que constan de varios campos
(columnas).
• No relacionales: los datos no tienen porqué estar
relacionados entre sí y por lo tanto no tienen que
almacenarse en estructuras fijas como las tablas
del modelo de base de datos relacional.
106. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
106
01/03/2022
Bases de Datos NoSQL (“Not Only SQL”)
Pertenecen al modelo no relacional.
107. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
107
01/03/2022
Bases de Datos NoSQL (“Not Only SQL”)
▪ Las principales características y ventajas de este tipo
son:
• SQL no es el lenguaje de consulta/modificación de datos
principal, aunque sí lo soportan, de ahí el nombre No Sólo
SQL.
• Los datos no tienen que almacenarse en tablas.
• Generalmente, su arquitectura es distribuida
almacenándose la información en más de una máquina del
sistema. Por lo tanto, los sistemas que las soportan tienen
una mayor escalabilidad horizontal (a mayor número de
nodos mayor rendimiento) y también mayor tolerancia
ante fallos en los distintos nodos.
108. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
108
01/03/2022
Bases de Datos NoSQL (“Not Only SQL”)
• Son más eficientes en el procesamiento de los
datos que las BBDD relacionales, por eso son la
elección para aplicaciones que hacen un uso intensivo
de estos (“streaming”, etc.).
• Utilizan lo que se conoce como consistencia
eventual que consiste en que los cambios
realizados en los datos serán replicados a todos los
nodos del sistema, lo cual aumenta el rendimiento de
estos sistemas en contraposición a las
propiedades ACID de las BBDD relacionales
(“Atomicity, Consistency, Isolation and Durability” –
Atomicidad, Consistencia/Integridad, Aislamiento y
Durabilidad).
109. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
109
01/03/2022
Bases de Datos NoSQL (“Not Only SQL”)
111. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
111
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
112. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
112
01/03/2022
¿Por qué usar una base de datos?
▪ El propósito de una base de datos es ayudar a las personas y
organizaciones a realizar un seguimiento de las cosas
▪ Problemas de usar la lista para almacenar datos
▪ Incoherencias de datos
▪ Privacidad de datos: los departamentos quieren compartir algunos de
sus datos, pero no todos.
▪ Las bases de datos almacenan datos en tablas de un solo tema
(single-theme)
▪ Una tabla que se concentra en un concepto (es decir, típicamente, una
entidad) en la situación o en una relación en la situación.
▪ Las tablas están relacionadas a través de claves primarias y
extranjeras
113. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
113
01/03/2022
Cuándo NO usar un SGBD
▪ Hay situaciones en las que emplear un SGBD puede generar
costes innecesarios, evitables con el procesamiento de ficheros
▪ Costes adicionales debidos a...
▪ Gran inversión inicial en equipo, software y formación
▪ Generalidad ofrecida por el SGBD para definir y procesar datos
▪ Funciones de seguridad, control de concurrencia, recuperación, integridad
▪ Problemas adicionales si...
▪ Diseñadores o ABD no han diseñado la base de datos apropiadamente
▪ La implementación de las aplicaciones no es correcta
▪ Conviene utilizar procesamiento de ficheros si...
▪ BD y aplicaciones son simples, bien definidas y no se espera que cambien
▪ Requisitos de tiempo real que no se cumplirían por el coste extra del SGBD
▪ No se necesita acceso multiusuario a los datos
114. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
114
01/03/2022
Usos de BD de acuerdo a almacenamiento
▪ BD personal
▪ 1 usuario; < 10 MB
▪ BD para grupo de trabajo (Workgroup DB)
▪ < 25 usuarios; < 100 MB
▪ BD para Organización (Organizational DB)
▪ Desde cientos hasta miles de usuarios
▪ >1 Trillion bytes, posiblemente varias bases de datos
115. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
115
01/03/2022
Ejemplo:
BD para una Organización
116. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
116
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
117. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
117
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
118. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
118
01/03/2022
Sistema de Gestión de Bases de Datos
▪ Conjunto de programas que permite definir, construir y
manipular bases de datos para diversas aplicaciones.
▪ Definir una BD es especificar...
▪ estructura de datos,
▪ tipos de datos y
▪ restricciones de los datos
▪ Construir una BD es...
▪ almacenar datos en algún medio de almacenamiento controlado por el
SGBD
▪ Manipular la BD es...
▪ consultar datos
▪ introducir/modificar/eliminar datos, para reflejar cambios.
▪ generar informes a partir de los datos almacenados
119. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
119
01/03/2022
SGBD
▪ DataBase Management System SGBD = DBMS
120. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
120
01/03/2022
▪ Motor de la base de datos
▪ Diccionario de datos
▪ Procesador de consultas
▪ Escritor de informes (reporteador)
▪ Generador de formularios
▪ Generador de aplicaciones
▪ Seguridad y otras utilerías
COMPONENTES DE UN SGBD
121. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
121
01/03/2022
Sistema de Base de Datos
▪ Tiene por objetivo proporcionar un entorno práctico y
eficiente para almacenar y recuperar la información de
la base de datos.
▪ No es necesario un SGBD de propósito general para
implementar una base de datos.
▪ Se puede construir un conjunto de programas propios
para crear y mantener la base de datos.
Sistema de Base de Datos
SBD = BD + SGBD + Software de Aplicación/Consultas
122. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
122
01/03/2022
Software para procesar
Consultas / Programas
Software para tener acceso a
los datos almacenados
SOFTWARE DEL SGBD
Programas de Aplicación / Consultas
SISTEMA DE BASE DE DATOS
Usuarios / Programadores
Definición de la
BD (Metadatos)
Base de Datos
almacenada
Entorno
simplificado
de
un
Sistema
de
Base
de
Datos
123. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
123
01/03/2022
Actores en un sistema de base
de datos (1)
▪ Administrador de la base de datos (ABD)
– Responsable de administrar los recursos del SBD (nivel técnico):
▪ BD + SGBD + Otro Software (aplicaciones/programas de acceso)
– Las funciones del ABD incluyen:
• Definir/Modificar la estructura de la BD y restricciones de los datos
• Crear/Modificar estructuras de almacenamiento y métodos de acceso
• Conceder/Denegar permisos de acceso y controlar dicho acceso a datos
(seguridad de la BD)
• Definir planes de copias de seguridad de los datos de la BD
• Garantizar el funcionamiento correcto del sistema y proporcionar servicio
técnico al usuario (respuesta lenta del sistema...)
• Adquirir los recursos software y hardware necesarios
124. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
124
01/03/2022
Actores en un sistema de base
de datos (2)
▪ Diseñadores de la base de datos
▪ Antes de implementar la BD, interactúan con sus futuros usuarios
– Recogen y comprenden sus necesidades y objetivos --- Requisitos
– Identifican datos que almacenar en la base de datos
– Eligen estructuras para representar y almacenar los datos
– Construyen...
• Vista que satisface requisitos de cada grupo de usuarios
• Diseño final de BD que satisface necesidades de todos los
usuarios (resultado de la integración de las diferentes vistas)
125. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
125
01/03/2022
Actores en un sistema de
base de datos (3)
▪ Usuarios finales
– Ocasionales o Sofisticados
• Acceso esporádico y distinto cada vez; usan lenguaje de consulta
– Paramétricos o Normales
• Accesos constantes, repetitivos
• Usan “transacciones programadas” para ellos
– Avanzados o Especializados
• Implementan sus propias aplicaciones especializadas para cumplir sus complejos
requisitos
• Ingenieros, científicos, analistas de empresa, ...
– Autónomos
• Usan BD personales, a través de aplicación/paquete comercial específico
126. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
126
01/03/2022
Actores en un sistema de
base de datos (4)
▪ Ingenieros de software
▪ (Analistas de sistemas y Programadores de aplicaciones)
– Conocen perfectamente capacidades y recursos del SGBD
– Analistas
• Determinan necesidades de procesamiento de los usuarios finales
(especialmente los paramétricos)
• Especifican conjuntos de operaciones que satisfacen esas necesidades
– Programadores
• Implementan estas especificaciones Programas de aplicación
• Prueba, depuración, documentación y mantenimiento de programas
127. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
127
01/03/2022
Actores en un sistema de
base de datos (5)
▪ Los siguientes son los encargados del diseño, creación y operación
del software y entorno del sistema
▪ No están interesados en el contenido de la base de datos
▪ Diseñadores e Implementadores del SGBD
▪ Diseñan e Implementan los Módulos e Interfaces del SGBD
▪ Operadores y Personal de mantenimiento
▪ del Entorno hardware y software del sistema de BD
128. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
128
01/03/2022
Actores en un sistema de
base de datos (6)
▪ Desarrolladores de herramientas
– Diseñan e Implementan paquetes software que:
• Facilitan diseño y uso de los SBD, y
• Permiten aumentar el rendimiento de los SBD
– Herramientas para
• Diseño de BD, de aplicaciones de BD, de interfaces de usuario...
• Creación de prototipos de aplicaciones de BD
• Realizar simulaciones y generar datos de prueba
• Supervisión de rendimiento del sistema
• ...
129. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
129
01/03/2022
Construcción de un sistema de
base de datos
▪ 3 Fases
▪ Fase de Requerimientos: se desarrolla un modelo de datos
▪ El modelo de datos es una representación lógica de la estructura de la base de
datos
▪ Fase de Diseño: el modelo de datos se transforma en tablas y
relaciones
▪ Fase de Implementación:
▪ Se crean tablas, relaciones y restricciones.
▪ Se codifican los Stored procedures (procedimientos almacenados) y los
Triggers (disparadores)
▪ Se llena la base de datos y se prueban los sistemas
▪ La base de datos y sus aplicaciones recibirán modificaciones (a
través de estas mismas tres fases) para cumplir con los nuevos
requisitos
130. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
130
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
131. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
131
01/03/2022
▪ Manejo de un diccionario de datos
▪ Administración de los datos almacenados
▪ Transformación y presentación de los datos
▪ Seguridad
▪ Control de concurrencia
▪ Integridad de datos
▪ Lenguaje de acceso a la base de datos
▪ Interfaz de comunicación de datos
▪ Interacción con el manejo de archivos
▪ Respaldo y recuperación
FUNCIONES DE UN SGBD
132. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
132
01/03/2022
DBMS (SGBD)
▪ DBMS: Database Management System
▪ Funciones:
▪ Crear bases de datos, tablas y estructuras de soporte.
▪ Leer y actualizar los datos de la base de datos
▪ Mantener las estructuras de la base de datos.
▪ Hacer cumplir las reglas
▪ Controlar la concurrencia
▪ Proveer seguridad
▪ Realizar y restaurar copias de seguridad
▪ Ejemplos: Oracle, DB2, Microsoft Access, SQL Server, etc.
133. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
133
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
134. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
134
01/03/2022
Características del enfoque de
Bases de Datos (1)
➢ Naturaleza autodescriptiva
Procesamiento de ficheros
• Los programas de aplicación acceden a datos específicos, cuya
estructura se describe en el propio código
Sistemas de bases de datos
• SGBD = Sistema software de propósito general
BD = DATOS + METADATOS
• El Catálogo del Sistema ...
– Contiene metadatos: descripción de la estructura de la BD
El SGBD “sabrá” acceder a datos de cualquier aplicación
– Usado por el SGBD (a veces por usuarios)
135. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
135
01/03/2022
Características del enfoque de
Bases de Datos (2)
➢ Separación entre programas y datos
Procesamiento de ficheros
• Definición de datos forma parte de los programas de aplicación
• Cambios en la estructura de ficheros de la BD
modificación de programas que acceden a tales ficheros
Sistemas de bases de datos
• Descripción de estructura y organización de ficheros almacenada en
Catálogo, separada de los programas
Independencia entre programas y datos
( posible gracias a la abstracción de datos proporcionada por SGBD, que
veremos más adelante )
136. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
136
01/03/2022
Características del enfoque de
Bases de Datos (3)
➢ Datos compartidos y procesamiento de transacciones
multiusuario
➢ Acceso simultáneo a datos sin interferencias ni inconsistencias
➢ Control de concurrencia por el SGBD
➢ Múltiples vistas de los datos
➢ Cada usuario sólo interesado en ver la parte de la información que necesita
vista de la BD
➢ Vista = [ Subconjunto de ] BD [+ datos virtuales]
➢ SGBD proporciona mecanismos de definición de vistas
SBD
BIBLIOTECA
Bibliotecario Lector
BD
137. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
137
01/03/2022
Contenido
▪ Introducción a Bases de Datos
▪ Conceptos de Bases de Datos
▪ Archivos
▪ Tipos de Archivo
▪ Bases de Datos
▪ Tipos de Bases de Datos
▪ Uso de las Bases de Datos
▪ Sistemas Gestores de Bases de Datos SGBD
▪ Conceptos de un Sistema Gestor de Bases de Datos
▪ Funciones de un Sistemas Gestor de Bases de Datos
▪ Características y funciones de las Bases de Datos
▪ Integridad de Datos
138. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
138
01/03/2022
• Todo estado de BD refleja la realidad
– es un modelo de una porción del mundo real (minimundo)
• Algunas configuraciones de valores NO tienen SENTIDO
– pues no representan ningún estado posible del minimundo
2 personas distintas con el mismo DNI
Un empleado sin NSS
Un alumno con -29 años
Una película sin director
Definición de la BD (esquema) necesita incluir
REGLAS DE INTEGRIDAD
Características generales de integridad
de datos
139. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
139
01/03/2022
Claves Candidatas y Primarias
Claves Ajenas (o foráneas o externas)
• Informan al SGBD de restricciones del mundo real
• Así, el SGBD evita configuraciones de datos imposibles
• Aumentan la capacidad expresiva del modelo relacional
• Cumplen que:
• Forman parte de la base de datos
• Se cumplen para cualquier estado de la BD
• No varían con el tiempo
• Son específicas de cada BD particular, pero el
Modelo Relacional incluye...
características generales de integridad
importantes y necesarias en toda BD
Reglas de integridad
140. Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
140
01/03/2022
Sistemas de
almacenamiento de la
información
Unidad 1
Final de la unidad