Anda di halaman 1dari 10

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.

para representar información. También es persistente. Problemas de las organizaciones de ficheros previas a las

Problemas de las organizaciones de ficheros previas a las bases de datos

Redundancia e inconsistencia de datos

Costes de mantenimiento de los programas:

- 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

) se

puede producir una inconsistencia en una transferencia bancaria. La transferencia debe ser

una operación atómica (ocurre totalmente o no ocurre).

Atomicidad. Cuando hay un fallo informático (corte de corriente, error de disco,

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

de datos Usuario 1 Usuario n Aplicación 1 Aplicación m SGBD BD 1 BD k Un
de datos Usuario 1 Usuario n Aplicación 1 Aplicación m SGBD BD 1 BD k Un
de datos Usuario 1 Usuario n Aplicación 1 Aplicación m SGBD BD 1 BD k Un
de datos Usuario 1 Usuario n Aplicación 1 Aplicación m SGBD BD 1 BD k Un

SGBD

BD 1datos Usuario 1 Usuario n Aplicación 1 Aplicación m SGBD BD k Un SGBD es un

BD k
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:

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.

Nivel de vistas Vista 1 Vista n Nivel lógico Nivel físico
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)
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)

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

ciudad-cliente

número-cuenta

 

número-cuenta

saldo

 

dni

nombre-cliente

calle-cliente

ciudad-cliente

número-cuenta

192837465

González

Arenal

La Granja

C-101

019283746

Gómez

Carretas

Cerceda

C-215

677899011

López

Mayor

Peguerinos

C-102

182736091

Abril

Preciados

Valsaín

C-305

192837465

González

Arenal

La Granja

C-201

321123123

Santos

Mayor

Peguerinos

C-217

336669999

Rupérez

Ramblas

León

C-222

019283746

Gómez

Carretas

Cerceda

C-201

número-cuenta

saldo

C-101

100.000

C-215

140.000

C-102

80.000

C-305

70.000

C-201

180.000

C-217

150.000

C-222

140.000

- Red Consta de registros (Pascal) y relaciones entre ellos (punteros). Los registros se organizan como colecciones de grafos dirigidos.

registros se organizan como colecciones de grafos dirigidos. C-101 100.000 C-215 140.000 C-102 80.000
registros se organizan como colecciones de grafos dirigidos. C-101 100.000 C-215 140.000 C-102 80.000

C-101

100.000

C-215

140.000

C-102

80.000

C-305

70.000

C-201

180.000

C-217

150.000

C-222

140.000

González

192837465

Arenal

La Granja

Gómez

019283746

Carretas

Cerceda

López

677899011

Mayor

Peguerinos

Abril

182736091

Preciados

Valsaín

Santos

321123123

Mayor

Peguerinos

Rupérez

336669999

Ramblas

León

Peguerinos Rupérez 336669999 Ramblas León - Jerárquico Consta de registros (Pascal) y relaciones
Peguerinos Rupérez 336669999 Ramblas León - Jerárquico Consta de registros (Pascal) y relaciones

- 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.

C-101 100.000 C-201 180.000 C-215 140.000 C-201 180.000 C-102 80.000 C-305 70.000

C-101

100.000

C-201

180.000

C-215

140.000

C-201

180.000

C-102

80.000

C-305

70.000

C-217

150.000

C-222

140.000

González

192837465

Arenal

La Granja

Gómez

019283746

Carretas

Cerceda

López

677899011

Mayor

Peguerinos

Abril

182736091

Preciados

Valsaín

Santos

321123123

Mayor

Peguerinos

Rupérez

336669999

Ramblas

León

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

- 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.

Usuarios normales

 

(administrativos,

Programadores de

Usuarios

Administrador de

cajeros

aplicaciones

avanzados

base de datos

automáticos,

)

Usuarios

avanzados base de datos automáticos, ) Usuarios Procesador de consultas Gestor de almacenamiento
avanzados base de datos automáticos, ) Usuarios Procesador de consultas Gestor de almacenamiento
avanzados base de datos automáticos, ) Usuarios Procesador de consultas Gestor de almacenamiento
avanzados base de datos automáticos, ) Usuarios Procesador de consultas Gestor de almacenamiento

Procesador de consultas

Gestor de almacenamiento

Interfaces de

Programas de

Consulta

Esquema de base

aplicaciones

aplicación

de datos

Precompilador del

Compilador del

Intérprete del DDL

DML incorporado

DML

Código objeto de

Motor de

los programas de aplicación

consultas

evaluación de

Gestor

Gestor de

de

memoria

transacciones

intermedia

Gestor

de

ficheros

Índices Datos estadísticos Diccionario de datos Ficheros de datos
Índices
Datos estadísticos
Diccionario de
datos
Ficheros de datos

Almacenamiento en disco

Arquitectura de un sistema gestor de bases de datos

Sistema de gestión de bases de datos

1-8

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

Jerárquico

1970

Relacional

Valor

Separado

1980

Orientado a

Objeto (soporta la identidad de objeto y los tipos abstractos de datos)

No

Integrado

objeto

1990

Basados en

Valor

Integrado

conocimiento

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", Addison- Wesley, 2000.

[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.