38
SISTEMAS DE BASE DE DATOS Ing. Rafael Rojas Bujaico Sistema Gestión de Base de Datos UNIVERSIDAD NACIONAL DE HUANCAVELICA FACULTAD INGENIERIA ELECTRONICA-SISTEMAS

02 Sistema de Gestion de Base de Datos11 (1)

Embed Size (px)

DESCRIPTION

PRESENTACION DE BASE DE DATOS

Citation preview

Page 1: 02 Sistema de Gestion de Base de Datos11 (1)

SISTEMAS DE BASE DE DATOS

Ing. Rafael Rojas Bujaico

Sistema Gestión de Base de Datos

UNIVERSIDAD NACIONAL DE HUANCAVELICA

FACULTADINGENIERIA ELECTRONICA-SISTEMAS

Page 2: 02 Sistema de Gestion de Base de Datos11 (1)

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.

Page 3: 02 Sistema de Gestion de Base de Datos11 (1)

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.

Page 4: 02 Sistema de Gestion de Base de Datos11 (1)

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

Page 5: 02 Sistema de Gestion de Base de Datos11 (1)

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.

Page 6: 02 Sistema de Gestion de Base de Datos11 (1)

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

Page 7: 02 Sistema de Gestion de Base de Datos11 (1)

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

Page 8: 02 Sistema de Gestion de Base de Datos11 (1)

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

Page 9: 02 Sistema de Gestion de Base de Datos11 (1)

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

Page 10: 02 Sistema de Gestion de Base de Datos11 (1)

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.)

Page 11: 02 Sistema de Gestion de Base de Datos11 (1)

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.)

Page 12: 02 Sistema de Gestion de Base de Datos11 (1)

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.)

Page 13: 02 Sistema de Gestion de Base de Datos11 (1)

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

Page 14: 02 Sistema de Gestion de Base de Datos11 (1)

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.)

Page 15: 02 Sistema de Gestion de Base de Datos11 (1)

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

Page 16: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 17: 02 Sistema de Gestion de Base de Datos11 (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)

Page 18: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 19: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 20: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 21: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 22: 02 Sistema de Gestion de Base de Datos11 (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)

Page 23: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 24: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 25: 02 Sistema de Gestion de Base de Datos11 (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)

Page 26: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 27: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 28: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 29: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 30: 02 Sistema de Gestion de Base de Datos11 (1)

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

Page 31: 02 Sistema de Gestion de Base de Datos11 (1)

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

Page 32: 02 Sistema de Gestion de Base de Datos11 (1)

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

Page 33: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 34: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 35: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 36: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 37: 02 Sistema de Gestion de Base de Datos11 (1)

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)

Page 38: 02 Sistema de Gestion de Base de Datos11 (1)

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