20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf ·...

46
20350 BASES DE DATOS 1 Enric Mart´ ıiG`odia Enginyeria Inform` atica Escola T` ecnica Superior d’Enginyeria Universitat Aut`onoma de Barcelona Setiembre 2005 Versi´ on corregida por Mireia Bellot 1

Transcript of 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf ·...

Page 1: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

20350

BASES DE DATOS 1

Enric Martı i Godia

Enginyeria Informatica

Escola Tecnica Superior d’Enginyeria

Universitat Autonoma de Barcelona

Setiembre 2005

Version corregida por Mireia Bellot

1

Page 2: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

TEMARIO

1. INTRODUCCION. CONCEPTOS BASICOS

• Introduccion y definiciones

• Componentes de un sistema de Bases de Datos

• Evolucion historica

• Ventajas e inconvenientes de un sistema de BD

2. ARQUITECTURA

• Arquitectura ANSI-SPARC

• El DBA i el SGBD

• Arquitectura back-end / front-end

3. DISENO. EL MODELO ENTIDAD-RELACION

• Diseno de una Base de Datos

• Modelo Entidad-Relacion

• Modelo E-R extendido

• Criterios de diseno de un esquema E-R

• Diseno de un esquema E-R

4. MODELO DE BASES DE DATOS RELACIONAL

• Introduccion

• Estructura de datos

• Reglas de integridad

• Manipulacion de datos

– Algebra Relacional

2

Page 3: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

TEMARIO (ii)

5. DISENO DE UNA BASE DE DATOS

• Fases de diseno de una BD

• Captacion y analisis de requerimientos

• Diseno conceptual de la BD

• Diseno logico

• Diseno fısico

6. NORMALIZACION

• Teorıa de la normalizacion

• Dependencia funcional

• Formas normales de Codd (1NF, 2NF, 3NF)

• Forma normal de Boyce-Codd (FNBC)

• Proceso de normalizacion

7. NIVEL INTERNO

• Acceso a la Base de Datos.

• Estructuras de almacenamiento

– Indexacion

– Hashing

• Tecnicas de compresion

– Compresion diferencial y jerarquica

– Codificacion de Huffman

3

Page 4: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Bibliografıa

• C.J. Date, Introduccion a los Sistemas de Basesde Datos, 7a edicio, Prentice Hall, 2001.

• A. Silberschatz, H.F. Korth, S. Sudarshan, Funda-mentos de Bases de Datos, 3a edicion, McGraw-Hill, 1998.

• P.Rob, C.Coronel, Sistemas de Bases de Datos.Diseno, implementacion y administracion, Thom-son-Paraninfo, 2004.

• A. de Miguel, M. Piattini, Fundamentos y mo-delos de Bases de Datos, Ra-Ma, 1999.

• G.W. Hansen, J.V. Hansen, Diseno y administra-cion de Bases de datos, 2a edicion, Prentice Hall,1997.

• A. de Miguel, P. Martınez, E. Castro, et al., Disenode Bases de Datos. Problemas resueltos, Ra-Ma, 2001.

• M. Marques, J.I. Aliaga, S. Garciıa, G. Quintana,SQL y desarrollo de aplicaciones en ORACLE8, Col. ”Treball d’Informatica i Tecnologia”, 9,Universitat Jaume I, 2001.

• Elmasri/Navathe, Sistemas de Bases de Datos,Addison-Wesley, 1997.

• C.J. Date, H. Darwen, A guide to the SQL stan-dart, 3rd edition, Addison-Wesley, 1994.

4

Page 5: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

TEMA 1

INTRODUCCION.

CONCEPTOS BASICOS

1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2. Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3. Componentes de un Sistema de Base de Datos . 9

4. Evolucion historica . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5. Ventajas de un Sistema de Bases de Datos . . . .29

6. Inconvenientes de un Sistema de BD . . . . . . . . . 42

5

Page 6: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Introduccion

Sistema de Base de Datos: Sistema de ar-

chivo por computador.

• Se almacena un conjunto de archivos de datos.

• Operaciones que un usuario puede realizar sobre losarchivos:

– ANADIR nuevos archivos a la base de datos

– INSERTAR datos nuevos en los archivos existentes

– CONSULTAR datos de los archivos existentes

– ACTUALIZAR datos en los archivos existentes

– BORRAR datos de los archivos existentes

– ELIMINAR archivos de la base de datos

6

Page 7: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Ejemplo: Base de Datos con un unico archivo: CAVA

ENT VINO PRODUCTOR ANO BOT LISTO

2 Chardonnay Buena Vista 98 1 013 Chardonnay Louis Martini 99 5 006 Chardonnay Chappellet 97 4 0111 Jo Riesling Jekel 99 10 0212 Jo Riesling Buena Vista 97 1 0216 Jo Riesling Sattus 97 1 9921 Fume Blancg Ch. St. Jean 98 4 0122 Jo Riesling Rob. Mondavi 97 2 00

Observaciones:

• Archivos → TABLAS

• Filas de la tabla → TUPLAS, REGISTROS

• Columnas de la tabla → ATRIBUTOS, CAMPOS

• Lenguaje de interaccion con los datos: SQL (Structured QueryLanguage)

7

Page 8: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Instrucciones de manipulacion del lenguaje:

CONSULTA:

SELECT VINO,ENT,PRODUCTOR --> atributos,campos

FROM CAVA --> tabla

WHERE LISTO=91 --> condicion

Resultado:

VINO ENT PRODUCTOR

Chardonnay 2 Buena VistaChardonnay 6 ChappelletFume Blancg 21 Ch. St. Jean

INSERCION:

INSERTINTO CAVAVALUES (53,’Pinot Noir’,’Saintsbury’,87,1,93)

Resultado:

ENT VINO PRODUCTOR ANO BOT LISTO

2 Chardonnay Buena Vista 98 1 013 Chardonnay Louis Martini 99 5 006 Chardonnay Chappellet 97 4 0111 Jo Riesling Jekel 99 10 0212 Jo Riesling Buena Vista 97 1 0216 Jo Riesling Sattus 97 1 9921 Fume Blancg Ch. St. Jean 98 4 0122 Jo Riesling Rob. Mondavi 97 2 0053 Pinot Noir Sainstbury 87 1 93

8

Page 9: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

ACTUALIZACION:

UPDATE CAVASET BOT=4WHERE ENT=3

Resultado:

ENT VI PRODUCTOR ANY BOT LISTO

2 Chardonnay Buena Vista 98 1 013 Chardonnay Louis Martini 99 4 006 Chardonnay Chappellet 97 4 0111 Jo Riesling Jekel 99 10 0212 Jo Riesling Buena Vista 97 1 0216 Jo Riesling Sattus 97 1 9921 Fume Blancg Ch. St. Jean 98 4 0122 Jo Riesling Rob. Mondavi 97 2 00

BORRADO:

DELETEFROM CAVAWHERE ENT=2

Resultado:

ENT VINO PRODUCTOR ANY BOT LISTO

3 Chardonnay Louis Martini 99 5 006 Chardonnay Chappellet 97 4 0111 Jo Riesling Jekel 99 10 0212 Jo Riesling Buena Vista 97 1 0216 Jo Riesling Sattus 97 1 9921 Fume Blancg Ch. St. Jean 98 4 0122 Jo Riesling Rob. Mondavi 97 2 00

9

Page 10: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Ejemplo: Base de Datos con diversos archivos: LIGABALONCESTO

Campos Tipo Longitud Significado

Num Eq Numerico 3 Numero de Equipo.Jornada Numerico 2 Jornada de la liga.Camp Numerico 3 Numero de Equipo propietario del

Campo donde se juega el partido.Nom Eq Caracter 16 Nombre del Equipo.Num Jug Numerico 3 Numero del Jugador.Cap Eq Numerico 3 Numero del Jugador capitan.Nom Jug Caracter 16 Nombre del JugadorTel Jug Caracter 7 Telefono del Jugador.Adr Jug Caracter 24 Direccion del Jugador.Falt Jug Numerico 2 Numero de faltas del Jugador.Punt Jug Numerico 3 Numero de Puntos del Jugador.Temp Jug Numerico 3 Tiempo jugado por el Jugador.

TABLAS:

PARTIDO (Num Eq, Jornada, Camp)

EQUIPO (Num Eq, Nom Eq, Cap Eq)

JUGADOR (Num Jug, Nom Jug, Num Eq, Tel Jug, Adr Jug)

PUNTUACION (Num Jug, Jornada, Falt Jug, Punt Jug, Temp Jug)

10

Page 11: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Tablas Liga de Baloncesto:

PREGUNTAS:

• Obtener el NOMBRE del capitan del equipo AUTONOMA.

• Cuantos partidos ha jugado el equipo AUTONOMA en sucampo?.

• Cuantos minutos ha jugado el capitan del equipo CENTRALdurante toda la liga?.

• Cual ha sido el resultado del partido AUTONOMA-POLITEC-NICA, jugado en el campo del equipo AUTONOMA?.

11

Page 12: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Definiciones

Sistema de Base de Datos:

• Sistema informatico disenado para almacenar, manipulardatos y para permitir recuperarlos cuando sea necesario yde la manera que sea necesaria. (Date)

• Coleccion de datos interrelacionados, almacenados conjun-tamente sin redundancias perjudiciales o innecesarias, la fi-nalidad de las cuales es la de ser utilizadas por una o masaplicaciones de la mejor manera posible.

Los datos se guardan de forma independiente de los progra-mas que las utilizan.

Se utilizan metodos bien determinados para incluir nuevosdatos y para modificar o extraer los que ya habian. (Martin)

12

Page 13: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Componentes de un

Sistema de Base de Datos

Sistema de Base de Datos. Formado por 4 compo-nentes:

• Hardware

• Software

• Usuarios

• Base de Datos

13

Page 14: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

HARDWARE

Componentes:

• Almacenamiento secundario (discos magneticos, op-ticos, dispositivos de E/S, redes).

↓IMPORTANTE LA CAPACIDAD Y EL TIEMPO DE ACCESO

• Memoria RAM para almacenar datos y codigo quepermiten ejecutar las transacciones SQL.

↓IMPORTANTE LA CAPACIDAD Y EL TIEMPOS DE ACCESO

• CPU. La velocidad y capacidad de la CPU es pocodeterminante par realizar transacciones SQL, usual-mente de poco calculo (calculos aritmeticos).

14

Page 15: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

SOFTWARE

Sistema Gestor de Base de Datos (SGBD) (DataBase Management System - DBMS)

Situado entre la BD fısica y los usuarios.

Componente software mas importante.

Objetivos:

• Gestionar las peticiones de los usuarios

– Insertar archivos y datos nuevos

– Consultar datos

– Actualizar datos

– Borrar datos

– Eliminar archivos

• Presentar una vision de mas alto nivel de la Base de Datos,vision mas independente del Hardware y del Sistema Opera-tivo, mediante tablas, atributos y un lenguaje de manipulacionde datos (usualmente SQL).

• Proteccion de los datos:

– respecto otros usuarios.

– en acceso y actualizacion concurrente.

Otros componentes software:

• Utilidades (manipulacion ficheros, informacion de estado, etc.).

• Herramientas para desarrollar aplicaciones.

15

Page 16: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

USUARIOS

Tres tipos diferentes de usuarios:

1. Usuario final

• Interactua con el sistema mediante terminales on line.

• Accede a la BD mediante aplicaciones e interfıcies orien-tadas por menus hechos por los programadores de apli-caciones.

• Interfıcies orientadas por menus:

– Facilitan la interaccion con el usuario.

– No contemplan todas las amplias posibilidades del len-guaje de consulta.

2. Programador de aplicaciones

• Disena e implementa aplicaciones en lenguajes de pro-gramacion (C, PASCAL, COBOL, PL/I, etc.) para losusuarios finales.

• Aplicaciones realizan transacciones a la Base de Datosmediante codigo SQL dentro de los ficheros fuente de laaplicacion C, PASCAL, COBOL, PL/I, etc.

3. Administrador de Base de Datos (Data Base Ad-ministrator - DBA)

• Encargado del mantenimiento de la informacion y la es-tructura de la Base de Datos.

• Configura el SGBD segun las polıticas de servicios y deacceso de datos que se decidan.

16

Page 17: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

BASE DE DATOS

Componente mas importante del Sistema de Base deDatos.

Importante su correcta estructuracion y el mantenimientode su contenido.

Aspectos a tener en cuenta:

1. Caracterısticas de los datos

2. Tipos de datos

3. Entidades e interrelaciones (diseno – Modelo Enti-dad/Relacion)

4. Tablas y referencias (implementacion – Modelo Rela-cional)

17

Page 18: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

1. Caracterısticas de los datos

Dos caracterısticas importantes de los datos:

INTEGRADAS: La Base de Datos (BD) vista como la unificacionde diferentes datos, eliminando posibles redundancias.

Ejemplo: Tablas Empleats, Inscripcio

No es necesario poner el campo Departamento en la relacionInscripcion

COMPARTIDAS: Diferentes usuarios pueden acceder a los mis-mos datos y utilizarlos con finalidades diferentes (posible-mente con acceso concurrente).

Cada usuario vera los datos y las interpretara de forma dife-rente.

Ejemplo: Tabla Empleats

Campo Departament en la relacion Empleats utilizado de formadiferente por el departamento de personal (nomina, categorıa)o de educacion (edad, formacion del empleado).

18

Page 19: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

2. Tipos de datos

Dos tipos importantes:

• Datos Persistentes: Datos contenidos a la BD.

• Datos Transitorios: Datos que se interrelacionancon la BD pero que no pertenecen a ella. Dos tipos:

Datos de Entrada: Informacion que entra por primera vezen el Sistema. Puede llegar a formar parte de la BD(insercion, actualizacion de informacion).

Informacion que se quiere insertar a la BD.

Informacion que se da para hacer una consulta.

Datos de Salida: Mensajes y resultados que provienen delSistema.

Informacion que proviene de los datos persistentes delSistema.

Segun la clasificacion anterior,

Base de Datos: Conjunto de datos persistentes querepresentan la realidad de una empresa o organizacionque se quiere modelar.

19

Page 20: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

3. Entidades e interrelaciones

Muy importantes para realizar el diseno de una Base deDatos.

Entidades: Cualquier objeto distinguible que se ha derepresentar en la Base de Datos.

Interrelaciones: Vinculan diferentes entidades (usual-mente dos–interrelacion binaria) en ambos senti-dos.

Asocia un valor de una entidad con un valor de laotra entidad (interrelacion binaria).

Entidades e interrelaciones llevan asociadas propiedades,datos asociados.

Ejemplo: Companıa fabricante de maquinaria de dondese guarda informacion sobre las siguientes entidades:

• Proyectos (maquinas que se construyen)

• Piezas de los proyectos

• Proveedores de las piezas

• Empleados

• Departamentos

• Almacenes

• Lugares

20

Page 21: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

* Cierto proveedor suministra ciertes piezasCierta pieza es suministrada por ciertos proveedores

Interrelacion permite resolver cuestiones del tipo:

Dado un proveedor → Encontrar las piezas correspondientesDada una pieza → Encontrar los proveedores correspondientes

Tipos de interrelaciones:

(a) Interrelacion con la misma entidad

(b) Mas de una interrelacion entre 2 entidades

(c) Interrelacion ternaria

21

Page 22: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

(a) Interrelacion con la misma entidad

Pueden existir interrelaciones binaries con la misma en-tidad. Organizacion jerarquica de datos.

Una pieza puede estar compuesta de otras piezas.

Ejemplo: Frontisa formada por un bis y una tapa.

(b) Mas de una interrelacion entre 2 enti-dades

Cada interrelacion que relaciona dos entidades tiene un

significado diferente.

22

Page 23: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

(c) Interrelacion ternaria

Interrelacion entre tres entidades.

Ejemplo: (proveedor, piezas, proyectos)

Ciertos proveedores suministran ciertas piezas a ciertosproyectos

NO ES EQUIVALENTE A:

• PROVEEDORES suministran PIEZAS

• Se utilizan PIEZAS en PROYECTOS

• PROYECTOS reciben subministros de PROVEEDORES

Interrelaciones anteriores son BINARIAS.

23

Page 24: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Ejemplo: Interrelacion

PEPE suministra LLAVES INGLESAS en el proyectoEUREKA

suministra mas informacion (menos incertidumbre) quelas interrelaciones:

PEPE sumistra → a algun proyecto ZLLAVES INGLESAS

Se utilizan LLAVES INGLESAS → para algun proveedor SXen el proyecto EUREKA

PEPE es proveedor del proyecto → para alguna pieza PYEUREKA

De las interrelaciones anteriores no podemos inferir que

• Z = EUREKA

• SX = PEPE

• PY = LLAVES INGLESAS

Inferencia falsa: TRAMPA DE CONEXION

24

Page 25: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Propiedades

Campos de informacion asociados a entidades o a inter-relaciones.

A ENTIDADES:

A INTERRELACIONES:

Pieza P4 se encuentra en el almacen M8

↓ Propiedad asociada

Cantidad de piezas almacenadas

25

Page 26: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

4. Tablas y referenciasTransformar las entidades e interrelaciones en tablas y referenciaspara convertir la estructura de datos al modelo relacional, modeloimplementado en la mayorıa de SGDB actuales como ACCESS,ORACLE, INFORMIX.

Aplicar consultas SQL sobre la estructura relacional:

1. Numero de las piezas que suministra el proveedor S1 por elproyecto Eureka.

2. Numero de los proectos que dirige el empleado Pepe Pinto,en los que los suministradores son de Sabadell.

3. Numero de piezas P5 que se encuentran en los almacenes dela Seu de Urgell.

4. Numero de los empleados del departamento de diseno queparticipan en el proyecto Eureka.

26

Page 27: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Evolucion historica

Evolucion de las Bases de Datos ha estado un intento deorganizar la informacion en computadores de la formamas eficiente posible.

Cinco etapas historicas:

1. Funciones de acceso a ficheros en codigo maquina(60’s)

2. Independencia fichero logico-fichero fısico (70’s)

3. Primeros sistemas de Bases de Datos (80’s)

4. Independencia logica y fısica de las datos (90’s)

5. Internet y sistemas distribuidos (actualidad)

27

Page 28: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

1. Funciones de acceso a ficheros en codigomaquina (60’s)

• Organizacion de ficheros secuencial (cinta magnetica).

• Procesamiento batch (flujo de ejecucion decidido antes de lacompilacion del programa).

• Software: Operaciones E/S definidas en direcciones maquina($F4ED$).

• Lenguajes: maquina y ensamblador.

• Programador ha de especificar la estructura fısica de los datos(bytes).

• Cambio de los datos → Cambio del codigo ensamblador.

• Estructura de datos pensada para una sola aplicacion. ⇓Dificultad para compartir datos a otras aplicaciones

⇓REDUNDANCIA

28

Page 29: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

2. Independencia fichero logico-fichero fısico(70’s)

• Procesamiento en interactivo (flujo de ejecucion del programadecidido en tiempo de ejecucion).

• Software: Sistema de ficheros, funciones de acceso a fichero(open, close, read, write) y lenguajes de programacion (Pas-cal, Fortran, Cobol, C).

• Separacion entre la organizacion fısica (fichero fısico) y logica(fichero logico).

• Estructuras de ficheros:

– Secuencial

– Indexado (acceso directo)

• Datos estructurados por una sola aplicacion ⇒ REDUNDAN-CIA

• Formato registro logico = formato registro fısico.

29

Page 30: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

3. Primeros sistemas de Bases de Datos(80’s)

• Formato registro logico 6= formato registro fısico.

• Sistema orientado a comparticion de datos ⇒ Disminucion deredundancia.

• Necesidad de controles de integridad y seguridad debido alaccesos compartido entre diferentes usuarios.

• Almacenamiento fısico independiente de programas de apli-cacion.

• Construccion de nuevos ficheros logicos sobre los mismosdatos fısicos. Necesidad de un conocimiento profundo de laestructura fısica por parte de los programadores de aplica-ciones.

• Modificacion de la estructura fısica de los datos afecta a laaplicacion, pues la obliga a recompilar el programa para cam-biar los links a la estructura fısica.

30

Page 31: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

4. Independencia logica y fısica de losdatos (90’s)

• Independencia entre los datos logicos y los datos fısicos.

• Modificacion de la estructura de fısica de los datos no afectaa las aplicaciones.

• Aparece la figura del administrador de la Base de Datos.

• Necesidad de controles de integridad y seguridad debido alacceso compartido entre diferentes usuarios.

• Faciliades en la migracion de los datos a diferentes sistemasy formatos.

• Versatilidad: Posibilidad de realizar preguntas a la Base deDatos inicialmente no previstas.

31

Page 32: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

5. Internet y sistemas distribuidos (2000’s)

• Distribuir los datos en lugares alejados geograficamente (sis-temas distribuidos).

• Utilizacion de Internet como protocolo de comunicacion entreBases de Datos distribuidas.

• Aplicaciones con php, HTML, cgi, etc. junto con un Sistemade Bases de Datos para hacer las consultas (MySQL, Oracle,etc.)

• Aplicaciones de compra y pago por Internet, movil, PDA, etc.

• Problema de la confidencialidad de los datos por la red.

• Minerı a de datos (Data Mining).

32

Page 33: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Ventajas de un

Sistema de Bases de Datos

La centralizacion de las datos en un Sistema de BD leconfiere ciertas ventajas respecto los sistemas de ficherostradicionales:

(a) Reducir la redundancia de datos

(b) Garantizar la integridad de los datos

(c) Estandarizacion de los datos

(d) Controles de Seguridad

(e) Maximizar el rendimiento del sistema

(f) Independencia de los datos

33

Page 34: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

(a) Reducir la redundancia de datos

Redundancia: Aparece sobre todo en sistemas de or-ganizacion tradicionales donde cada aplicacion tiene suspropios ficheros. Presenta dos problemas:

• Ocupacion innecesaria de disco

• Posible fuente de inconsistencia en el caso de nopropagar las modificaciones

NO OBSTANTE, a veces interesa tener informacion du-plicada en diferentes lugares para mantener el acceso encaso de averıa del sistema fısico.

Reducir redundancia ⇒ elimina INCONSISTENCIA

34

Page 35: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Inconsistencia

Cuando se obtienen diferentes valores de la misma in-formacion.

Consecuencia de mantener redundancia no controlada.

Ejemplo: Dos tablas que tienen como propiedad elnombre de cliente: Clientes y Facturas.

• Si se modifica la propiedad en una tabla y en la otrano

⇓INCONSISTENCIA

Si NO HAY REDUNDANCIA ⇒ NO HABRA INCONSISTENCIA

Si la redundancia es controlada ⇒ Consistencia BD desde(mediante DBMS) punto de vista usuario

⇓PROPAGACION DE ACTUALIZACIONES

(insercion, modificacion, eliminacion)

Aplicar automaticamente modificaciones a otras tablasa partir de la modificacion en una tabla.

EN REALIDAD, existen pocos sistemas con redundan-cia controlada y propagacion de actualizaciones, por elretardo en el tiempo de respuesta de las transacciones.

35

Page 36: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

(b) Garantizar la integridad de los datos

INTEGRIDAD: Asegurar que la informacion en la Basede Datos sea correcta.

FALTA DE INTEGRIDAD: Puede venir dada por:

1. Inconsistencia

2. Valores incoherentes:

• Jornada de trabajo diaria de 400 horas

• Fecha de 30 de febrero

• Edad de 150 anos

Control centralizado de los datos:

• A cada atributo de la Base de Datos se le asocia el conjuntode valores permitidos (dominio).

• DBMS verificara que en las transacciones de insercion y ac-tualizacion los valores que se quieren poner en el atributo seajustan al dominio definido.

INTEGRIDAD:

• Importante en sistemas multiusuario.

• Generacion de informacion inconsistente o erronea puede su-poner un peligro importante para usuarios que consulten in-formacion, pues puede dar lugar a toma de decisiones equiv-ocadas.

EN GENERAL, sistemas de BD son en la mayorıa defi-cientes en controles de integridad.

36

Page 37: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

(c) Estandarizacion de los datos

Como el DBA tiene control centralizado de la BD, puedegarantizar el cumplimiento de las NORMAS PARALOS DATOS:

• Normas de la empresa

• Normas del departamento

• Normas de la industria (produccion)

• Normas de documentacion

NORMALIZACION DE LOS DATOS: Convenientepara:

• Intercambio de informacion

• Migracion de datos entre sistemas

• Compartir y comprender la informacion (documen-tacion de los datos)

37

Page 38: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

(d) Controles de Seguridad

DBA (Data Base Administrator): Tiene jurisdiccion ycontrol sobre los datos. Puede garantizar:

• Asegurar y controlar el acceso a la Base de Datospor los canales apropiados (via SGBD-DBMS).

• Definir controles de seguridad para cuando se quieraacceder a informacion delicada. Establecer con-troles para cada tipo de acceso:

– Consulta

– Modificacion

– Actualizacion

– Borrado

• Controles para el acceso concurrente a los datos.

La centralizacion de los datos obliga a establecer con-troles de seguridad.

38

Page 39: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

(e) Maximizar el rendimiento del sistema

Centralizacion de los datos → Premisasconocidas

Requerimientos generales del sistema → por el DBA

DBA puede estructurar los datos de forma que las transac-ciones mas importantes y mas utilizadas se realicen masrapidamente que otras transacciones menos usuales.

⇓Objetivo: Aumentar el rendimiento global del sistema

Medidas de rendimiento:

• Numero de transacciones por unidad de tiempo

• Tiempo de respuesta de una transaccion tıpica

• Grado de ocupacion de los dispositivos (disco, re-des, etc.)

39

Page 40: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

(f) Independencia de los Datos

Objectivo principal de las Bases de Datos.

Ventaja de las mas importantes de las BD.

Independencia de los datos: Caracterıstica de immu-nidad de las aplicaciones ante cambios en la estructurade almacenamiento y tecnicas de acceso.

CASO OPUESTO: Aplicaciones dependientes de losdatos:

• Aplicaciones orientadas a lenguajes de tercera ge-neracion (C, Pascal, Cobol, etc.).

• Organizacion de los datos (ficheros) dependientede los requerimentos de la aplicacion

⇓Conocimiento de la organizacion de los datos y lastecnicas de acceso forman parte integral de la logicay el codigo de la aplicacion.

• formato registro Logico = formato registro Fısico

• Aplicacion en la cual es imposible alterar la organi-zacion fısica de los datos sin afectar la aplicacion(editar y compilar programa).

40

Page 41: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

En sistemas de Bases de Datos no es conveniente teneraplicaciones dependientes de los datos por dos razonesimportantes:

1. Cada aplicacion requiere una vista diferente de losmismos datos

Ejemplo: Saldo cliente (dato)

• Vista por una aplicacion en PESETAS

• Vista por otra aplicacion en EUROS

Dato (saldo) guardada en un UNICO FORMATO. DBMScontrola la conversion quan haga falta.

2. DBA ha de tener libertad para modificar la estruc-tura de almacenamiento y las tecnicas de accesopara mejorar el rendimiento, sin haber de modi-ficar las aplicaciones ya existentes

Las siguientes modificaciones no han de comportar cambiosen las aplicaciones

• Anadir nuevos atributos o campos de informacion a labase de datos

• Nuevos dispositivos de almacenamiento

• Cambiar la estructura de la Base de datos

41

Page 42: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

ASPECTOS DE LA ESTRUCTURA DE LA BASE DE DATOSMODIFICABLES SIN ALTERAR LAS APLICACIONES

Set aspectes:

1. Representacion de datos alfanumericos

• Formatos ASCII, EBCDIC.

Hay que implementar algoritmos de conversion que utilizara el DBMS.

2. Representacion de datos numericos

• Forma: Aritmetica (decimal) o caracteres

• Base: Binaria, decimal

• Escala: Punto fijo, punto flotante

• Modo: Real, complejo

• Precision (numero de dıgitos)

3. Unidades para los datos numericos

• Pulgadas, cm, m.

Hay que implementar algoritmos de conversion que utilizara el DBMS.

42

Page 43: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

4. Codificacion de los datos

Asignacion de codigos a la informacion. Aumenta la capacidad decompresion de almacenamento.

Ejemplo: Tabla de personal universitario

• Camp: Situacion, CHAR(10)

• Valores:

"Estudiante""Profesor ""PAS "

CON CODIFICACION:

• Campo: Situacio, CHAR(1)

•Valores Significado

1 Estudiante2 Profesor3 PAS

43

Page 44: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

5. Materializacion de los Datos

Forma de obtener las ocurrencias (valores) de los datos.

Dos formas:

1. DIRECTO: No hay calculo anadido para obtener los datos

acceso a un atributo logico ≡ acceso a un campo fısico

2. INDIRECTO: Requiere calculo adicional para obtener infor-macion. Estos datos no pueden ser modificados directamentepor el usuario.

acceso a un atributo logico ≡ acceso a diversos camposfısicos

Ejemplo: Campos Cantidad total de piezas, Promedio de pesosde las piezas requieren ser calculados en el momento en elcual se consultan.

6. Estructura de Ficheros

Fichero fısico puede ser:

• Contenido en UNA o VARIAS unitades de disco fısico

• ORDENADO por cadenas de apuntadores o por diferentesındices, o NO ORDENADO

• Tipos de acceso: SECUENCIAL, INDEXADO, HASHING

44

Page 45: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

7. Estructuras de los registros almacenados

Dos estrategias:

• COMBINAR registros fısicos

– Registro logico ⇒ subconjunto de campos del registrofısico

• SEPARAR registros fısicos

– Division permite almacenar informacion menos accesible omenos necesaria en dispositivos (discos magneticos) maslentos.

– 1 Registro logico ⇒ n registros fısicos

45

Page 46: 20350 BASES DE DATOS 1 - ingenieriasimple.comingenieriasimple.com/conred/bases de datos 1.pdf · BASES DE DATOS 1 Enric Mart´ı i G`odia Enginyeria Inform`atica Escola T`ecnica Superior

Inconvenientes de un

Sistema de Base de Datos

La importancia de los datos para gestion o toma dedecisiones, junto con las capacidades del sistema de BDpresuponen que se confie en estos sistemas para obtenerla informacion.

NO OBSTANTE, se han de tener en cuenta ciertosinconvenientes que pueden presentar estos sistemas:

• Pueden surgir problemas de integridad y seguridad si no existeun buen control de la BD.

• Es necesario hardware adicional par garantizar

– acceso concurrente

– rapidez en el acceso de los datos

lo que supone un alto coste economico si se quiere una ciertaeficiencia.

• Acceso concurrente puede dar lugar a DEADLOCK, lo queprovoca una bajada de rendimiento muy significativa.

• Errores en el sistema de BD (datos, aplicaciones, DBMS)pueden dar resultados erroneos, pudiendo provocar la adopcionde decisiones importantes erroneas, con las correspondientesperdidas.

• SGBD-DBMS: Programa muy complejo, importante y deter-minante para garantizar la consistencia y validez de los datos.Requiere ser muy testeado.

46