BASE DE DATOS
CIENCIAS DE LA EDUCACIÓN
Descripción breve
Este folleto contiene una breve descripción de los términos más
importantes de la construcción de una base de datos
Juan Luis Saavedra Pintado
[email protected] 1
Contenido
BASE DE DATOS.......................................................................................................... 1
Capítulo 2 Base de Datos.............................................................................................. 1
Archivos................................................................................................................. 1
Planillas de Datos....................................................................................................... 3
Enfoque de Base de Datos............................................................................................ 3
Elementos............................................................................................................... 4
Personal.............................................................................................................. 4
Operacionales....................................................................................................... 4
Sistemas Gestores de Bases de Datos............................................................................... 1
Funciones Generales................................................................................................... 1
Componentes........................................................................................................... 1
El procesador de consultas......................................................................................... 1
El gestor de la base de datos....................................................................................... 1
El gestor de archivos................................................................................................ 1
i. MyISAM....................................................................................................... 2
ii. InnoDB........................................................................................................ 2
iii. Memory....................................................................................................... 2
iv. ASM........................................................................................................... 2
El preprocesador del LMD.......................................................................................... 3
El compilador del LDD.............................................................................................. 3
Diccionario de datos................................................................................................. 3
Indices................................................................................................................ 3
Ventajas.............................................................................................................. 4
Desventajas.................................................................................................. 5
ACID.............................................................................................................. 5
Teorema CAP........................................................................................................... 6
C-Consistencia.......................................................................................................... 6
Disponibilidad........................................................................................................ 6
P- Tolerancia a particiones.......................................................................................... 6
Modelos BASE.......................................................................................................... 7
Laboratorio 1......................................................................................................... 7
Laboratorio 2......................................................................................................... 7
Postgres................................................................................................................. 7
PgAdmin4............................................................................................................... 7
DBeaver............................................................................................................... 11
2
Mongodb.............................................................................................................. 13
Bibliografía....................................................................................................... 14
Gráfico 1.................................................................................................................... 3
Gráfico 2.................................................................................................................... 4
Gráfico 3.................................................................................................................... 5
Gráfico 4.................................................................................................................... 1
Gráfico 5.................................................................................................................... 3
Gráfico 6.................................................................................................................... 4
Gráfico 7.................................................................................................................... 8
Gráfico 8.................................................................................................................... 9
Gráfico 9.................................................................................................................. 10
Gráfico 10................................................................................................................ 11
Gráfico 11................................................................................................................. 12
Gráfico 12................................................................................................................ 12
Gráfico 13................................................................................................................ 13
BASE DE DATOS
Una base de datos es una recopilación de datos sistemática y almacenada electrónicamente.
Puede contener cualquier tipo de datos, incluidos palabras, números, imágenes, vídeos y archivos.
3
Puede usar un software denominado sistema de administración de bases de datos (DBMS) para
almacenar, recuperar y editar datos.
Capítulo 2 Base de Datos
Gráfico 1
El almacenamiento de datos es y ha sido relevante desde siempre, antes de la era
informática los datos eran capturados y almacenados en documentos y planillas de todo tipo.
Luego, se almacenan por excelencia en planillas digitales (recordarán Excel, Lotus y Multiplan) 1,
donde el problema siempre ha sido el mismo, cómo asegurar el ingreso de información correcta y
cómo estructurar la información.
Siempre se ha intentado recopilar los datos en forma ordenada y sistemática de forma que
este almacenamiento contribuya a la extracción de información relevante.
Archivos
En el enfoque de archivos tradicionales (documentos) los datos se almacenan en archivos
individuales, exclusivos para cada aplicación particular.
Hoy en día los documentos tradicionales para el almacenamiento de datos es la planilla de
Microsoft Excel y su competidor más cercano Google Sheet. Muchos departamentos dentro de
organizaciones usan estos archivos para la carga de datos, la razón sigue siendo su simplicidad y
rápidez para ingresar datos, para usuarios no necesariamente especialistas en TI (SAAVEDRA,
2005).
4
Gráfico 2
La información en estas planillas se ingresa en forma tabular con conceptos de fila y
columnas que se han agregado también a su uso en las bases de datos.
Es muy fácil ingresar datos en estas planillas de datos y luego cargar esta información para
análisis en programas de análisis o en bases de datos especializadas. Generalmente debe
exportarse estos datos en un formato más simple denominado CSV (“comma separated value”).
En estas planillas los datos pueden ser una alta fuente de error y la actualización de los
archivos es más lenta que en una base de datos. Los problemas de utilización de estas planillas se
resumen en (solo una muestra):
redundancia
Al no existir algún tipo de cntrol sobre el ingreso más que el del usuario, es muy normal que existan
este tipo de errores de duplicidad en los registros.
error de ingreso
Errores comunes en el ingreso manual de datos, errores de tipo ortográfico, números mal
ingresados, etc.
estandarización Es el tipo de error más común y se ejemplifica en el ingreso de
fechas donde a pesar de poder regir el formato de entrada, no impide que se ingrese otros formatos
que si bien pueden ser correctos,interfieren en la foma de incluirse en una base de datos. 21-12-
2021 o bien 21/02/2021, o 21/2/2021).
seguridad
No hay un control de uso y acceso por usuarios a los datos, más que el control al archivo físico en
el computador local o servidor.
5
Planillas de Datos
Una mención especial debe hacerse al respecto del uso de planillas electrónicas como
almacén de datos. Si bien presentan las desventajas antes descritas, también permiten en forma
fácil realizar un ingreso de datos masivo y simple. Y las principales aplicaciones (Microsoft Excel y
Google Sheet) agregan herramientas de análisis para este tipo de documento.
Gráfico 3
Sin embargo, no debe confundirse este tipo de documentos con bases de datos como suele
hacerse. Una planilla no es una base de datos. Contiene datos efectivamente pero constituye un
repositorio de datos.
Enfoque de Base de Datos
Gran parte de los errores mencionados anteriormente puden ser evitados utilizando una
base de datos para la captura y almacenamiento de datos. Para lograr un efectivo tratamiento del
recurso dato las organizaciones han optado por trabajar con Bases de Datos que permiten tener un
conjunto de datos relacionados y almacenados en forma permanente y usados con variados
propósitos por múltiples usuario y que permiten:
Integrar: significa que los diferentes archivos de datos han sido lógicamente
organizados para reducir la redundancia de datos y facilitar el acceso a ellos.
Compartir: significa que todos los usuarios calificados tienen acceso a los mismos
datos, para usarlos en diferentes actividades.
6
En una Base de Datos este conjunto de datos relacionados (actualmente también incluye
procedimientos y funciones que operan sobre esos datos) son almacenados en forma permanente y
usados con variados propósitos por múltiples usuarios.
En forma de síntesis se puede definir una base de datos como
Elementos
Personal
Desarrolladores de Sistemas o Seguridad de Datos: el SGBD
Aplicaciones: personas como analistas de provee de mecanismos para controlar el
sistemas y programadores que diseñan acceso y para definir qué operaciones puede
nuevos programas de aplicación. realizar cada usuario. Además, debe proveer
Administradores de Base de Datos: de mecanismos de respaldo y recuperación
profesional responsables por el diseño de la de la Base de Datos, También debe manejar
base de datos y por fijar normas que el acceso concurrente a la Base de Datos.
resguardan la seguridad e integridad de ella. Base de Datos: Es el lugar físico
Usuarios Finales: personas de la donde quedan los datos de un usuario. Puede
organización que agregan, borran y modifican ser una Base de Datos Centralizada
datos en la base de datos y que consultan o (completamente almacenada en un
reciben información desde la base de datos. computador central) o una Base de Datos
Distribuida (donde los datos están
Operacionales almacenados en distintos nodos de una red).
Sistema Administrador de Base de Repositorio: Lugar donde quedan las
Datos: El SGBD o DBMS es un software definiciones de los datos, formatos de
(conjunto de programas) que permite manejar pantallas, reportes y definiciones de otros
una o más Bases de Datos que facilita el sistemas de la organización. Se le conoce
proceso de definir, construir y manipular también con el nombre de Diccionario de
Bases de Datos. Sus principales funciones Datos.
son: Definición de Datos (se puede realizar a
Interface Usuarios/Sistema:
través del lenguaje de definición de datos o
Consiste de lenguajes o paquetes
DDL) que provee el DBMS.
generadores de interfaces, reportes, etc. que
Manipulación de Datos: permite permiten a los usuarios interactuar con la
almacenar, modificar y recuperar los datos de Base de Datos.
la Base de Datos. Esto se logra a través del
lenguaje de manipulación de datos o DML
provisto por el SGBD.
7
Programa de Aplicaciones: Programas computacionales usados para crear y mantener
las Base de Datos, además para proveer información a los usuarios.
Herramientas CASE (Computer-Aided Software Engineering): En un nivel más alto
estas son herramientas automatizadas que apoyan el desarrollo de software, especialmente en lo
que respecta al diseño de la Base de Datos y sus programas de aplicación.
Sistemas Gestores de Bases de Datos
Las principales funciones del Sistema Gestor de Bases de datos SGBD (en inglés Database
Management System, “DBMS” o también Relational Database management System, “RDBMS”, se
aplicará ene ste libro DBMS en forma indistinta) son:
Definición de Datos: (se puede realizar a través del lenguaje de definición de datos o DDL)
que provee el DBMS.
Manipulación de Datos: permite almacenar, modificar y recuperar los datos de la Base de
Datos. Esto se logra a través del lenguaje de manipulación de datos o DML provisto por el DBMS
Seguridad de Datos: el DBMS provee de mecanismos para controlar el acceso y para
definir qué operaciones puede realizar cada usuario. Además, debe proveer de mecanismos de
respaldo y recuperación de la Base de Datos, También debe manejar el acceso concurrente a la
Base de Datos (LÓPEZ, 2015).
Funciones Generales
Permitir a los usuarios almacenar datos, acceder a ellos y actualizarlos, ocultando
su estructura física.
Proporcionar un catálogo (diccionario de datos) accesible por los usuarios.
Proporcionar un mecanismo que garantice el procesamiento de las transacciones.
Proporcionar un mecanismo que realice el control de la concurrencia.
Proporcionar un mecanismo para recuperación ante fallos.
Proporcionar un mecanismo de seguridad.
Integrarse con algún software de comunicación.
Encargarse de mantener las reglas de integridad.
Encargarse de mantener la independencia entre los programas y la estructura de la
base de datos.
Proporcionar herramientas para administrar la base de datos.
8
Componentes
Gráfico 4
El procesador de consultas
Es el componente principal de un SGBD. Transforma las consultas en un conjunto de
instrucciones de bajo nivel que se dirigen al gestor de la base de datos.
El gestor de la base de datos
Es la interface con los programas de aplicación y las consultas de los usuarios. El gestor de
la base de datos acepta consultas y examina los esquemas externo y conceptual para determinar
qué registros se requieren para satisfacer la petición. Entonces el gestor de la base de datos realiza
una llamada al gestor de archivos para ejecutar la petición (HERRERA, 2021).
El gestor de archivos
El gestor de archivos o motor de almacenamiento (storage-engine) maneja los archivos en
disco en donde se almacena la base de datos y se encarga de almacenar, manejar y recuperar la
información contenida en una tabla. Este gestor establece y mantiene la lista de estructuras e
índices definidos en el esquema interno. Si se utilizan archivos dispersos, llama a la función de
dispersión para generar la dirección de los registros. Pero el gestor de archivos no realiza
directamente la entrada y salida de datos. Lo que hace es pasar la petición a los métodos de
acceso del sistema operativo que se encargan de leer o escribir los datos en el buffer del Sistema.
Sin embargo, los hay que gestionan en forma autónoma los archivos relacionados con la base de
9
datos. La gestión de archivos es dependiente del tipo de motor de base de datos que se utilice.La
gestión de archivos es dependiente del tipo de motor de base de datos que se utilice 2.
i. MyISAM
a. En MySQL si se utiliza el que esta por defecto MyISAM, cada tabla se almacena en tres
(3) archivos distintos (.frm .MYD .MYI). Esta permite una mayor velocidad al recuperar
la información de las tablas por lo que se utiliza en aplicaciones donde predomina la
lectura mediante el uso de “SELECT” que las escrituras mediante UPDATE o INSERT.
No realiza comprobaciones de integridad referencial ni ejecuta bloqueo de filas pero si
de tablas. Por ello no admite transacciones.
ii. InnoDB
a. Por otro lado si se requieren características ACID, soportar transacciones y el bloqueo
de registros se utiliza el modelo InnoDB para el almacenamiento. Este es el indicado
para aplicaciones con preponderancia de escrituras con INSERT o UPDATE.
b. InnoDB permite un almacenamiento transaccional con capacidad de confirmación
(COMMIT) y de cancelación (ROLLBACK) además de recuperación ante fallos.
También efectúa bloqueos a nivel de filas.
iii. Memory
a. Crea tablas en memoria por lo que es bastante rápido. No admite transacciones y se
utiliza para crear tablas temporales y busquedas rápidas. Como esta basado en
memoria los datos se pierden al reiniciar la base de datos.
10
iv. ASM
a. Oracle utiliza un sistema de gestión de archivos más compleja denominado Automatic
Storage Management (ASM) 3 pero que facilita la administración. Implementa archivos
para diversas funciones (archivos de control, de datos, de parámetro, de contraseñas,
de recuperación, de recuperación en línea, de archivado de recuperación en línea, y
registros de alertas y archivos de seguimiento) y un gestor ASM que organiza todos los
archivos y discos para que trabajen como una sola entidad.
Gráfico 5
El preprocesador del LMD
Lenguaje de Manejo de Datos. Convierte las sentencias del LMD embebidas en los
programas de aplicación, en llamadas a funciones estándar escritas en el lenguaje anfitrión. El
preprocesador del LMD debe trabajar con el procesador de consultas para generar el código
apropiado.
El compilador del LDD
Lenguaje de Definición de Datos convierte las sentencias del LDD en un conjunto de tablas
que contienen metadatos. Estas tablas se almacenan en el diccionario de datos. El DDL sirve para
definir estructuras de almacenamiento.
Convierte las sentencias DDL en archivos físicos que almacenan la estructura lógica, esto
es, la información acerca de los datos que se almacenaran. Tipos de datos, atributos de las tablas,
restricciones y la relación con otras tablas.
Diccionario de datos
Contiene la información referente a la estructura de la base de datos. El gestor del
diccionario controla los accesos al diccionario de datos y se encarga de mantenerlo. La mayoría de
los componentes del SGBD acceden al diccionario de datos.
Indices
Permiten un rápido acceso a registros que contienen valores específicos.
11
Gráfico 6
Ventajas
Mínima Redundancia de Datos: Al integrar los datos en una sola estructura lógica y
almacenando cada ocurrencia de un ítem de dato en un solo lugar de la Base de Datos, se
reduce la redundancia.
Consistencia de Datos: Al controlar la redundancia de datos, se reduce enormemente la
inconsistencia, dado que al almacenarse un dato en un solo lugar, las actualizaciones no
producen inconsistencia.
Integración de Datos: En una Base de Datos, los datos son organizados de una manera
lógica que permite definir los relacionamientos entre ellos.
Compartir Datos: Una Base de Datos es creada para ser compartida por todos los
usuarios que requieran de sus datos; muchos sistemas de Base de Datos permiten a
múltiples usuarios compartir la Base de Datos en forma concurrente, aunque bajo ciertas
restricciones.
Esfuerzo por Estandarización: Establecer la función de Administración de Datos es una
parte importante de este enfoque, su objetivo es tener la autoridad para definir y fijar los
estándares de los datos, así como también posteriores cambios de estándares.
Facilitar el Desarrollo de Aplicaciones: Este enfoque reduce el costo y tiempo para
desarrollar nuevas aplicaciones.
12
Controles de Seguridad, Privacidad e Integridad: El control centralizado que se ejerce
bajo este enfoque, a través de la función Administración de Base de Datos, puede mejorar
la protección de datos en comparación con archivos tradicionales Flexibilidad en el acceso:
Este enfoque provee múltiples formas de recuperación de cada ítem de dato, permitiendo a
un usuario mayor flexibilidad para ubicar datos que en archivos tradicionales.
Independencia de los Datos: Permite cambiar la organización de los datos sin necesidad
de alterar los programas. Es uno de los objetivos principales del enfoque de Base de Datos.
Reducción de la Mantención de Programas: Como los datos son independientes de los
programas se reduce la necesidad de modificar (mantener) los programas aún cuando
existan una modificación constantes de éstos.
Desventajas
Personal Especializado: Generalmente se necesita contratar o capacitar a personas para
convertir sistemas existentes, desarrollar y estimar nuevos estándares de programación,
diseñar Bases de Datos y administrarlas.
Necesidad de Respaldos: Al tener mínima redundancia se requiere contar con respaldos
independientes que ayuden a recuperar archivos dañados, los DBMS generalmente
proveen de herramientas que permiten respaldar y recuperar archivos.
Problemas al compartir Datos: El acceso concurrente a los datos puede causar datos no
consistentes o bloqueo de datos (deadlock). Los DBMS deben ser diseñados para prevenir
o detectar tales interferencias, de una forma que sea transparente para el usuario.
Conflicto Organizacional: El mantener los datos en una Base de Datos para ser
compartidos, requiere de un consenso en la definición y propiedad de los datos como
también en la responsabilidad por la exactitud de ellos.
ACID
En bases de datos se utiliza el termino ACID para definir a aquellas que cumplen ciertas
características en sus transacciones. Una transacción es una serie de procesos que se
aplican dentro de una base de datos en forma secuencial u ordinal y que debe realizarse de
una vez y sin alterar la estructura de los datos.
Una base de datos es cumplimentaria ACID si presenta estas cuatro propiedades dentro de
las transacciones de una BD:
Atomicidad
Referida a la propiedad que determina que la operación se haya realizado o no, pero nunca
a medias. Se ejecuta la operación completa con todos sus pasos o no se ejecuta del todo.
Consistencia
Solo se ejecutan las operaciones que no afectan la integridad de la base de datos.
13
Cualquier operación que se lleva a cabo será de un estado válido a otro con datos
consistentes.
Aislamiento
(Isolation) Cada operación es única y no afecta a otras aunque se realicen sobre la misma
información.
Durabilidad
Asegura que la operación una vez realizada, es persistente y no se podrá deshacer a pesar
de fallos en el sistema.
Teorema CAP
El teorema CAP establece algunos atributos deseados en todo gestor de base de datos que
nos permita manejar los datos con cierta seguridad y confianza en ellos. Son tres características
que los motores de bases de datos tratan de equilibrar, en el sentido que algunos poseen mayor
fortaleza en alguno de los tres términos
involucrados; consistencia (Consistency), disponibilidad (Availability), tolerancia a particiones
(Partitioning tolerancy).
Esta regla acuñada por Eric Brewer durante un simposio de computación distribuida en el
año 2000.
C-Consistencia
Disponibilidad
P- Tolerancia a particiones
Por regla general las bases de datos pueden garantizar solo dos de los tres atributos lo que
origina las siguientes combinaciones:
CA: Consistencia y Disponibilidad - Se garantiza el acceso a la información y el valor del
dato es consistente (igual) para todas las peticiones atendidas; de haber cambios, se mostrarán
inmediatamente. Sin embargo, la partición de los nodos no es tolerada por el sistema de forma
simultánea.
Bases de datos relacionales: MySQL, PostgreSQL, Oracle, SQL Server, etc.
AP: Disponibilidad y Tolerancia a la partición - Se garantiza el acceso a los datos y el
sistema es capaz de tolerar (gestionar) la partición de los nodos, pero dejando en segundo plano la
consistencia de los datos, ya que no se conserva y el valor de dato no estará replicado en los
diferentes nodos al instante.
Las bases que adotan este modelo son principalmente aquellas construidas para manejar
un gran volumen de datos en entornos distribuidos, con múltiples nodos de datos interconectados
entre sí.
14
CP: Consistencia y Tolerancia a la partición - Se garantiza la consistencia de los datos
entre los diferentes nodos y la partición de los nodos se tolera, pero sacrificando la disponibilidad
de los datos, con lo cual, el sistema puede fallar o tardar en ofrecer una respuesta a la petición del
usuario.
La elección de la base adecuada está en directa relación con lo que el negocio puede
aceptar respecto de los datos administrados. Un ejemplo son los bancos donde prevalece el
modelo CP, esto es, que la información debe ser siempre consistente y no admitir fallos, y dejando
la disponinbilidad en segundo plano. Podemos permitir estar si acceso a los datos por un tiempo
(caso de falla), pero estos datos no pueden verse alterados de ninguna manera (GARCÍA, 2019).
Lo anterior tambien aplicará en el entorno sanitario donde se requiere alta seguridad de los
datos administrados por sobre la disponibilidad (¿cuantas veces ha oído que se ha caído el
sistema?).
Modelos BASE
Laboratorio 1
Genere una búsqueda con la información general de las bases de datos más relevantes en
el mercado. Que responda a las siguientes preguntas:
Nombre y fabricante
Año de creación
Área de uso principal (industrias relevantes)
Características más relevantes
Laboratorio 2
Instale en su computador personal los siguientes motores de bases de datos y programas
complementarios.
Postgres
PostgreSQL es un motor de base relacional
PgAdmin4
Es el editor y herramienta de desarrollo más utilizado para PostgreSQL.
pgAdmin 4 es una reescritura completa de pgAdmin, construida con Python y
Javascript/jQuery. Es un entorno de ejecución de escritorio escrito en NWjs permite que se ejecute
de forma independiente para los usuarios individuales, el código de la aplicación web puede ser
desplegado directamente en un servidor web para su uso por uno o más usuarios a través de su
navegador web.
15
Gráfico 7
16
Gráfico 8
17
Gráfico 9
18
Gráfico 10
DBeaver
Herramienta gratuita de bases de datos multiplataforma para desarrolladores,
administradores de bases de datos, analistas y todas las personas que necesiten trabajar con
bases de datos. Soporta todas las bases de datos populares: MySQL, PostgreSQL, SQLite, Oracle,
DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Apache Hive, Phoenix, Presto, etc.
19
Gráfico 11
Gráfico 12
20
Gráfico 13
Mongodb
MongoDB es una base de datos distribuida, basada en documentos y de uso general que
ha sido diseñada para desarrolladores de aplicaciones modernas y para la era de la nube.
MongoDB es una base de datos documental, lo que significa que almacena datos en forma
de documentos tipo JSON. Creemos que esta es la forma más natural de concebir los datos; frente
al tradicional modelo de filas y columnas, esta es mucho más expresiva y potente.
CÓDIGO NOMBRE APELLIDO CORREO TELÉFONO
A001 PEDRO PEREZ pedroperez@hotmail. 0945786228
com
A002 JUAN ORTIZ
[email protected] 0954235696
A003 LUIS TORRES
[email protected] 0945873215
m
21
Bibliografía
GARCÍA, L. (2019). LA PROGRAMACIÓN Y LAS BASES DE DATOS. GUAYAQUIL:
FEBRES CORDERO.
HERRERA, D. (2021). HERRAMIENTAS PARA EL ESTUDIO Y GESTIÓN DE LA
INFORMACIÓN. CUENCA: SANTIAGO.
LÓPEZ, P. (2015). INTRODUCCIÓN A LAS BASES DE DATOS. AMBATO: UTPL.
SAAVEDRA, J. L. (2005). BASE DE DATOS RELACIONALES. DURÁN: DON BOSCO.
22
ANEXO
S
Ventas
1er trim. 2º trim. 3er trim. 4º trim.