Está en la página 1de 20

Introducción y Contextualización a Bases de Datos

Álvaro Alonso
Enrique Barra

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Este material está compuesto por transparencias realizadas por profesores
del Dpto. de Ingeniería de Sistemas Telemáticos (DIT-UPM) y transparencias
adaptadas de las proporcionadas por:

- Carmen Costilla (© Carmen Costilla - UPM-DIT) a partir de la fuente bibliográfica


Sistemas de Bases de Datos. Conceptos, Técnicas y Lenguajes, C. Costilla,
S. Publicaciones E.T.S. Ingenieros de Telecomunicación-UPM, ISBN: 84-
7402-271-1, 465 páginas, 1999.

- Silberschatz, Korth y Sudarshan (© Silberschatz, Korth y Sudarshan) a partir de


la fuente bibliográfica Fundamentos de Bases de Datos – 5ª Edición,
McGraw-Hill, ISBN 0-07-295886-3 , 2005

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Contenidos

• Motivación
– Alternativas para persistencia de datos
• Sistemas de Gestión de Bases de Datos
– Niveles de abstracción
– Instancias y esquemas
– Modelos de datos
– DML y DDL
– Diseño de Bases de Datos
• Arquitectura de Bases de Datos
• Usuarios de Bases de Datos

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Motivación

• Los sistemas de Bases de Datos permiten al usuario construir,


desarrollar y desplegar Sistemas de Información con datos fiables y
persistentes

• Las Bases de Datos son un componente imprescindible en proyectos


que requieren
– Organizar una información no simple
– Uso compartido por muchos usuarios a la vez y con distintos fines
– Garantías de integridad, consistencia, persistencia y recuperación
– Garantías de seguridad en el almacenamiento de datos
– Aplicaciones complejas

• Aplicaciones en múltiples entornos


– Banca, Líneas aéreas, Universidades, Ventas, Servicios públicos, Producción,
Recursos humanos, etc

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Alternativas para persistencia de datos

• Procesadores de Lenguajes sobre el Sistema Operativo

• Sistemas de Gestión de Ficheros (SGF)

• Sistemas de Gestión de Bases de Datos (SGBD)

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Sistemas de Gestión de Bases de Datos (SGBD)

• Aspectos clave
– Software dedicado a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan.
– Permiten describir los elementos de datos con su estructura, sus interrelaciones
y sus validaciones.
– Importante diferenciar BD – SGBD

• Ventajas de los SGBD frente a otras alternativas


– Acceso Concurrente.
– Independencia Física y Lógica.
– Redundancia “controlada” de los Datos.
– Total relacionabilidad de los Datos.
– Integridad y Consistencia de los Datos.
– Privacidad y Seguridad de los Datos.
– Actualización fácil y coherente.
– Alto Rendimiento Funcional.
– Lenguajes muy Potentes y de muy alto Nivel.

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Niveles de abstracción

• Nivel de vistas: los programas


de aplicación ocultan detalles de
los tipos de datos mostrando
únicamente los pertinentes en
cada caso.

• Nivel lógico: describe qué datos


se almacenan en la base de
datos y las relaciones existentes
entre ellos.

• Nivel físico: describe cómo se


almacenan realmente los datos

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Instancias y esquemas

• Esquema – la estructura lógica de la base de datos


– Esquema físico: diseño de la base de datos a nivel físico
– Esquema lógico: diseño de la base de datos a nivel lógico

• Instancia – el contenido real de la base de datos en un instante de tiempo


determinado

• Independencia física de los datos – la capacidad de modificar el


esquema físico sin cambiar el esquema lógico
– Las aplicaciones dependen del esquema lógico
– En general, las interfaces entre los diferentes niveles y componentes deben
definirse adecuadamente de modo que los cambios en algunas partes no
influencien otras seriamente.

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Modelos de datos

• Determina la estructura lógica de una base de datos y el modo de


almacenar, organizar y manipular los datos (su estructura, relaciones,
semántica y consistencia).

• Tipos de modelos de datos


– Modelo relacional
– Modelo entidad-relación Estructurados
(relacional)
– Modelo de datos orientado a objetos

– Modelo de datos semiestructurados (XML)

– Modelo clave-valor
– Modelo de columnas Desestructurados
– Modelo de documentos (no relacional)
– Modelo de grafos

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Lenguaje de Definición de Datos (DDL)

• Notación de especificación para definir el esquema de la base de datos

• El compilador LDD genera un conjunto especial de tablas denominado


diccionario de datos

• El diccionario de datos contiene metadatos


– Esquema de base de datos
– Lenguaje de almacenamiento y definición de datos
• Especifica la estructura de almacenamiento y los métodos de acceso utilizados
– Restricciones de integridad
• Restricciones de dominio
• Integridad referencial
• Asertos
– Autorización

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Lenguaje de Manipulación de Datos (DML)

• Lenguaje para acceder o manipular los datos organizados mediante el


modelo de datos apropiado
– El DML también se conoce como lenguaje de consultas

• Existen dos clases de lenguajes


– Procedimentales – el usuario especifica que datos se necesitan y cómo han de
obtenerse dichos datos
– Declarativos (no procedimentales) – el usuario especifica qué datos se
necesitan sin especificar cómo se han de obtener

• Ejemplos
– SQL (Structured Query Language)
– NoSQL (Not only SQL)

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Diseño de Bases de Datos

El Mundo Real

Modelado
Conceptual

Diseño BD

Bases de Datos

Las Estructuras
de Datos

El Almacenamiento Físico

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Diseño de Bases de Datos

• Elección del modelo de datos – Dependiendo de la naturaleza de los


datos, sus relaciones y las necesidades del sistema

• Diseño lógico – Decidir el esquema de la base de datos.


– Decisión de negocio – ¿Qué atributos se deberían registrar en la base de datos?
– Decisión informática – ¿Qué relación de esquemas se deberían utilizar y cómo
se deberían distribuir los atributos entre dichos esquemas?

• Diseño físico – Decidir sobre las características físicas de la base de


datos

• Tecnología – Elección de la tecnología de bases de datos

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Modelo relacional vs No relacional: cuándo usarlos

Modelo relacional Modelo no relacional


- Conocemos la naturaleza de los - No conocemos la naturaleza de los
datos y sus relaciones datos o ésta puede cambiar con el
tiempo

- El volumen de datos no es grande o - El volumen de datos es muy grande o


crece poco a poco crece rápidamente

- Necesito hacer consultas complejas - Necesito hacer consultas con poca


(operaciones JOIN) latencia

- Necesito alta consistencia - Necesito alta escalabilidad

- Necesito atomicidad en transacciones - Necesito particionar mis datos


complejas (sharding)

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Tecnologías

• Bases de datos relacionales (SQL)


– MySQL
– Oracle
– PostgreSQL

• Bases de datos no relacionales (NoSQL)


– Clave-valor – Redis, Dynamo (AWS)
– Columnas – Cassandra
– Documentos – MongoDB, CouchDB, SimpleDB
– Grafos – Neo4j

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Modelo entidad-relación (E-R)

• Modela una empresa como una colección de entidades y relaciones


– Entidad: una “cosa” o un “objeto” en la empresa distinguible de otros objetos
• Se describe mediante un conjunto de atributos
– Relación: una asociación entre varias entidades
• Se representa gráficamente mediante un diagrama entidad-relación:

cliente
nombre calle
id nombre calle ciudad
id ciudad 123 Enrique Barra General Margallo 17 Madrid

cliente
ClienteCuenta
cliente_id Cuenta_numero

titular 123 258741222

cuenta
cuenta numero saldo
258741222 345
numero saldo

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Modelo de documentos

{
_id: 123,
nombre: “Enrique Barra”,
calle: “General Margallo 17”,
ciudad: “Madrid”
cuenta: {
numero: 258741222,
saldo: 345
}
}

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Arquitectura de bases de datos
Modelo de Proceso
Mono-Usuario

Proceso de Usuario Proceso de Usuario

Procesos del SGBD Procesos del SGBD

Modelo
Centralizado
Proceso de Usuario Proceso de Usuario Proceso de Usuario

Procesos del SGBD

Modelo
Distribuido
Proceso de Usuario Proceso de Usuario Proceso de Usuario

Procesos del SGBD Procesos del SGBD

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Usuarios de bases de datos

• Administradores de bases de datos


– Definición del esquema
– Estructura de almacenamiento y definición del método de acceso
– Modificación del esquema y organización física
– Concesión de autorización para el acceso a los datos
– Especificación de las restricciones de consistencia
– Actuar como enlace con los usuarios
– Supervisión de rendimiento y respuesta a cambios de los requisitos

• Programadores de aplicaciones – interactúan con el sistema por


medio de llamadas DML

• Usuarios finales – invocan uno de los programas de aplicación

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos


Introducción y Contextualización a Bases de Datos

Álvaro Alonso
Enrique Barra

DIT-UPM Bases de Datos - Introducción y Contextualización a Bases de Datos

También podría gustarte