base de datos3

25
1. Sistemas de bases de datos Contenidos 1.1 Bases de datos y sus usuarios 1.2 Conceptos y arquitectura del sistema de bases de datos 1.3 Estructura general del sistema de bases de datos Anexos 1. Clasificación de los SGBD Tema 1. Sistemas de bases de datos 1

Upload: giuliana-suma

Post on 12-Dec-2015

3 views

Category:

Documents


0 download

DESCRIPTION

Base de Datos3

TRANSCRIPT

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