Introduccion

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 31

Bases de datos

Tema 1. Introducción

Iván Cantador
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 1

• Bases de datos
• Sistemas de gestión de bases de datos
• Modelos de datos
• Tipos de bases de datos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 2

• Bases de datos
• Definición
• Objetivos
• Usuarios
• Sistemas de gestión de bases de datos
• Modelos de datos
• Tipos de bases de datos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Definición de base de datos 3

• Una base de datos (BD, BBDD) es un conjunto exhaustivo y no


redundante de datos estructurados, organizados de forma
independiente a su implantación y utilización, accesibles en tiempo
real, y compatibles con usuarios concurrentes y sus respectivas
necesidades (peticiones) de información
• Almacenamiento, manipulación y acceso de datos
LIBRO AUTOR
isbn titulo autor editorial año nombre apellidos ...
8420464988 Momo Ende Alfaguara 1982 Paulo Coelho ...
8408049003 El retrato de Dorian Gray Wilde Planeta 2003 Oscar Wilde ...

8477205302 El alquimista Coelho Obelisco 1996 Michael Ende ...


... ... ...
8420432261 La historia interminable Ende Alfaguara 1998
8420616524 El fantasma de Canterville Wilde Alianza 1996
8408048783 Once minutos Coelho Planeta 2003
... ... ... ... ...
Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Objetivos de las bases de datos (I) 4

• Potenciales problemas de los sistemas basados en ficheros (I)


• Redundancia de datos: múltiples almacenamientos de un dato (incluso
en el mismo fichero)
• Inconsistencia en datos, al no tener restricciones en su actualización
• No Independencia entre datos y programas
 Sistemas basados en ficheros
– Definición de datos forma parte de los programas de aplicación
– Cambios en la estructura de ficheros
 modificación de programas que acceden a tales ficheros
Bases de datos
– Descripción de estructura y organización de datos almacenada en catálogo, y
separada de los programas
 Independencia entre programas y datos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Objetivos de las bases de datos (II) 5

• Potenciales problemas de los sistemas basados en ficheros (II)


• Integridad (validez) de los datos
‐ Las restricciones han de ser reforzadas en cada programa (p.e. edad >0)
‐ Difícil añadir nuevas restricciones a los datos o variar las que se
establecieron inicialmente
‐ Difícil gestionar casos de error (fallos de hardware, erratas de usuarios, …)
• Atomicidad de las modificaciones de datos
‐ Los datos no están aislados: hay que modificar todos los programas si se
varía la estructura de los datos
‐ Los datos pueden quedarse en un estado inconsistente
– p.e. transferencia de dinero de una cuenta a otra

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Objetivos de las bases de datos (III) 6

• Potenciales problemas de los sistemas basados en ficheros (III)


• Acceso ineficiente: diversos formatos de datos, información duplicada,
necesidad de escribir un programa nuevo para cada funcionalidad que
se desee añadir
• Acceso simultáneo por varios usuarios (transacciones) problemático
‐ Se debe permitir el acceso “simultáneo” para optimizar procesos
– p.e. dos personas sacando dinero de la misma cuenta
simultáneamente
• Seguridad en el acceso compleja
‐ No todos los usuarios deberían poder acceder a todos los datos
‐ Objetivo: control de acceso selectivo
1. Sólo usuarios autorizados
2. Sólo a ciertas partes de la base de datos
3. Sólo para realizar ciertas operaciones con los datos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Objetivos de las bases de datos (IV) 7

• Funcionalidades a proporcionar
1. Independencia de las aplicaciones que vayan a usar los datos
(independencia lógica) y de los ficheros en los que los datos vayan a
almacenarse (independencia física)
2. Flexibilidad (cambios en tipos de datos, restricciones, etc.)
3. Múltiples interfaces de usuario
‐ Comandos
‐ Lenguajes de consulta
‐ Interfaces para lenguajes de programación
4. Concurrencia de usuarios
5. Consistencia e integridad de los datos
6. No redundancia (duplicados y datos derivados)
7. Fiabilidad (protección frente a fallos)
8. Seguridad (control de acceso a los datos)
Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Usuarios de las bases de datos 8

• Administrador de la base de datos (DBA)


• Responsable de la gestión y administración de la base de datos
• Programadores de aplicaciones
• Responsables de implementar las aplicaciones que acceden a la base
de datos
• Usuarios finales
• Utilizan los datos almacenados en la base de datos a través de las
aplicaciones

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 9

• Bases de datos
• Sistemas de gestión de bases de datos
• Definición
• Arquitectura
• Evolución histórica
• Modelos de datos
• Tipos de bases de datos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Definición de SGBD 10

• Un sistema de gestión de base de datos (SGBD) es un software


que proporciona servicios para la creación, el almacenamiento,
el procesamiento y la consulta de la información almacenada en
bases de datos de forma segura y eficiente
• Es el intermediario entre las aplicaciones y los datos
• Proporciona un entorno para manejar grandes volúmenes de datos
de forma eficiente
• Tiene una muy extensa y variada gama de aplicaciones:
‐ Recursos Humanos: empleados, salarios, ofertas de empleo,…
‐ Ventas: productos, proveedores, inventarios,…
‐ Bancos: clientes, cuentas, préstamos,…
‐ Líneas áreas: vuelos, horarios, reservas, aerolíneas…
‐ Universidades: matrículas, expedientes, docentes, asignaturas …
‐ …
Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Arquitectura de un SGBD (I) 11

• Elementos
• Estructuras de almacenamiento de la información optimizadas para
trabajar con un gran volumen de datos
• Un lenguaje para representar la información de acuerdo a un
determinado modelo
• Un lenguaje para recuperar la información almacenada mediante
búsquedas dirigidas
• Mecanismos adecuados que permitan integrarse en un sistema de
acceso con control transaccional

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Arquitectura de un SGBD (II) 12

• Niveles de abstracción

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Arquitectura de un SGBD (III) 13

• El tipo de SGBD más usado actualmente es el que sigue el modelo


relacional
• El lenguaje más utilizado actualmente para modelar y recuperar la
información de SGBD es Structured Query Language, SQL
• Constituyen el núcleo en torno al cual se han desarrollado un gran
número de aplicaciones actualmente en producción (distribuidas y no
distribuidas)
• SGDB populares
• IBM Db2, IBM Informix, Oracle,
Microsoft Access, Microsoft SQL Server,
SAP Sybase, Ingress, MySQL, PostgreSQL,
SQLite, MariaDB, HyperSQL,
Hive, H2, Firebird, Teradata, …

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Evolución histórica de los SGBD (I) 14

• 1960s-1970s: Sistemas centralizados


• Almacenamiento de ficheros en cinta magnética
‐ Acceso secuencial y trabajo por lotes (batch) sobre un único fichero
(“maestro”)
‐ Programa debía conocer diseño físico del fichero para acceder a los datos
• 1970-71: Consorcio de industrias informáticas CODASYL (Conference
on Data Systems Languages) → DBTG (Data Base Task Group)
‐ Definición de modelos de datos (independencia, seguridad etc.):
– Data Banks → Data Bases (ficheros interrelacionados, con estructuras
complejos y compartidos por procesos de forma simultánea: online y batch)
‐ Definición de lenguajes para bases de datos
• 1975: Modelo ANSI-SPARC
‐ Arquitectura de SGDB en 3 niveles → no se convirtió en estándar
• Hasta 1980: Modelos pre-relacionales: sistemas en red y jerárquicos
‐ Dos elementos básicos: registros e interrelaciones
Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Evolución histórica de los SGBD (II) 15

• 1970s-1980s: Modelo relacional


• 1970-78: Desarrollo del modelo teórico
‐ Definición del modelo (Edgar F. Codd, 1970-72)
‐ Algebra y cálculo relacional
‐ Primeros problemas de diseño
• 1975-80: Desarrollo de los primeros SGBD relacionales
‐ IBM System R - SQL (1975)
‐ DB2, SQL/DS, OS/2, SQL/200, …
‐ Proyecto INGRES – open source SQL (University of California, Berkeley)
• 1980-90 Desarrollo de los grandes sistemas relacionales
‐ Versiones SQL comerciales
‐ Sistemas distribuidos
‐ Estructuras cliente/servidor
‐ Modelo relacional orientado a objetos
Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Evolución histórica de los SGBD (III) 16

• 1990s-2000s: Nuevos problemas y aplicaciones


• Soporte para información compleja y no estructurada
• Tratamiento de grandes cantidades de datos de imágenes
• Obtención de información elaborada
• Gestión de consultas expresadas de forma imprecisa
• Nuevas formas de explotación de la información (Minería de Datos)

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Evolución histórica de los SGBD (IV) 17

• 2010s: Tendencias actuales


• El acceso intensivo de los usuarios a los datos a través de Internet ha
agudizado ciertos problemas y ha creado otros nuevos
‐ Información multimedia
‐ Información heterogénea
‐ Nuevas formas de acceso para manejar grandes cantidades de datos
(Big Data)
‐ Facilidad de acceso y uso para todos los usuarios

Los grandes desafíos:


• La utilidad de la información
• El tratamiento de información desestructurada e imperfecta

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 18

• Bases de datos
• Sistemas de gestión de bases de datos
• Modelos de datos
• Modelo, esquema e instancia de una base de datos
• Modelos conceptuales
• Modelos lógicos
• Lenguajes de bases de datos
• Tipos de bases de datos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Modelo, esquema e instancia de una base de datos19
• Modelo - Conjunto de conceptos, reglas y convenciones que
permiten describir y manipular los datos de cierto dominio (mundo
real) que se desea almacenar en una BD
• Esquema - Representación de un determinado mundo real
(universo del discurso) en términos de un modelo de datos;
estructura Lógica de la BD
• Instancia - El contenido de la BD en un instante dado

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Modelos conceptuales (de datos de alto nivel) 20

• Recogen conceptos cercanos a cómo el usuario percibe la realidad


• Proporcionan tres tipos de herramientas:
• Estructuras de datos con las que se puede construir la BD
• Restricciones (o reglas) de integridad que la BD tendrá que cumplir
• Operaciones para trabajar con los datos de la BD

Modelo Entidad-Relación (E-R)


Modelos Orientados a Objetos - Unified Modeling Language (UML)

Mundo Esquema
real conceptual
Modelo
Conceptual de
Datos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Modelos lógicos (de representación) 21

• Recogen conceptos entendibles por usuarios finales, pero cercanos


a la organización física de los datos
• Permiten describir la estructura lógica global de los datos
• Ocultan detalles de implementación

Modelos basados en registros


‐ Relacional
‐ Red
‐ Jerárquico
Modelos orientados a objetos
‐ Modelos lógicos próximos a los conceptuales

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Lenguajes de bases de datos (I) 22

• Lenguaje de Control de Datos (DCL)


• Lenguaje destinado a la administración de usuarios y seguridad en la
base de datos
• Lenguaje de Definición de Datos (DDL)
• Lenguaje declarativo para definir el esquema de la base de datos,
junto con las reglas que garantizan su integridad y seguridad
‐ p.e.
create table cuenta (
numero_cuenta char(10),
saldo integer);
• Lenguaje de Manipulación de Datos (DML)
• Lenguaje que permite acceder y manipular los datos
• SQL (con diversas extensiones) - el lenguaje de consulta más popular

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Lenguajes de bases de datos (II) 23

• SQL: lenguaje no-procedural


• p.e. consulta para obtener el saldo de las cuentas pertenecientes al
cliente con identificador 192-83-7465
SELECT saldo
FROM cliente_cuenta, cuentas
WHERE cliente_cuenta.num_cuenta = cuenta.num AND
cliente_cuenta.id_cliente = '192-83-7465';
• Las aplicaciones normalmente acceden a las bases de datos…
• Mediante SQL embebido
• Usando una API (p.e. ODBC, JDBC) que hace de intermediaria para
enviar consultas SQL

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 24

• Bases de datos
• Sistemas de gestión de bases de datos
• Modelos de datos
• Tipos de bases de datos
• Taxonomía basada en la organización de los datos
• Bases de datos NoSQL
• Bases de datos relacionales vs. no relacionales

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Taxonomía basada en la organización de los datos 25

• Bases de datos jerárquicas


• Datos organizados en forma de árbol invertido: nodos con padre único
• Bases de datos de red
• Un mismo nodo puede tener varios padres
• Bases de datos relacionales
• 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)
• Bases de datos orientadas a objetos
• Almacenan objetos completos: estado y comportamiento
• Incorporan los conceptos importantes del paradigma de POO:
encapsulación, herencia, polimorfismo
• Bases de datos documentales
• Permiten la indexación de textos completos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Bases de datos NoSQL (I) 26

• NoSQL = Not Only SQL


• Orientadas a documentos (p.e. MongoDB, CouchDB)
• Almacenan y gestionan documentos con datos semi-estructurados
• Los datos son almacenados en algún formato estándar, como XML,
JSON o BSON

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Bases de datos NoSQL (II) 27

• Orientadas a columnas (p.e. Cassandra, HBase)


• Ideadas para realizar consultas y agregaciones sobre grandes
cantidades de datos
• Funcionan de forma parecida a las bases de datos relacionales,
pero almacenando columnas de datos en lugar de registros

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Bases de datos NoSQL (III) 28

• De clave-valor (p.e. DynamoDB, Redis)


• Guardan tuplas que contienen una clave y su valor
• Cuando se quiere recuperar un dato, simplemente se busca por su
clave y se recupera el valor

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Bases de datos NoSQL (IV) 29

• En grafo (p.e. Neo4j, Infinite Graph)


• Basadas en la teoría de grafos, utilizan nodos y aristas para
representar los datos almacenados
• Útiles para guardar información en modelos con muchas relaciones,
como redes sociales y redes semánticas

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Bases de datos relacionales vs. no relacionales 30

ACID (Atomicity, Consistency, Isolation, Durability)

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy