Temas 1-2. PDF Origen y evolución BD-SGBD

Anuncio
Evolución histórica
escuela técnica superior
de ingeniería informática
(sistemas basados en archivos)
♦ Sistemas orientados a los procesos
Tema 1
♦ Los datos se almacenaban en ficheros diseñados para
una determinada aplicación.
♦ Datos duplicados
♦ Se repiten los controles y operaciones.
Origen y evolución de las BD
Departamento de
Lenguajes y Sistemas Informáticos
♦ Redundancias e inconsistencias.
♦ Dependencia de los datos respecto a los programas
Dato 1
Fichero 1
Tratamiento 1
Dato 2
Fichero 2
Tratamiento 2
Dato D
Fichero F
Tratamiento T
Bases de Datos
3
Índice
♦ Evolución histórica
♦ Características de los sistemas tradicionales
♦ Ventajas de las Bases de Datos
♦ Inconvenientes
♦ Conceptos de Bases de Datos
♦ Niveles de abstracción de una BD
♦ Tipos de usuarios de la Base de datos
Evolución histórica.
Primera Generación
♦ Partieron de los sistemas basados en archivos,
empezando a desarrollarse para el proyecto lunar
Apollo en la década de los 60’s desarrollándose GUAM
(Generalized Update Access Method)
♦ A mediado de los 60 apareció IDS (Integrated Data
Store) de General Electric y IMS (Integrated
Management System) de IBM.
♦ En 1967 se creó la organización DBTG (Data Base
Task Group) para la especificación de un estándar
dando origen a CODASYL o DBTG.
♦ Problemas de programación compleja para acciones
simples, mínima independencia de los datos y no
existía una base teórica aceptada.
1
Evolución histórica.
Evolución histórica
Segunda Generación
Segunda Generación
♦ Codd de IBM definió el modelo de datos relacional
abriéndose el campo de las BD comerciales.
Datos independientes de los tratamientos
♦ Proyecto System R de IBM que condujo a
desarrollar SQL e implementación de productos
como DB2, SQL/DB y Oracle.
Redundancia controlada
♦ Todo ello dio paso a los SGBD relacionales.
Datos interrelacionados
♦ Problemas de capacidad de modelado y falta de
expresividad
Estructura de datos integrada y centralizada
Evolución histórica
Evolución histórica.
Segunda Generación
Tercera Generación
♦ Sistemas orientados a los datos.
♦ Base de datos, finales 60’s: los datos se
organizan y mantienen en un conjunto
estructurado que no está diseñado para una
aplicación concreta; satisface las necesidades
de información de toda la organización.
♦ Creciente complejidad de los datos y las
aplicaciones que los tratan
♦ OODBMS: bases de datos orientadas a objetos
♦ ORDBMS: bases de datos objeto-relacionales.
Proceso 1
Proceso 2
BD
♦ Amplían la expresividad pero se alejan del modelo
relacional original.
Proceso N
2
Evolución histórica
Inconvenientes de las BD’s
♦ Instalación costosa.
Sistemas basados en Archivos
(60’s)
DBTG
(finales 60’s)
Modelo Relacional de Codd
(70’s)
Primera Generación
Segunda Generación
♦ La implantación de un sistema de base de datos puede
llevar consigo un coste elevado, tanto en equipo físico como
lógico.
♦ Personal especializado.
♦ Los conocimientos que resultan imprescindibles para una
utilización correcta, y sobre todo la administración correcta
y eficaz, implican la necesidad de personal especializado.
♦ Implantación larga y difícil. Coste de conversión
♦ Falta de rentabilidad a corto plazo.
Orientación a Objetos
(80’s)
Tercera
Generación
BBDD Objeto-Relacionales
(90’s)
Ventajas de las BD’s
♦ Ausencia real de estándares.
♦ Desfase entre teoría y práctica.
♦ Mayor impacto de fallos
Concepto de BD
♦ Independencia de datos respecto a tratamientos y viceversa
Colección o depósito de datos integrados con redundancia
♦ Coherencia: No existe redundancia incontrolada de datos
controlada
♦ Disponibilidad: Los datos no son propiedad de los usuarios
interrelaciones y restricciones existentes en el mundo real.
y
con
una
estructura
que
refleje
las
♦ Mayor accesibilidad a los datos y capacidad de respuesta
♦ Mayor valor informativo
Los datos, que han de ser compartidos por diferentes usuarios
♦ Mejor y más normalizada documentación de la información.
y aplicaciones, deben mantenerse independientes de éstas,
♦ Mayor eficiencia en la recogida, validación y entrada de datos
y su definición y descripción, únicas para cada tipo de datos,
♦ Reducción del espacio de almacenamiento
han de estar almacenadas junto con los mismos.
♦ Mayor nivel de concurrencia
Los procedimientos de actualización y recuperación comunes y
♦ Servicios de copia de seguridad y recuperación
bien
♦ Integración en distintas aplicaciones
integridad, seguridad y confidencialidad del conjunto de los datos.
determinados,
habrán
de
ser
capaces
de
conservar
la
3
Niveles de Abstracción de las BD
Datos, relaciones, restricciones
de uso (derecho a insertar,
borrar..) de cada usuario
Todos los datos, interrelaciones, restricciones
de integridad y confidencialidad
Independiente tanto del equipo como de cada
usuario en particular
Asignación de espacios de almacenamiento.
Estrategia de almacenamiento y
caminos de acceso.
Forma en la que se encuentran los datos
Tipos de usuarios en una BD
Tipos de usuarios en una BD
♦ Administradores de Aplicaciones: Es el
responsable de administrar una aplicación en
particular y decidir los accesos a los objetos de
la misma
♦ Usuarios de Bases de Datos: Interacciona con
la BD utilizando las aplicaciones y las
herramientas, pudiendo añadir, modificar,
eliminar información y generar informes.
♦ Administrador de Red: Son responsables de
conocer y administrar los productos Oracle para
trabajar en red.
Distintas formas de ver la BD
(usuarios y administrador)
♦ Administrador (DBA)
♦ Encargado de la Seguridad: El encargado de dar
de alta a los usuarios, controla y monitoriza el
acceso de los usuarios y mantiene la seguridad
del sistema.
♦ Desarrolladores de Aplicaciones: Diseña e
implementa las aplicaciones que trabajan con la
base de datos y entre sus responsabilidades
están:
SubEsquema
(Vista)
Esquema
♦ Diseñar y Desarrollar aplicaciones contra la base de datos
♦ Diseñar la estructura de la base de datos para las aplicaciones
♦ Estimar los requisitos de espacio necesarios para la aplicación
♦ Ajustar la aplicación durante el desarrollo (el optimizador)
Aministrador
4
El SGBD como interfaz entre usuario y BD
escuela técnica superior
de ingeniería informática
Nivel Estratégico
Tema 2
Sistemas de Gestión de BD
Elaboración de planes
Objetivos Generales
OLAP (on-line analytical
processing)
Nivel Táctico
Control de Gestión
Objetivos específicos
S
G
B
D
BD
Nivel Operacional
Tareas administrativas
Departamento de
Lenguajes y Sistemas Informáticos
Bases de Datos
Índice
♦ El SGBD como interfaz entre el usuario y BD
♦ La arquitectura a tres niveles de ANSI-X3SPARC
♦ Funciones de un SGBD
♦ Lenguajes de las Bases de Datos
♦ Arquitecturas de SGBD multiusuarios
♦ Dos niveles
♦ Tres niveles
En las organizaciones se suelen distinguir
tres niveles de gestión. La desconexión
entre ellos aumenta el coste global de
creación y mantenimiento, produciendo
redundancias e incoherencias. El SGBD
debe integrar los distintos subsistemas.
El SGBD es el SW que suministra
medios a los usuarios, analistas,
programadores
o
administradores
para describir, recuperar y manipular
los datos manteniendo la integridad,
confidencialidad y seguridad
Concepto de SGBD
♦ Conjunto de programas, procedimientos,
lenguajes, etc. que suministra tanto a los
usuarios no informáticos como a los analistas,
programadores o al administrador, los medios
necesarios para describir, recuperar y
manipular los datos almacenados en la BD,
manteniendo su integridad, confidencialidad y
seguridad.
♦ La finalidad del SGBD es, por tanto,
establecer el interfaz necesario entre los
diferentes tipos de usuarios y la BD.
5
Funciones de un SGBD
La arquitectura a tres niveles de
ANSI-X3-SPARC
♦ Definición: Permite a los usuarios especificar los
elementos de datos que integran la base, su
estructura y las relaciones que existen entre ellos, las
reglas de integridad semántica, controles a efectuar
antes de autorizar el acceso a la BD. Lenguaje de
Definición de Datos (LDD).
♦ Manipulación: Permite a los usuarios buscar, añadir,
suprimir o modificar los datos, siempre de acuerdo
con las especificaciones y normas de seguridad
especificadas. Lenguaje de Manipulación de datos
(LMD).
♦ Todos los usuarios deben poder acceder a los
mismos datos, pero con diferentes vistas
♦ Utilización: Esta función reúne todas las interfaces
que necesitan los diferentes usuarios para utilizar la
base, además de proporcionar un conjunto de
procedimientos para el administrador.
♦ El DBA debe poder modificar la estructura
conceptual de la BD sin afectar a los usuarios.
La arquitectura a tres niveles de
ANSI-X3-SPARC
♦ En 1971 el BBTG elaboró una de las primeras propuestas de
terminología estándar y de arquitectura general para los
sistemas de bases de datos. Se basó en la definición en dos
niveles (esquemas y subesquemas)
♦ En 1975 ANSI-SPARC definió la arquitectura con tres niveles
Cómo los usuarios perciben los datos (Vistas)
Correspondencia/Independ
encia entre niveles.
Qué datos se almacenan y
la relación entre ellos
Cómo el SGBD y el SSOO perciben los datos
♦ Los usuarios no deben tener información de los
detalles de almacenamiento físico de la bd
♦ El administrados de la BD debe poder cambiar las
estructuras de almacenamiento de la bd sin
afectar a las vistas de los usuarios
♦ La estructura interna de la BD no debería verse
afectada por los cambios que se efectúen
físicamente
Niveles de abstracción
♦ Nivel interno. Describe cómo se almacenan los
datos. Estarán los registros, longitud, campos,
índices y las rutas de acceso a esos archivos.
♦ Nivel Conceptual. Describe los datos e
interrelaciones. Corresponde a la estructura
organizacional de los datos obtenida al reunir los
requerimientos de todos los usuarios, sin
preocuparse de su organización física ni de las
vías de acceso.
♦ Nivel externo o vistas. Describe únicamente la
parte de datos para un usuario o grupo de
usuarios.
6
La independencia física permite…
♦ Independencia
de
las
estructuras
de
almacenamiento y las estructuras del mundo real
♦ Poder modificar el esquema interno sin modificar el
conceptual
♦ crea índices
♦ reagrupar ficheros
♦ tamaño de bloques
♦ desbordes,
♦ ubicación de datos
♦ SO
♦ distribución geográfica de datos
La independencia Lógica permite…
♦ Capacidad de modificar el esquema conceptual
sin tener que alterar las aplicaciones ni los
esquemas externos (vistas).
♦ Independencia entre los distintos usuarios
♦ Cada grupo de trabajo puede reunir de modo
diferente los datos para formar entidades,
asociaciones..
♦ Modificar atributos, asociaciones, entidades,
propiedades de los atributos, propiedades de las
entidades…
Funcionamiento de un SGBD
[1]
El proceso lanzado por el usuario llama al
SGBD indicando la porción de la base de
datos que se desea tratar
[2]
El SGBD traduce la llamada a términos del
esquema lógico de la base de datos.
Accede al esquema lógico comprobando
derechos de acceso y la traducción física
[3]
El SGBD obtiene el esquema físico
[4]
El SGBD traduce la llamada a los métodos
de acceso del Sistema Operativo que
permiten acceder a los datos requeridos
[5]
El Sistema Operativo accede a los datos
tras traducir las órdenes dadas por el
SGBD
[6]
Los datos pasan del disco a una memoria
intermedia o buffer. En ese buffer se
almacenarán los datos según se vayan
recibiendo
[7]
Los datos pasan del buffer al área de
trabajo del usuario (ATU) del proceso del
usuario.
[8]
El SGBD devuelve indicadores en los que
manifiesta si ha habido errores o
advertencias a tener en cuenta. Esto se
indica al área de comunicaciones del
proceso de usuario. Si las indicaciones son
satisfactorias, los datos de la ATU serán
utilizables por el proceso de usuario.
Interacción en un entorno concurrente entre el
SGBD, el SO y los programas de aplicación
(LMD embebido en un lenguaje anfitrión):
Lenguajes de las Bases de Datos
♦ Lenguaje de Definición de Datos (DDL). Permite
describir y nombrar entidades, atributos y restricciones.
♦ Lenguajes de Manipulación de Datos (DML). Permite
manipular los datos contenidos en la BD (inserción,
modificaciones extracción o borrado)
♦ Procedimentales: permite al usuario especificar qué datos
necesita y la forma exacta de extraerlos. Extrae un registro, lo
proceso y dependiendo de los resultados extrae otro registro
para procesarlo de forma similar. Suele estar integrado en un
lenguaje de alto nivel para facilitar la iteración y gestión de la
lógica de navegación.
♦ No procedimentales: permite al usuario indicar qué datos
necesita, en lugar de cómo extraerlos (lenguajes declarativos)
7
Lenguajes de las Bases de Datos
Autocontenido
No Procedimental
(binding)
♦ Proceso por el que se asocia la representación
interna de los datos al esquema externo.
Huésped
Procedimental
Ligadura
Los lenguajes tipo huésped
son procedimentales, se
explotan en diferido y actúan
registro a registro
Diferido (por lotes)
Conversacional (interactivo)
Registro a registro (navegacional)
Conjunto de registros (especificación)
♦ Binding lógico. La mayor independencia de datos se
consigue mientras más tarde se
♦ Binding físico.
haga la ligadura y más baja sea la
granularidad, aunque esto aumenta
la complejidad del SGBD.
♦ Momentos en que se puede hacer el binding:
♦ Precompilación.
♦ Compilación.
♦ Generación del modulo ejecutable.
♦ Comienzo de la ejecución del programa.
♦ Acceso a la BD.
Granularidad
♦ Nivel en que en una BD pueden definirse los
datos para un esquema externo en relación al
esquema interno.
♦ Niveles de granularidad son:
Arquitecturas de SGBD multiusuarios
Dos niveles
Existe un proceso cliente que necesita algún
recurso y un servidor que proporciona el
recurso. No tienen que estar en la misma
máquina. Existen diferentes topologías.
♦ Tipos de registro
♦ Campos o agregados
♦ Dato elemental
BD
Lógica de
transacciones
Gestión de datos
Interfaz de
usuario
Lógica de negocio
8
Arquitecturas de SGBD multiusuarios
Tres niveles
Interfaz de
usuario
Lógica de negocio y procesamiento de
datos
(servidor de aplicaciones)
SGBD que almacena los datos requeridos
Por el nivel intermedio (servidor de bd)
• Validación de datos
• Acceso a base de datos
9
Descargar