Upload
kent-branny-fernandez-cruz
View
14
Download
0
Embed Size (px)
Citation preview
SISTEMA DE INFORMACION GERENCIAL
INTEGRANTES
MERINO MORALES GIOMAR LEE
ACOSTA GAMES JORDAN
FERNANDEZ CRUZ KENT
ALVA VEGA NOE NIXSON
ADMINISTARCION E INFORMACION DE BASE DE DATOS
ING :ALBERTO CASTRO JAVIER
Bases de datos
• Base de Datos (BD)
”Conjunto de datos relacionados entre sí” demasiado
general
Dato= algo conocido que quiere registrarse
¿Por qué esta transparencia no es una BD? Porque se tienen
unas propiedades implícitas:
Conjunto de datos persistentes lógicamente coherente, con
significado implícito
Representa aspectos del mundo
real (minimundo, universo de
discurso)
Los cambios en el mini
mundo se “reflejan” en la
BD
Se DISEÑA, se CREA y se
CARGA, para conseguir
objetivos determinados
Datos ALMACENADOS para
“algo”
Dirigida a un grupo de
usuarios
Datos INTERESANTES para
“alguien”
Tema 1. Sistemas de bases de datos 3
Bases de datos
Un ejemplo
de una
base de
datos
personal
LIBRO
AUTOR
isbn titulo apAutor nomEdit año
8420464988 Momo Ende Alfaguara 1982
8408049003 El retrato de Dorian Gray Wilde Planeta 2003
8477205302 El alquimista Coelho Obelisco 1996
8420432261 La historia interminable Ende Alfaguara 1998
8420616524 El fantasma de Canterville Wilde Alianza 1996
8408048783 Once minutos Coelho Planeta 2003
... ... ... ... ...
nombre apellidos ...
Paulo Coelho ...
Oscar Wilde ...
Michael Ende ...
... ... ...
EDITORIAL
nombre ...
Obelisco ...
Alfaguara ...
Planeta ...
Alianza ...
... ...
PERSONA
id nombre teléfono
2 Julia Ibáñez 555123456
10 Eva Andrés 555654321
... ... ...
3 Cristina Prats 555987654
1 Ginés Soriano 555221122
PRESTAMO
idPer idLib fecha
10 8408049003 23/9/03
3 8408048783 1/10/03
10 8420464988 2/3/03
1 8420432261 10/8/02
... ... ...
BASES DE DATOS Y SUS USUARIOS
Sistema de Gestión de Base de Datos (SGBD - DBMS)
”Conjunto de programas que permite DEFINIR, CONSTRUIR y
MANIPULAR bases de datos para diversas aplicaciones”
• Definir una BD es especificar...
• estructura de datos,
• tipos de datos y
• restricciones de los datos
• Construir una BD es...
• almacenar datos en algún medio de almacenamiento controlado por el SGBD
• Manipular la BD es...
• consultar datos
• introducir/modificar/eliminar datos, para reflejar cambios en el minimundo
• generar informes a partir de los datos almacenados
Sistema de Base de Datos
SBD = BD + SGBD + Software de Aplicación/Consultas
Software para procesar
Consultas / Programas
Software para tener acceso a
los datos almacenados
SOFTWARE DEL SGBD
Programas de Aplicación / Consultas
SISTEMA DE BASE DE DATOS
Usuarios / Programadores
Definición de la
BD (Metadatos)
Base de Datos
almacenada
ENTORNO SIMPLIFICADO DE UN SISTEMA DE BASE DE
DATOS
NATURALEZA AUTODESCRIPTIVA
Procesamiento de ficheros
• Los programas de aplicación acceden a datos
específicos, cuya estructura se describe en el
propio código
Sistemas de bases de datos
• SGBD = Sistema software de propósito general
BD = DATOS + METADATOS
• El Catálogo del Sistema ...
– Contiene metadatos: descripción de la estructura
de la BD
El SGBD “sabrá” acceder a datos de cualquier aplicación
– Usado por el SGBD (a veces por usuarios)
CARACTERÍSTICAS DEL ENFOQUE DE BASES DE DATOS
(1)
SEPARACIÓN ENTRE PROGRAMAS Y DATOS
PROCESAMIENTO DE FICHEROS
• Definición de datos forma parte de los programas de
aplicación
• Cambios en la estructura de ficheros de la BD
modificación de programas que acceden a tales
ficheros
SISTEMAS DE BASES DE DATOS
• Descripción de estructura y organización de ficheros
almacenada en Catálogo, separada de los programas
Independencia entre programas y datos
( posible gracias a la abstracción de datos
proporcionada por SGBD, que veremos más adelante )
CARACTERÍSTICAS DEL ENFOQUE DE BASES DE DATOS
DATOS COMPARTIDOS Y PROCESAMIENTO DE TRANSACCIONES
MULTIUSUARIO
• Acceso simultáneo a datos sin interferencias ni
inconsistencias
• Control de concurrencia por el SGBD
MÚLTIPLES VISTAS DE LOS DATOS
• Cada usuario sólo interesado en ver la parte de la
información que necesita vista de la BD
• Vista = [ Subconjunto de ] BD [+ datos virtuales]
• SGBD proporciona mecanismos de definición de vistas
SBD
BIBLIOTECA Bibliotecario Lector BD
ADMINISTRADOR de la base de datos (ABD)
– Responsable de administrar los recursos del SBD
(nivel técnico):
BD + SGBD + Otro Software (aplicaciones/programas de
acceso)
– Las funciones del ABD incluyen:
• Definir/Modificar la estructura de la BD y
restricciones de los datos
• Crear/Modificar estructuras de almacenamiento y
métodos de acceso
• Conceder/Denegar permisos de acceso y controlar dicho
acceso a datos (seguridad de la BD)
• Definir planes de copias de seguridad de los datos de
la BD
• Garantizar el funcionamiento correcto del sistema y
proporcionar servicio técnico al usuario (respuesta
lenta del sistema...)
• Adquirir los recursos software y hardware necesarios
ACTORES EN UN SISTEMA DE BASE DE DATOS (1)
DISEÑADORES DE LA BASE DE DATOS
Antes de implementar la BD, interactúan con sus
futuros usuarios
– Recogen y comprenden sus necesidades y objetivos -
-- Requisitos
– Identifican datos que almacenar en la base de
datos
– Eligen estructuras para representar y almacenar
los datos
– Construyen...
• Vista que satisface requisitos de cada grupo de
usuarios
• Diseño final de BD que satisface necesidades de
todos los usuarios (resultado de la integración de
las diferentes vistas)
USUARIOS FINALES
– Ocasionales o Sofisticados
• Acceso esporádico y distinto cada vez; usan lenguaje
de consulta
– Paramétricos o Normales
• Accesos constantes, repetitivos
• Usan “transacciones programadas” para ellos
– Avanzados o Especializados
• Implementan sus propias aplicaciones especializadas
para cumplir sus complejos requisitos
• Ingenieros, científicos, analistas de empresa, ...
– Autónomos
• Usan BD personales, a través de aplicación/paquete
comercial específico
INGENIEROS DE SOFTWARE
(Analistas de sistemas y Programadores de
aplicaciones)
– Conocen perfectamente capacidades y recursos del
SGBD
– Analistas
• Determinan necesidades de procesamiento de los
usuarios finales (especialmente los paramétricos)
• Especifican conjuntos de operaciones que satisfacen
esas necesidades
– Programadores
• Implementan estas especificaciones Programas de
aplicación
• Prueba, depuración, documentación y mantenimiento de
programas
Los siguientes son los encargados del diseño,
creación y operación del software y entorno del
sistema
No están interesados en el contenido de la base de
datos
Diseñadores e Implementadores del SGBD
– Diseñan e Implementan los Módulos e Interfaces del
SGBD
Operadores y Personal de mantenimiento
– del Entorno hardware y software del sistema de BD
DESARROLLADORES DE HERRAMIENTAS
– Diseñan e Implementan paquetes software que:
• Facilitan diseño y uso de los SBD, y
• Permiten aumentar el rendimiento de los SBD
– Herramientas para
• Diseño de BD, de aplicaciones de BD, de interfaces de
usuario...
• Creación de prototipos de aplicaciones de BD
• Realizar simulaciones y generar datos de prueba
• Supervisión de rendimiento del sistema
• ...
• Disminución y control de la redundancia de datos
– Procesamiento de ficheros varias copias de la misma
información
– Problemas debidos a la redundancia de datos
• Duplicación del trabajo
• Desperdicio de espacio de almacenamiento
• Obligación de evitar las inconsistencias de datos
• Evitar inconsistencias en los datos
– Sólo si existe redundancia y
– se modifica un dato, actualizando algunas copias
– Soluciones:
• Eliminación de Redundancia,
• Redundancia Controlada y Propagación de
Actualizaciones Automática
VENTAJAS DEL USO DE UN SGBD
• Mantener la integridad
– Asegurar que la información es correcta=refleja
fielmente el minimundo
– ¿Cuándo se viola la integridad (no existe)?
• Si existe inconsistencia
• Si existe información imposible fecha = 40 / MAYO /
1972
• Si existe información que no se ajusta a la realidad, es
decir falsa o errónea
Nº de teléfono de la policía = 063
– ¿Cómo se evitan estas situaciones?
• Si los datos cumplen las Restricciones de Integridad ( RI )
– Restricciones sobre tipos de datos
« el nombre de una persona es una cadena de hasta
30 caracteres »
– Restricciones semánticas
« todo libro tiene una editorial »
« cada libro tiene un título diferente del resto
• Mantener la integridad (cont.)
– Las RI son identificadas durante el diseño de la BD
– Control de la Integridad: fundamental en SBD
Multiusuario
– Verificación de Restricciones de Integridad en cada
actualización de datos
• Automática por el SGBD
fecha = 40 / MAYO / 1972
• Mediante programas específicos
El SGBD debe permitir
- Definir (crear) las RI,
- Crear y ejecutar los programas de verificación
– A veces se puede almacenar información falsa sin violar
restricciones de integridad:
título de libro = “El señor de los aniyos”
• Aplicación de restricciones de seguridad ( RS )
– No todos los usuarios deberían poder acceder a toda la
BD
– Objetivo: control de acceso selectivo
1. Sólo usuarios autorizados
2. Sólo a ciertas partes de la base de datos
3. Sólo para realizar ciertas operaciones con los datos
– SGBD dispone de Subsistema de Seguridad y Autorización
• Cuentas de usuario protegidas con contraseña (ok objetivo 1)
• Restricciones de seguridad para cada cuenta (ok objetivos 2
y 3)
– SGBD fuerza el cumplimiento de las RS
– Otros controles de la seguridad serían:
• Sólo el ABD usa el software de administración y
monitorización del SBD
• Un usuario paramétrico sólo accede a la BD a través del
programa que usa
• ...
• Suministro de múltiples interfaces de usuario
– Usuarios con diferentes niveles de conocimientos
técnicos
– El SGBD debe ofrecer interfaces para todos ellos:
– Interfaces controladas por menú y de formularios = GUI
– Acceso a bases de datos a través de la web
Lenguajes de consulta usuarios ocasionales
Interfaces de lenguajes de
programación
programadores de
aplicaciones
Formularios y comandos usuarios paramétricos
Interfaces controladas por menú
y de lenguaje natural usuarios autónomos
• Representación de relaciones complejas entre datos
– Datos relacionados entre sí de diversas maneras
• « El registro (Planeta, ...) del fichero EDITORIAL se
relaciona con 2 registros del fichero LIBRO: (..., El
retrato de Dorian Gray, ...) y (..., Once minutos,
...) »
• « Cada registro de PRESTAMO se relaciona con un
registro de PERSONA y con un registro de LIBRO »
• « Cada registro de AUTOR se relaciona con varios
registros de LIBRO »
– SGBD debe permitir ...
• Representar relaciones entre los datos
• Obtener y Actualizar datos relacionados
« Obtener los títulos y editorial de los libros
escritos por “Arthur Conan Doyle” »
« Obtener nombres y teléfonos de personas con libros
prestados más de cinco meses »
• Respaldo y Recuperación
– Recuperación del sistema tras fallos del hardware o
software
– Subsistema del SGBD encargado de respaldo y recuperación
SGBD
Programa de
ACTUALIZACIÓN de datos Estado
INICIAL
BD ok
Estado FINAL
BD ok
Continuación y
Finalización Correcta
del programa
Restauración de la
BD
“Deshacer” toda
actualización de datos hecha por el programa
BD KO !!
XOR
• Datos compartidos actualizados
– Datos disponibles para todos los usuarios
– El cambio de datos por un usuario es visto
inmediatamente por el resto
– Subsistemas de control de concurrencia y recuperación
del SGBD
• Flexibilidad
– SGBD permite cambios en la estructura de BD, sin
afectar...
• Datos almacenados
• Programas de aplicación existentes
OTRAS VENTAJAS DEL ENFOQUE DE BASES DE DATOS
Cambios en
Requisitos
Nuevas Necesidades
de datos
modificaciones en
estructura de la BD
• Rápida creación de nuevas aplicaciones
• Cumplimiento de reglas, normas o políticas de empresa
– ABD establece normas para usuarios de la base de datos
• Intercambio de información y cooperación entre
departamentos, proyectos...
– Estándares para
• nombres y formatos de elementos de datos
• documentación, formularios, informes ...
Diseño e implementación inicial costosos
APL-1
APL-3 APL-2
• Hay situaciones en las que emplear un SGBD puede
generar costes innecesarios, evitables con el
procesamiento de ficheros
– Costes adicionales debidos a...
• Gran inversión inicial en equipo, software y formación
• Generalidad ofrecida por el SGBD para definir y procesar
datos
• Funciones de seguridad, control de concurrencia,
recuperación, integridad
– Problemas adicionales si...
• Diseñadores o ABD no han diseñado la base de datos
apropiadamente
• La implementación de las aplicaciones no es correcta
• Conviene utilizar procesamiento de ficheros si...
– BD y aplicaciones son simples, bien definidas y no se
espera que cambien
CUÁNDO NO USAR UN SGBD
• Objetivo del enfoque de BD: Visión abstracta de datos
– Ocultar detalles de almacenamiento y mantenimiento
• Modelos de datos para conseguir abstracción
– Modelo de Datos: conjunto de conceptos
– Sirve para describir la estructura de la BD:
• Tipos de los datos
• Relaciones entre los datos
• Restricciones que deben cumplir los datos
– Incluye operaciones básicas para especificar
lectura/modificación
– Tipos de modelos de datos
• Según conceptos que ofrecen para describir la
estructura de la BD
CONCEPTOS Y ARQUITECTURA DEL SISTEMA
DE BASES DE DATOS
Modelos de datos, esquemas e instancias
• Conceptos cercanos a cómo el usuario percibe la
realidad (minimundo)
• Realidad descrita como entidades que se relacionan
entre sí
– Entidad: cosa | objeto | concepto del minimundo
– Atributo: propiedad interesante de alguna entidad
– Relación: asociación | vínculo | interacción entre
entidades
» Modelo Entidad/Relación, MER (ERM, entity-relationship
model)
» Modelos Orientados a Objetos (UML, Unified Modeling
Language)
Modelo CONCEPTUAL
de Datos
Esquema
Conceptual
Mundo
Real
Modelos de datos de alto nivel o conceptuales
•Permiten describir la estructura lógica global:
descripción de la implementación
•Conceptos entendibles por usuarios finales, pero no
lejos de organización física de datos
• Ocultan detalles de implementación, pero conceptos
implementables directamente en el sistema
•Los más utilizados en los SGBD comerciales actuales
(ORACLE)
»Modelos basados en registros
Relacional, Red, Jerárquico
»Modelos orientados a objetos
–Modelos lógicos próximos a los conceptuales
MODELOS DE DATOS DE REPRESENTACIÓN O LÓGICOS
MODELO RELACIONAL
Modelos de datos de representación o lógicos
CLIENTE
CUENTA
nombre dirección ciudad cuenta
García, A Gran Vía, 6 Murcia 200
López, B Ronda Norte, 3 Murcia 821
Azorín, C Paseo Nuevo, 9 Valencia 505
Pérez, C Plaza Mayor, 2 Valencia 505
...
número saldo ...
200 35
505 40
821 50
...
Cada cliente sólo puede tener
una cuenta a su nombre.
Una cuenta puede tener más de
un cliente como titular.
•Conceptos que describen detalles de almacenamiento de
los datos
•Dirigidos a usuarios especialistas en informática
•Describen la estructura física de la base de datos:
- Formato y ordenamiento de registros en los ficheros
de datos
- Tamaños de página, de bloque,...
- Caminos (o estructuras) de acceso a los datos
(ficheros índices, etc.)
...
Modelos de datos de bajo nivel o físicos
Esquema = Descripción
–Especificado en el diseño de la BD y rara vez
modificado
–Metainformación o metadatos
Diagrama del Esquema de la BD
–Representación del esquema, en un modelo de datos
–Compuesto de esquemas de tipos de registro
(elementos del esquema)
LIBRO
PRESTAMO
...
Otra posible representación:
LIBRO ( isbn, titulo, apAutor, nomEdit, año )
PRESTAMO ( idPer, idLib, fecha ) ...
Esquemas, instancias y estado de la base de datos
isbn titulo apAutor nomEdit año
idPer idLib fecha
Una base de datos es un conjunto de datos reales relacionados
que cambian continuamente
• Estado de la base de datos
–Conjunto de datos que contiene la BD en un momento
concreto
–Conjunto de instancias de los elementos del esquema
de BD
• 1 esquema N estados
Estado Consistente (ok!!)
– Satisface estructura y restricciones especificadas
en esquema
– SGBD asegura que todo estado de la BD sea
consistente
Nomenclatura: Esquema = Intensión ; Estado =
Extensión
ESQUEMAS, INSTANCIAS Y ESTADO DE LA BASE DE DATOS
Ayuda a conseguir
– Separación entre
programas y datos
– Múltiples vistas de
usuario
Nivel Externo (vistas)
...
Nivel Interno
Nivel Conceptual
...
Arquitectura 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
• 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.
Arquitectura de tres esquemas ANSI/X3/SPARC (1)
Tema 1. Sistemas de bases de datos 34
• 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
1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (2)
• 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
Arquitectura de tres esquemas ANSI/X3/SPARC (3)
• 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
Arquitectura de tres esquemas ANSI/X3/SPARC (4)
• 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 Interno
EMP_ALMACENADO LONGITUD=20
PREFIJO TIPO=BYTE(6), DESPLAZAMIENTO=0
EMP# TIPO=BYTE(6), DESPLAZAMIENTO=6, INDICE=IEMP
DEPTO# TIPO=BYTE(4), DESPLAZAMIENTO=12
PAGA TIPO=PALABRA, DESPLAZAMIENTO=16
Arquitectura de tres esquemas ANSI/X3/SPARC (y 5)
« 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…
Independencia de datos
• 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
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 !!
• 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
Lenguajes e interfaces de bases de datos
Lenguajes del SGBD (1)
• 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)
... );
Lenguajes e interfaces de bases de datos
Lenguajes del SGBD (2)
• 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
Lenguajes del SGBD (3)
• 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 AS
SELECT R.fecha, L.titulo, P.nombre
FROM PRESTAMO R, LIBRO L, PERSONA P
WHERE R.idLib = L.isbn AND R.idPer = P.id;
Lenguajes del SGBD (4)
Tema 1. Sistemas de bases de datos 45
• 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
Lenguajes del SGBD (5)
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)
Lenguajes del SGBD (y 6)
• 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 SBD
UN APUNTE: ACCESO A BD DESDE PROGRAMAS DE APLICACIÓN
• 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 SBD
Interfaces del SGBD
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
•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
•PC CLIENTE
Compilador de Consultas
Sentencias LMD interactivas
Análisis Sintáctico
Optimización
Compilador de
Consultas
Procesador de
Consultas
Precompilador y compilador de LMD
Programa escrito en LP HOST + LMD embebido
Sentencias LMD Sentencias LP
Compilador
de LMD
Compilador del LP HOST
Precompilador
de LMD
Código Objeto (del LP)
Código Objeto
(del LMD)
Enlazador
Transacción programada ejecutable
Procesador de
Consultas
Estructura general del SBD
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
metadatos Definición de Esquema de BD escrito en LDD
Compilador de
LDD
BD SO
Procesador de Consultas
Solicitudes de
RECUPERACIÓN y
ACTUALIZACIÓN
Procesador de
Consultas
Gestor de Datos
Almacenados
BD
SO
Módulos componentes de un SGBD (5)
Tema 1. Sistemas de bases de datos 54
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
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
BD SO
• Estructuras de Datos
–Ficheros de datos en disco
–Catálogo: metadatos acerca de...
Estructura de BD, Restricciones de Integridad y de Autorización, etc.
• Acceso Continuo por diferentes módulos del SGBD
Necesario buen diseño e implementación eficiencia
–Estructuras de acceso (agilizan el acceso a los datos)
–Datos estadísticos sobre los datos en la BD
• Usados para optimización de consultas
• Suele considerarse contenidos en el catálogo
BD SO
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...
Utilidades del sistema de bases de datos
• Según el Modelo de Datos en el que está basado
–Relacional, Red, Jerárquico,
–Orientado a Objetos,
–Objeto/Relacional, ...
• Según el nº de usuarios simultáneos
–Monousuario
–Multiusuario
• Según el nº de lugares en que se almacenan datos
–Centralizado
–Distribuido (SGBDD)
• SGBDD homogéneo: mismo software de SGBD en todos los sitios
• SGBDD heterogéneo (ej. Multi-Base de Datos o BD Federadas)
• Según su propósito
–de propósito General
–de propósito Específico: construido para un tipo concreto de aplicaciones