1. Introducción

Anuncio
1.
Introducción
1.1. Información y datos
1.2. Ficheros vs. Bases de datos
1.3. Sistemas gestores de bases de datos
1.4. Visión de los datos
1.5. Esquema de la BD y ejemplares de la BD
1.6. Modelos de datos
1.7. Lenguajes
1.8. Arquitectura de un SGBD
1.8.1. Componentes del sistema
1.8.2. Usuarios
1.9. Orígenes
Bibliografía
1. Introducción
En esta asignatura se estudia la gestión de datos mediante el uso de ficheros y bases de datos.
Se estudiarán conceptos para representar información, lenguajes para manejarla y las
arquitecturas para la gestión de datos.
1.1.
Información y datos
La información se registra mediante datos. Los datos se pueden mecanizar.
Los datos se interpretan para obtener una información. La interpretación depende del hombre,
no se “puede” mecanizar. [ACPT00]
Es necesario un almacenamiento persistente.
1.2.
Ficheros vs. Bases de datos
Fichero: almacenamiento persistente de datos usado para representar información.
Base de datos: colección de datos relacionados usada para representar información. También es
persistente.
Problemas de las organizaciones de ficheros previas a las bases de datos
•
Redundancia e inconsistencia de datos
•
Costes de mantenimiento de los programas:
1-1
-
Dificultad en el acceso. Cada consulta de datos implica generalmente escribir un nuevo
programa
-
Aislamiento de datos. Formatos diferentes y en medios diferentes
-
Integridad. Para implementar restricciones de integridad es necesario modificar todos
los programas que accedan a los datos
•
Atomicidad. Cuando hay un fallo informático (corte de corriente, error de disco, ...) se
puede producir una inconsistencia en una transferencia bancaria. La transferencia debe ser
una operación atómica (ocurre totalmente o no ocurre).
•
Acceso concurrente. Dos clientes retiran fondos de la misma cuenta simultáneamente. Valor
leído X, fondos retirados Y, Z. Uno escribe X-Y y el otro X-Z. Al final, no queda el valor
correcto X-Y-Z.
•
Seguridad.
Las bases de datos solucionan los problemas de los ficheros.
Sin embargo, no sustituyen a los ficheros en todas las aplicaciones. Por ejemplo: ficheros
temporales, datos no relacionados. Además, las bases de datos se implementan con ficheros.
Costos asociados al uso de un SGBD:
•
Coste inicial elevado de hardware, software y formación.
•
Coste de la provisión de seguridad, control de concurrencia, recuperación e integridad.
•
Degradación del rendimiento.
Los ficheros se prefieren a los SGBD cuando:
•
BD y aplicaciones simples, bien definidas y sin visos de cambio.
•
Requisitos de tiempo real que no pueden cubrir los SGBD.
•
No se requiere acceso concurrente.
1.3.
Sistemas gestores de bases de datos
Usuario 1
...
Usuario n
Aplicación 1
...
Aplicación m
SGBD
BD 1
...
BD k
Un SGBD es un sistema software capaz de manejar grandes colecciones de datos relacionados
que son compartidos y persistentes. Aseguran su fiabilidad y privacidad.
Una BD es la colección de datos relacionados que implementa la información y que es
gestionado por un SGBD.
Las aplicaciones de acceso a BD son el conjunto de programas que permite acceder a las BD (a
través del SGBD) sin pasar por la interfaz de usuario del SGBD.
Características de las BD y los SGBD:
1-2
•
Los SGBD permiten controlar la redundancia. A veces, por cuestiones de rendimiento, se
puede implementar datos redundantes (redundancia controlada por el propio SGBD)
•
Control de acceso (seguridad) a usuarios y grupos de usuarios a subconjuntos de la BD.
•
Representación de relaciones complejas entre datos.
•
Imposición de restricciones de integridad. Ej: Tipo de datos, definición de tipos de datos
dinámicos. Estas restricciones dependen de la semántica de los datos y es responsabilidad
del diseñador de la BD.
•
Almacenamiento persistente. Datos simples y complejos. Con la POO, aparece la necesidad
del almacenamiento de objetos -> SGBD orientados a objetos.
•
Pueden ser muy grandes. Terabytes.
•
Las BD son compartidas por usuarios y aplicaciones.
•
Reactivas. BD activas.
•
Copias de seguridad y recuperaciones. A veces es necesario “en caliente”, i.e., sin parar el
sistema (sistemas non-stop).
•
Provisión de varias interfaces de usuario: gráficas, lenguaje de consulta, biblioteca de
funciones para desarrollo de aplicaciones.
•
Eficientes.
SGBD especiales:
•
Permiten la inferencia. BD deductivas.
•
Permiten la representación del tiempo. BD temporales.
•
Permiten el almacenamiento de objetos. BD orientadas a objetos.
•
BD geográficas y espaciales
•
BD multimedia
•
BD distribuidos. WWW
•
Data mining. Recopilación de datos
•
Data warehousing. Grandes almacenes de datos
Como consecuencia de estas características se obtienen las siguientes ventajas:
•
Normalización. Permite a los DBA definir e imponer estándares (aunque no lo obliga).
•
Tiempo de desarrollo de aplicaciones reducido.
•
Flexibilidad. Facilidad para añadir o eliminar datos necesarios.
•
Disponibilidad inmediata de las actualizaciones de datos para todos los usuarios.
•
Economía de dimensionabilidad. Grandes sistemas centralizados.
1.4.
Visión de los datos
Objetivo de un SGBD: Proporcionar una visión abstracta de los datos (se ocultan los detalles de
cómo se almacenan y mantienen los datos).
•
Nivel físico: Cómo se almacenan los datos.
•
Nivel lógico: Qué datos y qué relaciones se almacenan.
•
Nivel de vistas: Subconjunto del nivel lógico.
1-3
Nivel de vistas
...
Vista 1
Vista n
Nivel lógico
Nivel físico
1.5.
Esquema de la BD y ejemplares de la BD
El esquema es el diseño de la BD (estructura de los datos y sus relaciones)
Ejemplar: una instancia de la BD en un momento dado.
1.6.
Modelos de datos
Los modelos de datos se usan para abstraer los datos
Def: Colección de conceptos que se usan para describir la estructura de una BD. La estructura
son los tipos de datos, las relaciones y las restricciones. Llevan asociados operaciones básicas.
•
Modelos lógicos basados en objetos
-
Entidad-relación
Consta de objetos básicos (entidades) y de relaciones entre ellos
Las entidades se describen por un conjunto de atributos. Se dice que un elemento de
datos pertenece a una entidad (conjunto). Los elementos de datos son únicos.
Restricciones: correspondencia de cardinalidades entre entidades (uno a uno, uno a
muchos, muchos a muchos)
dni
número-cuenta
nombre-cliente
cliente
impositor
cuenta
calle-cliente
saldo
ciudad-cliente
-
Orientado a objetos
Consta de objetos básicos. Los objetos contienen valores y código (métodos) que se
puede aplicar sobre ellos. Las clases son la definición de los tipos de valores y los
métodos que se pueden aplicar sobre ellos.
Los elementos de datos no están unívocamente determinados por sus valores, sino por el
objeto en si mismo (se identifican a nivel físico)
cliente(dni,nombre-cliente,calle-cliente,ciudad-cliente,número-cuenta)
cuenta(número-cuenta,saldo)
1-4
•
Modelos lógicos basados en registros
-
Relacional
Se usa una colección de tablas para representar los datos y sus relaciones.
nombre-cliente
dni
calle-cliente
número-cuenta
dni
192837465
019283746
677899011
182736091
192837465
321123123
336669999
019283746
número-cuenta
C-101
C-215
C-102
C-305
C-201
C-217
C-222
-
nombre-cliente
González
Gómez
López
Abril
González
Santos
Rupérez
Gómez
ciudad-cliente
número-cuenta
saldo
calle-cliente
Arenal
Carretas
Mayor
Preciados
Arenal
Mayor
Ramblas
Carretas
ciudad-cliente
La Granja
Cerceda
Peguerinos
Valsaín
La Granja
Peguerinos
León
Cerceda
número-cuenta
C-101
C-215
C-102
C-305
C-201
C-217
C-222
C-201
saldo
100.000
140.000
80.000
70.000
180.000
150.000
140.000
Red
Consta de registros (Pascal) y relaciones entre ellos (punteros).
Los registros se organizan como colecciones de grafos dirigidos.
González
Gómez
López
Abril
Santos
Rupérez
-
192837465
019283746
677899011
182736091
321123123
336669999
Arenal
Carretas
Mayor
Preciados
Mayor
Ramblas
La Granja
Cerceda
Peguerinos
Valsaín
Peguerinos
León
C-101
C-215
C-102
C-305
C-201
C-217
C-222
100.000
140.000
80.000
70.000
180.000
150.000
140.000
Jerárquico
Consta de registros (Pascal) y relaciones entre ellos (punteros), al igual que el de red.
Los registros se organizan como colecciones de árboles.
1-5
González
Gómez
López
Abril
Santos
Rupérez
192837465
019283746
677899011
182736091
321123123
336669999
Arenal
Carretas
Mayor
Preciados
Mayor
Ramblas
C-101
C-201
C-215
C-201
C-102
C-305
C-217
C-222
La Granja
Cerceda
Peguerinos
Valsaín
Peguerinos
León
100.000
180.000
140.000
180.000
80.000
70.000
150.000
140.000
Hay redundancia de información con respecto al de red
1.7.
Lenguajes
•
Lenguaje de definición de datos (DDL, Data Definition Language). Para definir la
estructura o esquema de la BD. Lo usa generalmente el DBA (Data Base Administrator) en
la creación de una BD o en su modificación (por tanto, se usa poco).
•
Lenguaje de manipulación de datos (DML, Data Manipulation Language). Lo usan los
usuarios finales, los programas de aplicación y cualquiera que lo necesite.
-
Procedimentales:
Cobol, C++, Visual Basic
-
No procedimentales:
SQL, Datalog
-
Lenguajes de cuarta generación:
Natural, combina procedimental con no procedimental
Por generaciones: Cobol (3ª), Natural (4ª), Datalog (5ª)
•
Lenguaje de acceso a datos (ADL, Access Data Language). Lo usan los DBA para imponer
la seguridad de acceso a datos restringiendo el acceso a usuarios y grupos.
1.8.
Arquitectura de un SGBD
1.8.1. Componentes del sistema
•
Concurrencia. Gestor de transacciones
Para asegurar la propiedad de atomicidad de operaciones se usan las transacciones.
Las transacciones permiten además el procesamiento concurrente.
•
Gestor de almacenamiento
El almacenamiento persistente se lleva a cabo por el gestor de almacenamiento.
Políticas de almacenamiento de datos en disco.
•
-
Gestor de autorización e integridad
-
Gestor de archivos
-
Gestor de almacenamiento intermedio
Procesamiento de consultas
-
Compilador del DML
-
Precompilador del DML para lenguajes de consulta incorporados
1-6
•
-
Intérprete del DDL
-
Motor de evaluación de consultas
Estructuras de datos
-
Archivos de datos
-
Diccionario de datos
-
Índices
-
Datos estadísticos
1.8.2. Usuarios
•
•
Administrador de la base de datos.
-
Definición del esquema, se almacena en el diccionario de datos.
-
Definición de la estructura de almacenamiento y del método de acceso.
-
Modificación del esquema y la organización física.
-
Concesión de derechos de acceso.
-
Especificación de las restricciones de integridad.
Usuarios de la base de datos.
-
Programadores de aplicaciones.
-
Usuarios avanzados. Lenguaje de consulta.
-
Usuarios especializados en problemas que necesitan del apoyo de las bases de datos.
-
Usuarios normales.
1-7
Administrador de
base de datos
Interfaces de
aplicaciones
Programas de
aplicación
Consulta
Esquema de base
de datos
Precompilador del
DML incorporado
Compilador del
DML
Intérprete del DDL
Motor de
evaluación de
consultas
Gestor de
memoria
intermedia
Gestor de almacenamiento
Gestor
de
transacciones
Gestor
de
ficheros
Índices
Datos estadísticos
Diccionario de
datos
Ficheros de datos
Arquitectura de un sistema gestor de bases de datos
1-8
Almacenamiento en disco
Código objeto de
los programas de
aplicación
Sistema de gestión de bases de datos
Usuarios
avanzados
Usuarios
Programadores de
aplicaciones
Procesador de consultas
Usuarios normales
(administrativos,
cajeros
automáticos, ...)
1.9.
Orígenes
Década
Sistemas
Orientación
Declarativo
DML/host
1960
Red
Objeto (soportan
la identidad de
objeto, pero no
tipos abstractos
de datos)
No
Separado
Sí
Separado
Jerárquico
1970
Relacional
Valor
1980
Orientado a
objeto
No
Objeto (soporta
la identidad de
objeto y los tipos
abstractos de
datos)
Integrado
1990
Basados en
conocimiento
Valor
Integrado
•
Sí
1960, IMS (modelo jerárquico), primer SGBD comercial:
-
IMS/DB – Base de datos (Data Base)
-
IMS/DC- Monitor de teleprocesamiento (Data Communication)
•
1968, Comité DBTG (Data Base Task Group), Modelo de datos de red
•
1969, Modelo relacional, Codd70.
-
-
•
Prototipos:
•
INGRES, Universidad de Berkeley (1973-75)
•
SYSTEM R, IBM (1974-77)
•
System 2000, Universidad de Austin en Texas
•
Sócrates, Universidad de Grenoble en Francia
•
ADABAS, Universidad técnica de Darmstadt
Sistemas comerciales:
•
INGRES de RTI, 1980
•
SQL/DS de IBM, 1981
•
ORACLE de RSI, 1981
•
DB2 de IBM, 1983
•
RDB de Digital, 1983
•
...
1990, Estándar SQL
Bibliografía
[ACPT00]
P. Atzeni, S. Ceri, S. Paraboschi y R. Torlone, “Database Systems. Concepts,
Languages and Architectures”, McGraw-Hill, 2000.
[EN00]
R. Elmasri y S.B. Navathe, "Fundamentals of Data Base Systems", AddisonWesley, 2000.
1-9
[SKS98]
A. Silberschatz, H.F. Korth y S. Sudarshan, "Fundamentos de Bases de Datos",
3ª edición, McGraw-Hill, 1998.
[Ull98]
J.D. Ullman, "Principles of Database and Knowledge Base Systems", Vol. I y II,
Computer Science Press, 1998.
1-10
Descargar