Sunteți pe pagina 1din 59

Sesin N01 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. Clasificacin de los SGBD

1.1 Bases de datos y sus usuarios


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 implcitas:
Conjunto de datos persistentes lgicamente coherente, con significado
implcito
Representa aspectos del mundo real
(minimundo, universo de discurso)

Los cambios en el minimundo se


reflejan en la BD

Se DISEA, se CREA y se CARGA, para


conseguir objetivos determinados

Datos ALMACENADOS para


algo

Dirigida a un grupo de usuarios

Datos INTERESANTES para


alguien

1.1 Bases de datos y sus usuarios


Un ejemplo
de una base
de datos
personal

LIBRO
isbn

EDITORIAL
nombre ...

AUTOR
nombre apellidos ...

telfono

...

Paulo

Coelho

...

Julia Ibez

555123456

Alfaguara ...

Oscar

Wilde

...

10 Eva Andrs

555654321

Planeta

...

Michael Ende

...

... ...

...

Alianza

...

...

...

Cristina Prats

555987654

...

...

Gins Soriano 555221122

Obelisco

titulo

...

apAutor nomEdit

ao

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

...

...

...

...

...

PERSONA
id
nombre

PRESTAMO
idPer
idLib

fecha

10

8408049003 23/9/03

8408048783 1/10/03

10

8420464988 2/3/03

8420432261 10/8/02

...

...

...

1.1 Bases de datos y sus usuarios


Sistema de Gestin 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 algn 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 Aplicacin/Consultas

Entorno simplificado de un
Sistema de Base de Datos

Usuarios / Programadores

SISTEMA DE BASE DE DATOS


Programas de Aplicacin / Consultas

SOFTWARE DEL SGBD


Software para procesar
Consultas / Programas

Software para tener acceso


a los datos almacenados

Definicin de la
BD (Metadatos)

Base de Datos
almacenada

1.1 Bases de datos y sus usuarios


Caractersticas del enfoque de Bases de Datos (1)
Naturaleza autodescriptiva

Procesamiento de ficheros
Los programas de aplicacin acceden a datos especficos, cuya
estructura se describe en el propio cdigo

Sistemas de bases de datos


SGBD = Sistema software de propsito general

BD = DATOS + METADATOS
El Catlogo del Sistema ...
Contiene metadatos: descripcin de la estructura de la BD
El SGBD sabr acceder a datos de cualquier aplicacin
Usado por el SGBD (a veces por usuarios)

1.1 Bases de datos y sus usuarios


Caractersticas del enfoque de Bases de Datos (2)
Separacin entre programas y datos

Procesamiento de ficheros
Definicin de datos forma parte de los programas de aplicacin
Cambios en la estructura de ficheros de la BD
modificacin de programas que acceden a tales ficheros

Sistemas de bases de datos


Descripcin de estructura y organizacin de ficheros almacenada
en Catlogo, separada de los programas

Independencia entre programas y datos


( posible gracias a la abstraccin de datos proporcionada por SGBD, que
veremos ms adelante )

1.1 Bases de datos y sus usuarios


Caractersticas del enfoque de Bases de Datos (y 3)
Datos compartidos y procesamiento de
transacciones multiusuario
Acceso simultneo a datos sin interferencias ni inconsistencias
Control de concurrencia por el SGBD

Mltiples vistas de los datos


Cada usuario slo interesado en ver la parte de la informacin que
necesita vista de la BD
Vista = [ Subconjunto de ] BD [+ datos virtuales]
SGBD proporciona mecanismos de definicin de vistas

Bibliotecario

BD

SBD
BIBLIOTECA

Lector

1.1 Bases de datos y sus usuarios


Actores en un sistema de base de datos (1)
Administrador de la base de datos (ABD)
Responsable de administrar los recursos del SBD (nivel tcnico):
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 mtodos 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 tcnico al usuario (respuesta lenta del sistema...)
Adquirir los recursos software y hardware necesarios

1.1 Bases de datos y sus usuarios


Actores en un sistema de base de datos (2)
Diseadores de la base de datos
Antes de implementar la BD, interactan 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
Diseo final de BD que satisface necesidades de todos los
usuarios (resultado de la integracin de las diferentes vistas)

1.1 Bases de datos y sus usuarios


Actores en un sistema de base de datos (3)
Usuarios finales
Ocasionales o Sofisticados
Acceso espordico y distinto cada vez; usan lenguaje de consulta

Paramtricos o Normales
Accesos constantes, repetitivos

Usan transacciones programadas para ellos

Avanzados o Especializados
Implementan sus propias aplicaciones especializadas para cumplir sus
complejos requisitos

Ingenieros, cientficos, analistas de empresa, ...

Autnomos
Usan BD personales, a travs de aplicacin/paquete comercial especfico

1.1 Bases de datos y sus usuarios


Actores en un sistema de base de datos (4)
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 paramtricos)
Especifican conjuntos de operaciones que satisfacen esas necesidades

Programadores
Implementan estas especificaciones Programas de aplicacin

Prueba, depuracin, documentacin y mantenimiento de programas

1.1 Bases de datos y sus usuarios


Actores en un sistema de base de datos (5)
Los siguientes son los encargados del diseo, creacin y operacin del
software y entorno del sistema
No estn interesados en el contenido de la base de datos

Diseadores e Implementadores del SGBD


Disean e Implementan los Mdulos e Interfaces del SGBD

Operadores y Personal de mantenimiento


del Entorno hardware y software del sistema de BD

1.1 Bases de datos y sus usuarios


Actores en un sistema de base de datos ( y 6)
Desarrolladores de herramientas
Disean e Implementan paquetes software que:
Facilitan diseo y uso de los SBD, y
Permiten aumentar el rendimiento de los SBD

Herramientas para
Diseo de BD, de aplicaciones de BD, de interfaces de usuario...
Creacin de prototipos de aplicaciones de BD
Realizar simulaciones y generar datos de prueba
Supervisin de rendimiento del sistema

...

1.1 Bases de datos y sus usuarios


Ventajas del uso de un SGBD (1)
Disminucin y control de la redundancia de datos
Procesamiento de ficheros varias copias de la misma informacin
Problemas debidos a la redundancia de datos
Duplicacin del trabajo
Desperdicio de espacio de almacenamiento
Obligacin de evitar las inconsistencias de datos

Evitar inconsistencias en los datos

Slo si existe redundancia y


se modifica un dato, actualizando algunas copias
Soluciones:
Eliminacin de Redundancia,
Redundancia Controlada y Propagacin de Actualizaciones Automtica

1.1 Bases de datos y sus usuarios


Ventajas del uso de un SGBD (2)
Mantener la integridad
Asegurar que la informacin es correcta=refleja fielmente el minimundo
Cundo se viola la integridad (no existe)?
Si existe inconsistencia
Si existe informacin imposible
fecha = 40 / MAYO / 1972
Si existe informacin que no se ajusta a la realidad, es decir falsa o errnea

N de telfono de la polica = 063

Cmo 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 semnticas

todo libro tiene una editorial


cada libro tiene un ttulo diferente del resto
ningn libro puede prestarse a ms de una persona al mismo tiempo

1.1 Bases de datos y sus usuarios


Ventajas del uso de un SGBD (3)
Mantener la integridad (cont.)
Las RI son identificadas durante el diseo de la BD
Control de la Integridad: fundamental en SBD Multiusuario
Verificacin de Restricciones de Integridad en cada actualizacin de datos
Automtica por el SGBD
fecha = 40 / MAYO / 1972
Mediante programas especficos
El SGBD debe permitir

- Definir (crear) las RI,


- Crear y ejecutar los programas de verificacin
A veces se puede almacenar informacin falsa sin violar restricciones de
integridad:
ttulo de libro =

El seor de los aniyos

1.1 Bases de datos y sus usuarios


Ventajas del uso de un SGBD (4)
Aplicacin de restricciones de seguridad ( RS )
No todos los usuarios deberan poder acceder a toda la BD
Objetivo: control de acceso selectivo
1. Slo usuarios autorizados
2. Slo a ciertas partes de la base de datos
3. Slo para realizar ciertas operaciones con los datos

SGBD dispone de Subsistema de Seguridad y Autorizacin


Cuentas de usuario protegidas con contrasea (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 seran:
Slo el ABD usa el software de administracin y monitorizacin del SBD
Un usuario paramtrico slo accede a la BD a travs del programa que usa
...

1.1 Bases de datos y sus usuarios


Ventajas del uso de un SGBD (5)
Suministro de mltiples interfaces de usuario
Usuarios con diferentes niveles de conocimientos tcnicos
El SGBD debe ofrecer interfaces para todos ellos:
Lenguajes de consulta

usuarios ocasionales

Interfaces de lenguajes de
programacin

programadores de
aplicaciones

Formularios y comandos

usuarios
paramtricos

Interfaces controladas por


men y de lenguaje natural

usuarios autnomos

Interfaces controladas por men y de formularios = GUI


Acceso a bases de datos a travs de la web

1.1 Bases de datos y sus usuarios


Ventajas del uso de un SGBD (6)
Representacin 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 ttulos y editorial de los libros escritos por Arthur Conan Doyle
Obtener nombres y telfonos de personas con libros prestados ms de cinco meses

1.1 Bases de datos y sus usuarios


Ventajas del uso de un SGBD (y 7)
Respaldo y Recuperacin
Recuperacin del sistema tras fallos del hardware o software
Subsistema del SGBD encargado de respaldo y recuperacin

Estado
INICIAL

Programa de
ACTUALIZACIN
de datos

BD KO !!

Estado
FINAL

BD ok

BD ok

Restauracin de la
BD
Deshacer toda
actualizacin de datos
hecha por el programa

XOR
SGBD

Continuacin y
Finalizacin Correcta
del programa

1.1 Bases de datos y sus usuarios


Otras ventajas del enfoque de bases de datos

(1)

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 recuperacin del SGBD

Flexibilidad

Cambios en
Requisitos

Nuevas
Necesidades
de datos
modificaciones en
estructura de la BD

SGBD permite cambios en la estructura de BD, sin afectar...


Datos almacenados
Programas de aplicacin existentes

1.1 Bases de datos y sus usuarios


Otras ventajas del enfoque de bases de datos

(y 2)

Rpida creacin de nuevas aplicaciones

Diseo e
implementacin
inicial costosos

APL-3

APL-1

APL-2

Cumplimiento de reglas, normas o polticas de empresa


ABD establece normas para usuarios de la base de datos
Intercambio de informacin y cooperacin entre departamentos, proyectos...

Estndares para
nombres y formatos de elementos de datos
documentacin, formularios, informes ...

1.1 Bases de datos y sus usuarios


Cundo NO usar un SGBD
Hay situaciones en las que emplear un SGBD puede generar costes
innecesarios, evitables con el procesamiento de ficheros
Costes adicionales debidos a...
Gran inversin inicial en equipo, software y formacin
Generalidad ofrecida por el SGBD para definir y procesar datos
Funciones de seguridad, control de concurrencia, recuperacin, integridad

Problemas adicionales si...


Diseadores o ABD no han diseado la base de datos apropiadamente
La implementacin 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
Requisitos de tiempo real que no se cumpliran por el coste extra del SGBD
No se necesita acceso multiusuario a los datos

1.2 Conceptos y arquitectura del sistema


de bases de datos
Modelos de datos, esquemas e instancias

Objetivo del enfoque de BD: Visin abstracta de datos


Ocultar detalles de almacenamiento y mantenimiento

Modelos de datos para conseguir abstraccin


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 bsicas para especificar lectura/modificacin

Tipos de modelos de datos


Segn conceptos que ofrecen para describir la estructura de la BD

1.2 Conceptos y arquitectura del SBD


Modelos de datos de alto nivel o conceptuales

Mundo
Real

Modelo
CONCEPTUAL
de Datos

Esquema
Conceptual

Conceptos cercanos a cmo 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
Relacin: asociacin | vnculo | interaccin entre entidades

Modelo Entidad/Relacin, MER (ERM, entity-relationship model)


Modelos Orientados a Objetos (UML, Unified Modeling Language)

1.2 Conceptos y arquitectura del SBD


Modelos de datos de representacin o lgicos (1)
Permiten describir la estructura lgica global: descripcin de la
implementacin
Conceptos entendibles por usuarios finales, pero no lejos de
organizacin fsica de datos
Ocultan detalles de implementacin, pero conceptos implementables
directamente en el sistema
Los ms utilizados en los SGBD comerciales actuales (ORACLE)
Modelos basados en registros
Relacional, Red, Jerrquico

Modelos orientados a objetos


Modelos lgicos prximos a los conceptuales

1.2 Conceptos y arquitectura del SBD


Modelos de datos de representacin o lgicos (y 2)
MODELO RELACIONAL
Cada cliente slo puede tener
una cuenta a su nombre.
Una cuenta puede tener ms de
un cliente como titular.

CUENTA nmero saldo ...


200

35

505

40

821

50

...

CLIENTE nombre

direccin

ciudad

cuenta

Garca, A

Gran Va, 6

Murcia

200

Lpez, B

Ronda Norte, 3

Murcia

821

Azorn, C

Paseo Nuevo, 9

Valencia

505

Prez, C

Plaza Mayor, 2

Valencia

505

...

1.2 Conceptos y arquitectura del SBD


Modelos de datos de bajo nivel o fsicos
Conceptos que describen detalles de almacenamiento de los datos
Dirigidos a usuarios especialistas en informtica
Describen la estructura fsica de la base de datos:
- Formato y ordenamiento de registros en los ficheros de datos
- Tamaos de pgina, de bloque,...
- Caminos (o estructuras) de acceso a los datos (ficheros ndices, etc.)
...

1.2 Conceptos y arquitectura del SBD


Esquemas, instancias y estado de la base de datos
Esquema = Descripcin
Especificado en el diseo de la BD y rara vez modificado
Metainformacin o metadatos

Diagrama del Esquema de la BD


Representacin del esquema, en un modelo de datos
Compuesto de esquemas de tipos de registro (elementos del esquema)
LIBRO

isbn titulo apAutor nomEdit ao

PRESTAMO idPer idLib fecha


...
Otra posible representacin:
LIBRO ( isbn, titulo, apAutor, nomEdit, ao )
PRESTAMO ( idPer, idLib, fecha )
...

Un diagrama de
esquema slo visualiza
algunos aspectos del
esquema, pero no muestra
muchos otros: tipos de
datos, relaciones entre
elementos del esquema,...

1.2 Conceptos y arquitectura del SBD


Esquemas, instancias y estado de la base de datos
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 = Intensin ; Estado = Extensin

1.2 Conceptos y arquitectura del SBD


Arquitectura de tres esquemas de un SGBD
Recuperacin eficiente de datos estructuras de datos
complejas para representar la informacin en la BD
Complejidad oculta a travs de niveles de abstraccin
Arquitectura ANSI/X3/SPARC
...
...

Nivel Externo
(vistas)

Nivel Conceptual
Nivel Interno

Ayuda a conseguir
Separacin entre
programas y datos
Mltiples vistas de
usuario

1.2 Conceptos y arquitectura del SBD


Arquitectura de tres esquemas ANSI/X3/SPARC (1)
Nivel Interno
Descrito mediante el Esquema Interno, el cual...
Define la estructura fsica de almacenamiento de toda la BD

Tipos de registros almacenados,


Secuencia fsica de los registros,
Estructuras de almacenamiento (hashing,...),
Estructuras de acceso (indexacin,...)
etc.

Escrito utilizando un Modelo de Datos Fsico


Muy cercano al nivel fsico pero no trata con registros fsicos
(bloques, pginas, ) ni con unidades como cilindros o pistas.

1.2 Conceptos y arquitectura del SBD


Arquitectura de tres esquemas ANSI/X3/SPARC

(2)

Nivel Conceptual o Lgico


Descrito mediante el Esquema Conceptual o Lgico...
Define la estructura lgica de toda la BD
Entidades, Tipos de datos,
Relaciones,
Restricciones (integridad, seguridad,...)

Oculta detalles fsicos


Escrito usando un Modelo de Datos Conceptual o Lgico
Actualmente se considera el uso de dos esquemas en este nivel:
Esquema Conceptual: organizativo, cercano al usuario
Esquema Lgico: cercano al SGBD

1.2 Conceptos y arquitectura del SBD


Arquitectura de tres esquemas ANSI/X3/SPARC

(3)

Nivel Externo o de Vistas


Descrito mediante Esquemas Externos
Cada Esquema Externo o Vista...
Define la porcin de la BD que interesa a un usuario
Para el usuario, esa porcin es la base de datos
Pueden existir mltiples vistas del mismo esquema conceptual
Varias vistas pueden solaparse entre s
Escrito usando Modelo de Datos Conceptual o Lgico

1.2 Conceptos y arquitectura del SBD


Arquitectura de tres esquemas ANSI/X3/SPARC

(4)

SGBD comerciales no distinguen del todo los 3 niveles


Algunos incluyen detalles fsicos en el Esquema Conceptual (Lgico)
Usan el mismo modelo de datos para especificar
Esquemas Externos (vistas) y
Esquema Conceptual (lgico)

Los 3 niveles son descripciones de datos


Los datos reales slo estn en el nivel fsico

Correspondencia entre esquemas SGBD (el ABD)


Externo Conceptual
Conceptual Interno

1.2 Conceptos y arquitectura del SBD


Arquitectura de tres esquemas ANSI/X3/SPARC

(y 5)

Nivel Externo (Lenguaje de Programacin tipo Pascal)


tipo empleado = registro
(no acceso al salario)
n_empleado: cadena(6);
n_depto: cadena(4);
fin;
Nivel Conceptual (Lenguaje de definicin 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
PREFIJO
EMP#
DEPTO#
PAGA

LONGITUD=20
TIPO=BYTE(6), DESPLAZAMIENTO=0
TIPO=BYTE(6), DESPLAZAMIENTO=6, INDICE=IEMP
TIPO=BYTE(4), DESPLAZAMIENTO=12
TIPO=PALABRA, DESPLAZAMIENTO=16

1.2 Conceptos y arquitectura del SBD


Independencia de datos (1)
Capacidad de modificar el esquema de un nivel sin tener
que cambiar el esquema del nivel inmediato superior

Independencia lgica de datos


Capacidad de modificar el esquema conceptual...
ampliar / reducir la BD
modificar restricciones

... sin alterar


esquemas externos
programas de aplicacin

difcil de conseguir

1.2 Conceptos y arquitectura del SBD


Independencia de datos (2)

Independencia fsica de datos


Capacidad de modificar el esquema interno...
reestructurar alguna estructura de almacenamiento
crear nuevas estructuras de acceso, etc.

mejorar rendimiento de la obtencin/actualizacin


... sin alterar
esquema conceptual
programas de aplicacin

es ms fcil de lograr

1.2 Conceptos y arquitectura del SBD


Independencia de datos (y 3)
Pero... cmo conseguir la independencia de datos?
El Catlogo de SGBD incluye informacin
sobre correspondencias entre esquemas

Modificacin del esquema de un nivel implica...


cambios en la correspondencia entre niveles,
y el esquema del nivel superior no vara

gracias a la Arquitectura de Tres Niveles

OK !!

Mantenimiento de las correspondencias entre niveles...


gasto extra en compilacin / ejecucin de programas
menor eficiencia del SGBD
Pocos SGBD implementan Arquit. de Tres Niveles completa

1.2 Conceptos y arquitectura del SBD


Lenguajes e interfaces de bases de datos
Lenguajes del SGBD (1)
LDD: lenguaje de definicin de datos

Usado por ABD y diseadores para especificar...


Esquema Conceptual
Esquema Interno
si SGBD sin separacin 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 catlogo del SGBD

1.2 Conceptos y arquitectura del SBD


Lenguajes e interfaces de bases de datos
Lenguajes del SGBD (2)
LDD: lenguaje de definicin de datos (cont.)
CREATE TABLE Libro (
isbn
CHAR(10)
titulo
VARCHAR(60)
apAutor VARCHAR(15)
nomEdit VARCHAR(15)
ao
NUMERIC(4)
... );

PRIMARY KEY,
NOT NULL UNIQUE,
NOT NULL,
NOT NULL,

1.2 Conceptos y arquitectura del SBD


Lenguajes del SGBD (3)
LDA: lenguaje de definicin de almacenamiento
En SGBD que distinguen entre niveles conceptual e interno, se usa...
LDA para especificar Esquema Interno
detalles de implementacin 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 SBD


Lenguajes del SGBD (4)
LDV: lenguaje de definicin 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 mayora 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 SBD


Lenguajes del SGBD (5)
LMD: lenguaje de manipulacin de datos
Obtencin, Insercin, Eliminacin y Modificacin de datos
Dos tipos de DML: procedimental y declarativo

LMD procedimental, o de bajo nivel


Qu datos obtener/manipular y cmo 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 SBD


Lenguajes del SGBD (y

6)

LMD declarativo, o de alto nivel

Qu datos obtener para manipular y no cmo manipularlos


Usado para realizar operaciones complejas de BD...
- Interactivamente -- Lenguaje de Consulta
- Incorporado en un LP anfitrin (host) -- LMD Empotrado
Es un LMD orientado a conjuntos:
Obtiene/Actualiza muchos registros con una nica sentencia
SELECT titulo, nomEdit, ao FROM Libro WHERE apAutor = Tolkien;
INSERT INTO Autor VALUES (Jorge Lus, 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 SBD


un apunte: acceso a BD desde programas de aplicacin
Programas escritos en un lenguaje (C++, Java, ...) anfitrin

Dos modos de ejecutar instrucciones LMD desde el lenguaje


anfitrin:
Usar Interfaz de Programa de Aplicacin

(conjunto de procedimientos)

ODBC, Open Data Base Connectivity (definido por Microsoft para C),
JDBC, Java Data Base Connectivity

Extender la sintaxis del lenguaje anfitrin para incorporar


llamadas LMD dentro de los programas
Instrucciones LMD precedidas de un carcter especial
El preprocesador de LMD convertir estas instrucciones en
llamadas a procedimientos normales del lenguaje anfitrin

1.2 Conceptos y arquitectura del SBD


Interfaces del SGBD
Basadas en mens
Basadas en formularios
Grficas
De lenguaje natural
Para usuarios paramtricos
Para el ABD (rdenes privilegiadas)

Crear/eliminar cuentas de usuario y establecer autorizaciones


Establecer parmetros de ajuste del rendimiento del sistema
Modificacin de esquemas y correspondencias
Acceso al catlogo
Reorganizar estructura de almacenamiento de la BD
Realizar/restaurar copias de seguridad
...

1.3 Estructura general del sistema de


bases de datos
Mdulos componentes de un SGBD (1)

Arquitectura de los paquetes software de SGBD


Los actuales tienen un diseo modular, segn una
arquitectura cliente-servidor (dos capas)
Terminal
Estacin de
trabajo
PC
Programas de
aplicacin
Interfaces (GUI)
de acceso a BD

SGBD
BD

SERVIDOR
USUARIOS

CLIENTE

Red de larga distancia (WAN)


Red de rea local (LAN)
Lneas telefnicas
Dispositivos de comunicacin
por satlite

1.3 Estructura general del sistema de


bases de datos
Mdulos componentes de un SGBD (2)
Compilador de Consultas
Sentencias LMD
interactivas

Compilador de
Consultas

Procesador de
Consultas

Anlisis Sintctico
Optimizacin

1.3 Estructura general del SBD


Mdulos componentes de un SGBD (3)
Precompilador y
compilador de LMD

Programa escrito en
LP HOST + LMD embebido

Precompilador
de LMD

Sentencias LMD

Sentencias LP

Compilador
de LMD

Compilador del
LP HOST
Cdigo
Objeto
(del LMD)

Cdigo
Objeto
(del LP)
Enlazador

Transaccin
programada
ejecutable

Procesador de
Consultas

1.3 Estructura general del SBD


Mdulos componentes de un SGBD (4)
Compilador de LDD
Procesa definiciones de esquemas escritas en LDD
Almacena descripciones de los esquemas en el catlogo
Otros mdulos del SGBD necesitan conocer estos metadatos
Definicin de Esquema
de BD escrito en LDD

Compilador de
LDD

BD
SO

1.3 Estructura general del SBD


Mdulos componentes de un SGBD (5)
Procesador de Consultas
Solicitudes de
RECUPERACIN y
ACTUALIZACIN

Procesador de
Consultas

Gestor de Datos
Almacenados

BD
SO

1.3 Estructura general del SBD


Mdulos componentes de un SGBD (6)
Subsistemas de control de...
Concurrencia y Recuperacin - Gestor de transacciones
Asegurar consistencia y coherencia de datos frente
actualizaciones simultneas de datos por mltiples usuarios
Detectar fallos o cadas del sistema
y Restaurar la BD a un estado consistente

Integridad y Seguridad
Son correctas las actualizaciones de los datos?
Detectar violacin de Restricciones de Integridad
y realizar accin de recuperacin de la integridad de datos
Se cumplen las restricciones de seguridad de acceso?
Comprobar las autorizaciones de acceso al SBD y a los datos

1.3 Estructura general del SBD


Mdulos componentes de un SGBD (7)
Gestor de datos almacenados y memoria intermedia
Control de acceso a informacin almacenada (datos y
metadatos)
Puede emplear servicios bsicos del SO para la transferencia de
datos a bajo nivel: disco memoria principal
Maneja los buffers de memoria (almacenam. intermedio)
Gestor de Datos
Almacenados

SO

BD

1.3 Estructura general del SBD


Mdulos componentes de un SGBD (y 8)
Estructuras de Datos
Ficheros de datos en disco

SO

BD

Catlogo: metadatos acerca de...

Estructura de BD, Restricciones de Integridad y de Autorizacin, etc.

Acceso Continuo por diferentes mdulos del SGBD


Necesario buen diseo e implementacin eficiencia
Estructuras de acceso (agilizan el acceso a los datos)

Datos estadsticos sobre los datos en la BD


Usados para optimizacin de consultas
Suele considerarse contenidos en el catlogo

1.3 Estructura general del SBD


Utilidades del sistema de bases de datos
SGBD = componente software ms importante
pero no es el nico !
Carga de datos
Intercambio de informacin entre BD de diferente tipo ( Oracle Access )

Respaldo
Reorganizacin de ficheros de la BD
Para mejorar rendimiento del sistema

Monitorizacin
Vigilancia del funcionamiento del sistema y su rendimiento
Datos estadsticos 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, compresin de ficheros, etc...

Sistemas de bases de datos


Bibliografa
[EN 2002] Elmasri, R.; Navathe, S.B. Fundamentos de Sistemas de Bases de
Datos. 3 Edicin. Addison-Wesley. (Cap. 1 y 2)
[EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos
fundamentales. 2 Edicin. Addison-Wesley Iberoameric. (Cap. 1 y 2)
[MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseo de bases de datos
relacionales. Ra-Ma. (Cap. 1 y 2)
[MP 1993] De Miguel, A.; Piattini, M.: Concepcin y diseo de bases de datos: del
Modelo E/R al Modelo Relacional. Ra-Ma.
[SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.:Fundamentos de bases de datos.
3 Edicin. McGraw-Hill. (Cap. 1)
[SKS 2002] Silberschatz, A.; Korth, H.F.; Sudarshan, S. Fundamentos de Bases de
Datos. 4 edicin. Madrid, McGraw-Hill, 2002. (Cap. 1)
[CBS 1998] Connolly, T.; Begg C.; Strachan, A. Database Systems: A Practical
Approach to Design, Implementation and Management. 2nd edition.
Addison-Wesley. (Cap. 1 y 2)
[CCM 2003] Celma, M.; Casamayor, JC.; Mota, L. Bases de datos relacionales.
Pearson Educacin, 2003. (Cap. 1, 2 y parte del 6)

Anexo 1. CLASIFICACIN DE LOS SGBD


Segn el Modelo de Datos en el que est basado
Relacional, Red, Jerrquico,
Orientado a Objetos,
Objeto/Relacional, ...

Segn el n de usuarios simultneos


Monousuario
Multiusuario

Segn el n de lugares en que se almacenan datos


Centralizado
Distribuido (SGBDD)

SGBDD homogneo: mismo software de SGBD en todos los sitios


SGBDD heterogneo (ej. Multi-Base de Datos o BD Federadas)

Segn su propsito
de propsito General
de propsito Especfico: construido para un tipo concreto de aplicaciones