BBDD Ut1 02 BD
BBDD Ut1 02 BD
BBDD Ut1 02 BD
Unidad de trabajo 1
Almacenamiento de la Información
Base de Datos
Base de Datos y Sistema Gestor de Base de Datos
Definición de BD
Modelos de Base de Datos
Ejemplo NoSQL: Big Table
Aplicación
CLIENTE
Aplicación
SGBD BD
CLIENTE
Usuarios
Aplicación
CLIENTE
Sistema Gestor de Base Base de Datos (BD)
de datos (SGBD o GBD)
Colección de datos
Conjunto de programas, relacionados
procedimientos y lenguajes lógicamente entre sí
que permite la
manipulación de una BD de
forma segura y eficiente.
Base de Datos (BD): Es una colección de datos relacionados lógicamente entre sí.
Características:
●
Estructura determinada. Existen varias estructuras según el modelo de BD.
Definición y descripción comunes
Almacenamiento con la mínima redundancia
Posibilidad de acceso eficiente por parte de ususarios y aplicaciones
La base de datos no sólo contiene los datos de la organización, también almacena una
descripción de dichos datos. Esta descripción es lo que se denomina metadatos y se almacena
en el diccionario de datos o catálogo.
Modelo lógico de base de datos: determina la estructura lógica de una base de datos y
el modo de almacenar, relacionar, organizar y manipular los datos.
El modelo de base de datos NO determina cómo se visualizan los datos (listado, tabla,
gráfico...), ya que eso depende de la apariencia de la capa de visualización (nivel externo o
de visión en la arquitectura del SGBD) o de la aplicación cliente que utilice la base de datos.
Modelo jerárquico o en árbol
Modelo en red
Modelo relacional
Modelo multidimensional
Modelo orientado a objetos y objeto-relacional
Modelo NoSQL (no relacional)
Los nodos se relacionan entre sí mediante jerarquías padre/hijo. Cada nodo tendrá un solo
padre pero puede tener varios hijos.
La forma visual de este modelo es de árbol invertido, en la parte superior están los padres y en
la inferior los hijos.
ESTRUCTURA LÓGICA
Informática Sala A-12
Es limitado en cuanto a los datos que puede representar (por ejemplo no podría representarse
el que una misma asignatura sea impartida por varios profesores)
Permite reresentar relaciones más complejas que el modelo jerárquico, ya que un elemento
puede tener mas de un padre. En contrapartida, el manejo puede ser más complicado.
Los registros se denominan nodos, que se relacionan con otros nodos mediante enlaces.
La base de datos es percibida por el usuario como un conjunto de tablas. Esta percepción es
sólo a nivel lógico, ya que a nivel físico puede estar implementada mediante distintas
estructuras de almacenamiento. Los datos son almacenados en tablas bidimensionales,
llamadas relaciones.
Se llamará registro, entidad o tupla a cada fila de la tabla y campo o atributo a cada columna
de la tabla. A los conjuntos de valores que puede tomar un determinado atributo, se le
denomina dominio. Una clave será un atributo o conjunto de atributos que identifique de forma
única a una tupla. Requiere normalización de la información.
Se emplea el lenguaje SQL, un estándar implementado por los principales SGBD relacionales.
Se utilizan para aplicaciones muy específicas que requieren consultas complejas y alto
rendimiento. Similar al modelo relacional, los datos se representan el tablas multidimensionales
denominadas cubos, aunque realmente serían hipercubos (cubo de n dimensiones).
Un ejemplo de 3 dimensiones:
Elimina limitaciones del modelo relacional. Gracias a este modelo se incorporan mejoras como
la herencia entre tablas, los tipos definidos por el usuario e integra elementos multimedia
(datos gráficos, imágenes, voz y texto) de manera natural. Esta estructura tiene gran difusión
en aplicaciones web.
Modelo objeto-relacional
Las tuplas (registros) pueden ser a su vez relaciones (tablas). Posibilita guardar objetos más
complejos en una sola tabla con referencias a otras.
Se emplean cuando hay un gran volumen de datos y se requiere que el tiempo de respuesta
sea corto. Suelen ser bases de datos distribuidas.
Relacional No relacional
La estructura de la BD está claramente definida Datos no estructurados o semiestructurados.
empeando tablas y registros. Los datos no tienen por qué estar relacionados ni
Datos normalizados y del mismo tipo. normalizados. Son heterogéneos.
No utiliza lenguaje SQL, aunque en ocasiones
Lenguaje SQL puede soportarlo (“Not only SQL”). Tienen sus
propios lenguajes.
La empresa Google almacena una gran cantidad de información recopilada de todas sus
aplicaciones. Toda esa información se genera a una gran velocidad y está representada por datos
muy heterogéneos.
Si se empleara una base de datos relacional no sería posible dar una respuesta rápida, ya que se
realizarían chequeos para no violar las restricciones del modelo relacional. Además, obligaría a
establecer de antemano el formato de los datos, y en ocasiones, como por ejemplo para guardar la
actividad en una web de un usuario, la información se genera en tiempo real sin ninguna
estructura preestablecida (clicks, movimiento de ratón, interacción con elementos dinámicos...).
BigTable es una base de datos NoSQL propietaria de Google que está montada
sobre en GFS (Google File System), un sistema distribuido de ficheros en el que
los ficheros están repartidos en múltiples máquinas (nodos). Los datos no están
duplicados en Bigtable, pero el almacenamiento se realiza a través de ficheros
(SSTables) en GFS, dónde sí se hacen réplicas de los datos para garantizar la
durabilidad.
Es utilizado por Google para dar servicio a sus aplicaciones, como por ejemplo a Google Earth o
Google Analytics, entre otras muchas. Cloud BigTable es un servicio que ofrece Google y que se
puede contratar por otras empresas para almacenar sus datos.
Una tabla se compone de miles de millones de filas y miles de columnas, identificadas con strings
y que contienen celdas con los datos. En cada celda se pueden almacenar diferentes versiones de
la información, diferenciadas por la marca de tiempo en que fueron creadas, aunque la aplicación
cliente puede definir esa marca con otros valores que le convengan.
Clave de cada fila: URL de la web.
●
Nombre de columna:
elemento HTML (enlace,
cabecera, contenido HTML…)
●
El dato en cada celda tendría varias versiones, según la arca de tiempo.
La unidad básica de acceso a las tablas sin embargo no son filas y columnas, sino tablets
(conjunto o rango de filas) y familias (conjunto de columnas). Si se elige el nombre de las filas de
forma que las que sean consecutivas tengan algún tipo de relación lógica en sus datos, por
ejemplo cercanía geográfica en caso de Google Earth, el sistema se optimiza minimizando los
accesos.