SISTEMAS DE BASE DE DATOS
Ing. Rafael Rojas Bujaico
Sistema Gestión de Base de Datos
UNIVERSIDAD NACIONAL DE HUANCAVELICA
FACULTADINGENIERIA ELECTRONICA-SISTEMAS
SISTEMA DE GESTIÓN DE BASES DE DATOS (SGDB)
Un sistema de gestión de bases de datos (SGBD; en inglés, Database Management System: DBMS) es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Si bien, no es imprescindible contar con un SGBD para implementar una base de datos, este software de uso general facilita el proceso de definir, construir y manipular bases de datos para diversas aplicaciones.
Fuente: Ramez Elmasri y Shamkant B. Navathe
Entorno simplificado de un SGBD
En el esquema se observa que los
usuarios interactúan con una aplicación (por ej.
un sistema integrado de gestión o un paquete ) que
utiliza un SGBD para procesar las consultas, el cual
accede a los metadatos y a la base de datos
correspondiente.
Principales características del enfoque de Bases de Datos
En el enfoque de bases de datos se mantiene un único almacén de datos que se define una sola vez y al cual tienen acceso muchos usuarios.
Características: 1. Naturaleza autodescriptiva de los sistemas de base
de datos 2. Separación entre los programas y los datos, y
abstracción de los datos3. Manejo de múltiples vistas de los datos
Ramez Elmasri y Shamkant B. Navathe
Principales características del enfoque de
Bases de Datos
1. Naturaleza autodescriptiva de los sistemas de base de datos
Tal como se visualizó en la parte inferior del esquema del Entorno simplificado de un Sistema Gestor de Base de Datos ésta no solamente contiene la base de datos misma, sino que también incluye una definición o descripción completa de dicha base de datos.
2. Separación entre los programas y los datos, y abstracción de los datos. Es posible modificar las definiciones de datos y no modificar el código de la aplicación y viceversa.
Dos características confluyen para lograrlo:
- Se almacena en el catálogo del SGBD la estructura de los archivos de datos separados de las aplicaciones (programas). - El código de las aplicaciones se escribe de modo que sean independientes de los archivos específicos.
Principales características del enfoque de Bases de Datos
3. Manejo de múltiples vistas de los datosCada usuario visualiza lo que le interesa en la base de datos, pudiendo acceder a subconjuntos de datos. En el ejemplo de base de datos visto anteriormente, al departamento de Compras posiblemente le interese visualizar la tabla Productos y en ocasiones las de Facturas (para chequear bajas en el stock), pero no la que contiene los datos de los Clientes.
Principales características del enfoque de Bases de Datos
Cargos vinculados a un SGBD
Administrador de bases de datosDiseñador de bases de datosUsuarios finalesAnalistas de sistemas y programadores Diseñadores e implementadores del SGBDCreadores de herramientas Operadores y personal de mantenimiento
Ramez Elmasri y Shamkant B. Navathe
Administrador de bases de datosSe encarga de autorizar el acceso a la base de datos, de coordinar y vigilar su empleo, y de adquirir los recursos necesarios de software y hardware.
Diseñador de bases de datos Antes de implementar la base de datos identifica los datos que se almacenarán y elige las estructuras apropiadas para representar y almacenar dichos datos.
Cargos y Funciones vinculados a un SGBD
Usuarios finalesSon los principales destinatarios de la base de datos. Son quienes tiene acceso a la base de datos para consultarla, actualizarla y generar informes.Este es el rol que más frecuentemente desempeña el Técnico en Administración con relación de las Bases de Datos.
Cargos y Funciones vinculados a un SGBD (cont.)
Analistas de sistemas y programadores Los analistas y programadores para implementar las especificaciones del sistema deben conocer a la perfección todas las capacidades del SGBD. El Técnico en Administración que integra un equipo de desarrollo interactúa con los analistas y programadores.
Diseñadores e implementadores del SGBDSe encargan de diseñar e implementar los módulos e interfaces del SGBD en forma de paquetes de software.
Cargos y funciones vinculados a un SGBD (cont.)
Creadores de herramientas Desarrollan e implementar paquetes para diseñar bases de datos, vigilar el rendimiento, proporcionar interfaces de lenguaje natural o de gráficos, elaborar prototipos, realizar simulaciones y generar datos de prueba. Operadores y personal de mantenimiento
Tienen a su cargo el funcionamiento y mantenimiento reales del entorno de hardware y software del sistema de base de datos.
Cargos y funciones vinculados a un SGBD (cont.)
Características deseables en un SGBD
Restricción de los accesos no autorizados Control de la redundancia Almacenamiento persistente de objetos y estructuras de datos de programas Inferencias en la base de datos mediante reglas de deducción Suministro de múltiples interfaces con los usuarios Representación de vínculos complejos entre los datos
Cumplimiento de las restricciones de integridad Respaldo y recuperación Potencial para imponer normas Menor tiempo de creación de aplicaciones Flexibilidad Disponibilidad de información actualizada Economías de escala
Características deseables en un SGBD (cont.)
15
Ayuda a conseguir
– Separación entre programas y datos
– Múltiples vistas de usuario
Nivel Externo(vistas)
...
Nivel Interno
Nivel Conceptual
...
Conceptos y arquitectura del SBDArquitectura de tres esquemas de un SGBD
Arquitectura ANSI/X3/SPARC
• Recuperación eficiente de datos estructuras de datos complejas para representar la información en la BD
• Complejidad oculta a través de niveles de abstracción
16
• Nivel Interno
–Descrito mediante el Esquema Interno, el cual...• Define la estructura física de almacenamiento de toda
la BD– Tipos de registros almacenados,– Secuencia física de los registros, – Estructuras de almacenamiento (hashing,...),– Estructuras de acceso (indexación,...)– etc.
• Escrito utilizando un Modelo de Datos Físico• Muy cercano al nivel físico pero no trata con registros
físicos (bloques, páginas, …) ni con unidades como cilindros o pistas.
Conceptos y arquitectura del SBDArquitectura de tres esquemas ANSI/X3/SPARC (1)
17
• Nivel Conceptual o Lógico
–Descrito mediante el Esquema Conceptual o Lógico...• Define la estructura lógica de toda la BD
– Entidades, Tipos de datos,– Relaciones, – Restricciones (integridad, seguridad,...)
• Oculta detalles físicos• Escrito usando un Modelo de Datos Conceptual o Lógico
– Actualmente se considera el uso de dos esquemas en este nivel:
• Esquema Conceptual: organizativo, cercano al usuario• Esquema Lógico: cercano al SGBD
Conceptos y arquitectura del SBDArquitectura de tres esquemas ANSI/X3/SPARC (2)
18
• Nivel Externo o de Vistas
–Descrito mediante Esquemas Externos– Cada Esquema Externo o Vista...
• Define la porción de la BD que interesa a un usuario• Para el usuario, esa porción es la base de datos• Pueden existir múltiples vistas del mismo esquema
conceptual• Varias vistas pueden solaparse entre sí• Escrito usando Modelo de Datos Conceptual o Lógico
Conceptos y arquitectura del SBDArquitectura de tres esquemas ANSI/X3/SPARC (3)
19
• SGBD comerciales no distinguen del todo los 3 niveles
– Algunos incluyen detalles físicos en el Esquema Conceptual (Lógico)
– Usan el mismo modelo de datos para especificar • Esquemas Externos (vistas) y • Esquema Conceptual (lógico)
• Los 3 niveles son descripciones de datos– Los datos reales sólo están en el nivel físico
• Correspondencia entre esquemas SGBD (el ABD) – Externo Conceptual– Conceptual Interno
Conceptos y arquitectura del SBDArquitectura de tres esquemas ANSI/X3/SPARC (4)
20
• Nivel Externo (Lenguaje de Programación “tipo Pascal”) tipo empleado = registro (no acceso al salario)
n_empleado: cadena(6); n_depto: cadena(4); fin;
• Nivel Conceptual (Lenguaje de definición de datos, LDD)EMPLEADO ( NUMERO_EMPLEADO CARACTER(6) CLAVE PRINCIPAL,
NUMERO_DEPARTAMENTO CARACTER(4) NO NULO, SALARIO NUMERICO(5) NO NULO )
• Nivel InternoEMP_ALMACENADO LONGITUD=20
PREFIJO TIPO=BYTE(6), DESPLAZAMIENTO=0EMP# TIPO=BYTE(6), DESPLAZAMIENTO=6, INDICE=IEMPDEPTO# TIPO=BYTE(4), DESPLAZAMIENTO=12PAGA TIPO=PALABRA, DESPLAZAMIENTO=16
Conceptos y arquitectura del SBDArquitectura de tres esquemas ANSI/X3/SPARC (y 5)
21
« Capacidad de modificar el esquema de un nivel sin tener que cambiar el esquema del nivel inmediato
superior »
• Independencia lógica de datos
– Capacidad de modificar el esquema conceptual...• ampliar / reducir la BD• modificar restricciones
– ... sin alterar• esquemas externos• programas de aplicación
difícil de conseguir…
Conceptos y arquitectura del SBDIndependencia de datos (1)
22
• Independencia física de datos
– Capacidad de modificar el esquema interno...• reestructurar alguna estructura de almacenamiento • crear nuevas estructuras de acceso, etc.
mejorar rendimiento de la obtención/actualización– ... sin alterar
• esquema conceptual• programas de aplicación
es más fácil de lograr
Conceptos y arquitectura del SBDIndependencia de datos (2)
23
Pero... ¿cómo conseguir la independencia de datos?• El Catálogo de SGBD incluye información
sobre correspondencias entre esquemas Modificación del esquema de un nivel implica...
• cambios en la correspondencia entre niveles,• y el esquema del nivel superior no varía
gracias a la Arquitectura de Tres Niveles
– Mantenimiento de las correspondencias entre niveles...• gasto extra en compilación / ejecución de programas • menor eficiencia del SGBD» Pocos SGBD implementan Arquit. de Tres Niveles
completa
OK !!
Conceptos y arquitectura del SBDIndependencia de datos (y 3)
24
• LDD: lenguaje de definición de datos– Usado por ABD y diseñadores para especificar...
• Esquema Conceptual• Esquema Interno
– si SGBD sin separación estricta de niveles conceptual e interno
• Correspondencias entre los anteriores
– Compilador de LDD: procesa sentencias escritas en LDD, para
• identificar descripciones de elementos del esquema y
• almacenarlas en el catálogo del SGBD
Conceptos y arquitectura del SBDLenguajes e interfaces de bases de datos
Lenguajes del SGBD (1)
25
• LDD: lenguaje de definición de datos (cont.)
CREATE TABLE Libro (isbn CHAR(10) PRIMARY KEY,titulo VARCHAR(60) NOT NULL UNIQUE,apAutor VARCHAR(15) NOT NULL,nomEdit VARCHAR(15) NOT NULL,año NUMERIC(4) ... );
Conceptos y arquitectura del SBDLenguajes e interfaces de bases de datos
Lenguajes del SGBD (2)
26
• LDA: lenguaje de definición de almacenamiento– En SGBD que distinguen entre niveles conceptual e interno,
se usa...• LDA para especificar Esquema Interno detalles de implementación de estructuras de almacenamiento y de
acceso• LDD para especificar el Esquema Conceptual
entidades + relaciones + restricciones• LDD o LDA para definir Correspondencias entre los
anteriores
Conceptos y arquitectura del SBDLenguajes del SGBD (3)
27
• LDV: lenguaje de definición de vistas– Para conseguir Arquitectura de Tres Esquemas “verdadera”– Usado para especificar
• Esquemas Externos (o Vistas de usuario)• Correspondencias entre Vistas y el Esquema
Conceptual– No obstante, la mayoría de SGBD utilizan LDD para definir
vistas
CREATE VIEW PrestamoLibro ASSELECT R.fecha, L.titulo, P.nombreFROM PRESTAMO R, LIBRO L, PERSONA PWHERE R.idLib = L.isbn AND R.idPer = P.id;
Conceptos y arquitectura del SBDLenguajes del SGBD (4)
28
• LMD: lenguaje de manipulación de datos– Obtención, Inserción, Eliminación y Modificación de datos– Dos tipos de DML: procedimental y declarativo
LMD procedimental, o de bajo nivel Qué datos obtener/manipular y cómo
obtenerlos/manipularlos Siempre debe estar empotrado en un LP Es un LMD orientado a registros:
Obtiene un solo registro y lo procesa por separado» Necesita usar elementos del LP (ej. bucles) para...
– obtener registro a registro y– procesarlos individualmente
Conceptos y arquitectura del SBDLenguajes del SGBD (5)
29
LMD declarativo, o de alto nivel Qué datos obtener para manipular y no cómo
manipularlos Usado para realizar operaciones complejas de BD...
- Interactivamente -- Lenguaje de Consulta - Incorporado en un LP anfitrión (host) -- LMD Empotrado
Es un LMD orientado a conjuntos: Obtiene/Actualiza muchos registros con una única
sentencia SELECT titulo, nomEdit, año FROM Libro WHERE apAutor = “Tolkien”; INSERT INTO Autor VALUES (“Jorge Luís”, “Borges”); DELETE FROM Prestamo WHERE idLib = 8420464988; UPDATE Persona SET telefono = 555111222 WHERE id = 1;
• SGBD comerciales actuales ofrecen único lenguaje integrado, mezcla de LDD, LDA, LDV y LMD (como SQL)
Conceptos y arquitectura del SBDLenguajes del SGBD (y 6)
30
• Programas escritos en un lenguaje (C++, Java, ...) anfitrión
• Dos modos de ejecutar instrucciones LMD desde el lenguaje anfitrión:
– Usar Interfaz de Programa de Aplicación (conjunto de procedimientos)
• ODBC, Open Data Base Connectivity (definido por Microsoft para C),• JDBC, Java Data Base Connectivity
– Extender la sintaxis del lenguaje anfitrión para incorporar llamadas LMD dentro de los programas
• Instrucciones LMD precedidas de un carácter especial• El preprocesador de LMD convertirá estas instrucciones en
llamadas a procedimientos normales del lenguaje anfitrión
Conceptos y arquitectura del SBDun apunte: acceso a BD desde programas de aplicación
31
• Basadas en menús• Basadas en formularios• Gráficas• De lenguaje natural• Para usuarios paramétricos• Para el ABD (órdenes privilegiadas)
– Crear/eliminar cuentas de usuario y establecer autorizaciones
– Establecer parámetros de ajuste del rendimiento del sistema– Modificación de esquemas y correspondencias– Acceso al catálogo– Reorganizar estructura de almacenamiento de la BD– Realizar/restaurar copias de seguridad– ...
Conceptos y arquitectura del SBDInterfaces del SGBD
32
Arquitectura de los paquetes software de SGBD• Los actuales tienen un diseño modular, según una
arquitectura cliente-servidor (dos capas)
Estructura general del sistema de bases de datos
Módulos componentes de un SGBD (1)
•Programas de aplicación
•Interfaces (GUI) de acceso a BD
•SGBD•BD
SERVIDOR
- Red de larga distancia (WAN)- Red de área local (LAN)- Líneas telefónicas- Dispositivos de comunicación por satélite
USUARIOS•Terminal •Estación de trabajo
•PCCLIENTE
33
Compilador de Consultas
Sentencias LMD interactivas
Análisis SintácticoOptimización
Compilador de Consultas
Procesador de Consultas
Estructura general del sistema de bases de datos
Módulos componentes de un SGBD (2)
34
Compilador de LDD– Procesa definiciones de esquemas escritas en LDD– Almacena descripciones de los esquemas en el catálogo– Otros módulos del SGBD necesitan conocer estos
metadatosDefinición de Esquema de
BD escrito en LDD
Compilador de LDD
BDSO
Estructura general del SBDMódulos componentes de un SGBD (4)
35
Procesador de Consultas Solicitudes de
RECUPERACIÓN y ACTUALIZACIÓN
Procesador de Consultas
Gestor de Datos Almacenados
BDSO
Estructura general del SBDMódulos componentes de un SGBD (5)
36
Subsistemas de control de... Concurrencia y Recuperación - Gestor de
transacciones• Asegurar consistencia y coherencia de datos frente
actualizaciones simultáneas de datos por múltiples usuarios• Detectar fallos o caídas del sistema• y Restaurar la BD a un estado consistente
Integridad y Seguridad ¿Son correctas las actualizaciones de los datos?• Detectar violación de Restricciones de Integridad• y realizar acción de recuperación de la integridad de datos
¿Se cumplen las restricciones de seguridad de acceso?• Comprobar las autorizaciones de acceso al SBD y a los datos
Estructura general del SBDMódulos componentes de un SGBD (6)
37
Gestor de datos almacenados y memoria intermedia
– Control de acceso a información almacenada (datos y metadatos)
– Puede emplear servicios básicos del SO para la transferencia de datos a bajo nivel: disco memoria principal
– Maneja los buffers de memoria (almacenam. intermedio)Gestor de Datos Almacenados
BDSO
Estructura general del SBDMódulos componentes de un SGBD (7)
38
SGBD = componente software más importante ¡ pero no es el único !
• Carga de datos– Intercambio de información entre BD de diferente tipo ( Oracle
Access )• Respaldo• Reorganización de ficheros de la BD
– Para mejorar rendimiento del sistema• Monitorización
– Vigilancia del funcionamiento del sistema y su rendimiento– Datos estadísticos que el ABD usa para tomar decisiones de
ajuste y mejora del sistema• Control de Accesos de usuario• Acceso al Diccionario de datos• Otras utilidades
– ordenamiento, compresión de ficheros, etc...
Estructura general del SBDUtilidades del sistema de bases de datos
Recommended