tema 11 base datos v2 · 3 modelo relacional y diseño de bd. departamento de sistemas...

21
Tema 11 Bases de datos Fundamentos de Informática

Upload: others

Post on 24-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

Tema 11Bases de datos

Fundamentos de Informática

Page 2: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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.

Page 3: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

3Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI

Tema 11:  Bases de datos

Evolución1

Page 4: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 5: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 6: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 7: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 8: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 9: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 10: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

10Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI

Tema 11:  Bases de datos

Tipos de modelos de datos y SGBD2

Page 11: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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.

Page 12: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

12Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI

Tema 11:  Bases de datos

Modelo relacional y Diseño de BD3

Page 13: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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:

Page 14: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 15: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 16: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

16Departamento de Sistemas InformáticosEscuela Técnica Superior de Ingeniería ICAI

Tema 11:  Bases de datos

Operaciones básicas4

Page 17: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 18: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 19: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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.

Page 20: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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

Page 21: Tema 11 base datos v2 · 3 Modelo relacional y Diseño de BD. Departamento de Sistemas Informáticos 13 Escuela Técnica Superior de Ingeniería ICAI Tema 11: Bases de datos Modelo

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