1. BASES DE DATOS
Sesión 1
Conceptos Básicos
TGO. GESTION ADMINISTRATIVA
Ficha: 596817
Centro Agroindustrial del Meta
Grupo “El Hachón”
Instructor: Ing. Fredy Rojas
Bases de datos I 1
2. Un poco de historia …
SSiisstteemmaass ddee aarrcchhiivvooss::
Surgieron a raíz de la necesidad de almacenamiento de la
información para su correspondiente reutilización
(ppeerrssiisstteenncciiaa)
DDeessvveennttaajjaass::
Redundancia de los datos
Los archivos están separados unos de otros
(no se pueden “combinar” fácilmente)
Alto costo para la propagación de cambios
Inconsistencia debido a actualizaciones simultáneas
Bases de datos I 2
3. Un poco de historia …
PPrroocceessaammiieennttoo
ddee
CClliieenntteess
Archivo
de
Clientes
PPrroocceessaammiieennttoo
ddee
PPrrééssttaammooss
Archivo
de
Préstamos
UUssuuaarriioo del
Archivo de Clientes
UUssuuaarriioo del
Archivo de Préstamos
Por cada préstamo se guarda la información
del cliente correspondiente: Redundancia
Bases de datos I 3
4. Un poco de historia …
¿Por qué surgieron los sistemas de Bases de
Datos?
Necesidad de solucionar las debilidades de los
sistemas de archivos
Capacidades:
Manejo de ppeerrssiisstteenncciiaa
Soporte por lo menos de un mmooddeelloo ddee ddaattooss
Soporte de un lleenngguuaajjee ddee aallttoo nniivveell que permita
manipular y definir la estructura de la información
CCoonnttrrooll ddee aacccceessoo
EEvviittaarr iinnccoonnssiisstteenncciiaass al ccoommppaarrttiirr la información
Bases de datos I 4
5. … Antes
Dpto. Personal Dpto. Ventas
Empleados
Clientes
Dpto. Contabilidad
Ventas Cuentas
Inventario
BASE DE DATOS Personal … Ahora
SGBD
Empleados
Clientes
Ventas
Inventario
Cuentas
Ventas
Contabilidad
Bases de datos I 5
6. Definición
Una base de datos es un conjunto
estructurado de datos coherentes
Colección disponible de
información
Bases de datos I 6
7. Definición
Una base de datos es un conjunto
estructurado de datos coherentes
Colección organizada en
subconjuntos, en función de
ligas y de relaciones entre las
diferentes informaciones
(estructura lógica)
Bases de datos I 7
8. Definición
Una base de datos es un conjunto
estructurado de datos coherentes
No hay contradicción entre los
datos ligados, no hay pérdida de
información, aun sabiendo que
hay una utilización compartida
de los datos entre varios
usuarios
Bases de datos I 8
9. Definición
Un Sistema de Gestión de Bases de
Datos (SGBD) es un software que
permite manipular las bases de datos
•Construir
•Utilizar
•Mantener
•Reorganizar
Bases de datos I 9
10. Sistema de Gestión de Bases de Datos
Propiedades fundamentales
Independencia de los datos (OJO es muy importante)
Acceso eficiente a los datos
Integridad y seguridad de los datos
Administración de los datos
Acceso concurrente y recuperación en caso de « crash »
Los SGBD deben cumplir con las propiedades ACID para las
transacciones:
Atomicity (Atomicidad: las transacciones son atómicas)
Consistency (Consistencia: una transacción transforma
un estado consistente de la BD en otro)
Isolation (Aislamiento: las transacciones están aisladas
entre si)
Durability (Durabilidad: después que una transacción ha
sido confirmada ella persiste)
Bases de datos I 10
11. Algunas definiciones
EEssqquueemmaa ddee uunnaa BBaassee ddee DDaattooss: Cuando una base de
Datos es diseñada interesa definir una estructura para ésta.
Esta estructura permanece “estática” durante un gran período
de tiempo, aunque puede sufrir modificaciones ocasionales
IInnssttaanncciiaa: Es la información que en un determinado instante
del tiempo posee la base de datos y que cambia
permanentemente (excepto en algunos tipos de bases de BD
particulares)
Bases de datos I 11
12. Algunas definiciones
Usuario final: El que interactúa con la base de
datos, por lo general a través de aplicaciones e
interfaces
Usuario especialista: El que diseña y programa
aplicaciones para usuarios finales.
DBA (Database Administrator): El que
administra la base de datos. ¿Qué hace?
Bases de datos I 12
13. Funciones y componentes principales de un
SGBD
Peticiones
DML No planeadas
Procesador
Lenguaje
Consulta
DDL: lenguaje de definición de datos
DML: lenguaje de manipulación de datos
Fuente: “Introducción a los
sistemas de bases de
datos” C.J. Date
Esquemas
externos
Procesador
DDL
Peticiones
DML planeadas
Procesador
DML
Peticiones
compiladas
Optimizador
Peticiones
optimizadas
Manejador de transacciones
Manejador de almacenamiento
Datos
y
Metadatos
Base de datos
Esquemas y
transformaciones
Bases de datos I Universidad Nacional de Colombia 13
14. Componentes funcionales de un SGBD
Metadatos o Diccionario de Datos (D.D): Contiene el esquema
de la B.D, los usuarios, los permisos de acceso, etc. Son datos
sobre los datos. Almacena la información que permite la
traducción entre los 3 niveles de la Arquitectura ANSI/SPARC*
Optimizador de consultas: Define el plan de ejecución de
operaciones solicitadas por los usuarios, de tal manera que se
lleven a cabo de la manera más eficiente posible
Manejador de transacciones: Controla el acceso y la
concurrencia de operaciones
*Se verá mas adelante en el curso
Bases de datos I 14
15. Componentes funcionales de un SGBD
Manejador de almacenamiento tiene dos
componentes:
-Maanneejjaaddoorr ddee aarrcchhiivvooss recupera desde disco
los bloques que contienen la información solicitada
por una transacción.
-Maanneejjaaddoorr ddee bbuuffffeerr mantiene en memoria
principal la información mmááss uussaaddaa y decide
cuando llevar a disco alguno de sus bloques.
Bases de datos I 15
16. SGBD - Funciones
Soporta DML: Lenguaje para actualización,
almacenamiento y recuperación de datos
Ofrece optimización en la búsqueda de la
información
Soporta DDL : Lenguaje para definir los datos
Metadatos (DD): Catálogo autodescriptivo,
información sobre los objetos existentes en el
sistema Datos sobre los datos
Bases de datos I 16
17. Ventajas de un SGBD
1. Reutilización de datos y programas
2. Control de redundancia
3. Estandarización ¿En qué sentido?
4. Consistencia (No hay redundancia)
5. Es posible equilibrar las cargas de los
requerimientos (establecer prioridades)
Bases de datos I 17
18. Ventajas de un SGBD
6. Integridad (Se cumplen las reglas
establecidas ¿Por quién?)
7. Seguridad
8. Rapidez de desarrollo
9. Mantenimiento y reingeniería: cambios en la
estructura de datos sin cambiar los
programas que los usan (hasta cierto punto)
Bases de datos I 18
19. Desventajas de un SGBD
1. Tamaño
2. Susceptibilidad a fallas (Discutible)
3. Complejidad en la recuperación a fallas
(Discutible)
4. Puede llegar a trabajar en forma “lenta”
debido a la cantidad de verificaciones que
debe hacer
Bases de datos I 19
20. Niveles de abstracción (ANSI/SPARC)
Vista usuario n
Nivel externo
confidencialidad
Nivel conceptual
integridad-coherencia
Nivel interno
gestión de acceso
Vista usuario 2
Vista usuario 1
n esquemas
externos
Esquema lógico, resultado de
un proceso de modelamiento
Esquema físico
Bases de datos I 20
21. Nivel de Visión
Externo
El más cercano a los usuarios finales
Percepción de la base de datos por parte de
los usuarios finales
Tantas visiones como tipos de usuarios
Cada visión de usuario final se puede
caracterizar como un subesquema
Bases de datos I 21
22. Nivel de Visión
Cada visión puede proporcionar diferentes
representaciones de los mismos datos
VViissiióónn VVeennddeeddoorr
Fechas con formato:
(dd-mm-yy)
Visión Contador
Fechas con formato:
(yyyy-dd-mm)
BD
Bases de datos I 22
23. Nivel de Visión
Algunas visiones de usuario pueden incluir:
Datos AAggrruuppaaddooss: Totales por Dpto.
Datos DDeerriivvaaddooss:
Sueldo total = básico + comisión
Datos CCaallccuullaaddooss:
Edad de una persona (inferida a partir de
su fecha de Nacimiento)
Bases de datos I 23
24. Nivel de Visión
Los conceptos de dato derivado y calculado
podrían usarse indistintamente para
significar, en general, que un dato se genera
a partir de otro(s)
Pueden haber a su vez datos agregados
derivados, datos agregados calculados etc.
Bases de datos I 24
25. Nivel Conceptual
Mediador entre los otros 2 niveles
Interesante para el usuario especialista
Se ocupa de los datos almacenados en la base de
datos física y las relaciones entre ellos
Descripción semántica de los datos que conforman
la base de datos
Soporta a cada visión de usuario externa
Bases de datos I 25
26. Nivel Conceptual
Es una visión completa de todos los requerimientos y
elementos de interés para la organización
Debe incluir restricciones sobre los datos
La descripción del nivel conceptual no debe tener
detalles dependientes del almacenamiento*
Tiene asociado un lenguaje de alto nivel
* Sin embargo en algunos SGBD esto no se logra expresar de esta manera…
Bases de datos I 26
27. Nivel Físico
Interno
Más cercano a la máquina
Interesa al Administrador y al usuario
Especialista
Esquema físico: Descripción y tipos de
datos: tamaño y precisión, tipos de índices y
de estructuras de almacenamiento
concretas que se manejan, de acuerdo con
un SGBD particular
Bases de datos I 27
28. Nivel Físico
Describe cómo los datos son almacenados
en términos de estructuras de datos
particulares
Se encarga de:
- Reservar espacio para datos e índices
- Compresión de datos
- Técnicas de encriptamiento de datos
Bases de datos I 28
29. Independencia de los datos
Es uno de los objetivos de la arquitectura
ANSI/SPARC
Permite modificar la definición de un nivel sin aaffeeccttaarr
(en lo posible) el nivel inmediatamente superior
Sin independencia de datos se requeriría mucho
esfuerzo para cambiar las aplicaciones de tal forma
que se adaptasen a la nueva estructura de la base de
datos.
Hay dos tipos: física y lógica
Bases de datos I 29
30. Independencia de los datos
Física: inmunidad que tienen los usuarios y
las aplicaciones ante los cambios en la forma
de almacenar físicamente los datos.
Conceptual o lógica: inmunidad que poseen
los usuarios y las aplicaciones ante los
cambios en la estructura lógica de la base de
datos
Bases de datos I 30
31. Independencia Física
Se presenta entre el nivel conceptual y el nivel físico
Un cambio en el esquema físico (usar otras
estructuras de almacenamiento) no conduce a
cambios en el esquema conceptual
Ej. Cambio en la forma de almacenar un índice: B+
por Hashing, ¿con qué propósito se hace un cambio
de este tipo?
Inmunidad del esquema conceptual ante cambios
del esquema físico
Bases de datos I 31
32. Independencia Lógica
Se presenta entre el nivel de visión y el nivel
conceptual
Significa que un cambio en el nivel
conceptual no debe conllevar a un cambio en
el nivel de visión
Es más difícil de lograr. ¿Por qué?
Bases de datos I 32
33. Independencia Lógica
Algunos de los posibles cambios en el nivel
conceptual:
Adición de nuevos elementos (atributos,
entidades etc.)
Eliminación de elementos Puede afectar a
los subesquemas externos
Bases de datos I 33
34. Tendencias de los SGBD
Sistemas para el soporte para toma de decisiones (Data
Warehouse) y/o con capacidades deductivas y bases de
datos temporales
Manejar información multimedial: Imágenes, audio, videos
Bases de datos orientadas a objetos y objeto-relacionales
Manejar información georeferenciada: Sistemas de
Información Geográficos (SIG)
Manejo de información documental: Motores de búsqueda,
sistemas para el manejo de documentos.
Bases de datos nativas para XML
Bases de datos I 34
35. RESUMEN
La descripción completa de una base de datos se
denomina esquema
Cada visión de usuario tiene su esquema
(subesquema), existe un esquema conceptual y uno
interno
Existen correspondencias (“mappings”)
- Entre cada subesquema externo y el conceptual
- Entre el esquema conceptual y el interno
Estas correspondencias le permiten al SGBD por
ejemplo saber un registro conceptual con qué
registro(s) del nivel físico se corresponde
Bases de datos I 35
36. RESUMEN
En teoría debería existir un lenguaje de
descripción para cada nivel*
En la práctica sin embargo en muchos
SGBD el esquema conceptual queda
fusionado con la especificación del
esquema interno.
* No siempre sucede así en los SGBD actuales…
Bases de datos I 36
37. Próxima Sesión
Modelos:
Modelo conceptual: el diseño de un modelo conceptual
parte de la especificación de requisitos
Ingeniería de requisitos
Modelos conceptuales: E/A, semántico
Modelos Lógicos: Relacional
Modelos físicos: dependientes del SGBD
Bases de datos I 37
Notas del editor
Generalmente las bases de datos manejan transacciones que deben cumplir una serie de propiedades, a las que, comúnmente, se les suele denominar como propiedades ACID (Atomicity, Consistency, Isolation, Durability):
Atomicidad: garantiza que se ejecutan todas las acciones o que no se haga ninguna.
Consistencia: garantiza que, aunque haya muchos usuarios accediendo a la base de datos de manera concurrente, se mantenga la integridad de la información.
Aislamiento: garantiza que las transacciones que se están realizando concurrentemente en el sistema no interfieran entre ellas.
Durabilidad: garantiza que una transacción que finaliza correctamente queda adecuadamente reflejada. Además, el sistema será capaz de recordar todas la transacciones que han sido realizadas.