0 calificaciones0% encontró este documento útil (0 votos)
112 vistas54 páginas
El documento describe los conceptos de base de datos, sistema manejador de base de datos (SMBD) y sistema de gestión de bases de datos (SGBD). Explica que un SMBD es un software que permite a los usuarios definir, crear y mantener una base de datos y proporciona un acceso controlado a la información almacenada. También cubre las características y funcionalidades clave de los SMBD como la independencia lógica, la seguridad, la integridad y la recuperación de datos.
El documento describe los conceptos de base de datos, sistema manejador de base de datos (SMBD) y sistema de gestión de bases de datos (SGBD). Explica que un SMBD es un software que permite a los usuarios definir, crear y mantener una base de datos y proporciona un acceso controlado a la información almacenada. También cubre las características y funcionalidades clave de los SMBD como la independencia lógica, la seguridad, la integridad y la recuperación de datos.
El documento describe los conceptos de base de datos, sistema manejador de base de datos (SMBD) y sistema de gestión de bases de datos (SGBD). Explica que un SMBD es un software que permite a los usuarios definir, crear y mantener una base de datos y proporciona un acceso controlado a la información almacenada. También cubre las características y funcionalidades clave de los SMBD como la independencia lógica, la seguridad, la integridad y la recuperación de datos.
datos y los sistemas manejadores de base de datos. Clase 2: SMBD - DBMS.
Ing. Ricardo Tillero
SMBD - DBMS - SGBD • SMBD – Sistema Manejador de Base de Datos.
• DBMS – Data Base Manager System.
• SGBD - Sistema de Gestión de Bases de Datos.
SMBD • Un sistema manejador de bases de datos (SMBD) o DataBase Management System (DBMS) es una colección de software muy específico, cuya función es servir de interfaz entre la base de datos, el usuario y las distintas aplicaciones utilizadas.
• Los Sistemas Manejadores de Bases de Datos, son
aplicaciones que permiten a los usuarios definir, crear y mantener la base de datos y proporcionan un acceso controlado a la misma. Objetivo del SMBD • El objetivo del SMBD es precisamente el de manejar un conjunto de datos para convertirlos en información relevante para la organización, ya sea a nivel operativo o estratégico. Lo hace mediante una serie de rutinas de software para permitir su uso de una manera segura, sencilla y ordenada.
• Su uso permite realizar un mejor control a los
administradores de sistemas y, por otro lado, también obtener mejores resultados a la hora de realizar consultas que ayuden a la gestión empresarial mediante la generación de la tan perseguida ventaja competitiva. Objetivos del SMBD Objetivos del SMBD Características y Funcionalidad del SMBD • Un sistema SMBD es sinónimo de independencia, una redundancia mínima, consistencia de la información (control de la concurrencia), abstración de la información sobre su almacenamiento físico, así como un acceso seguro y la adopción de las medidas necesarias para garantizar la integridad de los datos.
• Estas particularidades son algunos de los rasgos definitorios de
un SMBD, cuyos procesos esenciales son la manipulación y construcción de la bases de datos, así como la definición de los mismos. Son características que, a su vez, facilitan el cumplimiento de una serie de funciones relacionadas con muchos de los aspectos apuntados, entre otros la definición de los datos, su fácil manipulación, una rápida gestión, poder representar relaciones complejas entre datos y otros aspectos relacionados con la seguridad y validez de los datos. Características del SMBD • Los usuarios pueden acceder a la información usando herramientas específicas de consulta y de generación de informes, o bien mediante aplicaciones al efecto. • Proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. • Permiten presentar la información de la base de datos en variados formatos. • La mayoría incluyen un generador de informes. • También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas. • Generalmente se accede a los datos mediante lenguajes de consulta, lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones. Características del SMBD • También simplifican las consultas y la presentación de la información. • Permiten controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo del sistema y hacer copias de seguridad. • Las bases de datos y los sistemas para su gestión son esenciales para cualquier área de negocio, y deben ser gestionados con esmero. Funcionalidades del SMBD • Definir la Base de Datos mediante el Lenguaje de Definición de Datos.
• Permitir la inserción, eliminación, actualización, consulta de los
datos mediante el Lenguaje de Manejo de Datos.
• Separar la descripción y manipulación de la data, permitiendo
un mayor entendimiento de los objetos, además de flexibilidad de consulta y actualización de los datos.
• Gestionar la estructura física de los datos y su almacenamiento.
• Proporcionar mecanismos de vistas de datos.
Funcionalidades del SMBD • Proporcionar acceso controlado a la base de datos: Seguridad Integridad Control de Recurrencia (Acceso Compartido) Control de Recuperación Diccionario de datos o Catálogo
• Eliminar la redundancia de datos, establecer una mínima
duplicidad en los datos y minimizar el espacio en disco utilizado.
• Proveer interfaces procedimentales y no procedimentales,
permitiendo la manipulación por usuarios interactivos y programadores. Funcionalidades del SMBD • Independizar la estructura de la organización lógica de los datos (Independencia física).
• Independizar la descripción lógica de la Base de datos y las
descripciones particulares de los diferentes puntos de vistas de los usuarios.
• Permitir una fácil administración de los datos.
Evolución de los SMBD • Actividad de estudio independiente. Arquitectura de los SMBD Organismos de estandarización: • ANSI (American National Standards Institute) es un organismo científico de Estados Unidos que ha definido diversos estándares en el campo de las bases de datos. • X3 es la parte de ANSI encargada de los estándares en el mundo de la electrónica. • SPARC, System Planning and Repairments Committee, comité de planificación de sistemas y reparaciones es una subsección de X3 encargada de los estándares en Sistemas Informáticos en especial del campo de las bases de datos. Su logro fundamental ha sido definir un modelo de referencia para las bases de datos (que se estudiará posteriormente). Arquitectura ANSI/SPARC • La arquitectura o modelo ANSI-SPARC, donde ANSI-SPARC significa American National Standards Institute/Standards Planning And Requirements Committee, es un estándar de diseño abstracto para un sistema de gestión de bases de datos (DBMS), propuesto por primera vez en 1975.
• También es conocida como ANSI-X3-SPARC pero por
simplicidad se le denomina ANSI-SPARC o ANSI/SPARC.
• La mayoría de los DBMS comerciales modernos se basan
en este sistema. El modelo ANSI/SPARC, sin embargo, nunca se convirtió en un estándar formal. Arquitectura ANSI/SPARC El objetivo de la arquitectura de tres niveles es separar la vista de los usuarios: • Permite vistas de usuario independientes y personalizadas: Cada usuario debe ser capaz de acceder a los datos, pero tiene una vista personalizada diferente de los datos. Estos deben ser independientes: los cambios en una vista no deben afectar a las demás. • Oculta los detalles físicos de almacenamiento a los usuarios: Los usuarios no deberían tener que lidiar con los detalles de almacenamiento de la base de datos. • El administrador de la base de datos debe ser capaz de cambiar las estructuras de almacenamiento de esta sin afectar la vista de los usuarios. • La estructura interna de la base de datos no debería verse afectada por cambios en los aspectos físicos del almacenamiento. Por ejemplo, un cambio a un nuevo disco. Niveles del Modelo ANSI/SPARC El modelo ANSI/X3/SPARC se divide en tres niveles, conocidos como interno, conceptual y externo, respectivamente:
• El nivel externo: es el nivel de mayor abstracción. A este
nivel corresponden las diferentes vistas parciales que tienen de la base de datos los diferentes usuarios. • El nivel conceptual: es el nivel medio de abstracción. Se trata de la representación de los datos realizada por la organización, que recoge las vistas parciales de los requerimientos de los diferentes usuarios y las aplicaciones posibles. Se configura como visión organizativa total, e incluye la definición de datos y las relaciones entre ellos. • El nivel interno: es el nivel más bajo de abstracción, y define cómo se almacenan los datos en el soporte físico, así como los métodos de acceso. Niveles del Modelo ANSI/SPARC Esquemas de Base de Datos • Esquema externo: describe las diferentes vistas externas de los datos; puede haber muchos esquemas externos para una base de datos dada.
• Esquema conceptual: describe todos los datos y las
relaciones entre ellos, junto con las restricciones de integridad. Solo hay un esquema conceptual por cada base de datos.
• Esquema interno: es el nivel más bajo que contiene los
registros almacenados, los métodos de representación, los campos de datos e índices. Solo hay un esquema interno por cada base de datos.
• La descripción general de una base de datos se llama esquema
de base de datos. Esquemas del Modelo NSI/SPARC Arquitecturas de SMBD 1. SMBD monolítico. 2. SMBD Cliente/Servidor. 3. SMBD multicapas.
La arquitectura 3 se basa en la arquitectura
Cliente/Servidor. SMBD Monocapa • Conocido también como Monolítico. • Es la más sencilla, pero la que tiene menos escalabilidad (posibilidad de crecer). • El SMBD se instala en una máquina y los usuarios acceden directamente a esa máquina y al SMBD. • Implementada en computadores centrales o sistemas multiusuarios. • En estos sistemas no se accede de forma remota a la base de datos. SMBD Monocapa SMBD Cliente/Servidor • También conocido como Bicapa • El Servidor es precisamente el propio SMBD y soporta todas sus funciones básicas: definición de datos, manipulación de datos, seguridad e integridad de los datos, etcétera. En particular, proporciona todo el soporte de los niveles externo, conceptual e interno. Por lo tanto, en este contexto, “Servidor" es sólo el nombre del SMBD. • Los Clientes son las diversas aplicaciones que se ejecutan sobre el SMBD, tanto aplicaciones escritas por el usuario como aplicaciones integradas (es decir, aplicaciones proporcionadas por el fabricante del SMBD o por alguna otra compañía). • El software cliente y el servidor deben utilizar software de comunicaciones de red para el intercambio de ordenes y datos. SMBD Cliente/Servidor SMBD Cliente/Servidor SMBD Cliente/Servidor SMBD Cliente/Multi-Servidor • En este caso los clientes acceden a un conjunto de servidores que distribuyen la base de datos. El cliente no sabe si los datos están en uno o más servidores, ya que el resultado es el mismo independientemente de dónde se almacenan los datos. Se usa cuando el número de clientes ha crecido mucho y un solo servidor no podría atender sus peticiones. • Se puede implementar como servidores independientes o bajo la modalidad de Clustter. SMBD Multi-capas SMBD de tres o más capas: • Es una estructura de tipo cliente/servidor, pero en la que hay al menos una capa intermedia entre las dos. Esa capa se suele encargar de procesar las peticiones y enviarlas al SMBD con el que se comunica. • Un ejemplo habitual es que la tercer capa sea un Servidor Web que evita que el cliente se conecte directamente al SMBD. Ese Servidor Web se encarga de traducir lo que el cliente realiza a una forma entendible por la base de datos. • Esta forma de trabajar permite además que para usar una base de datos, baste un simple navegador al cliente. • Puede haber más capas con otros fines. Estas capas siempre están entre el Cliente y el Servidor. SMBD Multi-capas SMBD Multi-capas SMBD Multi-capas SMBD Multi-capas Operaciones sobre un SMBD • Las operaciones típicas que debe garantizar un SMDB pueden resumirse en aquellas que afectan a la totalidad de los datos (o a todos los necesarios de un determinado tipo) y a las que tienen lugar sobre registros concretos. Definición o Descripción de un SMBD
• Debe permitir al diseñador de la Base de Datos
especificar los elementos de datos que la integran, su estructura y las relaciones que existen entre ellos, las reglas de integridad semántica, etc., así como las características de tipo físico y las vistas lógicas de los usuarios.
• Cada SMBD cuenta con un Lenguaje de Descripción
o definición de Datos (LDD). Manipulación de un SMBD • Se utiliza para que los usuarios recuperen o actualicen los datos dentro de la Base de Datos, esto se lleva a cabo por medio de un Lenguaje de Manipulación de Datos (LMD) que facilita los instrumentos necesarios para la realización de estas tareas. Control de un SMBD • Esta función recibe todas las interfaces que necesitan los diferentes usuarios para comunicarse con la base y proporcionar un conjunto de procedimientos para el administrador. (respaldo, recuperación, seguridad, etc.). Lenguajes de un SMBD • En lo que respecta a los lenguajes utilizados en un DBMS, cabe destacar el Lenguaje de Manipulación de datos o Data Manipulation Language (DML) para la realización de consultas y manipulación de datos. Especialmente, se utiliza el SQL (Structured Query Language), el DML más utilizado para gestionar datos relacionales, así como el Data Definition Language (DDL), utilizado para definir estructuras y funciones en la realización de consultas.
• El Data Control Language (DCL), por último, también es un
lenguaje utilizado en un DBMS por el administrador, en esta ocasión con el fin de controlar el acceso a los datos de la base de datos. Categorías de instrucciones SQL DDL (Data Definition Languaje):
• El Lenguaje de Definición de Datos (Data Definition
Language – DDL), sirve para modificar la estructura de los objetos en una base de datos. • Instrucciones: CREATE, ALTER, DROP, RENAME, y TRUNCATE, AUDIT, ANALYZE, RENAME, PURGE, GRANT, REVOKE Categorías de instrucciones SQL DML (Data Manipulation Languaje):
• El lenguaje de Manipulación de Datos (Data
Manipulation Language – DML) sirve para llevar a cabo las transacciones en las base de datos, entiéndase por transacciones los procesos de inserción, actualización, eliminación, selección. • Instrucciones: SELECT, INSERT, UPDATE y DELETE Categorías de instrucciones SQL DCL (Data Control Languaje):
• Un Lenguaje de Control de Datos (DCL por sus siglas en inglés:
Data Control Language) es un lenguaje proporcionado por el Sistema de Gestión de Base de Datos que incluye una serie de comandos SQL que permiten al administrador controlar el acceso a los datos contenidos en la Base de Datos. • Instrucciones: GRANT: Permite dar permisos a uno o varios usuarios o roles para realizar tareas determinadas. REVOKE: Permite eliminar permisos que previamente se han concedido con GRANT. Categorías de instrucciones SQL TCL (Transaction Control Languaje):
• Procesamiento de transacciones. • Instrucciones:
BEGIN, COMMIT, SAVEPOINT, ROLLBACK
(ABORT), SET TRANSACTION Categorías de instrucciones SQL SCL (Session Control Languaje):
• Modificación de sesión. • Privilegios o roles de usuario (activación y desactivación). • Instrucciones:
ALTER SESSION, SET ROLE
Consultas SQL Transacciones SQL • El Procesamiento de Transacciones tiene como objetivo las cuestiones referentes a la integridad de la Base de Datos, recuperación y control de la concurrencia.
• Una transacción es un programa de aplicación, generalmente
de duración breve, que accede y actualiza una parte también generalmente pequeña de la base de datos pudiendo controlar múltiples transacciones ejecutando el paralelo sobre una misma base de datos corriendo en un sistema que puede fallar.
• Los objetivos del Gestor de Transacciones del SMBD son:
evitar que las transacciones interfieran unas con otras al ejecutar en paralelo, y garantizar que la base de datos no sea dañada en forma irreparable por caídas, ya sea del sistema en sí o de alguna de las transacciones. Transacciones SQL • Una transacción es una unidad lógica de trabajo en la cual una serie de operaciones ocurren entre las sentencias BEGIN TRANSACTION (COMIENZO DE TRANSACCIÓN) y ENDTRANSACTION (FIN DE TRANSACCIÓN) de una aplicación. Una transacción es atómica; es decir, se hace todo el trabajo o no se hace nada. • La administración de transacciones implica algunas características importantes llamadas características ACID (Atomicity, Consistency, Isolation and Durability), éste es un mnemotécnico para: Atomicidad, Consistencia, Aislamiento y Durabilidad. Transacciones SQL - ACID Atomicidad: Las operaciones asociadas a una transacción comparten generalmente un objetivo común y son interdependientes. Si se ejecuta solamente un subconjunto de estas operaciones, el sistema podría comprometer el objetivo global de la transacción. La atomicidad elimina la posibilidad de procesar un subconjunto de operaciones. Transacciones SQL - ACID Consistencia: Una transacción es una unidad de integridad porque preserva la consistencia de datos, transformando un estado consistente de datos en otro estado consistente. La consistencia requiere que los datos comprometidos en una transacción se preserven semánticamente. Algunas de las responsabilidades de mantener consistencia caen sobre el desarrollador de aplicaciones, que debe asegurarse de que todas las restricciones de integridad se cumplan en la aplicación. Transacciones SQL - ACID Aislamiento: Una transacción es también una unidad aislada. La administración de transacciones permite que las transacciones concurrentes se comporten como si cada una fuera la única transacción ejecutándose en el sistema. El aislamiento requiere que cada transacción parezca ser la única transacción que manipula la base de datos, aunque otras transacciones pueden estar ejecutándose concurrentemente. Una transacción nunca puede ver las etapas intermedias de otra transacción. Transacciones SQL - ACID Durabilidad: Una transacción es también una unidad de recuperación. Si una transacción tiene éxito, el sistema garantiza que persistirán sus actualizaciones, incluso si la computadora falla inmediatamente después de una ejecución exitosa. Este requisito de la persistencia se llama durabilidad. Ventajas de los SMBD • Control sobre la redundancia de datos. • Consistencia de datos. • Más información sobre la misma cantidad de datos. • Compartición de datos. • Mantenimiento de estándares. • Mejora en la integridad de datos. • Mejora en la seguridad. • Mejora en la accesibilidad a los datos. • Mejora en la productividad. • Mejora en el mantenimiento gracias a la independencia de datos. • Aumento de la concurrencia. • Mejora en los servicios de copias de seguridad y de recuperación ante fallos. Desventajas de los SMBD • Complejidad. • Tamaño. • Coste económico del SGBD. • Costo del equipamiento adicional. • Costo de la conversión. • Prestaciones. • Vulnerable a los fallos. • Soporte para los SMBD Open Source SMBD SMBD Open Source