tema 11 bases de datos - cartagena99.com 11.pdf · • la operación sobre una base de datos se...
TRANSCRIPT
Índice
• Evolución• Tipos de modelos de datos y SGBD• El modelo relacional y el Diseño de una Base deEl modelo relacional y el Diseño de una Base de Datos
• Operaciones básicas: consulta inserción y borradoOperaciones básicas: consulta, inserción y borrado. SQL.
2Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Evolución1
3Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Evolución de los dispositivos de almacenamiento
• Archivos: almacenan un conjunto de registrosCONCEPTO CONTENIDO CAMPOS
Nombre:Nº de Empleado:
Edad:
Juan López1300938
CAMPO NOMBCAMPO NEMPLECAMPO EDAD
CONCEPTO CONTENIDO CAMPOS
Edad:. . . . . . . . .
38. . . . . .
CAMPO EDAD. . . . . . . . .
Juan López 13009 38 . . . . . . . . . . . . . . .NOMB NEMPLE EDAD
REGISTRO
J. López 13009 38 . . . . . . . . . . . . . . .B Ll 15783 27B. Llaneza 15783 27 . . . . . . . . . . . . . .A. Molina 158123 31 . . . . . . . . . . . . . . .F. Gómez 16111 43 . . . . . . . . . . . .
ARCHIVO
4Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datosBD - Introducción4
L. López 16234 22 . . . . . . . . . . . . . . .M. Sanz 16641 33 . . . . . . . . . . . . . . .
Evolución de los dispositivos de almacenamiento• Los sistemas de archivos evolucionan.
– Fichas.13009 JUAN LÓPEZ 38 . . . . . .
– CintasCintas
FICHERO 13009 Juan López 38 . . . . . .
Registro 1 Registro 2 Registro 3
Acceso secuencial: Para acceder a un registro hay que pasar antes por los
p
g y q p pprecedentes
Para modificar (actualizar) un archivo hay que escribirlo de nuevo enteroNo es posible realizar procesos concurrentes sobre el mismo archivo
5Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
No es posible realizar procesos concurrentes sobre el mismo archivo
Evolución de los dispositivos de almacenamiento• Los sistemas de almacenamiento de archivos evolucionan.
– Discos.SECTOR PISTA REGISTROS
CILINDRO
ACCESO DIRECTO A UN REGISTRO
REGISTROS SOBRE-ESCRIBIBLES
6Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Evolución de los archivos a las bases de datos• Programación tradicional: Los datos manejados por las aplicaciones se
almacenaban en archivos tradicionales, gestionados a través de métodos de acceso de los Sistemas Operativos. Las aplicaciones dependen del p p palmacenamiento físico de los datos.
Programa de aplicación 1 Fichero 1 Peticiones dependientes delg p
SO
Fichero 2Programa de aplicación 2
Programa de aplicación 3
Peticiones dependientes del método de acceso a ficheros del sistema operativo.
• Actualmente: Centralizar la gestión y control de los datos a través de un software especifico y común a todas las aplicaciones (SGBD)
Programa de aplicación 3
p y p ( )
Peticiones sencillas i d di d l
Programa de aplicación 1
SO
Fichero 1
SGBDindependientes de los métodos de acceso a ficheros.
Fichero 2Programa de aplicación 2
Programa de aplicación 3Interface
7Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
query’s
Evolución de los archivos a las bases de datosImportancia de las bases de datos:
• Surgen debido a las necesidades de manipular grandes cantidades de datos, tanto desde programas como por usuarios finales.
• BD’s : Colección de datos relacionados entre sí, gestionados a través de un software específico (SGBD).
• SGBD: Software que centraliza e integra el control sobre las Bases de Datos, independizando los datos de los programas en sí.
SGBD: Sistema Gestor de Bases de Datos
Proporciona los Servicios de Datos
B d D t C j t d hi ti d SGBD
8Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Bases de Datos: Conjunto de archivos gestionado por un SGBD
Evolución de los archivos a las bases de datos
Características de los Sistemas de BD’s• Independencia entre datos y programas• Independencia entre datos y programas.
• Se facilita la gestión de los datos:– Fácil uso para usuarios y programadores.– Visión lógica de los datos. Relaciones, tablas, atributos– Accesible mediante lenguajes sencillos y potentes.Accesible mediante lenguajes sencillos y potentes.
• Redundancia mínima => Garantiza la integridad de los datos.
• Control de concurrencias a los datos.
• Protección de datos ante accesos no autorizados.
Utilid d d d i i t ió d b d d t (b k t
9Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
• Utilidades de administración de bases de datos (backups, restores, auditorias,…)
Tipos de modelos de datos y SGBD2 Tipos de modelos de datos y SGBD2
10Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Tipos modelos de datos y de SGBD.Existen distintos modelos de datos en función de cómo sea la organización de los mismos y que determina el Sistema Gestor d B d D t tili
MODELOS DE DATOS
de Base de Datos que se vaya a utilizar.
Jerárquico (segmento, árbol)
Relacional (Ej: DB2 de IBM, Accesss, …) (entidades, relaciones)
En Red (Ej: CODASYL) (registro, fichero ,set)
O i d bjOrientadas a objetos
Modelo multidimensional
11Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Modelo multidimensional
Modelo relacional y Diseño de BD3 Modelo relacional y Diseño de BD3
12Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Modelo Relacional• En 1970, E.F. Codd de IBM presentó el modelo de datos relacional.
• Es de los más utilizados para almacenar datos de operación.• Conceptos básicos:
ENTIDADAlgo (persona, animal, cosa, hecho…) que puede ser descrito mediante una serie de características CadaENTIDAD descrito mediante una serie de características. Cada uno de los posibles valores se denomina ocurrencia de la entidad.
RELACIÓNRepresenta asociaciones entre las diferentes entidades, de acuerdo con las decisiones de gestión del negocio a modelizar.
ATRIBUTO
Nombre, Longitud,Identificador con el que se referencia a cada característica de una entidad.
13Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
, g ,Tipo, Clave,...
Modelo Relacional
DIAGRAMADIAGRAMA
EMITE PEDIDOCLIENTE SERVICIO
Nº-CLIENTE (#) Nº-CLIENTE (#) COD-SERVICIO(#)N CLIENTE (#)NOMBRE
DOMICILIO
N CLIENTE (#)COD-SERVICIO(#) TIPO
CLASETARIFA
REPOSITORIOREPOSITORIO
14Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Modelo Relacional y Diseño de la BD• En el desarrollo de una aplicación, entre otras tareas, hay que realizar el
Diseño de la Base de Datos, que consiste en:• Definir su contenido• Definir su contenido• Definir su estructura
• Para el Diseño de la Base de datos se realiza:1. Diseño lógico, estructuras lógicas de datos visibles para los programas,
donde se debe decidir• qué entidades existen y qué atributos tienen• qué relaciones entre entidades se van a manejar en la aplicación.
2 Diseño físico estructuras físicas de los datos2. Diseño físico, estructuras físicas de los datos• Qué ficheros e índices se van a utilizar • En cada fichero, qué tabla se va a almacenar, es decir, cuáles son
los atributos que tendrá cada uno de los registros almacenados en el fichero.
• Se ha de evitar tener datos redundantes.
15Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
• Se utiliza la Normalización para realizar el diseño lógico de la base de datos
Operaciones básicas4 Operaciones básicas4
16Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Operaciones básicas sobre una Base de Datos• La operación sobre una base de datos se realiza a través del software que
controla la base de datos: el SGBD (Sistema Gestor de Base de Datos)
Peticiones sencillas independientes de los
Programa de aplicación 1
SO
Fichero 1
Fi h 2Programa de aplicación 2
SGBDp
métodos de acceso a ficheros.
Fichero 2g p
Programa de aplicación 3Interface query’s
• En los SGBD relacionales, el lenguaje de consulta estándar que se utiliza es el SQL (Structured Query Language, Lenguaje de consulta estructurado).
query s
• El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones
é t últi l i difi ó b i ten éstos últimos: seleccionar, modificar, crear ó borrar registros.
• Algunos SGBD que utilizan SQL son, por ejemplo: DB2, Oracle, Informix, MySQL,
17Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
…
¿Y con lo que sé de C?5 ¿Y con lo que sé de C?5
18Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
¿Y con lo que sé de C?¿Tendríamos alguna manera de trabajar con Bases de datos con lo que sabemos
hasta ahora, sin usar un SGBD y SQL?Pues síPues sí …
• Lo más lógico sería utilizar ficheros binarios.• Para cada fichero binario, se decide qué estructura tiene cada registro. • En distintos ficheros, se guarda la información de las entidades y relaciones de la
aplicación. p• Para “recuperar” información, se puede acceder a varios ficheros a la vez,
relacionando la información de registros de distintos ficheros.
19Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
¿Y con lo que sé de C?Por ejemplo:
typedef struct avion{
Estructura de cada ocurrencia del fichero “aviones.dat”
int identificador; /* ID único utilizado en el otro archivo */char modelo[20]; /* Tipo de avión, por ejemplo "Boeing 747‐400" */int plazas; /* Número máximo de pasajeros */int velocidad; /* Velocidad en km/h */int velocidad; / Velocidad en km/h /
}T_AVION;typedef struct recorrido{ Estructura de cada ocurrencia del fichero “recorridos.dat”
int num_vuelo; /* Número de vuelo */char origen[4]; char destino[4]; int avion asignado; /* Identificador del avión asignado al recorrido */int avion_asignado; / Identificador del avión asignado al recorrido /int dia; /* Dia de la semana*/int num_pasajeros; /* Número de pasajeros en este vuelo */
} T_RECORRIDO;La función para mostrar toda la información de los vuelos previstos, incluyendo la información sobre el avión asignado y el grado de ocupación del avión, tendrá que acceder primero al fichero “recorridos.dat” y para cada recorrido, buscar en el fichero “aviones.dat”
20Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
la ocurrencia del avión con ese identificador y obtener sus datos.