Вы находитесь на странице: 1из 23

Tema 1: Introduccin a las bases de datos

Introduccin

Introduccin
Informacin y datos Ficheros vs. Bases de datos Sistemas gestores de bases de datos Visin de los datos Modelos de datos Lenguaje SQL Arquitectura de un SGBD
Introduccin 2

Introduccin
La asignatura versa sobre la gestin de datos mediante el uso de sistemas de informacin. Se tratarn: Conceptos para representar informacin, lenguajes para manejarla y las arquitecturas para la gestin de datos.

Introduccin

1.1 Informacin y datos


La informacin se registra mediante datos. Los datos se pueden mecanizar. Los datos se interpretan para obtener una informacin. La interpretacin depende del hombre, no se puede mecanizar. [ACPT00] Es necesario un almacenamiento persistente.

Introduccin

1.2 Ficheros vs. Bases de datos


Fichero: almacenamiento persistente de datos usado para representar informacin. Ejem: Ficheros de texto, documentos XML Base de datos: coleccin de datos relacionados usada para representar informacin. Tambin es persistente.

Introduccin

1.1. datos

Ficheros vs. Bases de

Introduccin

1.1.

Ficheros serializados
Acceso serializado
Application
Appl ic ation

Application

Cola aplicaciones para acceso a los datos

Archivo
199712150007 199712150007 199712150008 Widget Thingamabob Widget 100 275 100 4 1 3

Application

400 275 300

Introduccin

1.1. Problemas de la concurrencia con ficheros


Trabajo con una copia de los datos Trabajo con una copia de los datos

Application

Archivo
199712150007 199712150007 199712150008 Widget Thingamabob Widget 100 275 100 4 1 3 400 275

Yo tambin!

Archivo
199712150007 199712150007 Widget Thingamabob Widget 100 275 100 4 1 3 400 275 300

Application

300 199712150008

Application

Archivo
199712150007 199712150007 199712150008 Widget Thingamabob Widget 100 275 100 4 1 3 400 275 300

Introduccin

Problemas de las organizaciones de ficheros


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
Introduccin 9

Problemas de las organizaciones de ficheros


Atomicidad. Cuando hay un fallo informtico (corte de corriente, error de disco, ...) se puede producir una inconsistencia en una transferencia bancaria. La transferencia debe ser una operacin atmica (ocurre totalmente o no ocurre). Unidad de Trabajo (UOW) y Unidad de Recuperacin (UR)

Introduccin

10

Problemas de las organizaciones de ficheros


Acceso concurrente. Dos clientes retiran fondos de la misma cuenta simultneamente: Ambos clientes leen X, y quieren retirar Y, Z. Uno escribe X-Y y el otro X-Z. Al final, no queda el valor correcto X-Y-Z.

Introduccin

11

Problemas de las organizaciones de ficheros


Las bases de datos solucionan problemas de los ficheros. los

Sin embargo, no sustituyen a los ficheros en todas las aplicaciones. Por ejemplo: ficheros temporales, datos no relacionados. Adems, las bases de datos se implementan con ficheros.

Introduccin

12

Problemas de las organizaciones de ficheros


Costos asociados al uso de un SGBD: Coste inicial elevado de hardware, software y formacin. Coste de la provisin de seguridad, control de concurrencia, recuperacin e integridad.

Introduccin

13

Problemas de las organizaciones de ficheros


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.

Introduccin

14

1.3 Sistemas gestores de bases de datos


Usuario 1

...

Usuario n

Aplicacin 1

...

Aplicacin m

SGBD

BD 1

...

BD k

Introduccin

15

1.3 Los SGBD proporcionan

C oncurrencia I ntegridad Seguridad


Introduccin 16

Concurrencia a nivel de fila


Estoy leyendo la 3 fila! Estoy cambiando la 6 fila!
Application

Application

Estoy leyendo la 8 fila y luego la modificar!

Last Name Adams Adams Brown Caldwell Fridrich Gaines Jones Jones Jones
Mitchell Mitchell Smith Smith Wise

First Name Bobby Sandy Terry Simone John Lois Larry Larry LaVerne Jean Ted Diana Grace Sara

Address 1426 Main 214 Cisco Lane 45 River Walk 122 42ND ST 956 Billings 6094 Beaker 567 Yale Ave. 240 Boston Blvd. South Star Route 504 1ST Ave. 504 1ST Ave. 2253 Dahlia 983 Fairfax 9023 Colorado Blvd.

Phone 555-1423 555-4297 555-8495 555-5367 555-4311 555-0945 555-6932 555-5390 555-2345 555-1777 555-1778 555-6098 555-8764 555-3242

Application

Introduccin

17

Concepto de Unidad de Trabajo


El programa transfiere 1000 desde la cuenta A a la B
Logical Unit of Work
UPDATE A UPDATE B

X
COMMIT

A B

2000 3000

1000 3000

1000 4000

1000 4000

UPDATE A

UPDATE B

X
ROLLBACK

A B

2000 3000

1000 3000

1000 4000

2000 3000

Introduccin

18

Sistemas gestores de bases de datos


Un SGBD es un sistema software capaz de manejar grandes colecciones de datos relacionados que son compartidos y persistentes. Aseguran su fiabilidad y privacidad.

Introduccin

19

SGBD especiales:
SGBD especiales: Permiten la inferencia. BD deductivas. Permiten la representacin del tiempo. BD temporales. Permiten el almacenamiento de objetos. BD orientadas a objetos. BD geogrficas y espaciales BD multimedia BD distribuidos. WWW Data mining. Recopilacin de datos Data warehousing. Grandes almacenes de datos Introduccin 20

Ventajas
Como consecuencia de estas caractersticas se obtienen las siguientes ventajas: Normalizacin. Tiempo de desarrollo de aplicaciones reducido. Flexibilidad. Facilidad para aadir o eliminar datos necesarios. Disponibilidad inmediata de las actualizaciones de datos para todos los usuarios.

Introduccin

21

1.4 Visin de los datos


Objetivo de un SGBD: Proporcionar una visin abstracta de los datos (se ocultan los detalles de cmo se almacenan y mantienen los datos). Nivel fsico: Cmo se almacenan los datos. Nivel lgico: Qu datos y qu relaciones se almacenan. Nivel de vistas: Subconjunto del nivel lgico.

Introduccin

22

Visin de los datos


Tables - R - Us

SGBD

Integrity & Recovery

Gestor de Aplicaciones
Logging

Continuous Operation

Optim izer

Lock Manager

Security

A p p c i la ti on

A pp c i la ti on

A p p c i la ti on

A p pl c i ati on

A p p c i la ti on

A p pl c i ati on

Programas Aplicacin
Introduccin

Tablas
23

Objetos dependientes
TABLE EMPL

INDEX NDX1 INDEX NDX2 INDEX NDX3

VIEW BLUEDEP

Introduccin

24

Vistas
CREATE VIEW BLUEDEP AS SELECT *
JOB S FROM EMPL M S WHERE DEP LIKE 'BLU%;C S M S SELECT JOB, SAL C S FROM BLUEDEP M S WHERE JOB <> 'M' S C S S SAL 31000 32000 30000 27000 33000 31000 32000 28000 30000 33000 31000 35000 27000 29000 29000 DEP BLU RED BLU GRE GRE BLU RED GRE RED GRE RED GRE BLU RED BLU

Columns and rows defined by BLUEDEP


S S M C S 31000 30000 31000 27000 29000 BLU BLU BLU BLU BLU JOB S S C S SAL 31000 30000 27000 29000

Introduccin

25

ndices B+
Clustered Index
Root Page
25 61 88 25 61 88

Non-clustered Index

8 13 25

33 45 61

67 75 88

Non-leaf Pages

8 13 25

33 45 61

67 75 88

Leaf Pages

data row data row data row data row

data row data row data row data row

data row data row data row data row

data row data row data row data row

data row data row data row data row

data row data row data row data row

data row data row data row data row

data row data row data row data row

Introduccin

26

Procesamiento de consultas
Programa QU? CMO?

Optimizador

Estadsticas Catlogo

Mdulo carga

EJECUCIN
Introduccin

Camino Acceso
27

Modelos de datos
Los modelos de datos se usan para abstraer los datos Def: Coleccin 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 bsicas.

Introduccin

28

Entidad-relacin
M
Dept

1 11

A LOCATION HAS MANY DEPTS

1
Locations

1 M1
Employees

M 1M

MANY EMPLOYEES WORK ON MANY PROJECTS

M 1
Projects

1 M
Skills

Introduccin

29

Modelos lgicos basados en registros


1) Relacional 2) Red 3) Jerrquico

Introduccin

30

Modelo Relacional
Se usa una coleccin de tablas para representar los datos y sus relaciones.
RDBMS = Sistema de Gestin de Bases de Datos Relacionales

"RELACION" =
PROPIET1.TABLA_A
COL1 ABC DEF GHI JKL MNO COL2 7 4 6 7 0 COL3 1987-11-14 1963-01-01 1946-07-12 1951-12-30 1992-08-12

TABLA
PROPIET2.TABLA_B

Una "BBDD relacional" es una "BBDD de Tablas"


Introduccin

COL1 ABC DEF GHI JKL MNO

COL2 7 4 6 7 0

COL3 1987-11-14 1963-01-01 1946-07-12 1951-12-30 1992-08-12

31

Modelo Jerrquico
Consta de registros y relaciones entre ellos (punteros), al igual que el de red. Compaia Los registros se organizan Divisin como colecciones Grupo Departamento de rboles.
Hijos Hijo Hijo Hijo Hijo Hijo

Proyecto

Funcin

Proyecto

Introduccin

32

Modelo Jerrquico
Acceso muy rpido (muy buen rendimiento), pero ms difcil de programar y formar. Hay redundancia de informacin con respecto al de red Necesita especificar cmo buscar la informacin Los nuevos proyectos se tecnologa relacional. desarrollan con

Introduccin

33

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

Introduccin

34

Lenguaje SQL
Es el lenguaje que entienden las bases de datos relacionales. Se compone de distintos tipos de sentencias: Lenguaje de definicin de datos (DDL) Lenguaje de manipulacin de datos (DML) Lenguaje de Control de Datos (DCL)
Introduccin 35

SQL

Introduccin

36

Ejemplo DDL
CREATE TABLE CITIES (CITY_ID CHAR(6) NOT NULL , CITY_NAME CHAR(2) NOT NULL , COUNTRY_CODE CHAR(6) NOT NULL , MILES_TO_LA SMALLINT , POPULATION INT , HEMISPHERE CHAR(1) , AVG_INCOME DECIMAL(9,2) , LAST_CENSUS DATE , LAST_UPDATED TIMESTAMP NOT NULL WITH DEFAULT , CITY_DESCRIPT VARCHAR(300) , PRIMARY KEY (CITY_ID) , FOREIGN KEY (COUNTRY_CODE) REFERENCES COUNTRY )

Introduccin

37

Ejemplo DDL
ALTER TABLE CITIES ADD CONSTRAINT POP_MILES CHECK (POPULATION BETWEEN 1 AND 50000000 AND MILES_TO_LA >=-1 AND MILES_TO_LA <=13500); COMMIT;

DROP TABLE CITIES; COMMIT;

Introduccin

38

DML
Lenguaje de manipulacin de datos (DML, Data Manipulation Language). Lo usan los usuarios finales, los programas de aplicacin y cualquiera que lo necesite. Son las sentencias: SELECT ... INSERT ... UPDATE ... DELETE ...

Introduccin

39

DCL
Lo usan los DBA para imponer la seguridad de acceso a datos restringiendo el acceso a usuarios y grupos. Ejem: GRANT SELECT, UPDATE (SALARY) ON BLUEDEP TO CLERK; REVOKE SELECT, UPDATE (LASTNAME, FIRSTNAME) ON TABLE EMPL FROM PETER
Introduccin 40

Arquitectura de un SGBD
Componentes del sistema Concurrencia. Gestor de almacenamiento Procesamiento de consultas Estructuras de datos

Introduccin

41

Usuarios normales (administrativos, cajeros automticos, ...)

Programadores de aplicaciones

Usuarios avanzados

Administrador de base de datos

Interfaces de aplicaciones

Programas de aplicacin

Consulta

Esquema de base de datos Procesador de consultas

Precompilador del DML incorporado

Compilador del DML

Intrprete del DDL

Usuarios

Cdigo objeto de los programas de aplicacin

Motor de evaluacin de consultas

Gestor de ficheros

ndices

Datos estadsticos

Ficheros de datos

Introduccin

Diccionario de datos

Almacenamiento en disco

Gestor de almacenamiento

Gestor de transacciones

Gestor de memoria intermedia

Sistema de gestin de bases de datos

42

Tables - R - Us

SGBD
Inte grida d y Re cupe ra cin

Ope ra cin contnua

Optimiza dor

Re gis tro

Ge s tor Bloque os

Se gurida d

Introduccin

43

Sistemas comerciales:
SQL/DS de IBM, 1981 ORACLE de RSI, 1981 DB2 de IBM, 1983 Informix,Sybase, SQL Server, MySQL.....

Access,

Introduccin

44

Ciclo de Vida de las aplicaciones


NECESIDADES
ANALISIS DATOS ANALISIS PROCESOS DISEO BBDD RELACIONALES CAPACITY PLANNING PERFORMANCE ESTIMATES DISEO PROCESOS

AJUSTE MODELO DATOS

CREACIN

AJUSTE MODELO PROCESOS

PRUEBA

PASO A PRODUCCION

Introduccin

45

Bibliografa
Silberschatz, H.F. Korth y S. Sudarshan, "Fundamentos de Bases de Datos", 3 edicin, McGraw-Hill, 5 edicin en 2006. Atzeni, S. Ceri, S. Paraboschi y R. Torlone, Database Systems. Concepts, Languages and Architectures, McGraw-Hill, 2000. Elmasri y S.B. Navathe, "Fundamentals of Data Base Systems", Addison-Wesley, 2000. Ullman, "Principles of Database and Knowledge Base Systems", Vol. I y II, Computer Science Press, 1998.
Introduccin 46

Вам также может понравиться