Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D....

14
Departamento de Lenguajes y Ciencias de la Computación. 1 Tema 7. Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica. PrimerCurso. Departamento Lenguajes y Ciencias de la Computación. Universidad de Málaga José Luis Leiva Olivencia. Despacho: I-326D (Edificio E.U.P) Departamento de Lenguajes y Ciencias de la Computación. 2 Tema 7. Manejo de B.D. La utilización de las computadoras en las empresas ha supuesto una revolución respecto al almacenamiento y gestión de sus datos, dando lugar al uso de los denominados archivos informáticos y bases de datos. Ventajas derivadas: Gran capacidad de almacenamiento. Rapidez en el proceso de los datos. Precisión de los resultados obtenidos del proceso. 7.1. Conceptos y definiciones (I).

Transcript of Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D....

Page 1: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

1

Departamento de Lenguajes y Ciencias de la Computación. 1

Tema 7. Manejo de B.D.

Tema 7. Manejo de bases de datos.

Introducción a la Informática.E.U. Politécnica. PrimerCurso.

Departamento Lenguajes y Ciencias de la Computación.Universidad de Málaga

José Luis Leiva Olivencia.Despacho: I-326D (Edificio E.U.P)

Departamento de Lenguajes y Ciencias de la Computación. 2

Tema 7. Manejo de B.D.

La utilización de las computadoras en las empresas ha supuesto una revolución respecto al almacenamiento y gestión de sus datos, dando lugar al uso de los denominados archivos informáticos y bases de datos.Ventajas derivadas:

Gran capacidad de almacenamiento.Rapidez en el proceso de los datos.Precisión de los resultados obtenidos del proceso.

7.1. Conceptos y definiciones (I).

Page 2: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

2

Departamento de Lenguajes y Ciencias de la Computación. 3

Tema 7. Manejo de B.D.

7.1. Conceptos y definiciones (II).

Archivo(Tabla en Access): estructura de datos residente en memoria secundaria, consistente en un conjunto de informaciones estructuradas en unidades de acceso denominadas registros.Registro lógico.Registro físico.Campo.Campo clave.Clave primaria, secundaria.Clave externa.

Departamento de Lenguajes y Ciencias de la Computación. 4

Tema 7. Manejo de B.D.

7.1. Conceptos y definiciones (III).

Clasificación de archivos:Archivos de constantes.Archivos históricos.Archivos de situación.

Organización de los archivos:Secuencial.Directa. (Tablas hashing)Secuencial encadenada/indexada.

Page 3: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

3

Departamento de Lenguajes y Ciencias de la Computación. 5

Tema 7. Manejo de B.D.

7.2. Concepto de base de datos (I).

Conjunto de informaciónrelacionada

sobre un tema.con un objetivo determinado.

organizada de manera lógicapara facilitar consulta.evitando redundancias e inconsistencias.

Ejemplos: Alumnos, asignaturas,...

Departamento de Lenguajes y Ciencias de la Computación. 6

Tema 7. Manejo de B.D.

4.2. Concepto de base de datos (II).

Almacenamiento de gran cantidad de datos.Gestión segura de los datos.Acceso compartido y simultáneo por los usuarios (Ojo: Bloqueo mutuo)Lenguaje de definición de datos (DDL): creación y modificación de estructura de bases de datos.Lenguaje de manipulación de datos (MDL): añadir, modificar, borrar, consultar datos de la base de datos.

Page 4: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

4

Departamento de Lenguajes y Ciencias de la Computación. 7

Tema 7. Manejo de B.D.

SISTEMA GESTOR DE BASES DE DATOS (SGBD): conjunto de datos interrelacionados (BD) + conjunto de programas para acceder a esos datos.

- Diseñados para gestionar grandes bloques de datos e información.-Deben mantener Seguridad Inform. almacenada (ante caídas y accesos no autorizados).

- Para hacer los sistemas más comprensibles tener visión abstracta de los datosesconder detalles sobre almacenamiento real y mantenimiento datos.

- Para que el sistema sea manejable obtención eficiente de los datos

- utilizar estructuras de datos complejas para representación de los datos

- esconder esta complejidad a los usuarios de SGBD

- niveles de abstracción (para simplificar su interacción con el sistema):

7.3. S.G.B.D. (I).

Departamento de Lenguajes y Ciencias de la Computación. 8

Tema 7. Manejo de B.D.

7.3. S.G.B.D. (II).

NIVELES DE ABSTRACCIÓN:

NIVEL FÍSICO:- nivel más bajo de abstracción- describe cómo se almacenan realmente los datos- se describen en detalle las estructuras complejas de bajo nivel.

NIVEL CONCEPTUAL:- nivel intermedio y alto de abstracción- describe qué datos son realmente almacenados en la BD y sus relaciones- se describe la BD completa con estructuras sencillas correspondientes a

otras del nivel físico, generalmente más complejas- Lo utilizan los administradores de BD, decidiendo qué inf. se va ha guardar

NIVEL de VISIÓN:

- nivel más alto de abstracción- describe sólo parte de la BD completa (la que interese a cada usuario)- suele proporcionarse muchas visiones distintas de la misma BD

Page 5: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

5

Departamento de Lenguajes y Ciencias de la Computación. 9

Tema 7. Manejo de B.D.

Objetivos de un SGBD:Independencia.Seguridad.Integridad.Respaldo y recuperación de datos.Redundancia mínima.Capacidad de auditoría.Control de concurrencia.Capacidad para representar relaciones.

7.3. S.G.B.D. (III).

Departamento de Lenguajes y Ciencias de la Computación. 10

Tema 7. Manejo de B.D.

Clasificación de SGBD:Según modelo de datos

relacionaljerárquicoen redorientado a objetos.

Según número de usuariosmonousuariosmultiusuario

Según situaciónCentralizado o localDistribuido

7.3. S.G.B.D. (IV).

Page 6: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

6

Departamento de Lenguajes y Ciencias de la Computación. 11

Tema 7. Manejo de B.D.

Las BD se organizan en tablas:información relativos a un conjunto de elementos homogéneos.Dividida en filas y columnas.

Las filas las consideraremos registros o tuplas.Las columnas las consideraremos campos o atributos.Siempre debe haber una clave para identificar de forma única a los registros.

7.4. Introducción al modelo de datos relacional (I).

Departamento de Lenguajes y Ciencias de la Computación. 12

Tema 7. Manejo de B.D.

7.4. Introducción al modelo de datos relacional (II).

Page 7: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

7

Departamento de Lenguajes y Ciencias de la Computación. 13

Tema 7. Manejo de B.D.

Requisitos que han de cumplir las tablas en las b.d. Relacionales:

La tabla puede tener solo un tipo de registro.Cada registro posee un número determinado de campos, cada uno de ellos con su nombre correspondiente. La base de datos, generalmente, contendrá muchas tablas, una por cada tipo de registro.Dentro de cada tabla, cada campo es distinto.Cada registro en una tabla, es único: no hay registros duplicados.Los registros dentro de cada tabla no tienen una secuencia determinada.Se pueden crear nuevas tablas relacionando campos procedentes de dos o más tablas ya existentes.

7.4. Introducción al modelo de datos relacional (III).

Departamento de Lenguajes y Ciencias de la Computación. 14

Tema 7. Manejo de B.D.

Terminología para describir la estructura relacional:Relación o tabla.Registro o entidad o tupla.Campo o atributo.Dominio de un campo.Clave aspirante.Clave principal.Clave externa o foránea.

Tipos de relaciones entre los datos:Uno a muchos.Uno a uno.Muchos a muchos.

7.4. Introducción al modelo de datos relacional (IV).

1,n,m

Page 8: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

8

Departamento de Lenguajes y Ciencias de la Computación. 15

Tema 7. Manejo de B.D.

7.4. Introducción al modelo de datos relacional (V).

ENTIDADES Y ATRIBUTOS

ENTIDAD: objeto del mundo real, con existencia independiente y distinguible de otros, del que queremos almacenar información en la base de datos.

ATRIBUTOS O CAMPOS: propiedades específicas de cada entidad: para describirla.

Representación en ER: óvalos (encierran nombre atributo).

VALOR: valor concreto de un atributo de una entidad específica.

DOMINIO DE UN ATRIBUTO: conjunto de valores permitidos, válidos.

TIPO DE ENTIDAD: el conjunto de entidades del mismo tipo (mismos atributos).

Representación en ER: rectángulos (encierran el nombre del tipo entidad)

Los óvalos (atributos) se conectan a la entidad mediante líneas.EMPLEADO

Cod_emp Nombre Dirección

Departamento de Lenguajes y Ciencias de la Computación. 16

Tema 7. Manejo de B.D.

7.4. Introducción al modelo de datos relacional (VI).

RELACIÓN: asociación o combinación entre varias (2 o más) entidades.

TIPO DE RELACIÓN: conjunto de todas las relaciones del mismo tipo.Puede tener atributos descriptivos.

Representación en ER: Rombos conectados mediante líneas rectas con los rectángulos (tipos de entidades) que relaciona.Se incluye el nombre dentro del rombo.

GRADO DE UN TIPO DE RELACIÓN: número de Tipos de Entidades que participan en el Tipo de Relación.

Binarias (grado 2), ternarias (grado 3), …

Page 9: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

9

Departamento de Lenguajes y Ciencias de la Computación. 17

Tema 7. Manejo de B.D.

7.4. Introducción al modelo de datos relacional (VII).

RESTRICCIONES SOBRE LOS TIPOS DE RELACIONES:

Existen <> factores que pueden limitar combinaciones de entidades que pueden participar en una relación:

- Restricción de PARTICIPACIÓN: especifica si la existencia de una entidad depende o no de que esté relacionada con otra entidad por un tipo de relación.

- Total: toda entidad del tipo, participa en la relación.

- Parcial: algunas entidades del tipo están relacionadas y otras no.

Representación en ER: Participación total

Participación parcial

Departamento de Lenguajes y Ciencias de la Computación. 18

Tema 7. Manejo de B.D.

7.4. Introducción al modelo de datos relacional (VIII).

- Restricción de CARDINALIDAD: nº de entidades con las que puede asociarse otra entidad mediante un tipo de relación.

- Una a Una (1:1): una entidad tipo A, relacionada a lo sumo con una tipo B y viceversa.

- Una a Muchas (1:N): una entidad tipo A, con cualquier nº de entidades tipo B,pero una entidad tipo B, asociada a lo sumo, con una tipo A.

- Muchas a Muchas (M:N): una entidad tipo A, asociada con nº cualquiera tipo B,y una tipo B, asociada con nº cualquiera de tipo A.

Representación en ER: anotando 1 ó (N ó M) en cada vértice de la relación que la une con el tipo de Entidad.

Page 10: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

10

Departamento de Lenguajes y Ciencias de la Computación. 19

Tema 7. Manejo de B.D.

7.4. Introducción al modelo de datos relacional (IX).

- LENGUAJE DE CONSULTA de una BD:- Lenguaje para solicitar información de la BD (los usuarios).- Suelen ser de más alto nivel que los lenguajes estándar de programación.- Ejemplos: SQL(Mirar Anexo SQL), QSB (Query By Example)

- La INTEGRIDAD REFERENCIAL es un sistema de reglas, para garantizar:

- que las relaciones entre tablas son válidas y

- que no se eliminan ni modifican accidentalmente datos relacionados

Se puede establecer cuando se cumple:- El campo coincidente de la tabla principal es una clave principal

o tiene un “índice” único.- Los campos relacionados tienen el mismo tipo de datos.

Cuando se exige esta integridad:- No se puede introducir un valor en el campo de “clave externa” de la tabla

relacionada que no exista en la “clave ppal.” de la tabla relacionada.

- Se puede introducir valor NULO en la “clave externa” reg. no relacionados

Departamento de Lenguajes y Ciencias de la Computación. 20

Tema 7. Manejo de B.D.

Obtención de las tablas a partir del diagrama:

Dibujar un diagrama tipo ER con todas las entidades y relaciones que son de interés para la empresa.Deducir un conjunto de relaciones preliminares, cada una con su clave primaria.Incluir los atributos de interés.

7.4. Introducción al modelo de datos relacional (X).

Page 11: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

11

Departamento de Lenguajes y Ciencias de la Computación. 21

Tema 7. Manejo de B.D.

Relaciones preliminares para las correspondencias binarias de grado 1:1Regla 1: Si el grado de la correspondencia binaria es 1:1 y es obligado el tipo de participación de ambas entidades, sólo es necesaria una relación. Como campo clave primaria de la relación se puede tomar cualquiera de las claves de la entidad.Regla 2: Si el grado de la correspondencia binaria es 1:1 y el tipo de participación de una entidad es obligatorio y el de la otra es opcional, son necesarias dos relaciones. Cada una contendrá la información concerniente a una entidad y su clave primaria será la clave de la entidad correspondiente. La clave de la entidad opcional se añadirá como un atributo más en la relación cuyo tipo de participación sea obligatorio.Regla 3:Si el grado de la correspondencia binaria es 1:1 y el tipo de participación en ambas entidades es opcional, son necesarias tres relaciones, una para cada entidad y otra para la correspondencia. La clave delas relaciones de las entidades es la clave primaria de l a entidad correspondiente. La relación con la correspondencia deberá contener las claves de las entidades.

7.4. Introducción al modelo de datos relacional (XI).

Departamento de Lenguajes y Ciencias de la Computación. 22

Tema 7. Manejo de B.D.

Relaciones preliminares para las correspondencias binarias de grado 1:n

Regla 4: Si el grado de la correspondencia binaria es 1:n y la entidad del lado n e s obligatoria, se necesitan dos relaciones, una para cada entidad. La clave de las relaciones de las entidades es la clave primaria de la entidad correspondiente. La relación de l aentidad n contiene la clave de l a entidad 1.Regla 5: Si el grado de la correspondencia binaria es 1:n y la entidad del lado n es opcional se necesitan tres relaciones, unapara cada entidad y otra para la correspondencia. La clave de las relaciones de l as entidades es la clave primaria de la entidad correspondiente; la relación con la correspondencia contendrá las claves de las entidades.

7.4. Introducción al modelo de datos relacional (XII).

Page 12: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

12

Departamento de Lenguajes y Ciencias de la Computación. 23

Tema 7. Manejo de B.D.

Relaciones preliminares para las correspondencias binarias de grado m:n

Regla 6: Si el grado de la correspondencia binaria es m:n se necesitan tres relaciones, una para cada entidad y otra para la correspondencia. La clave de las relaciones de las entidades es la clave primaria de la entidad correspondiente; la relación con lacorrespondencia contendrá las claves de las entidades. Ojo que, la tercera relación puede tener más campos. Ejemplo: empleados trabajan en varios proyectos. Imaginar el caso que un empleado tuviera distintas funciones en distintos proyectos.

Relación preliminar para las correspondencias ternarias.Regla 7: Si existe una correspondencia ternaria se necesitan 4 relaciones, una para cada entidad, y una más para la correspondencia, que contendrá entre sus atributos las claves delas entidades. En general para una correspondencia de grado n senecesitan n+1 relaciones preliminares.

7.4. Introducción al modelo de datos relacional (XIII).

Departamento de Lenguajes y Ciencias de la Computación. 24

Tema 7. Manejo de B.D.

Ejemplo prácticoSe desea tener una base de datos con la siguiente información acerca de los alumnos de una academia donde se imparten varios cursos:

Información acerca de los alumnos, que constará de su nombre y apellidos, un código único para cada alumno(ej: 03/02565), su dirección, fecha de nacimiento y sexo (‘H’ o ‘M’).Estos alumnos estarán matriculados en un sólo curso cada uno. Cada curso tendrá un nombre, un código único que lo identifica(ej:342), el número máximo de alumnos recomendado,la fecha de inicio y de finalización del curso y el número de horas del curso.Los profesores tendrán una ficha en la academia donde se especifican sus datos personales y los datos del contrato. Es decir, nombre, DNI, dirección, titulación, gana (cuota por hora).Solo almacenamos información de profesores que actualmente trabajen en la academia, alumnos que actualmente estén matriculados en curso y cursos que actualmente se impartan.Sabemos que un alumno se puede matricular en un solo curso, y que un curso puede ser impartido por varios profesores, pudiendo impartir un mismo profesor varios cursos distintos.

Page 13: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

13

Departamento de Lenguajes y Ciencias de la Computación. 25

Tema 7. Manejo de B.D.

Ejemplo práctico(II)

ALUMNOS

CODIGO NOMBRE APELLIDOS DIRECCION SEXO FECHANAC

seMatriculan

enCURSOS

CODIGO NOMBRE NUMMAX FECHAINI FECHAFIN HORASTOTAL

1n

PROFESORES

DNI NOMBRE APELLIDOS CUOTA TITULACION

sonImpartidos

por

nm

HORAS

Departamento de Lenguajes y Ciencias de la Computación. 26

Tema 7. Manejo de B.D.

Ejemplo práctico(III)

Entidad Alumnos (CODIGO, NOMBRE, APELLIDOS, DIRECCION, FECHANAC, SEXO)

Entidad Cursos (CODIGO,NOMBRE, NUMMAX, FECHAINI, FECHAFIN, HORASTOT)

Paso 1

Paso 2Al ser una relación uno a mucho con la entidad n obligatoria (Regla 4), quedaría:

Tabla Alumnos (CODIGO, NOMBRE, APELLIDOS, DIRECCION, FECHANAC, SEXO, CODIGOCURSO)

Tabla Cursos (CODIGO,NOMBRE, NUMMAX, FECHAINI, FECHAFIN, HORASTOT)

Clave externa

Page 14: Tema 7. Manejo de bases de datos. - lcc.uma.esjlleivao/introduccion/tema7.pdf · Manejo de B.D. Tema 7. Manejo de bases de datos. Introducción a la Informática. E.U. Politécnica.

14

Departamento de Lenguajes y Ciencias de la Computación. 27

Tema 7. Manejo de B.D.

Ejemplo práctico(III)

Entidad Profesores(DNI, NOMBRE, APELLIDOS, TITULACION, CUOTA)

Entidad Cursos (CODIGO,NOMBRE, NUMMAX, FECHAINI, FECHAFIN, HORASTOT)

Paso 3

Paso 4Al ser una relación binaria muchos a muchos (Regla 6), quedaría:

Tabla Cursos (CODIGO,NOMBRE, NUMMAX, FECHAINI, FECHAFIN, HORASTOT)

Tabla Profesores (DNI,NOMBRE, APELLIDOS, TITULACION, CUOTA)

Tabla Conectorcursos-profesores (DNI, CODIGO, HORAS)

Departamento de Lenguajes y Ciencias de la Computación. 28

Tema 7. Manejo de B.D.

BibliografíaPrieto, Alberto; Lloris, Antonio. Introducción a la Informática. McGrawHill

Angulo, J.M.; Usategui, C.E., Introducción a la informática. Paraninfo, 1992 Pascual, Francisco. Microsoft Access 2000. Ra-ma.2000