tema 11 base datos v2 · 3 modelo relacional y diseño de bd. departamento de sistemas...
TRANSCRIPT
Tema 11Bases de datos
Fundamentos de Informática
2Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Í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.
3Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Evolución1
4Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
• Archivos: almacenan un conjunto de registros
Nombre:Nº de Empleado:
Edad:. . . . . . . . .
Juan López1300938. . . . . .
CAMPO NOMBCAMPO NEMPLECAMPO EDAD. . . . . . . . .
CONCEPTO CONTENIDO CAMPOS
Juan López 13009 38 . . . . . . . . . . . . . . .NOMB NEMPLE EDAD
REGISTRO
J. López 13009 38 . . . . . . . . . . . . . . .B. Llaneza 15783 27 . . . . . . . . . . . . . .A. Molina 158123 31 . . . . . . . . . . . . . . .F. Gómez 16111 43 . . . . . . . . . . . .L. López 16234 22 . . . . . . . . . . . . . . .M. Sanz 16641 33 . . . . . . . . . . . . . . .
ARCHIVO
Evolución de los dispositivos de almacenamiento
5Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
• Los sistemas de archivos evolucionan.Fichas.
Cintas
Acceso secuencial: Para acceder a un registro hay que pasar antes por los precedentes
Para modificar (actualizar) un archivo hay que escribirlo de nuevo enteroNo es posible realizar procesos concurrentes sobre el mismo archivo
13009 JUAN LÓPEZ 38 . . . . . .
FICHERO 13009 Juan López 38 . . . . . .
Registro 1 Registro 2 Registro 3
Evolución de los dispositivos de almacenamiento
6Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Evolución de los dispositivos de almacenamiento• Los sistemas de almacenamiento de archivos evolucionan.
Discos.
CILINDRO
SECTOR PISTA REGISTROS
ACCESO DIRECTO A UN REGISTRO
REGISTROS SOBRE-ESCRIBIBLES
7Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: 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.
• 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)
Evolución de los archivos a las bases de datos
Programa de aplicación 1
Programa de aplicación 2
Programa de aplicación 3
Peticiones dependientes del método de acceso a ficheros del sistema operativo.
Peticiones sencillas independientes de los métodos de acceso a ficheros.
Programa de aplicación 1
Programa de aplicación 2
Programa de aplicación 3Interfacequery’s
8Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: 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í.
Evolución de los archivos a las bases de datos
SGBD: Sistema Gestor de Bases de Datos
Proporciona los Servicios de Datos
Bases de Datos: Conjunto de archivos gestionado por un SGBD
9Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: 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, atributosAccesible 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,…)
Evolución de los archivos a las bases de datos
10Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Tipos de modelos de datos y SGBD2
11Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Tipos modelos de datos y de SGBD.
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
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.
12Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Modelo relacional y Diseño de BD3
13Departamento 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:
14Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Modelo Relacional
EMITE PEDIDO
Nº-CLIENTE (#)NOMBRE
DOMICILIO
CLIENTE SERVICIO
DIAGRAMADIAGRAMA
REPOSITORIOREPOSITORIO
Nº-CLIENTE (#)COD-SERVICIO(#)
COD-SERVICIO(#)TIPO
CLASETARIFA
15Departamento 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 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
16Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
Operaciones básicas4
17Departamento 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)
• 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, …
Peticiones sencillas independientes de los métodos de acceso a ficheros.
Programa de aplicación 1
Programa de aplicación 2
Programa de aplicación 3Interfacequery’s
18Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI
Tema 11: Bases de datos
¿Y con lo que sé de C?5
19Departamento 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 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.
20Departamento 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{
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
Escuela Técnica Superior de Ingeniería ICAIAlberto Aguilera 2528015 MadridTel +34 91 542 28 00Fax + 34 91 542 31 76Iwww.icai.upcomillas.es
www.upcomillas.es