Sei sulla pagina 1di 50

Unidad I:

Introducción a las
Bases de Datos
Introducción
¿Cuál es la diferencia entre DATO e INFORMACIÓN?
Introducción
Sistema de procesamiento de archivos: los registros permanentes
se almacenaban en diferentes archivos y se escribían distintos
programas para acceder a ellos.
Sistema de procesamiento de archivos
• Problemas:
– Redundancias e inconsistencia de datos
– Dificultad en el acceso a los datos
– Aislamiento de datos
– Problemas de integridad
– Problemas de atomicidad
– Anomalías en el acceso concurrente
– Problemas de seguridad
Historia de las Bases de Datos
Introducción: Base de Datos

Conjunto de datos
organizados y relacionados
entre sí, los cuales son
recolectados y explotados por
un los sistemas de
información particular.
Base de Datos

Colección de datos e información interrelacionada


Sistema de Base de Datos

Base de Datos con información para interpretarla.


Sistema de Gestión de Base de Datos

Conjunto de programas que permiten el acceso a un


Sistema de Base de Datos.
Ejemplos de Base de Datos

Una universidad:
– Entidades: estudiantes, profesores, cátedras, aulas.
– Relaciones entre entidades (vínculos): estudiantes
inscriptos en cátedras, profesores asignados a
cátedras, uso de las aulas para dictado de las
cátedras.

… una Biblioteca???
… un Sanatorio???
… una tienda de ropas???
Ejemplos de aplicaciones de
sistemas de bases de datos
• Compras en el supermercado.
• Compras utilizando la tarjeta de crédito.
• Reserva de un programa de vacaciones en una
agencia de viajes.
• Utilización de la biblioteca.
• Contratación de un seguro.
• Alquiler de un vídeo
• Utilización de Internet.
• Estudio en una universidad.
Sistema de Gestión de Base de Datos
SGBD
Es en una colección de archivos interrelacionados y un
conjunto de programas para acceder y modificar dichos
archivos.
✓ Software diseñado para asistir en el mantenimiento y
utilización de grandes colecciones de datos.
✓ Provee acceso a la información a un
alto nivel de abstracción
✓ Permite a los usuarios crear y
mantener una base de datos.
Funciones de un SGBD

✓ Consulta y actualización de los datos


extraer, manipular y modificar la información

✓ Mantenimiento de esquemas
descripción de la estructura de la información almacenada

✓ Gestión de transacciones
control del paralelismo y de recuperación ante fallos
Ventajas de los SGBD
✓ Independencia de los datos y los programas y procesos.
Esto permite modificar los datos sin modificar el código de las
aplicaciones.
✓ Menor redundancia. No hace falta tanta repetición de datos.
Aunque, sólo los buenos diseños de datos tienen poca redundancia.
✓ Integridad de los datos. Es más difícil perder los datos o realizar
incoherencias con ellos. Se manejan restricciones de consistencia.
✓ Mayor seguridad en los datos. Al limitar el acceso a usuarios.
✓ Acceso concurrente y recuperación en caso de fallos.
✓ Datos más documentados. Gracias a los metadatos que permiten
describir la información de la base de datos.
✓ Acceso a los datos más eficiente. La organización de los datos
produce un resultado más óptimo en rendimiento.
✓ Menor espacio de almacenamiento. Gracias a una mejor
estructuración de los datos.
Desventajas de los SGBD
Instalación costosa. El control y administración de bases de
datos requiere de un software y hardware poderoso.
Requiere personal calificado. Debido a la dificultad de manejo
de este tipo de sistemas.
Implantación larga y difícil. Debido a los puntos anteriores. La
adaptación del personal es mucho más complicada y lleva
bastante tiempo.
Ausencia de estándares reales. Lo cual significa una excesiva
dependencia hacia los sistemas comerciales del mercado.
Aunque hay una buena parte de esta tecnología aceptada
como estándar de hecho.
Clasificación de los SGBD
• Según el modelo lógico • Según la distribución de
– Columnares los datos
– Clave-valor – Centralizados
– Orientadas a Documentos – Distribuidos
– Orientada a Grafos – Cloud
– Orientada a Objetos
– Relacional • Según su propósito
– En Red – Generales
– Jerárquico – Específicas

• Según el N° de usuarios • Según su estructura


– Monousuarios – SQL - estructuradas
– Multiusuarios – NoSQL – no estructuradas
Unidades de Almacenamiento
Medición
Nombre Símbolo Número de Bytes Equivale a …
Binaria

bit b 20 1 0o1

byte B 23 8 8 bit

kilobyte KB 210 1024 1024 bytes

Megabyte MB 220 1048576 1024 KB

Gigabyte GB 230 1073741824 1024 MB

Terabyte TB 240 1099511627776 1024 GB

petabyte PB 250 1125899906842624 1024 TB

Exabyte EB 260 1152921504606846976 1024 PB

zettabyte ZB 270 1180591620717411303424 1024 EB

yottabyte YB 280 1208925819614629174706176 1024 ZB


Unidades de Almacenamiento
Qué pasó en Internet cada 60
segundos en 2017…
¿Cuánto es un Yottabyte?
NO TODO ES ESTRUCTURADO
A raíz de estos grandes volúmenes de datos y de que
el 95% de la información que se está generando
actualmente en la red se corresponde con
información no estructurada y las bases de datos
relacionales tradicionales no son adecuadas para el
manejo de esta información.
Los nuevos SGBD desarrollados para su manejo, que
utilizan infraestructuras de supercomputación
altamente distribuidas, reciben habitualmente el
nombre de NoSQL.
(Profundizaremos sobre este tema en otra unidad)
2
5

ACID
Características que tiene que garantizar una base de
datos a la hora de realizar una transacción correctamente

Asegurar que la transacción se


Atomicity realice o no, sin quedar a medias
ante fallos
Asegurar el estado de validez de
Consistency los datos en todo momento

Asegurar independencia entre


Isolation transacciones

Asegurar la persistencia de la
Durability transacción ante cualquier fallo
2
6

ACID
Bases de datos que garantizan ACID
2
7

BASE
Acrónimo análogo a ACID para NoSQL donde prima la
disponibilidad frente a la consistencia
Características comunes entre todas las implementaciones
de bases de datos distribuidas no relacionales

Basically Disponibilidad como prioridad


Available
Soft state
Delegación de la consistencia de datos a
un motor externo

Eventual Se intenta lograr un estado consistente


consistency
2
8

BASE
Bases de datos que garantizan BASE
Arquitectura de un Sistema de
Gestión de Base de Datos
• El enfoque de base de datos tiene tres
características inherentes:
– Separación entre los programas y los
datos;
– Soporte de múltiples vistas de usuario;
– Empleo de un catálogo para almacenar
el esquema de la base de datos.
• Propuesta:
– Arquitectura de tres capas
Objetivos de la arquitectura en tres
niveles
• Todos los usuarios deben poder acceder a los
mismos datos.
• La forma en que un usuario ve los datos ha de
ser inmune a los cambios hechos en la forma
en que otros usuarios los ven.
• Los usuarios no deben necesitar conocer las
estructuras de almacenamiento físico de la
base de datos.
Un SGBD es en una colección de archivos
interrelacionados y un conjunto de programas para
acceder y modificar dichos archivos.

El propósito principal de un SGBD es proporcionar


a los usuarios una visión abstracta de los datos,
escondiendo detalles de cómo se mantienen y
almacenan los datos.
Objetivos de la arquitectura en tres
niveles
• Que el DBA pueda cambiar las estructuras de
almacenamiento de la base de datos sin que afecte
a las vistas de los usuarios.
• Que la estructura interna de la base de datos no
se vea afectada por los cambios que se efectúen
en lo relativo a los aspectos físicos de
almacenamiento.
• Que el DBA pueda modificar la estructura
conceptual de la base de datos sin afectar a todos
los usuarios.
Es decir, debe brindar ABSTRACCIÓN de un nivel a
otro
La arquitectura en tres niveles
Usuario 1 Usuario 2 Usuario n

Nivel
externo Vista 1 Vista 2 Vista 3

Nivel Esquema
conceptual conceptual

Nivel Esquema
interno interno

Organización
física de los
datos Base de
datos
La arquitectura en tres niveles

• Nivel externo o de vista


✓Vista que los usuarios tienen de la base de
datos.
✓Incluye varios esquemas externos o vistas
de usuarios.
✓Cada esquema externo describe la parte de
la base de datos que le interesa a un
determinado grupo de usuarios, ocultando
el resto.
La arquitectura en tres niveles
• Nivel conceptual o lógico
✓Vista comunitaria de la base de datos.
✓Describe qué datos están almacenados en la
base de datos y las relaciones existentes
entre los mismos.
✓Oculta los detalles de las estructuras físicas y
se concentra en describir entidades, tipos de
datos, vínculos operaciones de los usuarios y
restricciones.
✓En este nivel es posible usar un modelo de
datos de alto nivel o uno de implementación.
La arquitectura en tres niveles

• Nivel interno:
✓Contiene un esquema físico, que describe
la estructura física de almacenamiento de
la base de datos.
✓Emplea un modelo de datos físico y
describe todos los detalles para su
almacenamiento, así como los caminos
de acceso para la base de datos.
Independencia de datos
• Definición:
– Capacidad para modificar el esquema
en un nivel del sistema de base de
datos sin necesidad de modificar
esquemas de nivel superior.
• Se definen dos tipos:
– Independencia de datos lógica
– Independencia de datos física
Arquitectura en capas
USUARIOSFINALES

NIVELEXTERNO Esquem ade Esquem ade Esquem ade


vistaexterna1 vistaexterna2 vistaexternaN

Correspondenciaexterno/
conceptual

NIVELCONCEPTUAL Esquemaconceptual

Correspondencia
conceptual/físico

Esquemafísico
NIVELINTERNO

Data Data Data


Independencia de datos lógica
• Capacidad de modificar el esquema conceptual
sin tener que alterar los esquemas externos ni
los programas de aplicación.
– Por ejemplo, podría decidirse modificar el esquema
conceptual para ampliar la base de datos o bien para
reducirla.
– Después de una reorganización lógica los programas
de aplicación que hagan referencia a los elementos
del esquema externo deberán funcionar igual que
antes.
– Las restricciones también deben poder modificarse
en el esquema conceptual sin afectar a los esquemas
externos ni a los programas de aplicación.
Independencia de datos física
• Capacidad de modificar el esquema
interno sin tener que alterar el esquema
conceptual (o los externos).
– Tal vez sea preciso modificar el esquema
interno por la necesidad de reorganizar
ciertos ficheros físicos con el fin de mejorar
el rendimiento de las operaciones de
recuperación y actualización.
– Si la base de datos aún contiene los mismos
datos, no será necesario modificar el
esquema conceptual.
Independencia de datos
• La independencia de datos lógica es más difícil
de proporcionar que la independencia de datos
física.
• El concepto de independencia de datos es
similar al concepto de tipo abstracto de datos
en los lenguajes de programación: Esconden
los detalles de implementación a los usuarios
para permitirles concentrarse en la estructura
general, más que en los detalles de
implementación de nivel más bajo.
Lenguajes del SGBD
• Lenguaje de definición de datos
– para especificar el esquema de la Base
de Datos
• Lenguaje de manipulación de datos
– para expresar las consultas y
actualizaciones de la Base de Datos.
Lenguaje de definición de
datos
• Se utiliza para describir los
esquemas externo y conceptual
– SQL: Sentencias Create Table, Alter
Table, Drop Table.
Creando Relaciones con SQL
 Crear la relación
Alumnos. Observe como CREATE TABLE Alumnos
se especifica el tipo (ide CHAR(20),
(dominio) de cada fila, y nombre CHAR(30),
que esto se chequea por usuario CHAR(20),
el DBMS cada vez que edad INTEGER,
una tupla es insertada o nota REAL)
modificada.

CREATE TABLE Matriculados


 Como otro ejemplo, la
(idalum CHAR(20),
tabla Matriculados
ida CHAR(20),
contiene información nota CHAR(10))
sobre los cursos que
toman los alumnos.
Lenguaje de manipulación de
datos
• Permite a los usuarios realizar consultas
e insertar, borrar y modificar filas
– SQL: Sentencias Select, Insert, Update,
Delete
INSERT
INTO Alumnos (ide, nombre, usuario, edad, nota)
VALUES (53688, ‘Sánchez’, ‘sanchez@inf’, 18, 6.4)

DELETE UPDATE Alumnos A


FROM Alumnos A SET A.nota = A.nota – 0.1
WHERE A.nombre = ‘Sánchez’ WHERE A.nota >= 6.6
Consulta SQL Básica
SELECT [DISTINCT] lista-de-selección
FROM lista-de-tablas
WHERE condición

• lista-de-tablas: nombre de las relaciones (tablas) que


intervienen en la consulta.
• lista-de-selección: nombre de los atributos de las relaciones
de lista-de-tablas a proyectar
• condición: Condicionales (Atrib op Const o Atrib op Atrib,
donde op puede ser >,<, =, <>, etc.). Se puede combinar
usando AND, OR o NOT.
• DISTINCT es una palabra reservada opcional para indicar
que se deben eliminar las tuplas duplicadas del resultado..
Por defecto se debe recordar que los tuplas duplicadas NO
se eliminan.
Transacciones
• Definición:
– Cualquier ejecución única de un programa de
usuario en un motor de base de datos (la
ejecución del mismo programa varias veces,
generará varias transacciones)
– Es una secuencia atómica de acciones de una
base de datos (lectura/escritura)
Transacciones
– Cada transacción ejecutada completamente
debe dejar la BD en un estado consistente si
la BD era consistente cuando la transacción
comenzó
Transacciones
• Propiedades:
– Aislamiento: los usuarios deben ser capaces
de entender una transacción sin considerar el
efecto de otras transacciones ejecutándose
concurrentemente
– Atomicidad: se ejecutan todas las acciones o
ninguna
– Durabilidad: sus efectos deben persistir aún
si el sistema falla
Usuarios de una base de
datos
• Usuarios finales y vendedores de SGBD
• Programadores de aplicaciones
• Administradores de BD (DBA):
– Diseño de los esquemas lógicos y físicos
– Administración de la seguridad y autorización
– Disponibilidad de datos, recuperación de
fallas
– Optimización (tuning) de la base de datos

Potrebbero piacerti anche