SlideShare una empresa de Scribd logo
1 de 140
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
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.
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
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
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
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
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
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
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
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 .
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’
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
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 tR
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
=
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
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
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.
Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
17
01/03/2022
Elementos de un archivo
estructurado
Registro
Campos
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
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
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
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
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.
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.
Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
24
01/03/2022
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.
Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
26
01/03/2022
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.
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.
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
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
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>
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?
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
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
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
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
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*
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*
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*
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!
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*
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*
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*
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!
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!
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!
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+
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
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
✓
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!
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)
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!
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
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
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”
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
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!
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’
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
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?
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!
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
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
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
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!
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*
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*
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?
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
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!
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
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!
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?
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!
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!
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
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
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
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!
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í
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.
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
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
Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
84
01/03/2022
JERARQUIA DE ARCHIVOS
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
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
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.
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
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
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.
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
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
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
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
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)
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
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
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.
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).
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.
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
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
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.
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.
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.
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.
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.
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).
Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
109
01/03/2022
Bases de Datos NoSQL (“Not Only SQL”)
Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
110
01/03/2022
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
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
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
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
Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
115
01/03/2022
Ejemplo:
BD para una Organización
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
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
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
Bases de Datos
Ph.D. Franklin Parrales
Carrera de Software
119
01/03/2022
SGBD
▪ DataBase Management System SGBD = DBMS
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
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
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
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
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)
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
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
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
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
• ...
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
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
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
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.
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
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)
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 )
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
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
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
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
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

Más contenido relacionado

La actualidad más candente

Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfMarcelo Silva
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Introduccion bases de datos
Introduccion bases de datosIntroduccion bases de datos
Introduccion bases de datosUTN
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQlCezar Souza
 
Clase I Estructura de Datos
Clase I Estructura de Datos Clase I Estructura de Datos
Clase I Estructura de Datos guestc906c2
 
POO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a ObjetosPOO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a ObjetosFranklin Parrales Bravo
 
Arquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos OracleArquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos Oraclevinivaldivieso
 
Aula 1 active directory
Aula 1   active directoryAula 1   active directory
Aula 1 active directoryOi S.A
 
POO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosPOO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosFranklin Parrales Bravo
 
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosIDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosFranklin Parrales Bravo
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datoshugodanielgd
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitosKleo Jorgee
 

La actualidad más candente (20)

Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
A Estrutura da Linguagem SQL
A Estrutura da Linguagem SQLA Estrutura da Linguagem SQL
A Estrutura da Linguagem SQL
 
Fundamentos de las bases de datos
Fundamentos de las bases de datosFundamentos de las bases de datos
Fundamentos de las bases de datos
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Introduccion bases de datos
Introduccion bases de datosIntroduccion bases de datos
Introduccion bases de datos
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
Clase I Estructura de Datos
Clase I Estructura de Datos Clase I Estructura de Datos
Clase I Estructura de Datos
 
DB1 Unidad 9: Concurrencia
DB1 Unidad 9: ConcurrenciaDB1 Unidad 9: Concurrencia
DB1 Unidad 9: Concurrencia
 
POO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a ObjetosPOO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a Objetos
 
Arquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos OracleArquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos Oracle
 
Aula 1 active directory
Aula 1   active directoryAula 1   active directory
Aula 1 active directory
 
POO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosPOO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a Objetos
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosIDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datos
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 

Similar a DB1 Unidad 1: Sistemas de almacenamiento de la información

PLANTILLA TRABAJO BASE DE DATOS.pptx
PLANTILLA TRABAJO BASE DE DATOS.pptxPLANTILLA TRABAJO BASE DE DATOS.pptx
PLANTILLA TRABAJO BASE DE DATOS.pptxMariaEsmeraldaRamosR
 
archivodiapositiva_202291923231.pdf
archivodiapositiva_202291923231.pdfarchivodiapositiva_202291923231.pdf
archivodiapositiva_202291923231.pdfKatherineMagallanes4
 
Base De Datos I Completo
Base De Datos I CompletoBase De Datos I Completo
Base De Datos I Completoguest7eaf64
 
109545709 localizacion-de-archivos-de-una-base-de-datos
109545709 localizacion-de-archivos-de-una-base-de-datos109545709 localizacion-de-archivos-de-una-base-de-datos
109545709 localizacion-de-archivos-de-una-base-de-datosMiguel Ángel
 
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetos
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetosED Unidad 1: Introducción a las estructuras de datos (TDA) con objetos
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetosFranklin Parrales Bravo
 
FUNCIONES DE UNA DBA Y TIPO DE BASE DE DATOS
FUNCIONES DE UNA DBA Y TIPO DE BASE DE DATOSFUNCIONES DE UNA DBA Y TIPO DE BASE DE DATOS
FUNCIONES DE UNA DBA Y TIPO DE BASE DE DATOSAnthony Cueva
 

Similar a DB1 Unidad 1: Sistemas de almacenamiento de la información (20)

Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
PLANTILLA TRABAJO BASE DE DATOS.pptx
PLANTILLA TRABAJO BASE DE DATOS.pptxPLANTILLA TRABAJO BASE DE DATOS.pptx
PLANTILLA TRABAJO BASE DE DATOS.pptx
 
archivodiapositiva_202291923231.pdf
archivodiapositiva_202291923231.pdfarchivodiapositiva_202291923231.pdf
archivodiapositiva_202291923231.pdf
 
introduccion bases de datos
introduccion bases de datosintroduccion bases de datos
introduccion bases de datos
 
Base De Datos Orientada A Objetos
Base De Datos Orientada A ObjetosBase De Datos Orientada A Objetos
Base De Datos Orientada A Objetos
 
Base De Datos I Completo
Base De Datos I CompletoBase De Datos I Completo
Base De Datos I Completo
 
Base De Datos I Completo
Base De Datos I CompletoBase De Datos I Completo
Base De Datos I Completo
 
Base de datos
Base de datos Base de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
109545709 localizacion-de-archivos-de-una-base-de-datos
109545709 localizacion-de-archivos-de-una-base-de-datos109545709 localizacion-de-archivos-de-una-base-de-datos
109545709 localizacion-de-archivos-de-una-base-de-datos
 
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetos
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetosED Unidad 1: Introducción a las estructuras de datos (TDA) con objetos
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetos
 
Base de datos y dba
Base de datos y dbaBase de datos y dba
Base de datos y dba
 
Base de datos
Base de datosBase de datos
Base de datos
 
bases de datos ayer y hoy
bases de datos ayer y hoybases de datos ayer y hoy
bases de datos ayer y hoy
 
Basededatosicompleto 091122141836-phpapp02
Basededatosicompleto 091122141836-phpapp02Basededatosicompleto 091122141836-phpapp02
Basededatosicompleto 091122141836-phpapp02
 
MODELAMIENTO DE BASE DE DATOS
MODELAMIENTO DE BASE DE DATOSMODELAMIENTO DE BASE DE DATOS
MODELAMIENTO DE BASE DE DATOS
 
clase 1 conceptos basicos.ppt
clase 1 conceptos basicos.pptclase 1 conceptos basicos.ppt
clase 1 conceptos basicos.ppt
 
FUNCIONES DE UNA DBA Y TIPO DE BASE DE DATOS
FUNCIONES DE UNA DBA Y TIPO DE BASE DE DATOSFUNCIONES DE UNA DBA Y TIPO DE BASE DE DATOS
FUNCIONES DE UNA DBA Y TIPO DE BASE DE DATOS
 

Más de Franklin Parrales Bravo

Presentacion del congreso ETCM del 2021 en Cuenca
Presentacion del congreso ETCM del 2021 en CuencaPresentacion del congreso ETCM del 2021 en Cuenca
Presentacion del congreso ETCM del 2021 en CuencaFranklin Parrales Bravo
 
IW Unidad 1: Introducción a la Ingeniería Web
IW Unidad 1: Introducción a la Ingeniería WebIW Unidad 1: Introducción a la Ingeniería Web
IW Unidad 1: Introducción a la Ingeniería WebFranklin Parrales Bravo
 
IW Unidad 4: Web accesible, semántica y ubicua
IW Unidad 4: Web accesible, semántica y ubicuaIW Unidad 4: Web accesible, semántica y ubicua
IW Unidad 4: Web accesible, semántica y ubicuaFranklin Parrales Bravo
 
IW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelosIW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelosFranklin Parrales Bravo
 
IW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
IW Unidad 2: Metodologías y Técnicas de la Ingeniería WebIW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
IW Unidad 2: Metodologías y Técnicas de la Ingeniería WebFranklin Parrales Bravo
 
AD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuidaAD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuidaFranklin Parrales Bravo
 
AD Unidad3: Tecnologías de aplicaciones distribuidas
AD Unidad3: Tecnologías de aplicaciones distribuidasAD Unidad3: Tecnologías de aplicaciones distribuidas
AD Unidad3: Tecnologías de aplicaciones distribuidasFranklin Parrales Bravo
 
EP Unidad03: Planificación financiera y análisis de riesgos
EP Unidad03: Planificación financiera y análisis de riesgosEP Unidad03: Planificación financiera y análisis de riesgos
EP Unidad03: Planificación financiera y análisis de riesgosFranklin Parrales Bravo
 
AD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosAD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosFranklin Parrales Bravo
 
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosAD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosFranklin Parrales Bravo
 
EP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectosEP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectosFranklin Parrales Bravo
 
EP Unidad02: Conceptos para el alcance, tiempo y muestra
EP Unidad02: Conceptos para el alcance, tiempo y muestraEP Unidad02: Conceptos para el alcance, tiempo y muestra
EP Unidad02: Conceptos para el alcance, tiempo y muestraFranklin Parrales Bravo
 
GCSW Unidad1: Objetos de la Gestión de Configuración del Software
GCSW Unidad1: Objetos de la Gestión de Configuración del SoftwareGCSW Unidad1: Objetos de la Gestión de Configuración del Software
GCSW Unidad1: Objetos de la Gestión de Configuración del SoftwareFranklin Parrales Bravo
 
GCSW Unidad2: Actividades de la gestión de configuración del software
GCSW Unidad2: Actividades de la gestión de configuración del software GCSW Unidad2: Actividades de la gestión de configuración del software
GCSW Unidad2: Actividades de la gestión de configuración del software Franklin Parrales Bravo
 
POO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivosPOO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivosFranklin Parrales Bravo
 
POO Unidad 3: Interfaz gráfica de usuario e hilos
POO Unidad 3: Interfaz gráfica de usuario e hilosPOO Unidad 3: Interfaz gráfica de usuario e hilos
POO Unidad 3: Interfaz gráfica de usuario e hilosFranklin Parrales Bravo
 
RD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoRD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoFranklin Parrales Bravo
 
RD Unidad 2: Transmisión de datos. El mundo del TCP/IP y direccionamiento iPv4
RD Unidad 2: Transmisión de datos. El mundo del TCP/IP y direccionamiento iPv4RD Unidad 2: Transmisión de datos. El mundo del TCP/IP y direccionamiento iPv4
RD Unidad 2: Transmisión de datos. El mundo del TCP/IP y direccionamiento iPv4Franklin Parrales Bravo
 
RD Unidad 1: Principios de Comunicación y Redes
RD Unidad 1: Principios de Comunicación y RedesRD Unidad 1: Principios de Comunicación y Redes
RD Unidad 1: Principios de Comunicación y RedesFranklin Parrales Bravo
 

Más de Franklin Parrales Bravo (20)

Presentacion del congreso ETCM del 2021 en Cuenca
Presentacion del congreso ETCM del 2021 en CuencaPresentacion del congreso ETCM del 2021 en Cuenca
Presentacion del congreso ETCM del 2021 en Cuenca
 
IW Unidad 1: Introducción a la Ingeniería Web
IW Unidad 1: Introducción a la Ingeniería WebIW Unidad 1: Introducción a la Ingeniería Web
IW Unidad 1: Introducción a la Ingeniería Web
 
IW Unidad 4: Web accesible, semántica y ubicua
IW Unidad 4: Web accesible, semántica y ubicuaIW Unidad 4: Web accesible, semántica y ubicua
IW Unidad 4: Web accesible, semántica y ubicua
 
IW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelosIW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelos
 
MOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modeladoMOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modelado
 
IW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
IW Unidad 2: Metodologías y Técnicas de la Ingeniería WebIW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
IW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
 
AD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuidaAD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuida
 
AD Unidad3: Tecnologías de aplicaciones distribuidas
AD Unidad3: Tecnologías de aplicaciones distribuidasAD Unidad3: Tecnologías de aplicaciones distribuidas
AD Unidad3: Tecnologías de aplicaciones distribuidas
 
EP Unidad03: Planificación financiera y análisis de riesgos
EP Unidad03: Planificación financiera y análisis de riesgosEP Unidad03: Planificación financiera y análisis de riesgos
EP Unidad03: Planificación financiera y análisis de riesgos
 
AD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosAD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidos
 
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosAD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
 
EP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectosEP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectos
 
EP Unidad02: Conceptos para el alcance, tiempo y muestra
EP Unidad02: Conceptos para el alcance, tiempo y muestraEP Unidad02: Conceptos para el alcance, tiempo y muestra
EP Unidad02: Conceptos para el alcance, tiempo y muestra
 
GCSW Unidad1: Objetos de la Gestión de Configuración del Software
GCSW Unidad1: Objetos de la Gestión de Configuración del SoftwareGCSW Unidad1: Objetos de la Gestión de Configuración del Software
GCSW Unidad1: Objetos de la Gestión de Configuración del Software
 
GCSW Unidad2: Actividades de la gestión de configuración del software
GCSW Unidad2: Actividades de la gestión de configuración del software GCSW Unidad2: Actividades de la gestión de configuración del software
GCSW Unidad2: Actividades de la gestión de configuración del software
 
POO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivosPOO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivos
 
POO Unidad 3: Interfaz gráfica de usuario e hilos
POO Unidad 3: Interfaz gráfica de usuario e hilosPOO Unidad 3: Interfaz gráfica de usuario e hilos
POO Unidad 3: Interfaz gráfica de usuario e hilos
 
RD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoRD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y Enrutamiento
 
RD Unidad 2: Transmisión de datos. El mundo del TCP/IP y direccionamiento iPv4
RD Unidad 2: Transmisión de datos. El mundo del TCP/IP y direccionamiento iPv4RD Unidad 2: Transmisión de datos. El mundo del TCP/IP y direccionamiento iPv4
RD Unidad 2: Transmisión de datos. El mundo del TCP/IP y direccionamiento iPv4
 
RD Unidad 1: Principios de Comunicación y Redes
RD Unidad 1: Principios de Comunicación y RedesRD Unidad 1: Principios de Comunicación y Redes
RD Unidad 1: Principios de Comunicación y Redes
 

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 tR 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.
  • 24. Bases de Datos Ph.D. Franklin Parrales Carrera de Software 24 01/03/2022
  • 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.
  • 26. Bases de Datos Ph.D. Franklin Parrales Carrera de Software 26 01/03/2022
  • 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”)
  • 110. Bases de Datos Ph.D. Franklin Parrales Carrera de Software 110 01/03/2022
  • 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