1 estructuras de archivos y bases de datos tanenbaum: sistemas operativos modernos, 2002tanenbaum:...

55
1 Estructuras de Archivos y Estructuras de Archivos y Bases de datos Bases de datos Tanenbaum: Sistemas Operativos Tanenbaum: Sistemas Operativos Modernos, 2002 Modernos, 2002 J. Glenn Brookshear: Computer Science – J. Glenn Brookshear: Computer Science – An overview An overview

Upload: jaime-malo

Post on 28-Jan-2016

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

1

Estructuras de Archivos y Estructuras de Archivos y Bases de datosBases de datos

• Tanenbaum: Sistemas Operativos Modernos, Tanenbaum: Sistemas Operativos Modernos, 2002 2002

• J. Glenn Brookshear: Computer Science – An J. Glenn Brookshear: Computer Science – An overviewoverview

Page 2: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

2

Sistema de Gestión de archivosSistema de Gestión de archivos

• Se considera parte del sistema operativo. Se considera parte del sistema operativo.

• La entrada a la aplicación se realiza por medio de La entrada a la aplicación se realiza por medio de archivos.archivos.

• La salida se guarda en archivos para su La salida se guarda en archivos para su almacenamiento a largo plazo.almacenamiento a largo plazo.

Page 3: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

3

Términos relacionados con los Términos relacionados con los archivos - 1archivos - 1

Campo:Campo:– Elemento de datos básico.Elemento de datos básico.– Contiene un valor único.Contiene un valor único.– Se caracteriza por su longitud y por el tipo Se caracteriza por su longitud y por el tipo

de datos.de datos.

Registro:Registro:– Conjunto de campos relacionados.Conjunto de campos relacionados.– Pueden tratarse como una unidad:Pueden tratarse como una unidad:

• Ejemplo: un registro “empleado”.Ejemplo: un registro “empleado”.

Page 4: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

4

Términos relacionados con los Términos relacionados con los archivos - 2archivos - 2

• Archivo:Archivo:– Conjunto de registros similares.Conjunto de registros similares.– Tratado como una entidad única.Tratado como una entidad única.– Tienen nombres únicos.Tienen nombres únicos.– Se suelen aplicar restricciones al control Se suelen aplicar restricciones al control

de accesos.de accesos.

• Base de datos:Base de datos:– Conjunto de datos relacionados.Conjunto de datos relacionados.– Existen relaciones entre los elementos.Existen relaciones entre los elementos.

Page 5: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

5

Operaciones típicasOperaciones típicas

• Sobre registrosSobre registros– Recuperar _UnoRecuperar _Uno– Recuperar _SiguienteRecuperar _Siguiente– Recuperar _PrevioRecuperar _Previo– Insertar_UnoInsertar_Uno– Borrar_UnoBorrar_Uno– Recuperar_TodoRecuperar_Todo– Actualizar_UnoActualizar_Uno– Recuperar _VariosRecuperar _Varios

• Sobre archivosSobre archivos– Copiar o duplicarCopiar o duplicar– BorrarBorrar– Escanear Escanear

(antivirus)(antivirus)– NombrarNombrar– RenombrarRenombrar– Modificar Modificar

característicascaracterísticas

Page 6: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

6

Sistemas de gestión de archivos

• Es el mecanismo por medio del cual un usuario o aplicación puede acceder a los archivos.

• El programador no necesita desarrollar software de gestión de archivos.

Page 7: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

7

Objetivos para un sistema de gestión de archivos

• Cumplir con las necesidades de gestión de datos y con los requerimientos del usuario.

• Optimizar el rendimiento.• Minimizar la posibilidad de pérdida o destrucción

de datos.• Ofrecer un conjunto estándar de rutinas de

interfaz de E/S.• Proporcionar soporte de E/S para múltiples

usuarios. • Ofrecer soporte de E/S para la variedad de tipos de

dispositivos de almacenamiento.

Page 8: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

8

Requisitos mínimos de un usuario

• crear, borrar y cambiar los archivos.• tener acceso a los archivos de otros usuarios.• controlar qué tipos de accesos estarán permitidos

a sus archivos.• reestructurar sus archivos de manera adecuada al

problema.• mover datos entre los archivos.• guardar una copia de reserva y recuperar sus

archivos en el caso de que hayan sufrido algún daño.

• acceder a sus archivos mediante un nombre simbólico.

Page 9: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

Programa de usuario

Pila Secuencial Indexado Dispersión

E/S lógica

Supervisor básico de E/S

Sistema de archivos básico

Secuencial indexado

Controlador del dispositivo Disco Controlador del dispositivo Cinta

Figura 12.1. Arquitectura del software del sistema de archivos [GROS86].

Page 10: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

10

Funciones del sistema de gestión de archivos

• Identifica y ubica el archivo en cuestión.• Utiliza un directorio que describe la ubicación de

todos los archivos y sus atributos. • Los sistemas compartidos aplican algún control de

acceso a los usuarios. • La E/S se lleva a cabo por bloques.• Asigna los archivos a los bloques disponibles.• Gestiona el espacio libre, de manera que se

conozca qué bloques están disponibles.

Page 11: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

11

Criterios en la elección de una organización de archivos

• Acceso rápido• Facilidad de actualización• Economía de almacenamiento• Facilidad de actualización• Mantenimiento sencillo• Fiabilidad

Page 12: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

12

Organización de archivos

• Pilas:– Los datos se recogen en el orden en que

llegan.– La finalidad es acumular una masa de datos

y guardarla.– Los registros pueden tener campos

diferentes.– No hay una estructura.– El acceso a los registros se hace por

búsqueda exhaustiva.

Page 13: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

13

Pilas

Figura 12.3. Organizaciones comunes de archivo.

Registros de longitud variable

Conjunto variable de campos

Orden cronológico

(a) Archivo de pila

Page 14: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

14

Organización de archivos

• Archivos secuenciales:– Se emplea un formato fijo para los registros.– Los registros son de la misma longitud.– Todos los campos son iguales (longitud y

posición).– El nombre del campo y su longitud son atributos

de la estructura del archivo. – Un campo particular es conocido como el campo

clave:• Identifica unívocamente al registro.• Los registros se almacenan en secuencia por la

clave.

Page 15: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

15

Organización de archivos

• Archivos secuenciales:– Se realiza una actualización por lotes que mezcla

el archivo de registro con el archivo maestro. – Los nuevos registros se ubican en un archivo de

registro o archivo de transacciones.

Page 16: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

16

Archivo secuencial

Registros de longitud fija

Conjunto fijo de campos en orden constante

Orden secuencial por el campo clave

(b) Archivo secuencial

Figura 12.3. Organizaciones comunes de archivo.

Page 17: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

17

Organización de archivos

• Archivos secuenciales indexados– El índice proporciona una capacidad de

búsqueda para llegar rápidamente a las proximidades de un registro deseado:

• Contiene un campo clave y un puntero al archivo principal.

• Se busca el índice hasta encontrar el valor mayor de la clave que es igual o precede al valor deseado de la clave.

• La búsqueda continúa en el archivo principal a partir de la posición indicada por el puntero.

Page 18: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

18

Organización de archivos

• Comparación de archivos secuenciales y archivos secuenciales indexados:– Ejemplo: un archivo contiene 1 millón de

registros.– Por término medio, se necesitan 500.000

accesos para hallar un registro en un archivo secuencial.

– Si un índice contiene 1.000 entradas, se necesitan 500 accesos para hallar la clave, seguidos de 500 accesos al archivo principal. Entonces, ahora se necesitan 1.000 accesos por término medio.

Page 19: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

19

Organización de archivos

• Archivos secuenciales indexados:– Se añaden nuevos registros al archivo de

desbordamiento.– El registro del archivo principal que precede

se actualiza con un puntero al registro nuevo.

– El archivo secuencial indexado se combina con el archivo de desbordamiento en un tratamiento por lotes.

– Para ofrecer una eficacia mayor, se pueden usar múltiples niveles de indexación.

Page 20: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

20

Archivo secuencial indexado

Figura 12.3. Organizaciones comunes de archivo.

(c) Archivo secuencial indexado

Niveles de

indexaciónÍndice

Archivo

principal

Archivo de overflow o desbordamien

to

Page 21: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

21

Organización de archivos

• Archivos indexados:– Utilizan múltiples índices para cada campo

clave. – Puede contener un índice exhaustivo que

contenga una entrada para cada registro del archivo principal.

– Puede contener un índice parcial.

Page 22: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

22

Organización de archivos

• Archivos directos o de dispersión:– Acceden directamente a cualquier bloque de

dirección conocida. – Se requiere un campo clave en cada registro.

Page 23: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

23

Directorio de archivos

• Contiene información sobre los archivos:– Atributos.– Ubicación.– Propietario.

• El directorio es propiamente un archivo, poseído por el sistema operativo.

• Ofrece una traducción entre los nombres de archivo y los archivos propiamente dichos.

Page 24: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

24

Directorio jerárquico o estructurado en árbol• Existe un directorio raíz que incluye otros directorios y

archivos.• Cada uno de estos directorios puede tener a su vez

subdirectorios y archivos como entradas.• Cualquier archivo puede ser localizado siguiendo un

camino desde el directorio raíz o maestro, descendiento por varias ramas:– Este es el nombre de camino del archivo.

• Se pueden tener varios archivos con el mismo nombre de archivo mientras tengan nombres de camino únicos.

• El “directorio actual” es el directorio de trabajo. • Las referencias a los archivos son relativas al directorio

de trabajo.

Page 25: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

Figura 12.4. Directorio estructurado en árbol.

Directorio maestro (raíz)

Subdirectorio

Archivo

Subdirectorio

Subdirectorio

Subdirectorio

Subdirectorio

Archivo

ArchivoArchivo

Page 26: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

Figura 12.5. Ejemplo de directorio estructurado en Árbol.

Directorio maestroSistema

Usuario A

Usuario B

Usuario C

Dibujos

Textos

Tema 1 ABC

ABC Archivo

“ABC”

Archivo

“ABC”

Directorio “Usuario B”

Directorio “Dibujos”Directorio “Textos”

Directorio “Tema 1”

Directorio

“Usuario C”

Directorio

“Usuario A”

Nombre de camino: /UsuarioB/Textos/Tema 1/ABC

Page 27: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

27

Compartimiento de archivos

• En un sistema multiusuario, existe la necesidad de permitir a los usuarios compartir archivos.

• Dos cuestiones:– Los derechos de acceso.– La gestión de los accesos simultáneos.

Page 28: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

28

Derechos de acceso

• Ejecución:– El usuario puede cargar y ejecutar un programa.

• Lectura:– El usuario puede leer el archivo para cualquier propósito,

incluyendo copia y ejecución. • Adición:

– El usuario puede añadir datos al archivo. • Actualización:

– El usuario puede modificar, borrar y añadir datos al archivo.

• Cambio de protección:– El usuario puede cambiar los derechos de acceso

otorgados a otros usuarios.• Borrado:

– El usuario puede borrar el archivo del sistema de archivos.

Page 29: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

29

Derechos de acceso

• Propietario:– Dispone de todos los derechos de acceso

enumerados antes.– Puede otorgar derechos a los otros usando

las siguientes clases de usuarios:• Usuario específico. • Grupos de usuarios.• Todos (archivos públicos).

Page 30: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

30

Acceso simultáneo

• El usuario puede bloquear el archivo entero cuando lo vaya a actualizar.

• Un mejor control es bloquear los registros individuales durante la actualización.

• Al diseñar la posibilidad de accesos compartidos, deben abordarse aspectos de exclusión mutua e interbloqueo.

Page 31: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

31

Sistema de gestión del almacenamiento secundario

• Debe asignarse espacio a los archivos.

• Es necesario guardar constancia del espacio disponible para asignar.

Page 32: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

32

Métodos de asignación de archivos

• Asignación contigua:– Cuando se crea un archivo se le asigna un

único conjunto contiguo de bloques. – La tabla de asignación necesita sólo una

entrada por cada archivo:• Bloque de comienzo y longitud del archivo.

– Se producirá fragmentación externa.

Page 33: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

33Figura 12.7. Asignación contigua de archivos.

Archivo A

Archivo B

Archivo C

Archivo E

Archivo D

Tabla de asignación de archivos

Nombre de archivo Bloque de inicio Longitud

Archivo A

Archivo B

Archivo C

Archivo D

Archivo E

Page 34: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

Figura 12.8. Asignación contigua de archivos (tras compactación).

Archivo A

Archivo B

Archivo D

Archivo C

Tabla de asignación de archivos

Nombre de archivo Bloque de inicio Longitud

Archivo A

Archivo E

Archivo D

Archivo C

Archivo B

Archivo E

Page 35: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

35

Métodos de asignación de archivos

• Asignación indexada:– La tabla de asignación de archivos contiene un

índice separado de un nivel para cada archivo.– El índice posee una entrada para cada sección

asignada al archivo.– La tabla de asignación contiene números de

bloque para el índice.

Page 36: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

Figura 12.11. Asignación indexada por bloques.

Tabla de asignación de archivos

Nombre de archivoArchivo B

Archivo B

Bloque índice

Page 37: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

37

El rol del sistema operativo cuando se accesa un archivo

Memoria principal

Almacenamiento masivo

Los programas de aplicación accesan datos en el buffer en unidades de registros lógicos o campos

El sistema operativo recupera datos desde el almacenamiento masivo en unidades de registros físicos (bloques, sectores)

Page 38: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

38

Mantención del orden en un archivo por medio de una tabla de ubicaciones

Sectores del disco que contienen el archivo

Lista de sectores conteniendo el archivo

Page 39: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

39

Estructura de un archivo simple de empleados implementado como un archivo de texto.

El archivo consiste de una secuencia de registros de 31 caracteres cada uno.

Archivo

Registro

lógico

Nombre del empleado

Número de identificación del

empleado

Cada registro consiste de un campo de 25 caracteres conteniendo el nombre del empleado seguido de un campo de 6 caracteres conteniendo el número de

identificación

Page 40: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

40

Bases de Datos

J. Glenn Brookshear: Computer Science - An overview

C. J. Date - Introducción a los sistemas de base de datos

Page 41: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

41

Una organización de archivos vs base de datos - 1

Registrosde

clientes

Depto.Serviciosal cliente

Registrosde

sueldos

Depto.Sueldos

Registrosde

empleados

Depto.Personal

Registrosdel

inventario

DeptoAdquisiciones

Registrosde

ventas

DeptoMarketing

A: sistema de información basado en archivos

Page 42: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

42

Una organización de archivos vs base de datos - 2

Depto.Serviciosal cliente

Depto.Sueldos

Depto.Personal

DeptoAdquisiciones

DeptoMarketing

Base de datos

integrada

B: sistema de información basado en bases de datos

Page 43: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

43

Niveles conceptuales de bases de datos

Page 44: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:
Page 45: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

45

Sección posterior y secciones frontales.

La sección posterior es el DBMS en sí. Permite llevar a cabo todas las funciones básicas de un DBMS:

definición de datos, manipulación de los mismos, seguridad, integridad,

etc. En particular, permite establecer todos los aspectos de los niveles

externo, conceptual e interno. Así, "sección posterior" en este contexto

es tan solo otro nombre para el DBMS.

Page 46: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

46

Modelo relacional

Page 47: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

47

Relación que contiene la información de empleados

Cada fila se llama tuplaLas columnas se llaman atributos

Page 48: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

48

Relación que contiene redundancia

Page 49: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

49

Base de datos que consiste en tres relacionesEncontrar los departamentos en los cuales el empleado 23Y34 ha trabajado

Page 50: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

50

La operación SELECT

Page 51: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

51

Ejemplo: alumno-curso (mysql)(1)

Crear tabla alumno: nombrenmat

CREATE TABLE alumno (nmat int, nombre varchar(40));

Crear tabla curso:nombrecod

CREATE TABLE curso (nmat int, nombre varchar(40));

Page 52: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

52

Ejemplo: alumno-asignatura (mysql)(2)Crear tabla alumno-curso: codnmat

CREATE TABLE al_cur (nmat int, cod int);

Modelo entidad-relación:

alumno al_cur curso

Entidad Entidadrelación

Page 53: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

53

Ejemplo: alumno-asignatura (mysql)(3)Agregar tuplas a tabla alumno:

INSERT INTO TABLE alumno VALUES (111, ‘gonzalez pedro’);

Agregar tuplas a tabla curso:

INSERT INTO TABLE curso VALUES (1, ‘calculo I’);

Agregar tuplas a tabla al_cur (inscribir asignaturas de un alumno):

INSERT INTO TABLE al_cur VALUES (111,1);INSERT INTO TABLE al_cur VALUES (111,2);INSERT INTO TABLE al_cur VALUES (111,3);

Page 54: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

54

Ejemplo: alumno-asignatura (mysql)(4)Obtener los alumnos de un curso por código de curso:

Forma 1:mysql> SELECT a.nombre FROM alumno AS a, al_cur AS b WHERE a.nmat=b.nmat AND b.cod=1;Forma 2:mysql> SELECT alumno.nombre FROM alumno, al_cur WHERE alumno.nmat=al_cur.nmat AND al_cur.cod=1;

Obtener los alumnos de un curso por nombre de curso:

Forma 1:mysql> SELECT a.nombre FROM alumno AS a, al_cur AS b, curso AS c WHERE a.nmat=b.nmat AND b.cod=c.cod AND c.nombre=‘caculo I’;Forma 2: TAREA!!!

Page 55: 1 Estructuras de Archivos y Bases de datos Tanenbaum: Sistemas Operativos Modernos, 2002Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear:

55

Ejemplo: más tareas (5)

1. Obtener los códigos de los cursos que inscribió un alumno, por número de matricula

2. Obtener los nombres de los cursos que inscribió un alumno, por número de matricula

3. Obtener los nombres y códigos de los cursos que inscribió un alumno, por número de matricula

4. agregar la tabla profesor y crear a relación asignatura-profesor, hacer las consultas que incluyan nombres de profesor sus alumnos por curso

5. Agregar en la tablas de relaciones el semestre en los que se realizó