Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bases de datos
0
Bases de datos
1
Bases de Datos
Copyright. Todos los derechos reservados
ISBN: 53349349839
CONTENIDO
I. INTRODUCCIÓN.................................................................................................................. 1
I. INTRODUCCIÓN HISTÓRICA.............................................................................................. 1
II. ANTECEDENTES: SISTEMA DE FICHEROS..........................................................................1
II. DEFINICIÓN BD................................................................................................................... 1
III. VISTAS EN LAS BD......................................................................................................... 2
IV. OBJETIVOS SGBD......................................................................................................... 2
V. FUNCIONES SGBD........................................................................................................ 3
VI. SERVICIOS..................................................................................................................... 4
I. Otros servicios........................................................................................................ 4
VII. HERRAMIENTAS.............................................................................................................. 4
VIII. ACCESO CONCURRENTE DE VARIOS USUARIOS.................................................................5
III. CONCEPTOS EN LAS BD................................................................................................... 7
IX. MOTORES DE ALMACENAMIENTO E ÍNDICES......................................................................7
X. SEGURIDAD................................................................................................................ 9
XI. PRIVILEGIOS.................................................................................................................. 9
II. SOBRE LOS PRIVILEGIOS GLOBALES (AUTORIZACIÓN)...............................10
XII. ENCRIPTACIÓN DE DATOS.....................................................................................10
XIII. BACKUPS.................................................................................................................. 10
XIV. RENDIMIENTO/BENCHMARKING......................................................................................11
IV. ARQUITECTURA DE LOS SGBD.....................................................................................12
V. SISTEMAS DE BASES DE DATOS ACTUALES..............................................................15
VI. BD EN LA WEB................................................................................................................. 17
VII. BIBLIOGRAFÍA.................................................................................................................. 19
VIII. CITAS................................................................................................................................. 21
IX. INDICE DE TÉRMINOS...................................................................................................... 23
ÍNDICE DE IMÁGENES
1 INTRODUCCIÓN
En esta unidad veremos los objetivos de los SGBD así como una visión general
de la arquitectura, funcionamiento y entorno de estos sistemas. Hola.
Las bases de datos son un método de almacenamiento estructurado de datos.
2
Sistemas de bases de datos actuales
2 DEFINICIÓN BD
1
Bases de datos
Durante los últimos años se ha extendido un tipo de BD denominado Data
Warehouse o almacén de datos, que contienen grandes volúmenes de información
para hacer consultas, estudios, análisis, etc., incorporando además herramientas de
control, de elaboración de datos, de normalización de datos con diferente origen, con
nuevas estructuras que facilitan el análisis multidimensional, …
3
Bases de datos
2.4 SERVICIOS
Un SGBD debe proporcionar un mecanismo que garantice que todas las
actualizaciones correspondientes a una determinada transacción se realicen, o que no
se realice ninguna. Una transacción es un conjunto de acciones que cambian el
contenido de la base de datos.
Un SGBD debe proporcionar un mecanismo que asegure que la base de datos se
actualice correctamente cuando varios usuarios la están actualizando
concurrentemente. Uno de los principales objetivos de los SGBD es el permitir que
varios usuarios tengan acceso concurrente a los datos que comparten. El SGBD se
debe encargar de que estas interferencias no se produzcan en el acceso simultáneo.
Un SGBD debe proporcionar un mecanismo capaz de recuperar la base de datos
en caso de que ocurra algún suceso que la dañe.
Un SGBD debe proporcionar un mecanismo que garantice que sólo los usuarios
autorizados pueden acceder a la base de datos. La protección debe ser contra accesos
no autorizados, tanto intencionados como accidentales.
Un SGBD debe ser capaz de integrarse con algún software de comunicación.
Un SGBD debe proporcionar los medios necesarios para garantizar que tanto los
datos de la base de datos, como los cambios que se realizan sobre estos datos, sigan
ciertas reglas.
2.5 HERRAMIENTAS
Un SGBD debe proporcionar una serie de herramientas que permitan administrar
la base de datos de modo efectivo. Algunas de ellas son:
Herramientas para importar y exportar datos.
Herramientas para monitorizar el uso y el funcionamiento de la base de datos.
Programas de análisis estadístico para examinar las prestaciones o las
estadísticas de utilización.
Herramientas para reorganización de índices.
Herramientas para aprovechar el espacio dejado en el almacenamiento físico por
los registros borrados y que consoliden el espacio liberado para reutilizarlo cuando sea
necesario.
4
Sistemas de bases de datos actuales
2.6 ACCESO CONCURRENTE DE VARIOS USUARIOS
Los SGBD, permiten que varios usuarios puedan acceder de forma concurrente a
la misma BD.
Los accesos pueden ser de sólo lectura, o bien pueden ser de actualización de
datos. Estos últimos pueden producir problemas de accesos concurrentes que generen
datos erróneos o pérdidas de integridad. Para evitar esto utilizan el concepto de
transacción, que se corresponde con un conjunto de operaciones simples que se
ejecutan como una unidad, es decir que se ejecutan todas o no se ejecuta ninguna
para evitar la pérdida de la integridad de los datos en caso de interrupción del proceso.
Las transacciones se ejecutan de forma que no se interfieren entre ellas y pueden
utilizar varias técnicas. Una de las técnicas más utilizadas es el bloqueo (lock), que
consiste en poner limitaciones a los accesos del resto de transacciones. Este bloqueo
origina esperas o retenciones
5
Sistemas de bases de datos actuales
3 CONCEPTOS EN LAS BD
- Índices
Los índices en base de datos nos van a permitir encontrar rápidamente los datos
que buscamos. Son estructuras de datos que asocian un criterio de ordenación con la
posición de una fila. Podemos compararlos con el índice de términos utilizados en un
libro.
Los índices permiten acelerar las búsquedas de datos, pero las acciones de
actualización, inserción, se penalizan.
Los índices implican un aumento del espacio de almacenamiento en disco.
Generalmente las búsquedas por índice requieren varias operaciones: leer índice
y leer dato.
En el almacenamiento de los índices destacamos varias estructuras de
almacenamiento:
En árbol: B-tree
Hash: depende del valor del dato.
R-tree: usa tablas espaciales
7
Bases de datos
Forma de almacenar los valores de las claves numéricas.
Características de indexación…
Ejemplos motores de almacenamiento MySql (MySQL, 2023):
3.2 SEGURIDAD
Hace referencia a la confidencialidad, las autorizaciones y los derechos de
acceso. Los derechos de acceso pueden ser a nivel global, o a nivel de entidad o de
atributo.
Uno de los medios que se utiliza es la identificación del usuario, o de grupo de
usuario unido a una contraseña o a otros medios de identificación.
Otro elemento de seguridad es el uso de técnicas de encriptación cuando la
información nos interesa almacenarla con una codificación secreta. Este nivel depende
de las exigencias de la información o del uso de las mismas. Hay que tener en cuenta
la seguridad del Sistema Operativo y el uso de elementos externos: firewalls,
encriptación de las comunicaciones (VPN, SSL, SSH) …
En aplicaciones sujetas a la LOPD con nivel de seguridad 3 (el máximo), es un
requerimiento obligatorio que cualquier comunicación de datos se realice encriptada.
Cuentas
Cuentas de acceso formadas por usuario y contraseña, hay sistemas que añaden
también el host.
Comprobaciones
Pueden realizar varias comprobaciones:
Autenticación ¿Quién eres?
Autorización ¿Qué es lo que puedes hacer? Que permisos tienes…
Control de accesos ¿A Qué datos puedo acceder y qué puedo hacer con ellos?
3.3 PRIVILEGIOS
Diferenciamos varios tipos de privilegios:
Sobre los objetos de la Base de Datos (control de acceso)
9
Bases de datos
Objetos disponibles: bases de datos, tablas, columnas, índices… sobre cada uno
de ellos podemos tener concedidos o denegados unos privilegios como: consulta,
inserción, generar índice, borrado, creación, …
3.5 BACKUPS
Las copias de seguridad son importantes antes catástrofes y auditorías. Hay que
seguir una Política de seguridad tanto en su realización como en su restauración.
Acciones:
10
Sistemas de bases de datos actuales
Vistas (Views)
Las vistas (incluyendo vistas actualizables) puede realizar lo siguiente:
Creación o modificación de vistas con CREATE VIEW o ALTER VIEW.
Eliminación de vistas con DROP VIEW.
Obtención de información de definición de una vista (metadatos) con SHOW
CREATE VIEW.
Conectores
Los Conectores son controladores (drivers) que proporcionan a los programas
cliente conectividad con el servidor de la Base de Datos. Existen actualmente varios
conectores:
Connector/ODBC:
Connector/NET
3.6 RENDIMIENTO/BENCHMARKING
El benchmark es una técnica utilizada para medir el rendimiento de un sistema o
componente del mismo, frecuentemente en comparación con el que se refiere
específicamente a la acción de ejecutar un benchmark. La palabra benchmark es un
anglicismo traducible al castellano como comparativa.
Trata de dar respuesta a preguntas como:
¿Qué tiempo de respuesta tendrán mis consultas?
¿Cómo mejorar el sistema?
Cambiar de servidor, dará mayor rapidez al sistema.
Si realizo cambios en la configuración mejoraré …
Base de trabajo es la realización de diferentes tipos de testo, entre los que
destacamos los de rendimiento y los de estrés.
Test de rendimiento permite comparar entre diferentes opciones, o cambios en la
configuración.
Los test de estrés permiten saber cómo se comportará el sistema en situaciones
reales o hipotéticas. Ejemplo ¿tiempo de respuesta con un n.º de registros 100 veces
superior?, y si tenemos muchos más usuarios…
Hay varias herramientas de ayuda para la realización de los mismos. Son
herramientas de administración de sistemas.
Logs
Archivos de registros entre los que destacamos:
Error log (registra el arranque y la parada, errores de integridad…)
Query logs (registra operaciones SQL)
11
Bases de datos
Binary log (registra las operaciones que modifican datos de la base de datos)
Otros logs
Niveles. Para trabajar con una BD los SGBD necesitan conocer su estructura,
conocer su descripción. La descripción se denomina esquema de la BD y es un
elemento fundamental de la arquitectura de un SGBD, y permite independizar el SGBD
de la BD. Esto permite cambiar el diseño de la BD sin tener que hacer ningún cambio
en el SGBD.
El comité ANSI/SPARC define las bases para crear estándares en el campo de
las BD, y recomendó lo que se conoce como la arquitectura de tres niveles:
Existen varios paquetes de SMBD con diferentes arquitecturas, es de destacar las
que cumplen la normativa ANSI/X3/SPARC (Standard Planning and Requeriments
Committee of the American National Standars' Institute on Computers and Informations
Processing - Comité de planificación y requerimientos del Instituto Nacional de EE. UU.
de estándares de Computación y Procesamiento de información en su división X3), que
establece la arquitectura de BD en tres niveles:
2
De Wikimedia Commons. Atribución: usuario de Wikipedia X00022027
12
Sistemas de bases de datos actuales
El nivel conceptual se refiere al nivel lógico de una base de datos. En este nivel,
se define la estructura lógica de la base de datos utilizando un modelo de datos lógico,
como el modelo relacional. Aquí se describen las tablas, las relaciones entre las tablas,
las restricciones de integridad y otros elementos que forman la estructura de la base de
datos de una manera independiente de la implementación física. Este nivel es crucial
para los diseñadores de bases de datos y los administradores de datos, ya que define
la estructura lógica de la base de datos.
3. Nivel Externo (Usuario):
El nivel externo se relaciona con el nivel de usuario en una base de datos. En
este nivel, se define cómo los usuarios finales y las aplicaciones interactúan con la
base de datos. Se crea una vista simplificada y específica de los datos para cada grupo
de usuarios o aplicaciones. Esto se logra mediante la creación de vistas
personalizadas, procedimientos almacenados y funciones que ocultan la complejidad
de la base de datos subyacente y permiten a los usuarios acceder a los datos de
manera conveniente y segura. Este nivel es esencial para proporcionar una interfaz
amigable y segura para los usuarios finales.
13
Sistemas de bases de datos actuales
15
Sistemas de bases de datos actuales
6 BD EN LA WEB
17
7 BIBLIOGRAFÍA
19
8 CITAS
Microsoft. (11 de 11 de 2023). SQL Server 2022. Obtenido de SQL Server 2022:
https://www.microsoft.com/es-es/sql-server/sql-server-2022
MySQL. (11 de 11 de 2023). MYSQL.COM. Obtenido de MYSQL.COM:
https://www.mysql.com/
PostgreSQL. (11 de 11 de 2023). PostgreSQL. Obtenido de PostgreSQL:
https://www.postgresql.org/
9 ÍNDICE DE TÉRMINOS
A S
ACID, 8 SGBD, 1, 2, 1, 2, 3, 4, 5, 12
ANSI, 12 software, 10
SPARC, 12
SQL, 1, 2, 10, 12, 15, 17
B
SSH, 9
BACKUPS, 10 SSL, 9
benchmark, 11
T
C
triggers, 10
Connector, 11
V
H
VPN, 9
hardware, 1, 12
host, 9
I
InnoDB, 8
M
MyISAM, 8
MySQL, 15, 17
N
NoSQL, 1, 15, 17
P
PHP, 17
Q
Query logs, 12
21
22