550 likes | 711 Views
Diseño de una Base de datos. Ing. Gladys Garcia Vilcapoma. Modelo Entidad Relación. Interrelacion Asociación o correspondencia entre entidades. Tipo de interrelacion Estructura genérica del conjunto de interrelaciones existentes entre dos o mas entidades. Ocurrencia de una interrelación
E N D
Diseño de una Base de datos Ing. Gladys Garcia Vilcapoma
Interrelacion Asociación o correspondencia entre entidades Tipo de interrelacion Estructura genérica del conjunto de interrelaciones existentes entre dos o mas entidades Ocurrencia de una interrelación Es la vinculación existente entre las ocurrencias concretas de cada uno de los tipos de entidades que intervienen en la interrelación
Escribe Documento Autor N:M El tipo de interrelación se caracteriza por u n Nombre: Escribe Grado: 2 dos tipos de entidad 3 tres tipos de entidad Tipo de correspondencia:1 a 1 1 a N N a M Tipo de interrelación Escribe Ocurrencia de la interrelación : Jhon Dale ha escrito el documento Introducción a los Sistemas de Bases de Datos
Paciente Presidente Cama Pais Correspondencia : 1 a 1 • Cuando en la Interrelación solo puede aparecer como máximo una ocurrencia del tipo de entidad por cada ocurrencia del otro Juan Ramos Cama 103 Gilberto Gomez Colombia
Libro Jugadores Editorial Equipo Futbol Correspondencia : 1 a N • Si para uno de los tipos de entidad puede haber un número indefinido de ocurrencias 1 editorial edita muchos libros Edita 1:N 1 Equipo posee muchos Jugadores Posee 1:N
Tema Consta N:M Correspondencia : N a M • Si 1 : N ocurre para ambas entidades N:M Escribe Documento Autor Un documento es escrito pon N autores Un autor puede escribir M documentos Un Tema Consta de n temas Un tema consta de M temas
N:M trabaja Actor pelicula En una película pueden trabajar varios actores Un actor puede trabajar en varias peliculas
Autor N:M:1 Escribe Institucion Documento En una institución existen muchos autores que escriben muchos documentos
NSS NomCli Calle Ciudad Cliente N:M:1 NomSuc CiudadS Activo CAB Sucursal Cuenta NroCta Saldo Un Cliente puede tener varias cuentas , cada una situada en una sucursal especifica Una cuenta puede pertenecer a varios clientes distintos
N:M Escribe Libro Persona Publica N:M Dos interrelaciones entre los mismos tipos de entidad
Clave Primaria Clave Secundaria CodigoISBN Titulo idioma AñoEdicion NumEjem Libro Presta N:M FechaPrestamo FechaDevolucion DNI Nombre Domicilio FechaNac Socio
Institución Se compone 1:N Departamento I Institución se compone de muchos departamentos
Libro 1:N Tiene Ejemplar CodigoLibro Un libro tiene muchos ejemplares NumEjem
Comparación de terminologías Relación Tabla Fichero Tupla Atributo Grado Cardinalidad Fila Columna NroColumnas NroFilas Registro Campo NroCampos Nroregistros
Modelo E/R Modelo Relacional DNIEmpleado Empleado Empleado ( DNIEmpleado,..) Tiene (1,N) Familiar ( DNIFamiliar DNIEmpleado, ... Familiar DNIFamiliar
DNIEmp NomEmp 12345678 Juan Perez 09874535 Jose Martin 46278312 Luisa Ramirez 67543410 Edgar Castro DNIEmpDNIFam NomEmp 12345678 05231333 Ricardo Perez 12345678 04349083 Rosa Perez 09874535 83518667 Ana de Martin 09874535 56545321 Luis Martin 46278312 64293331 Gloria Ramirez
Modelo E/R Modelo Relacional Libro Codigo Libro ( Codigo Tiene (1,N) Ejemplar ( Codigo, NroEjem, ... ) Ejemplar NroEjem
Codigo Titulo Autor 005.7C26 Visual C Julio Perez 051.5P15 Pascal 7 Jose Martin 061.3B01 Visual B Luisa Castro 070.3A19 Fortran Edgar Ruiz CodigoEjemplar Edicion CantLib 005.7C26 1 1978 10 005.7C26 2 1989 4 051.5P15 1 1980 6 051.5P15 2 1980 7 46278312 1 1999 2
Modelo E/R Modelo Relacional CodAutor Autor Autor ( CodAutor Escribe ( Codigo, CodAutor Escribe (N,M) Claves Foraneas Libro Codigo Libro ( Codigo,
CodAutorAutor A0026 Julio Perez A0034 Jose Martin A0056 Luisa Castro A0070 Edgar Ruiz A0078 Ramon Castro CodLibro Titulo 005.7C26 Visual C50 005.7C28 Visual C60 051.5P15 Pascal 7 051.5P45 Informatica 061.3B01 Visual B 070.3A19 Fortran CodAutorCodLibro A0026 005.7C26 A0026 005.7C28 A0034 051.5P15 A0034 051.5P45 A0078 051.5P45 A0070 061.3B01
N:M Escribe Autor Documento Cardinalidad de las interrelaciones N:M (1,n) (0,n) Escribe Documento Autor La etiqueta (0,n) en autor : 1 ocurrencia de documento puede estar vinculada a 0,1,2,.. N ocurrencias de autor en el tipo de interrelación Escribe La etiqueta (1,n) en documento : 1 ocurrencia de autor puede estar vinculada a 1,2,.. N ocurrencias de documentos en el tipo de interrelación Escribe Un autor escribe como mínimo 1 documento y como máximo n Un documento puede ser escrito por 0 autor (anónimo) o por muchos
Dependencia en existencia Institución • Cuando en una interrelación esta vinculado un tipo de entidad regular con uno débil, es decir la entidad débil no puede existir sin la ocurrencia de la entidad regular de la que dependen (1,1) E Se compone 1:N (0,n) Departamento
Dependencia en Identificación Libro Codigo • Cuando además de la dependencia en existencia, las ocurrencias del tipo de entidad débil no se pueden identificar solo mediante sus atributos, sino que se tiene que añadir la clave de la ocurrencia de la entidad regular de la cual dependen Tiene 1:N Ejemplar NumEjem Ejemplar (Codigo, NumEjem
Ejm : DISEÑO de la BD RELACIONAL • Diseñar una BD relacionar que permita la gestión de préstamos de libro de una biblioteca • se parte de las fichas que se usan en biblioteca • Ficha de las características de un libro • Ficha de préstamos. Por cada libro, recoge información de la persona a la cual se le ha prestado el libro, Fecha de préstamo y Fecha de devolución
Información sobre el sistema deseado • Para los libros interesa saber el idioma • Cada libro trata de uno o varios temas • Los temas se pueden dividir en subtemas y así sucesivamente Ejm. En el caso de diseño se pueden distinguir tres subtemas: Diseño físico, lógico y conceptual • De los autores interesa saber el nombre, la nacionalidad y la institución donde trabajan
Socios. Se distinguen tres tipos de • Alumnos a los que se les prestara a lo sumo uno obra durante 3 días. • Alumnos de doctorado y tesistas que tienen como máximo acceso a 2 obras /semana • Profesores y publico en general a los que se les prestara como máximo tres obras/mes
DISEÑO CONCEPTUAL • Se elabora el Diagrama E/R, creandose las entidades: • EJEMPLAR cuya identificación depende de la entidad LIBRO y que permite distinguir las distintas copias de un mismo libro • La interrelación reflexiva CONSTA definida sobre la entidad TEMA nos muestra la división de temas en subtemas. • A los socios se les asigna un numero de socio (NumS) y el atributo TipoS que permite distinguir los 3 tipos de usuario
FICHA DE UN LIBRO TITULO: Fundamentos de Base de Datos AUTOR: Tsai Luisa EDITORIAL : Rama Año 1996 Nro de Ejemplares : 10 FICHA DE PRESTAMOS Nombre FechaP FechaD Perez Luis 2/07/94 4/07/94 Ruiz Juana 4/11/94 6/11/94 Como un AUTOR puede trabajar en varias instituciones conviene crear la entidad INSTITUCIÓN para evitar los grupos repetitivos
N:M NomA NomI (1,n) (0,n) Trabaja INSTITUCIÓN AUTOR (0,n) Escribe N:M (1,n) N:M (0,n) (1,n) LIBRO Trata TEMA CodLib CodLib (0,n) Edita 1:N Consta (1,1) N:M EDITORIAL NomE
N:M NomI (1,n) (0,n) Trabaja INSTITUCIÓN NomA AUTOR (0,n) N:M Escribe NomT Identifi (1,n) N:M (0,n) (1,n) Tiene LIBRO Trata TEMA EJEMPLAR (1,n) (1,1) (0,n) (0,n) CodLib (0,n) FechaP Edita Presta 1:N (0,n) N:M Consta FechaS (1,1) (0,n) N:M EDITORIAL SOCIO Diagrama E/R para la BD de Biblioteca NomE NumS
Transformación del esquema Conceptual al Modelo Relacional • Todo tipo de entidad se convierte en una relación • Todo tipo de interrelación N:M se transforma en una relación • Todo tipo de interrelación 1:N se traduce en el fenómeno de propagación de clave o bien se crea una nueva relación.
DISEÑO LOGICO RELACIONAL AUTOR (NomA, Nac, NomI ) TRABAJA ( NomA, NomI , ... ) INSTITUCION ( NomI, Direccion, Tel , ..) LIBRO ( CodLib, Titulo, Idioma, Año, NumCopias, NomE ESCRIBE ( NomA, CodLib ) EJEMPLAR ( CodLib, identifi ) SOCIO (NumS DNI Domicilio Tel TipoS PRESTA (CodLib IdentifjNumSFechaP FechaD) TEMANomT DescT CONSTA ( TemaP , TemaS ) TRATA (CodLib , NomT) EDITORIAL (NomE DirE Ciudad Pais)
INSTITUCION Trabaja AUTOR EDITORIAL NomE DirE Ciudad Pais 1 n n 1 NomI Dir Tel NomANac NomI NomANomI LIBRO CodLib Titulo Idioma Año NroPag NomE ESCRIBE NomA CodLib EJEMPLAR TRATA CodLib Identifj TEMA CodLibNombreT NombreT DescT PRESTA CONSTA CodLib IdentifjNumSFechaP FechaD TemaP TemaS SOCIO NumS DNI Domicilio Tel TipoS 1 n 1 n 1 n 1 1 n n 1 n 1 n n GRAFO RELACIONAL 1
Ejemplo: en un banco • Las entidades: • Cliente • Cuenta • Transacción
NSS Calle NroCli Ciudad Fecha NroCta NroTran Cant Fecha Saldo Cliente Cuenta Transacción Posee realiza Diagrama E/R
Modelo Relacional Cliente ( NroCli, .... ) Clave Principal Cuenta ( NroCta, .... ) Posee ( NroCli,NroCta, Fecha, ... ) Claves Foráneas Transacción ( NroTran, Fecha, Cant , ... )
CLIENTE NroCta Saldo 259 1000 630 2000 401 1500 700 1500 199 500 467 900 115 1200 183 1300 118 2000 225 2500 210 2200 NroCli NSS Calle Ciudad C003654-32 Principal Lima C005 890-12 Norte Callao C007 456-78 Principal Lima C008 369-12 Norte 56 Callao C045 246-80 Paso 12 SMP C056 121-21 Ponce 45 Comas C078135-79 Nazca Callao NSSNroCtaFecha C003 259 17/06/90 C003 630 17/05/90 C005 401 23/05/90 C005 700 28/05/90 C005 199 13/06/90 C045 467 7/06/90 C045 115 7/06/90 C056 183 13/06/90 C078 118 17/06/90 C078 225 19/06/90 C078 210 27/06/90 CUENTA POSEE 1 1 n 1
NroCta Saldo 259 1000 630 2000 401 1500 700 1500 199 500 467 900 115 1200 183 1300 118 2000 225 2500 210 2200 NroCtaNroTran Fecha Cant 259 5 11/05/90 +50 630 11 17/05/90 +70 401 22 23/05/90 -300 700 69 28/05/90 -500 199103 3/06/90 +900 259 6 7/06/90 -45 115 53 7/06/90 +120 199104 13/06/90 -200 259 7 17/06/90 -80 CUENTA TRANSACCION 1 n
CLIENTE TRANSACCION NroCta Saldo 259 1000 630 2000 401 1500 700 1500 199 500 467 900 115 1200 183 1300 118 2000 225 2500 210 2200 NroCli NSS Calle Ciudad C003654-32 Principal Lima C005 890-12 Norte Callao C007 456-78 Principal Lima C008 369-12 Norte 56 Callao C045 246-80 Paso 12 SMP C056 121-21 Ponce 45 Comas C078135-79 Nazca Callao NroCtaNroTran Fecha Cant 259 5 11/05/90 +50 630 11 17/05/90 +70 401 22 23/05/90 -300 700 69 28/05/90 -500 199103 3/06/90 +900 259 6 7/06/90 -45 115 53 7/06/90 +120 199104 13/06/90 -200 259 7 17/06/90 -80 NSSNroCtaFecha C003 259 17/06/90 C003 630 17/05/90 C005 401 23/05/90 C005 700 28/05/90 C005 199 13/06/90 C045 467 7/06/90 C045 115 7/06/90 C056 183 13/06/90 C078 118 17/06/90 C078 225 19/06/90 C078 210 27/06/90 1 CUENTA n POSEE n 1 1 1
NomCli NSS Calle Ciudad Cliente CAB NSS NroCta NomS 654-32 259 Miraflores 654-32 630 Lima 890-12 401 Niraflores 456-78 700 La Molina 369-12 199 Lima 246-80 467 Miraflores 246-80 115 San luis 121-21 183 San luis 135-79 118 Miraflores 135-79 225 San Miguel 135-79 210 San Luis N:M:1 CAB Sucursal Cuenta Saldo NroCta
1 FN • Descompone la estructura de datos no planos en registros de dos dimensiones • Es decir la primer Forma Normal no tiene grupos repetitivos.
2 FN • Para los registros cuyas llaves tiene mas de un dato item asegurate que todos los otros datos no claves sean dependientes solo de la clave completa. Divide los registros si es necesario para lograr esto. • Todos los Data item no claves son totalmente dependientes de la clave primaria
3 FN • Remueve todas las dependencias transitivas , dividiendo todos los registros si es necesario • Todos los data item no claves son dependientes completamente de la clave primaria e independiente de cada uno de los otros.
NomCli NroCli CiudadCli Dependencia Funcional La CiudadCli esta determinado por el NroCli El NomCli esta determinado por el NroCli El atributo A es funcionalmente dependiente del atributo B si el valor de A esta determinado por el valor de B: B ---> A Ejm Relación Cliente NroCli NomCli CiudadCli C1 Juan P Lima C2 Ana R. Arequipa C3 Julia R Trujillo C4 Rosa M Tarapoto
Primera Forma Normal • No debe aceptar grupos repetitivos. • Todos los campos en c/registro contienen un solo valor Codigo TiTulo Autor 02134536 Data modelo Chavez 02134536 Data modelo Gomez 13232137 Guia de Oracle Date 04248344 Programacion Gardarin 04248344 Programacion Garcia
Codigo Titulo Autor 02134536 Data modelo Chavez 02134536 Data modelo Gomez 13232137 Guia de Oracle Date 04248344 Programacion Gardarin 04248344 Programacion Garcia Codigo TiTulo 02134536 Data modelo 13232137 Guia de Oracle 04248344 Programacion LIBRO ( Codigo Titulo ) AUTOR ( CodigoAutor ) Codigo Autor 02134536 Chavez 02134536 Gomez 13232137 Date 04248344 Gardarin 04248344 Garcia Se crean registros nuevos para cada uno de los valores distintos en un campo
Segunda Forma Normal • Esta en la I FN • Quitar de la 1FN todos los campos no clave que no sean totalmente dependientes de la clave primaria(Cada atributo no principal tiene dependencia funcional completa respecto de cada una de las claves) • Guardar los campos no clave que fueron quitados en relaciones nuevas y adecuadas. • PRESTA (codLibro,NumSocio, Editorial) • CodLibro ---> Editorial
Tercera Forma Normal • Esta en la 2 fn • No existe ningún atributo no principal que dependa transitivamente de alguna de las claves de relación • SOCIO (NumSocio, Ciudad, País ) • NumSocio --> Ciudad • Ciudad ---> Pais