Gestión de Bases de Datos
Por Rafael Núñez
()
Información de este libro electrónico
encontrará una introducción al modelado conceptual de datos, al modelo relacional y a la transformación de los esquemas conceptuales en esquemas relacionales. Se completa el diseño de esquemas relacionales estudiando la teoría de la normalización, inherente al modelo relacional. _x000D_
_x000D_
También, se cubre la parte dinámica del modelo relacional, comenzando con el estudio del álgebra relacional como herramienta para manejar esquemas relacionales y como base para el lenguaje de consulta por excelencia en el modelo _x000D_
relacional: el lenguaje SQL._x000D_
_x000D_
El libro termina con el estudio de los problemas de los accesos concurrentes a las bases de datos relacionales y la solución propuesta para resolverlos: el procesamiento de transacciones.
Relacionado con Gestión de Bases de Datos
Libros electrónicos relacionados
Java Curso Práctico Calificación: 0 de 5 estrellas0 calificacionesAlmacenamiento de la información e introducción a sgbd. IFCT0310 Calificación: 0 de 5 estrellas0 calificacionesSgbd e instalación. IFCT0310 Calificación: 0 de 5 estrellas0 calificacionesUF1888 - Operaciones de mantenimiento y consulta de datos Calificación: 0 de 5 estrellas0 calificacionesSelección, instalación, configuración y administración de los servidores de transferencia de archivos. IFCT0509 Calificación: 0 de 5 estrellas0 calificacionesIntroducción A Cloud Computing Calificación: 0 de 5 estrellas0 calificacionesIngeniería de datos. Diseño, implementación y optimización de flujos de datos en Python Calificación: 0 de 5 estrellas0 calificacionesIngeniería inversa Calificación: 0 de 5 estrellas0 calificacionesUF1467 - Aplicaciones microinformáticas e internet para consulta y generación de documentación Calificación: 0 de 5 estrellas0 calificacionesUF1469 - SGBD e instalación Calificación: 0 de 5 estrellas0 calificacionesCalidad y sostenibilidad de sistemas de información en la práctica Calificación: 0 de 5 estrellas0 calificacionesUF1472 - Lenguajes de definición y modificación de datos SQL Calificación: 0 de 5 estrellas0 calificacionesAdministración de Sistemas Gestores de Bases de Datos (2ª Edición) Calificación: 0 de 5 estrellas0 calificacionesDimensionar, instalar y optimizar el hardware. IFCT0510 Calificación: 0 de 5 estrellas0 calificacionesDISEÑO Y GESTIÓN DE INTRANETS Calificación: 0 de 5 estrellas0 calificacionesComputación en la nube 2ed Calificación: 0 de 5 estrellas0 calificacionesHacking ético con herramientas Python Calificación: 0 de 5 estrellas0 calificacionesUF2176 - Definición y manipulación de datos Calificación: 0 de 5 estrellas0 calificacionesUF2175 - Diseño de bases de datos relacionales Calificación: 0 de 5 estrellas0 calificacionesAlfabetización digital e iniciación a la informática Calificación: 0 de 5 estrellas0 calificacionesDiseño conceptual de bases de datos en UML Calificación: 0 de 5 estrellas0 calificacionesSistemas Operativos: Implantación de Sistemas Operativos (CFGS ASIR) Calificación: 0 de 5 estrellas0 calificacionesComputadores para bases de datos. IFCT0310 Calificación: 0 de 5 estrellas0 calificacionesAdministración y monitorización de los sgbd. IFCT0310 Calificación: 0 de 5 estrellas0 calificacionesSalvaguarda y seguridad de los datos. IFCT0310 Calificación: 0 de 5 estrellas0 calificacionesSistemas de almacenamiento. IFCT0310 Calificación: 0 de 5 estrellas0 calificacionesUF1466 - Sistemas de almacenamiento Calificación: 0 de 5 estrellas0 calificacionesUF0348 - Utilización de las bases de datos relacionales en el sistema de gestión y almacenamiento de datos Calificación: 0 de 5 estrellas0 calificacionesSQL para Analistas de Datos: Serie Dominio de Datos Calificación: 0 de 5 estrellas0 calificacionesUF1473 - Salvaguarda y seguridad de los datos Calificación: 0 de 5 estrellas0 calificaciones
Bases de datos para usted
Bases de Datos con MySQL Calificación: 4 de 5 estrellas4/5Seguridad en Bases de Datos y Aplicaciones Web Calificación: 5 de 5 estrellas5/5Blockchain: Aplicaciones y Entendimiento En El Mundo Real Calificación: 2 de 5 estrellas2/5Modelamiento de base de datos: Metodología práctica y aplicada Calificación: 0 de 5 estrellas0 calificacionesLinux Essentials: una guía para principiantes del sistema operativo Linux Calificación: 5 de 5 estrellas5/5Blockchain: Aplicaciones y Entendimiento En El Mundo Real: Como el Blockchain Puede Ser Aplicado a Tu Mundo Calificación: 3 de 5 estrellas3/5Programación de Bases de Datos Relacionales (MF0226_3) Calificación: 0 de 5 estrellas0 calificacionesCurso de Programación y Análisis de Software Calificación: 4 de 5 estrellas4/5Administración de Sistemas Gestores de Base de Datos. 2ª Edición: BASES DE DATOS Calificación: 3 de 5 estrellas3/5Curso de Programación de Apps. Android y iPhone Calificación: 5 de 5 estrellas5/5Criptomoneda: Guía Para Principiantes Para Saber Invertir En Litecoin, Bitcoin Y Ethereum: Guía Para Principiantes Para Saber Invertir En Litecoin, Bitcoin Y Ethereum Calificación: 0 de 5 estrellas0 calificacionesEl Siguiente Nivel De Inversión En Criptomonedas Calificación: 4 de 5 estrellas4/5Gestión de bases de datos. 2ª Edición (GRADO SUPERIOR): BASES DE DATOS Calificación: 0 de 5 estrellas0 calificacionesBases de Datos (GRADO SUPERIOR): BASES DE DATOS Calificación: 5 de 5 estrellas5/5Conexión SQL SERVER & C# (Manual para principiantes) Calificación: 1 de 5 estrellas1/5Pon tu talento en acción: Ordena y construye tu espacio de desarrollo profesional Calificación: 0 de 5 estrellas0 calificacionesCreación de un sitio web con PHP y MySQL. 5ª Edición actualizada.: BASES DE DATOS Calificación: 5 de 5 estrellas5/5¿Cómo crear un data warehouse? Calificación: 0 de 5 estrellas0 calificacionesFundamentos de Programación y Bases de Datos Calificación: 0 de 5 estrellas0 calificacionesGestión de inventarios: Métodos cuantitativos Calificación: 0 de 5 estrellas0 calificacionesCurso de Introducción a la Administración de Bases de Datos Calificación: 3 de 5 estrellas3/5Desarrollo de Bases de Datos. 2ª Edición actualizada.: BASES DE DATOS Calificación: 4 de 5 estrellas4/5Transformación digital y administración del conocimiento para directores. Introducción a las tecnologías de la información Calificación: 0 de 5 estrellas0 calificacionesFundamentos de Programación y Bases de Datos: 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesAnálisis de datos con Power Bi, R-Rstudio y Knime Calificación: 0 de 5 estrellas0 calificacionesAdministración de servicios web: Anatomía del internet Calificación: 0 de 5 estrellas0 calificacionesIntroducción al modelado matemático con MatLab Calificación: 0 de 5 estrellas0 calificacionesSeguridad en Bases de Datos y Aplicaciones Web - 2º Edición Calificación: 0 de 5 estrellas0 calificacionesAprende Programación Web con PHP y MySQL Calificación: 4 de 5 estrellas4/5Proxmox. Curso Práctico Calificación: 0 de 5 estrellas0 calificaciones
Comentarios para Gestión de Bases de Datos
0 clasificaciones0 comentarios
Vista previa del libro
Gestión de Bases de Datos - Rafael Núñez
INTRODUCCIÓN
Origen y evolución de las bases de datos
Primera generación (años 50)
El fichero no existe, los datos solo existen dentro de los programas.
Nuevos soportes.
Cinta perforada y magnética. Acceso secuencial. Posibilidad de búsqueda de información.
Acceso a ficheros: lenguaje máquina y ensamblador.
Segunda generación (años 60)
Diálogo interactivo con la máquina.
Disco magnético acceso directo (finales 50).
Organización secuencial indexada (ISAM).
Sistemas de ficheros (sistemas orientados al proceso).
Segunda generación (años 60)
Sistemas de ficheros.
Asociación estática de los ficheros a los programas de forma individual.
Ficheros integrados en la aplicación y el hardware.
Ficheros a la medida de la aplicación.
Formatos de ficheros heterogéneos.
Redundancia y problemas de compartición.
Tercera generación (años 70, prerelacional)
Unificación de la información sin perder la perspectiva de usuarios.
Distinción entre estructura lógica global y vista de usuario.
Arquitectura a dos niveles.
Distinción entre significado y valor almacenado.
Evolución de las bases de datos.
En aplicaciones técnicas/militares: hechas a medida.
Años 60: primer software para un conjunto de aplicaciones: BOMP, CFMS, etc.
1962-64: introducción de estructuras de cadenas y anillos por Bachman (IDS → Codasyl).
1969 (Desde 1965): IMS/1 de IBM, inicialmente diseñada para el proyecto Apollo.
1968: CODASYL a partir del modelo de Bachman establece el concepto de conjunto (set) → Modelo RED.
Cuarta generación (años 80, relacional)
Nuevos productos: sistemas de Bases de Datos.
Control centralizado → evita y/o controla la redundancia.
Clara distinción entre el modelo lógico y el físico.
Modelo Relacional solo tiene representación lógica.
Alto grado de independencia de datos.
Almacenamiento transparente al usuario.
Lenguajes más potentes (Qué en lugar de Cómo).
Modelo relacional (Codd, 1969-1970).
Basado en el álgebra y la teoría de conjuntos y relaciones binarias.
Prototipos.
INGRES Universidad de Berkeley (1973-75).
SYSTEM-R de IBM (1974-77).
Sistemas comerciales.
INGRES de RTI (1980)
SQL/DS de IBM (1981).
ORACLE de RSI (1981).
DB2 de IBM (1983).
Quinta generación (años 90, postrelacional)
Bases de datos deductivas.
Bases de datos orientadas a objetos.
Objeto-Relacional.
Bases de datos activas.
Datos no estructurados.
Bases de datos NoSQL.
Concepto de Base de Datos. Objetivos
Sistemas orientados al Proceso
Inconvenientes
Redundancia.
Desaprovechamiento de espacio de almacenamiento.
Excesivo mantenimiento.
Inconsistencia de los datos.
Poca flexibilidad frente a cambios.
Baja productividad.
Limitación de recursos compartidos.
Medidas de seguridad difíciles.
Dificultad para hacer cumplir las normas de la empresa.
Aislamiento de los datos.
Atomicidad difícil de conseguir.
Anomalías de accesos concurrentes.
Imposible responder a demandas inesperadas de información.
Dificultad de acceso a los datos (los datos están, pero no pueden ser convenientemente accedidos).
Dependencia de datos y aplicaciones.
Objetivos de las BBDD
Independencia de datos (Flexibilidad).
Los cambios en las aplicaciones no deben imponer un nuevo diseño y viceversa.
Coste mínimo.
Adaptación rápida y con coste mínimo a las nuevas características de la empresa.
Datos compartidos.
Permite una mayor disponibilidad de los datos.
Versatilidad en la representación de los datos.
Distintos usuarios quieren ver de forma distinta los datos.
Objetivos
Capacidad de búsqueda.
Rapidez y flexibilidad en la exploración de la base de datos.
Consistencia y mínima redundancia.
Evitar repetición innecesaria de datos y la incoherencia entre estos.
Integridad.
Garantizar la exactitud y veracidad de los datos.
Tolerancia a fallos y seguridad.
Protección de los datos ante accesos no autorizados y fallos.
Definiciones (I)
Colección de datos interrelacionados. (Elmasri y Navathe, 1989).
Colección no redundante de datos que son compartidos por diferentes programas de aplicación. (Howe, 1983).
Conjunto de datos de la empresa memorizado en un ordenador,que es utilizado por numerosas personas y cuya organización estáregida por un modelo de datos. (Flory, 1982).
Modelo de Datos
Conjunto de herramientas conceptuales para describir los datos, las relaciones entre ellos, su semántica y las restricciones de consistencia que les afectan.
Tipos.
Semánticos (Conceptuales) (No tienen representación en máquina).
Lógicos (Convencionales) (Sí tienen representación en máquina).
Red (CODASYL).
Jerárquico.
Relacional.
Esquemas y Ejemplares
El resultado de representar una información en un determinado modelo de datos es un esquema de datos en ese modelo.
Subesquemas.
Esquema lógico.
Esquema físico.
Un ejemplar del esquema es la información que el esquema tiene en un momento determinado.
Definiciones (II)
Una base de datos es un conjunto de información almacenada en memoria auxiliar que permite acceso directo, y un conjunto deprogramas que manipulan esos datos.
Una base de datos es un conjunto exhaustivo, no redundante de datos estructurados, organizados independientemente de suutilización y su implementación en máquina, accesibles en tiempo real y compartibles por usuarios concurrentes que tienen necesidad de información diferente y no predecible en el tiempo.
Definiciones (y III)
"Colección o depósito de datos integrados, con redundancia controlada y con una estructura que refleje las interrelaciones y restricciones existentes en el mundo real; los datos, que han de sercompartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes a estas, y su definición y descripción, únicas para cada tipo de dato, han de estar almacenados junto con los mismos. Los procedimientos de actualización y recuperación, comunes y bien determinados, habrán de ser capaces de conservar la integridad, seguridad y confidencialidad del conjunto de los datos." (de Miguel y Piattini, 1999).
Independencia de los datos. Arquitectura
Garantía de consistencia frente a accesos concurrentes y tolerancia a fallos.
Concepto de Transacción
Conjunto de operaciones que deben realizarse de forma atómica (todas o ninguna).
Garantizar la consistencia de los datos.
Debe estar aislada de otras transacciones.
Debe perdurar en el tiempo, los cambios que produce deben quedar reflejados en la base de datos.
SQL.
COMMIT/ROLLBACK.
Implica la separación lógica y física de los datos en la base de datos.
Influencia en la arquitectura del sistema.
Grado de dependencia.
ANSI: La independencia de los datos es la capacidad de un sistema para permitir que las referencias a los datos almacenados, especialmente en los programas y en sus descriptores de los datos, estén aislados de los cambios y de los diferentes usos en el entorno de los datos, como pueden ser la forma de almacenar dichos datos, el modo de compartirlos con otros programas y cómo se reorganizan para mejorar el rendimiento del sistema de Bases de Datos.
Independencia de datos es (I)
La capacidad de un sistema de gestión de bases de datos para permitir que las referencias a los datos almacenados, especialmente en los programas y sus descripciones de los datos, estén aisladas de los cambios y de los diferentes usos en el entorno de los datos, como pueden ser:
La forma de almacenar dichos datos.
El modo de compartirlos con otros programas.
Cómo se reorganizan para mejorar el rendimiento del sistema de bases de datos.
Independencia de datos es (II)
La inmunidad de las aplicaciones ante cambios de la estructura de almacenamiento y de los métodos de acceso.
Tipos de independencia
De descripción.
Separación de la definición de datos a nivel físico y lógico.
De manipulación.
Independencia respecto a los caminos de acceso y soportes físicos.
Independencia lógica
Capacidad para modificar el esquema lógico sin provocar que los programas de aplicación tengan que reescribirse.
Independencia física
Capacidad para modificar el esquema físico sin provocar que los programas de aplicación tengan que reescribirse.
¿Cómo se consigue la independencia de datos?
Arquitectura a tres niveles.
Propuesta por el comité ANSI/X3/SPARC (1975).
Nivel externo.
Nivel conceptual.
Nivel interno.
Asocia a cada nivel un esquema.
Esquema externo.
Esquema conceptual.
Esquema interno.
Arquitectura a tres niveles.
Nivel Externo: visión que de la base de datos tiene un usuario o aplicación en particular. Habrá tantas vistas de la base de datos como exijan las diferentes aplicaciones. Las vistas se derivan directamente del esquema conceptual, o de otras vistas, y contienen una descripción de los elementos de datos y sus interrelaciones orientadas al usuario o aplicación y de las que se compone la vista. Una misma vista puede ser utilizada por varias aplicaciones.
Nivel Conceptual: contiene el diseño conceptual de la base de datos, que implica el análisis de las necesidades de información de los usuarios y las clases de datos necesarias para satisfacer dichas necesidades. El resultado del diseño conceptual contiene la descripción de todos los datos y las interrelaciones entre ellos, así como las restricciones de integridad y de confidencialidad.
Nivel Interno: en él se define la estructura física de la base de datos: dispositivos de almacenamiento físico, direcciones físicas, estrategias de acceso, relaciones, índices, apuntadores, etc. Es responsabilidad de los diseñadores de la base de datos física. Ningún usuario, en calidad de tal, tiene conocimiento de este nivel.
Esquema Interno (Nivel Interno)
Cómo se almacenan los datos. Cómo se accede a ellos.
Estructuras de datos complejas a bajo nivel.
Es el nivel más próximo al almacenamiento físico.
Trata los datos como registros internos (no como bloques de datos).
Contiene información sobre:
Estructuras de datos usadas.
Mecanismo de acceso.
Distribución de registros en el espacio lógico.
Esquema Lógico (Nivel Conceptual)
Qué datos se almacenan. Cómo están relacionados.
Vista lógica general de todos los datos.
Interrelaciones entre los datos.
Uso de un modelo de datos que proporcione un nivel de abstracción de la vista interna.
Uso de un lenguaje de definición de datos (DDL).
Nivel de Vistas (Nivel Externo)
Solo parte de la base de datos.
Comprende las vistas individuales de los usuarios (subesquemas). Muchos usuarios necesitan ver solo una parte de la base de datos.
Muchos usuarios necesitan vistas distintas de los mismos datos.
Para simplificar la interacción con el sistema, se define una abstracción en el nivel de vistas.
El sistema puede proporcionar muchas vistas de la misma base de datos.
Interfaces entre niveles
Los proporciona el SGBD (DBMS).
Transformaciones entre los esquemas.
Consultas y actualizaciones.
DML (Lenguaje de Manipulación de Datos).
Lenguaje interactivo.
Precompilador.
Extensión del compilador.
Interfaces entre niveles
Creación de las estructuras.
DDL (Lenguaje de Definición de Datos).
DDL interno.
DDL conceptual.
DDL externo.
DDL + DML = DSL (sublenguaje de datos).
DML → todos los usuarios.
DDL → DBA (Administrador de la base de datos).
Sistema de Gestión de Bases de Datos
Sistemas de Gestión de BBDD (SGBD)
Propósito: proporcionar una visión abstracta de los datos (ocultar los detalles de cómo se almacenan y se mantienen los datos).
Conjunto de programas que actúa como intermediario entre los usuarios y los datos.
Recoge las peticiones de los usuarios y responde a ellas.
Gestión y recuperación eficiente: estructuras de datos complejas.
El sistema oculta la complejidad para facilitar la interacción con los usuarios a través de los tres niveles de abstracción.
Usuarios de un SGBD
Usuarios Informáticos.
Diseñadores.
Administradores.
Analistas y programadores.
Usuarios Finales.
Características
Descripción de la BD exterior a los programas y gestionada por el SGBD.
Los programas no leen ni escriben directamente sobre la estructura interna de la BDD.
Gestión de:
Control de accesos concurrentes.
Control de autorizaciones de acceso.
Reconstrucción y/o restauración de la BD (tolerancia a fallos).
El Catálogo o Diccionario de datos
Capacidad del SGBD de describir los datos que contiene.
Es una base de datos que contiene información sobre los datos almacenados en la propia base de datos (metadatos).
Es una base de datos del sistema (no de usuario).
Debe suministrar documentación única y actualizada de forma que pueda ser usada para obtener información sobre los tipos de datos almacenados y cómo se deben usar.
Contiene los esquemas y las correspondencias entre ellos (externo / conceptual / interno).
Componentes de un SGBD
Procesador de I/O.
Directamente asociado al usuario.
Toma las órdenes y muestra la respuesta.
Analizador.
Análisis sintáctico de la orden→Diccionario.
DDL → Actualización del Diccionario.
Lenguaje embebido → Precompilador.
Control de autorizaciones.
Chequeo de autorizaciones→Diccionario.
Obtención de código intermedio.
Componentes de un SGBD.
Procesador de actualizaciones y control de integridad.
Ejecución de la actualización.
Control de consistencia.
Procesador de consultas y optimizador.
Transforma la consulta en términos conceptuales.
Reformulación para la optimización del acceso.
Generador de código ejecutable.
Secuencia de lecturas y escrituras en disco.
Gestor de transacciones.
Sincronización de los accesos concurrentes.
Gestor de recuperación.
Recuperación del estado de la BDD previo al fallo.
Gestor de