Download - Base de Datos3
1. Sistemas de bases de datos
Contenidos1.1 Bases de datos y sus usuarios1.2 Conceptos y arquitectura del sistema de bases de datos1.3 Estructura general del sistema de bases de datos
Anexos1. Clasificación de los SGBD
Tema 1. Sistemas de bases de datos 1
Tema 1. Sistemas de bases de datos 2
• 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
1.2 Conceptos y arquitectura del sistema de bases de datos
Modelos de datos, esquemas e instancias
Tema 1. Sistemas de bases de datos 3
• 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
EsquemaConceptua
l
Mundo Real
1.2 Conceptos y arquitectura del SBD Modelos de datos de alto nivel o conceptuales
Tema 1. Sistemas de bases de datos 4
• 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 registrosRelacional, Red, Jerárquico
» Modelos orientados a objetos– Modelos lógicos próximos a los conceptuales
1.2 Conceptos y arquitectura del SBD Modelos de datos de representación o lógicos (1)
Tema 1. Sistemas de bases de datos 5
MODELO RELACIONAL
1.2 Conceptos y arquitectura del SBD Modelos de datos de representación o lógicos (y 2)
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.
Tema 1. Sistemas de bases de datos 6
• 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.)
...
1.2 Conceptos y arquitectura del SBD Modelos de datos de bajo nivel o físicos
Tema 1. Sistemas de bases de datos 7
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 )...
1.2 Conceptos y arquitectura del SBDEsquemas, instancias y estado de la base de datos
isbn titulo apAutor nomEdit año
idPer idLib fecha
Un diagrama de esquema sólo visualiza algunos aspectos del esquema, pero no muestra muchos otros: tipos de datos, relaciones entre elementos del esquema,...
Tema 1. Sistemas de bases de datos 8
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
1.2 Conceptos y arquitectura del SBDEsquemas, instancias y estado de la base de datos
Tema 1. Sistemas de bases de datos 9
Ayuda a conseguir– Separación entre
programas y datos– Múltiples vistas de
usuario
Nivel Externo(vistas)
...
Nivel Interno
Nivel Conceptual
...
1.2 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
Tema 1. Sistemas de bases de datos 10
• 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.
1.2 Conceptos y arquitectura del SBDArquitectura de tres esquemas ANSI/X3/SPARC (1)
Tema 1. Sistemas de bases de datos 11
• 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 SBDArquitectura de tres esquemas ANSI/X3/SPARC (2)
Tema 1. Sistemas de bases de datos 12
• 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
1.2 Conceptos y arquitectura del SBDArquitectura de tres esquemas ANSI/X3/SPARC (3)
Tema 1. Sistemas de bases de datos 13
• 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
1.2 Conceptos y arquitectura del SBDArquitectura de tres esquemas ANSI/X3/SPARC (4)
Tema 1. Sistemas de bases de datos 14
• 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
1.2 Conceptos y arquitectura del SBDArquitectura de tres esquemas ANSI/X3/SPARC (y 5)
Tema 1. Sistemas de bases de datos 15
« 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…
1.2 Conceptos y arquitectura del SBDIndependencia de datos (1)
Tema 1. Sistemas de bases de datos 16
• 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
1.2 Conceptos y arquitectura del SBDIndependencia de datos (2)
Tema 1. Sistemas de bases de datos 17
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 !!
1.2 Conceptos y arquitectura del SBDIndependencia de datos (y 3)
Tema 1. Sistemas de bases de datos 18
• 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
1.2 Conceptos y arquitectura del SBDLenguajes e interfaces de bases de datos
Lenguajes del SGBD (1)
Tema 1. Sistemas de bases de datos 19
• 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)
... );
1.2 Conceptos y arquitectura del SBDLenguajes e interfaces de bases de datos
Lenguajes del SGBD (2)
Tema 1. Sistemas de bases de datos 20
• 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
1.2 Conceptos y arquitectura del SBDLenguajes del SGBD (3)
Tema 1. Sistemas de bases de datos 21
• 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;
1.2 Conceptos y arquitectura del SBDLenguajes del SGBD (4)
Tema 1. Sistemas de bases de datos 22
• 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
1.2 Conceptos y arquitectura del SBDLenguajes del SGBD (5)
Tema 1. Sistemas de bases de datos 23
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)
1.2 Conceptos y arquitectura del SBDLenguajes del SGBD (y 6)
Tema 1. Sistemas de bases de datos 24
• 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
1.2 Conceptos y arquitectura del SBDun apunte: acceso a BD desde programas de aplicación
Tema 1. Sistemas de bases de datos 25
• 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– ...
1.2 Conceptos y arquitectura del SBDInterfaces del SGBD