Está en la página 1de 27

SEMANA 1

TALLER DE BASE DE DATOS


Introducción a las Bases de Datos

DOCENTE:
Ing. Miguel Torres Pilco
info@publiandino.com
Desde los orígenes de la comunicación humana, hemos tenido la
necesidad de almacenar la información para la comunicación
directa o indirecta. La llegada de nuevos métodos de
procesamiento de la información siempre ha acarreado la
aparición de nuevos métodos de almacenamiento de la misma.
Con el establecimiento de la escritura surgieron los libros que, con
el paso del tiempo y el aumento de éstos, dieron lugar a las
bibliotecas.
Una base de datos (cuya abreviatura es BD) es una entidad en la
cual se pueden almacenar datos de manera estructurada, con la
menor redundancia posible.
Diferentes programas y diferentes usuarios deben poder utilizar
estos datos. Por lo tanto, el concepto de base de datos
generalmente está relacionado con el de red, ya que se debe poder
compartir esta información. Generalmente se habla de un
"Sistema de información" para designar a la estructura global que
incluye todos los mecanismos para compartir datos.
Una base de datos proporciona a los usuarios el acceso a
datos, que pueden visualizar, ingresar o actualizar, en
concordancia con los derechos de acceso que se les hayan
otorgado. Se convierte más útil a medida que la cantidad de
datos almacenados crece.

Una base de datos puede ser local, es decir que puede


utilizarla solo un usuario en un equipo, o puede ser distribuida,
es decir que la información se almacena en equipos remotos y
se puede acceder a ella a través de una red.

La principal ventaja de utilizar bases de datos es que múltiples


usuarios pueden acceder a ellas al mismo tiempo.
Historia de las BD
Sistemas de archivos:
Surgieron debido a la necesidad de almacenar los datos para su
correspondiente reuso (persistencia)
Desventajas:
– Redundancia de datos
– Dificultad de integración: Los archivos no se pueden “combinar”
fácilmente → diferentes formatos y estructura
– Alto costo para la propagación de cambios
– Alto costo si se cambiaba la estructura de un archivo
– Riesgo de inconsistencias debido a actualizaciones simultáneas

Muchas aplicaciones usaban Informes que


sus propios archivos requieren datos de
diferentes archivos

26/04/2021 Bases de Datos 6


Historia de las BD
• Por ejemplo, suponga que usted tiene datos de
empleados: cédula, nombre, dirección, teléfono
y de proyectos: nombre, valor, fecha de inicio.
Además, un empleado puede estar asignado a
varios proyectos y en un proyecto pueden
trabajar varios empleados. ¿Cómo guardaría
usted estos datos? ¿En varios archivos? ¿En
uno solo?
• En clase se discuten algunos aspectos sobre
este ejemplo o sobre uno similar
26/04/2021 Bases de Datos 7
Historia de las BD
• Note que un diseño físico (distribución de
los datos en uno o varios archivos) será
posiblemente beneficioso para ciertas
aplicaciones (por ejemplo, para ciertas
consultas) y será posiblemente
desventajoso para otras…

26/04/2021 Bases de Datos 8


Historia de las BD
Procesamiento
Archivo
de de
Usuario del Clientes Clientes
Algunos
Archivo de Clientes
datos
repetidos
Procesamiento
de Archivo
de
Ventas
Ventas
Usuario del
Archivo de Ventas

La dificultad para combinar archivos (diferentes formatos y


estructura) promovía la redundancia de datos

26/04/2021 Bases de Datos 9


Historia de las BD
Sistemas de BD:
– Surgieron para solucionar los problemas de los
sistemas de archivos
– Capacidades:
• Manejo de persistencia
• Soporte por lo menos de un modelo de datos
• Soporte de un lenguaje de alto nivel que permita
manipular y definir la estructura de los datos en
forma eficiente → SQL Definir usuarios, roles, permisos…
• Control de acceso → Seguridad
• Evitar inconsistencias al compartir los datos

26/04/2021 Bases de Datos 10


Un ejemplo
Taxi Hora X Y
t1 8:25 am 100 50
t1 t1 8:30 am 80 42

t2 6:45 am 99 48
t2 t2 6:50 am 75 40

El usuario pide un taxi por


t3 medio de una aplicación en
su celular, el sistema detecta
su posición, envía el taxi
más cercano y los datos del
26/04/2021 Bases de Datos
taxi: conductor, placas… 11
Definiciones
• Base de Datos (BD): Conjunto de datos (con su respectivo
esquema) almacenados en algún medio (por ej. un disco) y
usados con diversos propósitos por múltiples usuarios

• Esquema de la BD: Describe la estructura de los datos


requeridos por la organización.
Esta estructura suele permanecer estática durante un gran
período

• Instancia de la BD: Son los datos que en un determinado


instante posee la BD.
Estos datos suelen cambiar (adiciones, borrados,
actualizaciones) constantemente (¿excepto en que tipo de BD?)

26/04/2021 Bases de Datos 12


Definiciones
• Usuario final: El que interactúa con la BD,
usualmente a través de aplicaciones e
interfaces

• Usuario especialista: El que diseña y


programa aplicaciones para los usuarios
finales

• DBA (DataBase Administrator): El que


administra la BD → ¿Funciones?
26/04/2021 Bases de Datos 13
SGBD
• Sistema de Gestión de Bases de Datos
(SGBD*): Sistema computarizado que permite la
gestión de las BD

– Es un conjunto de programas
– Sirve de interfaz entre los usuarios, los datos y
programas de la BD
– Interactúa con el sistema operativo
– Ejemplos: Oracle, SQL Server, DB2, PostgreSQL.

*DBMS: Data Base Management System


26/04/2021 Bases de Datos 14
SGBD
• Soporta DDL (Data Definition Language): Lenguaje
para la creación del esquema
• Soporta DML (Data Manipulation Language): Lenguaje
para la inserción, actualización, borrado y
consulta de datos
• Soporta DCL (Data Control Language): Lenguaje para
la gestión de usuarios, roles, permisos, entre
otros.

SQL incluye estos (sub) lenguajes

26/04/2021 Bases de Datos 15


SGBD
• Gestión de transacciones: una transacción es una
unidad de trabajo que suele incluir varias operaciones
sobre la BD (consultas, actualizaciones, borrados)
• Recuperación ante fallas y para deshacer
(rollback) transacciones: Bitácora (log de
transacciones)
• Manejo de respaldos (backups)
• Independencia de los datos (se explica
posteriormente)
• Otros servicios
26/04/2021 Bases de Datos 16
SGBD
Un SGBD debe garantizar las propiedades
ACID para las transacciones:
– Atomicity (Atomicidad)
– Consistency (Consistencia)
– Isolation (Aislamiento)
– Durability (Durabilidad)

26/04/2021 Bases de Datos 17


SGBD
La BD podría estar
en un estado
inconsistente durante
La BD en estado La BD en estado
la ejecución de la
consistente consistente
transacción

Inicio de una Ejecución de la Fin de la


transacción transacción transacción:
Commit o
Rollback
26/04/2021 Bases de Datos 18
SGBD
• Bloqueos: compartido (s) y exclusivo (x).

Matriz de bloqueos
Transacción 1
tiene:
x s
Transacción 2 x No No
solicita:
s No Sí Cuando una
transacción termina
(ya sea con commit o
26/04/2021 Bases de Datos rollback) se liberan
19
sus bloqueos
SGBD
Ejemplo: Saldo de la cuenta #8: $100.
Analizar la siguiente situación, donde la transacción 1 hace
commit y la transacción 2 hace rollback.
Transacción 1 Tiempo Transacción 2
t1 Sumar $50 al saldo de
la cuenta #8
Considerar dos casos: t2
a) Leer el valor de la
cuenta #8
b) Sumar $20 al saldo
de la cuenta #8
t3 Rollback
26/04/2021 Bases de
t4 Datos 20
Commit
Consultas y/o
Permisos sobre el
programas de
esquema Esquema de la BD
usuario

Compilador Compilador
Compilador
DCL DML y
DDL
optimizador

Arquitectura Tablas de
autorización
Manejador de
de un (DD)
transacciones Tablas de
descripción
SGBD de la B.D
(DD)
Tablas de
acceso
concurrente Manejador de
(DD) almacenamiento

Base de Datos
física y
DD
DD =26/04/2021
Diccionario de Datos Bases de Datos 21
SGBD
• Diccionario de Datos (DD):
– Contiene datos sobre el esquema de la BD, los usuarios, los
permisos de acceso, etc.
– Almacena los datos que permiten la traducción entre los tres
niveles* de la arquitectura ANSI-SPARC (American National
Standards Institute, Standards Planning And Requirements
Committee).
– Es un catálogo autodescriptivo, datos sobre los objetos existentes
en el sistema → Datos sobre los datos (Metadatos).

• Optimizador de consultas: Define el plan de ejecución de las


operaciones solicitadas por los usuarios, de tal manera que se ejecuten
de manera eficiente.

• Manejador de transacciones: Controla el acceso y la concurrencia de


operaciones.

*Se ven posteriormente.


26/04/2021 Bases de Datos 22
SGBD
• Manejador de almacenamiento: Con dos
componentes:
- El manejador de archivos: Recupera
desde disco los bloques que contienen los
datos solicitados por una transacción.
- El manejador de buffer: Mantiene en
memoria principal los datos más usados y
decide cuando llevar a disco alguno de
sus bloques.
26/04/2021 Bases de Datos 23
Ventajas de un SGBD
• Reuso de datos y programas
• Control de redundancia
• Estandarización ¿en qué sentido?
• Concurrencia
• Es posible equilibrar las cargas de los
requisitos (establecer prioridades)

26/04/2021 Bases de Datos 24


Ventajas de un SGBD
• Integridad (Se cumplen las reglas
establecidas → ¿Qué tipo de
reglas?¿Establecidas por quién?)
• Seguridad
• Rapidez de desarrollo
• Mantenimiento y reingeniería: cambios en
en el esquema sin cambiar los programas
que los usan (hasta cierto punto)

26/04/2021 Bases de Datos 25


Desventajas de un SGBD
• Tamaño
• Susceptibilidad a fallas (Discutible)
• Complejidad en la recuperación a fallas
(Discutible)
• Lentitud debido a la cantidad de
verificaciones que debe hacer

¿Cómo cuáles?
26/04/2021 Bases de Datos 26
Tendencias en BD
Sistemas para el soporte para la toma de
decisiones (Data Warehouse).
BD deductivas, temporales, multimediales
(imágenes, audio, videos) → consultas sobre estos
tipos de datos.
BD orientadas a dispositivos móviles.
Datos georeferenciados: Sistemas de Información
Geográficos (SIG), trayectorias.
BD nativas para XML.
Big Data: BD NoSQL (Not only SQL) → No
garantizan ACID. Documentos JSON.
26/04/2021 Bases de Datos 27

También podría gustarte