Tema 11 Bases de datos

Anuncio
Tema 11
Bases de datos
Fundamentos de Informática
Índice
•
•
•
•
Evolución
Tipos de modelos de datos y SGBD
El modelo relacional y el Diseño de una Base de Datos
Operaciones básicas: consulta, inserción y borrado. SQL.
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
2
1
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Evolución
Tema 11: Bases de datos
3
Evolución de los dispositivos de almacenamiento
•
Archivos: almacenan un conjunto de registros
CONCEPTO
Nombre:
Nº de Empleado:
Edad:
. . . . . . . . .
REGISTRO
NOMB
Juan López
J. López
B. Llaneza
A. Molina
ARCHIVO
F. Gómez
L. López
M. Sanz
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
CONTENIDO
CAMPOS
CAMPO NOMB
CAMPO NEMPLE
CAMPO EDAD
. . . . . . . . .
Juan López
13009
38
. . . . . .
NEMPLE
13009
13009
15783
158123
16111
16234
16641
EDAD
38
38
27
31
43
22
33
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
Tema 11: Bases de datos
4
Evolución de los dispositivos de almacenamiento
•
Los sistemas de archivos evolucionan.
Fichas.
13009
.
JUAN LÓPEZ
38
. . . . .
Cintas
Registro 1
FICHERO
13009 Juan López
38
Registro 2
Registro 3
......
Acceso secuencial: Para acceder a un registro hay que pasar antes por los precedentes
Para modificar (actualizar) un archivo hay que escribirlo de nuevo entero
No es posible realizar procesos concurrentes sobre el mismo archivo
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
5
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
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
6
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 almacenamiento físico de los datos.
Programa de aplicación 1
Peticiones dependientes del
método de acceso a ficheros del
sistema operativo.
Programa de aplicación 2
Programa de aplicación 3
•
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 1
Peticiones sencillas
independientes de los
métodos de acceso a
ficheros.
Programa de aplicación 2
Programa de aplicación 3
Interface
query’s
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
7
Evolución de los archivos a las bases de datos
Importancia 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
Bases de Datos: Conjunto de archivos gestionado por un SGBD
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
8
Evolución de los archivos a las bases de datos
Características de los Sistemas de BD’s
•
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.
•
Redundancia mínima => Garantiza la integridad de los datos.
•
Control de concurrencias a los datos.
•
Protección de datos ante accesos no autorizados.
•
Utilidades de administración de bases de datos (backups, restores, auditorias,…)
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
9
2
Tipos de modelos de datos y SGBD
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
10
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 de Base de Datos que se vaya a utilizar.
MODELOS DE DATOS
Jerárquico (segmento, árbol)
Relacional (Ej: DB2 de IBM, Accesss, …) (entidades, relaciones)
En Red (Ej: CODASYL) (registro, fichero ,set)
Orientadas a objetos
Modelo multidimensional
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
11
3
Modelo relacional y Diseño de BD
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
12
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:
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
13
Modelo Relacional
DIAGRAMA
CLIENTE
Nº-CLIENTE (#)
NOMBRE
DOMICILIO
EMITE PEDIDO
Nº-CLIENTE (#)
COD-SERVICIO(#)
SERVICIO
COD-SERVICIO(#)
TIPO
CLASE
TARIFA
REPOSITORIO
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
14
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 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 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.
• Se utiliza la Normalización para realizar el diseño lógico de la base de datos
•
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
15
4
Operaciones básicas
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
16
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) Programa de aplicación 1
Peticiones sencillas
independientes de los
métodos de acceso a
ficheros.
Programa de aplicación 2
Programa de aplicación 3
Interface
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).
•
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 en éstos últimos: seleccionar, modificar, crear ó borrar registros.
•
Algunos SGBD que utilizan SQL son, por ejemplo: DB2, Oracle, Informix, MySQL, …
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
17
5
¿Y con lo que sé de C?
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
18
¿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 SGBC y SQL?
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. • Para “recuperar” información, se puede acceder a varios ficheros a la vez, relacionando la información de registros de distintos ficheros.
•
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
19
¿Y con lo que sé de C?
Por ejemplo:
typedef struct avion
{
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 */
}T_AVION;
typedef struct recorrido
{
int num_vuelo; /* Número de vuelo */
char origen[4]; char destino[4]; 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” la ocurrencia del avión con ese identificador y obtener sus datos.
Solución: apartado 4 en: https://www.iit.upcomillas.es/palacios/cursoc/IINF_junio_2004.pdf
Departamento de Sistemas Informáticos
Escuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
20
Escuela Técnica Superior de Ingeniería ICAI
Alberto Aguilera 25
28015 Madrid
Tel +34 91 542 28 00
Fax + 34 91 542 31 76
Iwww.icai.upcomillas.es
www.upcomillas.es
Descargar