Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Setiembre 2011
TEMARIO
1. INTRODUCCION. CONCEPTOS BASICOS
Introduccin y deniciones o Componentes de un sistema de Bases de Datos Evolucin histrica o o Ventajas e inconvenientes de un sistema de BD
2. ARQUITECTURA
Arquitectura ANSI-SPARC El DBA i el SGBD Arquitectura back-end / front-end
TEMARIO (ii)
6. NORMALIZACION
Teor de la normalizacin a o Dependencia funcional Formas normales de Codd (1NF, 2NF, 3NF) Forma normal de Boyce-Codd (FNBC) Proceso de normalizacin o
7. NIVEL INTERNO
Acceso a la Base de Datos. Estructuras de almacenamiento Indexacin o Hashing Tcnicas de compresin e o Compresin diferencial y jerrquica o a o Codicacin de Human 3
Bibliograa
A. Silberschatz, H.F. Korth, S. Sudarshan, Fundamentos de Bases de Datos, 3a edicin, McGrawo Hill, 2006. T. M. Connolly, C. E. Begg, Sistemas de Bases de Datos, 4a edicin, Pearson-Addison-Wesley, 2005. o P.Rob, C.Coronel, Sistemas de Bases de Datos. Diseo, implementacin y administracin, Thomn o o son, 2004. D.M. Kroenke, Procesamiento de Bases de Datos, 8a edicin, Pearson-Prentice Hall, 2003. o C.J. Date, Introduccin a los Sistemas de Bases o de Datos, 7a edici, Prentice Hall, 2001. o nez, E. Castro, et al., Diseo n A. de Miguel, P. Mart de Bases de Datos. Problemas resueltos, RaMa, 2001. G.W. Hansen, J.V. Hansen, Diseo y administran cin de Bases de datos, 2a edicin, Prentice Hall, o o 1997. e a, M. Marqus, J.I. Aliaga, S. Garci G. Quintana, SQL y desarrollo de aplicaciones en ORACLE 8, Col. Treball dInform`tica i Tecnologia, 9, a Universitat Jaume I, 2001.
4
TEMA 1
INTRODUCCION. CONCEPTOS BASICOS
1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 o 2. Deniciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3. Componentes de un Sistema de Base de Datos . 9 4. Evolucin histrica . . . . . . . . . . . . . . . . . . . . . . . . . . 23 o o 5. Ventajas de un Sistema de Bases de Datos . . . . 29 6. Inconvenientes de un Sistema de BD . . . . . . . . . 42
Observaciones:
Archivos TABLAS Filas de la tabla TUPLAS, REGISTROS Columnas de la tabla ATRIBUTOS, CAMPOS Lenguaje de interaccin con los datos: SQL (Structured Query o Language)
Resultado:
VINO Chardonnay Chardonnay Fume Blancg ENT 2 6 21 PRODUCTOR Buena Vista Chappellet Ch. St. Jean
INSERCION:
INSERT INTO CAVA VALUES (53,Pinot Noir,Saintsbury,87,1,93)
Resultado:
ENT 2 3 6 11 12 16 21 22 53 VINO Chardonnay Chardonnay Chardonnay Jo Riesling Jo Riesling Jo Riesling Fume Blancg Jo Riesling Pinot Noir PRODUCTOR Buena Vista Louis Martini Chappellet Jekel Buena Vista Sattus Ch. St. Jean Rob. Mondavi Sainstbury ANO 98 99 97 99 97 97 98 97 87 BOT 1 5 4 10 1 1 4 2 1 8 LISTO 01 00 01 02 02 99 01 00 93
ACTUALIZACION:
UPDATE CAVA SET BOT=4 WHERE ENT=3
Resultado:
ENT 2 3 6 11 12 16 21 22 VI Chardonnay Chardonnay Chardonnay Jo Riesling Jo Riesling Jo Riesling Fume Blancg Jo Riesling PRODUCTOR Buena Vista Louis Martini Chappellet Jekel Buena Vista Sattus Ch. St. Jean Rob. Mondavi ANY 98 99 97 99 97 97 98 97 BOT 1 4 4 10 1 1 4 2 LISTO 01 00 01 02 02 99 01 00
BORRADO:
DELETE FROM CAVA WHERE ENT=2
Resultado:
ENT 3 6 11 12 16 21 22 VINO Chardonnay Chardonnay Jo Riesling Jo Riesling Jo Riesling Fume Blancg Jo Riesling PRODUCTOR Louis Martini Chappellet Jekel Buena Vista Sattus Ch. St. Jean Rob. Mondavi ANY 99 97 99 97 97 98 97 BOT 5 4 10 1 1 4 2 9 LISTO 00 01 02 02 99 01 00
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
PREGUNTAS:
Obtener el NOMBRE del capitn del equipo AUTONOMA. a Cuantos partidos ha jugado el equipo AUTONOMA en su campo?. Cuantos minutos ha jugado el capitn del equipo CENTRAL a durante toda la liga?. Cul ha sido el resultado del partido AUTONOMA-POLITECa NICA, jugado en el campo del equipo AUTONOMA?.
11
12
13
HARDWARE
Componentes: Almacenamiento secundario (discos magnticos, pe o ticos, dispositivos de E/S, redes).
IMPORTANTE LA CAPACIDAD Y EL TIEMPO DE ACCESO
Memoria RAM para almacenar datos y cdigo que o permiten ejecutar las transacciones SQL.
IMPORTANTE LA CAPACIDAD Y EL TIEMPOS DE ACCESO
CPU. La velocidad y capacidad de la CPU es poco determinante par realizar transacciones SQL, usualmente de poco clculo (clculos aritmticos). a a e
14
SOFTWARE
Sistema Gestor de Base de Datos (SGBD) (Data Base Management System - DBMS) Situado entre la BD f sica y los usuarios. Componente software ms importante. a Objetivos:
Gestionar las peticiones de los usuarios Insertar archivos y datos nuevos Consultar datos Actualizar datos Borrar datos Eliminar archivos o a Presentar una visin de ms alto nivel de la Base de Datos, visin ms independente del Hardware y del Sistema Operao a tivo, mediante tablas, atributos y un lenguaje de manipulacin o de datos (usualmente SQL). Proteccin de los datos: o respecto otros usuarios. en acceso y actualizacin concurrente. o
USUARIOS
Tres tipos diferentes de usuarios: 1. Usuario nal
Interacta con el sistema mediante terminales on line. u Accede a la BD mediante aplicaciones e interf cies orientadas por mens hechos por los programadores de apliu caciones. Interf cies orientadas por mens: u o Facilitan la interaccin con el usuario. No contemplan todas las amplias posibilidades del lenguaje de consulta.
2. Programador de aplicaciones
Disea e implementa aplicaciones en lenguajes de pron gramacin (C, PASCAL, COBOL, PL/I, etc.) para los o usuarios nales. Aplicaciones realizan transacciones a la Base de Datos mediante cdigo SQL dentro de los cheros fuente de la o aplicacin C, PASCAL, COBOL, PL/I, etc. o
BASE DE DATOS
Componente ms importante del Sistema de Base de a Datos. Importante su correcta estructuracin y el mantenimiento o de su contenido. Aspectos a tener en cuenta: 1. Caracter sticas de los datos 2. Tipos de datos 3. Entidades e interrelaciones (diseo Modelo Entin dad/Relacin) o 4. Tablas y referencias (implementacin Modelo Relao cional)
17
No es necesario poner el campo Departamento en la relacin o Inscripcin o COMPARTIDAS: Diferentes usuarios pueden acceder a los mismos datos y utilizarlos con nalidades diferentes (posiblemente con acceso concurrente). Cada usuario ver los datos y las interpretar de forma difea a rente. Ejemplo: Tabla Empleats
Campo Departament en la relacin Empleats utilizado de forma o diferente por el departamento de personal (nmina, categor o a) o de educacin (edad, formacin del empleado). o o 18
2. Tipos de datos
Dos tipos importantes: Datos Persistentes: Datos contenidos a la BD. Datos Transitorios: Datos que se interrelacionan con la BD pero que no pertenecen a ella. Dos tipos:
Datos de Entrada: Informacin que entra por primera vez o en el Sistema. Puede llegar a formar parte de la BD (insercin, actualizacin de informacin). o o o Informacin que se quiere insertar a la BD. o Informacin que se da para hacer una consulta. o Datos de Salida: Mensajes y resultados que provienen del Sistema. Informacin que proviene de los datos persistentes del o Sistema.
Segn la clasicacin anterior, u o Base de Datos: Conjunto de datos persistentes que representan la realidad de una empresa o organizacin o que se quiere modelar.
19
3. Entidades e interrelaciones
Muy importantes para realizar el diseo de una Base de n Datos. Entidades: Cualquier objeto distinguible que se ha de representar en la Base de Datos. Interrelaciones: Vinculan diferentes entidades (usualmente dosinterrelacin binaria) en ambos sentio dos. Asocia un valor de una entidad con un valor de la otra entidad (interrelacin binaria). o Entidades e interrelaciones llevan asociadas propiedades, datos asociados.
Ejemplo: Compa fabricante de maquinaria de donde na se guarda informacin sobre las siguientes entidades: o
Proyectos (mquinas que se construyen) a Piezas de los proyectos Proveedores de las piezas Empleados Departamentos Almacenes Lugares 20
Cierto proveedor suministra ciertes piezas Cierta pieza es suministrada por ciertos proveedores
Tipos de interrelaciones:
(a) Interrelacin con la misma entidad o (b) Ms de una interrelacin entre 2 entidades a o (c) Interrelacin ternaria o
21
22
23
Ejemplo: Interrelacin o PEPE suministra LLAVES INGLESAS en el proyecto EUREKA suministra ms informacin (menos incertidumbre) que a o las interrelaciones:
PEPE sumistra LLAVES INGLESAS Se utilizan LLAVES INGLESAS en el proyecto EUREKA PEPE es proveedor del proyecto EUREKA a algun proyecto Z para algn proveedor SX u para alguna pieza P Y
24
Propiedades
Campos de informacin asociados a entidades o a intero relaciones. A ENTIDADES:
4. Tablas y referencias
Transformar las entidades e interrelaciones en tablas y referencias para convertir la estructura de datos al modelo relacional, modelo implementado en la mayor de SGDB actuales como ACCESS, a ORACLE, INFORMIX.
Evolucin histrica o o
Evolucin de las Bases de Datos ha estado un intento de o organizar la informacin en computadores de la forma o ms eciente posible. a Cinco etapas histricas: o 1. Funciones de acceso a cheros en cdigo mquina o a (60s) 2. Independencia chero lgico-chero f o sico (70s) 3. Primeros sistemas de Bases de Datos (80s) 4. Independncia lgica y f e o sica de las datos (90s) 5. Internet y sistemas distribuidos (actualidad)
27
Organizacin de cheros secuencial (cinta magntica). o e Procesamiento batch (ujo de ejecucin decidido antes de la o compilacin del programa). o Software: Operaciones E/S denidas en direcciones mquina a ($F4ED$). Lenguajes: mquina y ensamblador. a Programador ha de especicar la estructura f sica de los datos (bytes). Cambio de los datos Cambio del cdigo ensamblador. o o Estructura de datos pensada para una sola aplicacin. Dicultad para compartir datos a otras aplicaciones REDUNDANCIA 28
Procesamiento en interactivo (ujo de ejecucin del programa o decidido en tiempo de ejecucin). o Software: Sistema de cheros, funciones de acceso a chero (open, close, read, write) y lenguajes de programacin (Paso cal, Fortran, Cobol, C). Separacin entre la organizacin f o o sica (chero f sico) y lgica o (chero lgico). o Estructuras de cheros: Secuencial Indexado (acceso directo) o Datos estructurados por una sola aplicacin REDUNDANCIA Formato registro lgico = formato registro f o sico. 29
Formato registro lgico = formato registro f o sico. o o Sistema orientado a comparticin de datos Disminucin de redundancia. Necesidad de controles de integridad y seguridad debido al accesos compartido entre diferentes usuarios. Almacenamiento f sico independiente de programas de aplicacin. o Construccin de nuevos cheros lgicos sobre los mismos o o datos f sicos. Necesidad de un conocimiento profundo de la estructura f sica por parte de los programadores de aplicaciones. o Modicacin de la estructura fsica de los datos afecta a la aplicacin, pues la obliga a recompilar el programa para camo biar los links a la estructura f sica. 30
Independencia entre los datos lgicos y los datos f o sicos. Modicacin de la estructura de f o sica de los datos no afecta a las aplicaciones. Aparece la gura del administrador de la Base de Datos. Necesidad de controles de integridad y seguridad debido al accso compartido entre diferentes usuarios. e o Faciliades en la migracin de los datos a diferentes sistemas y formatos. Versatilidad: Posibilidad de realizar preguntas a la Base de Datos inicialmente no previstas. 31
Distribuir los datos en lugares alejados geogrcamente (sisa temas distribuidos). Utilizacin de Internet como protocolo de comunicacin entre o o Bases de Datos distribuidas. Aplicaciones con php, HTML, cgi, etc. junto con un Sistema de Bases de Datos para hacer las consultas (MySQL, Oracle, etc.) Aplicaciones de compra y pago por Internet, mvil, PDA, etc. o Problema de la condencialidad de los datos por la red. Miner a de datos (Data Mining). 32
33
34
Inconsistencia
Cuando se obtienen diferentes valores de la misma informacin. o Consecuencia de mantener redundancia no controlada. Ejemplo: Dos tablas que tienen como propiedad el nombre de cliente: Clientes y Facturas. Si se modica la propiedad en una tabla y en la otra no 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 (insercin, modicacin, eliminacin) o o o
EN REALIDAD, existen pocos sistemas con redundancia controlada y propagacin de actualizaciones, por el o retardo en el tiempo de respuesta de las transacciones.
35
INTEGRIDAD:
Importante en sistemas multiusuario. Generacin de informacin inconsistente o errnea puede suo o o poner un peligro importante para usuarios que consulten informacin, pues puede dar lugar a toma de decisiones equivo ocadas.
NORMALIZACION DE LOS DATOS: Conveniente para: Intercambio de informacin o Migracin de datos entre sistemas o Compartir y comprender la informacin (documeno tacin de los datos) o
37
38
DBA puede estructurar los datos de forma que las transacciones ms importantes y ms utilizadas se realicen ms a a a rapidamente que otras transacciones menos usuales. Objetivo: Aumentar el rendimiento global del sistema Medidas de rendimiento: Nmero de transacciones por unidad de tiempo u Tiempo de respuesta de una transaccin t o pica Grado de ocupacin de los dispositivos (disco, reo des, etc.)
39
En sistemas de Bases de Datos no es conveniente tener aplicaciones dependientes de los datos por dos razones importantes: 1. Cada aplicacin requiere una vista diferente de los o mismos datos
Ejemplo: Saldo cliente (dato) Vista por una aplicacin en PESETAS o Vista por otra aplicacin en EUROS o Dato (saldo) guardada en un UNICO FORMATO. DBMS controla la conversin quan haga falta. o
2. DBA ha de tener libertad para modicar la estructura de almacenamiento y las tcnicas de acceso e para mejorar el rendimiento, sin haber de modicar las aplicaciones ya existentes
Las siguientes modicaciones no han de comportar cambios en las aplicaciones Aadir nuevos atributos o campos de informacin a la n o base de datos Nuevos dispositivos de almacenamiento Cambiar la estructura de la Base de datos
41
ASPECTOS DE LA ESTRUCTURA DE LA BASE DE DATOS MODIFICABLES SIN ALTERAR LAS APLICACIONES Set aspectes: 1. Representacin de datos alfanumricos o e
Formatos ASCII, EBCDIC. Hay que implementar algoritmos de conversin que utilizar el DBMS. o a
CON CODIFICACION: Campo: Situaci, CHAR(1) o Valores 1 2 3 Signicado Estudiante Profesor PAS
43
6. Estructura de Ficheros
Fichero f sico puede ser: sico Contenido en UNA o VARIAS unitades de disco f ORDENADO por cadenas de apuntadores o por diferentes ndices, o NO ORDENADO Tipos de acceso: SECUENCIAL, INDEXADO, HASHING
44
Registro lgico subconjunto de campos del registro o f sico SEPARAR registros f sicos
Divisin permite almacenar informacin menos accesible o o o menos necesaria en dispositivos (discos magnticos) ms e a lentos. 1 Registro lgico n registros f o sicos 45