1. ¿Qué es una base de datos?
1.1. Una base de datos es un conjunto estructurado de datos organizados de manera que pueden ser fácilmente gestionados, consultados y actualizados.
1.2. Su propósito es almacenar información de manera eficiente y permitir su recuperación cuando sea necesario.
1.3. Una base de datos es, en general, integrada y compartida: – Integrada: unificación de datos independientes donde se elimina parcial o totalmente cualquier redundancia. – Compartida: varios usuarios pueden tener acceso a la misma parte de la BD en la forma que le interese a cada uno y además pueden hacerlo concurrentemente.
2. Ventajas de las BBDD
2.1. Acceso
2.1.1. Tamaño: Grandes cantidades de datos almacenadas en un solo espacio.
2.1.2. Acceso concurrente: Múltiples usuarios puede leer y modificar los datos al mismo tiempo.
2.1.3. Búsqueda: Los datos puede ser buscados y ordenados, luego pueden encontrarse rápidamente.
2.1.4. Estructura: La estructura de los datos puede modificarse si es necesario.
2.2. Integridad
2.2.1. Atomicidad
2.2.1.1. La atomicidad garantiza que ocurran todas las acciones en una transacción o que no ocurra ninguna.
2.2.1.2. Esta propiedad garantiza de que todas las acciones en una transacción tienen éxito o fallan como una sola unidad.
2.2.2. Consistencia
2.2.2.1. La consistencia garantiza que la base de datos pasa de un estado coherente al comienzo de la transacción a otro estado coherente al final de la transacción.
2.2.2.2. Estado coherente significa que se aplican restricciones de integridad de datos
2.2.3. Aislamiento
2.2.3.1. El aislamiento garantiza que una transacción tiene control total sobre la base de datos y es la única transacción que se ejecuta en este momento, aunque se estén ejecutando varias transacciones al mismo tiempo.
2.2.3.2. Esta propiedad garantiza que cuando se ejecutan varias transacciones al mismo tiempo, sus operaciones no interfieren entre sí. En otras palabras, si dos transacciones T1 y T2 se ejecutan simultáneamente, cada transacción ve una versión consistente de los datos, como si fuera la única transacción en ejecución en ese momento.
2.2.4. Persistencia
2.2.4.1. La persistencia garantiza que una vez que una transacción se completa con éxito, todos los cambios realizados por la transacción persisten incluso en el caso de una fallo del sistema después de que la transacción completa su ejecución
2.2.4.2. Esto generalmente significa que los cambios realizados por las transacciones completadas con éxito se guardan en el disco.
2.3. Seguridad
2.3.1. Si bien es cierto que los accesos a hojas de cálculo puede ser segurizados, una vez se consigue el archivo, los datos son totalmente accesibles.
2.3.2. Las bases de datos ofrecen: – Privilegios de usuarios. – Datos segmentados. – Acceso segurizado por medio del servidor.
3. Conceptos y elementos de una base de datos
3.1. Datos
3.1.1. Son los hechos básicos sobre los que se fundamentan las necesidades de información y de procesamiento de una compañía.
3.2. Hardware
3.2.1. Uno o más servidores, unidades de disco, video terminales, impresoras, unidades de cinta magnética, cables de conexión y otros equipos auxiliares y de conexión del equipamiento.
3.3. Software
3.3.1. – El Sistema de Gestión de Bases de Datos (SGBD) o DBMS (Data Base Management System), que actúa como intermediario entre la base de datos física y los usuarios. – Los programas de aplicación
3.4. Usuarios
3.4.1. – Los programadores de aplicaciones. – Los usuarios finales. – El administrador de bases de datos.
4. Diferencias entre sistemas de archivos y bases de datos
4.1. Fichero
4.1.1. - Propio de un usuario/aplicación - Redundancia - Difícil compartición de datos - Problemas de integridad - Problemas de seguridad
4.2. Base de Datos
4.2.1. - Múltiples usuarios/aplicaciones - Sin redundancia - Compartición de datos sencilla - Sin problemas de integridad - Independencia de datos
5. El Sistema de Gestión de Base de Datos (SGBD)
5.1. Conjunto de programas software que permiten gestionar una BD o modelar una parte del mundo real
5.2. Es el intermediario entre la BD física y el mundo exterior.
6. Objetivos de un SGBD
6.1. Independencia física
6.1.1. • Independencia entre las estructuras físicas de almacenamiento y las estructuras lógicas de datos que representan los conceptos mundo real. – Inmunidad de las aplicaciones a los cambios de la estructura de almacenamiento y de la estrategia de acceso. • Cambios a nivel físico (dividir un fichero en dos, cambio de organización, etc.) no deben implicar retocar los programas.
6.2. Independencia lógica
6.2.1. • Es la capacidad de modificar el esquema conceptual sin obligar a reescribir los programas de aplicación o la estructura física. – Cambios en el esquema conceptual >> añadir una entidad, añadir un atributo, modificar una relación, etc. • Permitir que cada grupo de trabajo vea los datos como le interese. • Permitir la evolución de la visión de cada grupo y de la visión global sin tener que modificar las aplicaciones existentes
6.3. Eficacia de los accesos a los datos
6.3.1. • El SGBD debe disponer de diferentes tipos de lenguajes que permitan un acceso eficaz a los datos: – Para desarrolladores >> lenguajes procedimentales eficaces. o Ejemplos: ▪ PL/PGSQL: MySQL. ▪ PL/SQL (Procedural Language/Structured Query Language) - Oracle Database. ▪ T-SQL (Transact-SQL) - Microsoft SQL Server. ▪ PL/pgSQL - PostgreSQL. o Estos lenguajes procedimentales permiten a los desarrolladores escribir procedimientos almacenados, funciones y (triggers).
6.4. Administración centralizada de los datos
6.4.1. Para permitir un control eficaz de los datos, resolver conflictos, optimizar los accesos y el uso de los medios informáticos. • Funciones del Administrador de BD: – Definir el esquema original de la BD. – Definir la estructura de almacenamiento y método de acceso. – Modificar el esquema y la organización física. – Definir los usuarios y controles de autorización. – Definir la estrategia de respaldo y recuperación. – Especificar las reglas de integridad. – Controlar el rendimiento
6.5. No redundancia de los datos
6.5.1. • En los sistemas de ficheros existen datos repetidos en diferentes ficheros. – Riesgo de incoherencias, desperdicio de espacio, necesidad de actualizaciones múltiples. • En una BD se trabaja con datos integrados en una estructura compartida por varias aplicaciones. – Diseño sin redundancias. – Controlados por el SGBD. • Por razones comerciales o técnicas puede admitirse algo de redundancia en las BD, siempre que esté controlada.
6.6. Integridad de los datos
6.6.1. • El SGBD vigilará que se respeten las reglas de integridad cuando se inserten o modifiquen o eliminen datos en la BD: – Reglas sobre datos elementales: pruebas de tipo, de redundancia, de rango, de comparación … – Reglas sobre registros: restricciones sobre el nº total de ocurrencias, sobre inserciones o borrados. – Reglas sobre asociaciones: regla de integridad referencial.
6.7. Compartición de los datos
6.7.1. • El SGBD permitirá que las aplicaciones compartan los datos de la BD simultáneamente sin que se produzcan interferencias. • La ejecución de operaciones simultáneas sin ningún control puede producir errores tales como pérdida de las mismas. • El SGBD dispondrá de mecanismos para evitar los errores y para que cada aplicación acceda a los datos como si fuera la única.
6.8. Seguridad de los datos
6.8.1. • Confidencialidad – Evitar que personas no autorizadas puedan acceder a la información. • Disponibilidad – La información y los recursos están disponibles para el personal autorizado. • Integridad – Guardar la totalidad de la información, cuyo contenido debe permanecer inalterado a menos que sea modificado por personal autorizado.
6.8.2. • Safety vs Security – Safety / Protección: es cuando los datos no están en peligro de pérdida o manipulación accidental. • Negligencia, mal uso o simplemente azar. – Security / Seguridad: es cuando los datos no están en peligro de robo o manipulación intencional. • Daño intencionado.