Diseño de una Base de datos

54
Diseño de una Base de datos Ing. Gladys Garcia Vilcapoma

description

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 - PowerPoint PPT Presentation

Transcript of Diseño de una Base de datos

Page 1: Diseño de una Base de datos

Diseño de una Base de datos

Ing. Gladys Garcia Vilcapoma

Page 2: Diseño de una Base de datos

Modelo Entidad Relación

Page 3: Diseño de una Base de datos

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

Page 4: Diseño de una Base de datos

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

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

DocumentoAutor Escribe

N:M

Page 5: Diseño de una Base de datos

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

Paciente Cama

Presidente Pais

Juan Ramos Cama 103

Gilberto Gomez Colombia

Page 6: Diseño de una Base de datos

Correspondencia : 1 a NSi para uno de los tipos de entidad puede

haber un número indefinido de ocurrencias

Editorial LibroEdita

1:N

1 editorial edita muchos libros

Equipo Futbol

JugadoresPosee

1:N

1 Equipo posee muchos Jugadores

Page 7: Diseño de una Base de datos

Correspondencia : N a MSi 1 : N ocurre para ambas entidades

TemaConsta

N:M

EscribeAutor Documento

N:M

Un documento es escrito pon N autoresUn autor puede escribir M documentos

Un Tema Consta de n temasUn tema consta de M temas

Page 8: Diseño de una Base de datos

trabajapelicula Actor

N:M

En una película pueden trabajar varios actoresUn actor puede trabajar en varias peliculas

Page 9: Diseño de una Base de datos

Autor

Documento

InstitucionEscribeN:M:1

En una institución existen muchos autores que escriben muchos documentos

Page 10: Diseño de una Base de datos

Cliente

Cuenta

SucursalCABN:M:1

NSSNomCliCalleCiudad

NroCtaSaldo

NomSucCiudadSActivo

Un Cliente puede tener varias cuentas , cada una situada en una sucursal especifica

Una cuenta puede pertenecer a varios clientes distintos

Page 11: Diseño de una Base de datos

Libro Persona

Escribe

Publica

N:M

N:M

Dos interrelaciones entre los mismos tipos de entidad

Page 12: Diseño de una Base de datos

Libro

Socio

Presta

Codigo ISBN Titulo idioma AñoEdicion NumEjem

FechaPrestamoFechaDevolucion

DNI Nombre Domicilio FechaNac

Clave Primaria Clave Secundaria

N:M

Page 13: Diseño de una Base de datos

Institución

Departamento

Se compone 1:N

I Institución se compone de muchos departamentos

Page 14: Diseño de una Base de datos

Libro

Ejemplar

Tiene1:N

CodigoLibro

NumEjem

Un libro tiene muchos ejemplares

Page 15: Diseño de una Base de datos

Relación Tabla Fichero

Comparación de terminologías

Tupla

Atributo

Grado

Cardinalidad

Fila

Columna

NroColumnas

NroFilas

Registro

Campo

NroCampos

Nroregistros

Page 16: Diseño de una Base de datos

Empleado

Familiar

Tiene (1,N)

DNIEmpleado

DNIFamiliar

Modelo E/R Modelo Relacional

Empleado ( DNIEmpleado,..)

Familiar ( DNIFamiliar DNIEmpleado, ...

Page 17: Diseño de una Base de datos

DNIEmp NomEmp12345678 Juan Perez 09874535 Jose Martin46278312 Luisa Ramirez67543410 Edgar Castro

DNIEmp DNIFam NomEmp

12345678 05231333 Ricardo Perez12345678 04349083 Rosa Perez09874535 83518667 Ana de Martin 09874535 56545321 Luis Martin 46278312 64293331 Gloria Ramirez

Page 18: Diseño de una Base de datos

Libro

Ejemplar

Tiene (1,N)

Codigo

NroEjem

Modelo E/R Modelo Relacional

Libro ( Codigo

Ejemplar

( Codigo, NroEjem, ... )

Page 19: Diseño de una Base de datos

Codigo Titulo Autor005.7C26 Visual C Julio Perez 051.5P15 Pascal 7 Jose Martin061.3B01 Visual B Luisa Castro070.3A19 Fortran Edgar Ruiz

Codigo Ejemplar Edicion CantLib005.7C26 1 1978 10005.7C26 2 1989 4051.5P15 1 1980 6051.5P15 2 1980 746278312 1 1999 2

Page 20: Diseño de una Base de datos

Autor

Libro

Escribe (N,M)

CodAutor

Codigo

Modelo E/R Modelo Relacional

Autor ( CodAutor

Escribe ( Codigo, CodAutor

Libro ( Codigo,

Claves Foraneas

Page 21: Diseño de una Base de datos

CodAutor AutorA0026 Julio Perez A0034 Jose MartinA0056 Luisa CastroA0070 Edgar RuizA0078 Ramon Castro

CodAutor CodLibroA0026 005.7C26 A0026 005.7C28A0034 051.5P15 A0034 051.5P45A0078 051.5P45A0070 061.3B01

CodLibro Titulo005.7C26 Visual C50005.7C28 Visual C60051.5P15 Pascal 7051.5P45 Informatica061.3B01 Visual B070.3A19 Fortran

Page 22: Diseño de una Base de datos

Cardinalidad de las interrelaciones

EscribeAutor Documento

N:M

EscribeAutor Documento

N:M(0,n) (1,n)

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

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

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

Page 23: Diseño de una Base de datos

Dependencia en existencia

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

Institución

DepartamentoDepartamento

Se compone 1:N

(1,1)

(0,n)

E

Page 24: Diseño de una Base de datos

Dependencia en IdentificaciónCuando 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

1:N

Libro

Ejemplar

Tiene

NumEjem

Codigo

Ejemplar (Codigo, NumEjem

Page 25: Diseño de una Base de datos

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

Page 26: Diseño de una Base de datos

Información sobre el sistema deseado

Para los libros interesa saber el idiomaCada libro trata de uno o varios temasLos 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

Page 27: Diseño de una Base de datos

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 /semanaProfesores y publico en general a los que se

les prestara como máximo tres obras/mes

Page 28: Diseño de una Base de datos

DISEÑO CONCEPTUALSe 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

Page 29: Diseño de una Base de datos

FICHA DE UN LIBROTITULO: Fundamentos de Base de DatosAUTOR: Tsai Luisa

EDITORIAL : Rama Año 1996 Nro de Ejemplares : 10

FICHA DE PRESTAMOS

Nombre FechaP FechaDPerez Luis 2/07/94 4/07/94Ruiz 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

Page 30: Diseño de una Base de datos

AUTOR INSTITUCIÓN Trabaja

N:MNomI(1,n)

(0,n)

LIBRO

EDITORIAL

Escribe

Edita

N:M

1:N

NomE

NomA (0,n)

(1,n)

(0,n)

(1,1)

CodLib Trata TEMA

Consta

N:M

N:M

CodLib

(0,n) (1,n)

Page 31: Diseño de una Base de datos

AUTOR INSTITUCIÓN Trabaja

LIBRO

EDITORIAL

EJEMPLAR

SOCIO

Presta

Tiene Trata TEMA

Consta

Escribe

Edita

N:M

1:NN:M

N:M

N:M

N:M

NomA

NomI

Identifi

FechaP

FechaS

Diagrama E/R para la BD de BibliotecaNumS NomE

CodLib

NomT

(0,n)

(0,n)

(0,n)

(0,n)

(1,n)

(1,n)(1,n)

(0,n)

(0,n) (1,1)

(1,1)(1,n)

(0,n)(0,n)

Page 32: Diseño de una Base de datos

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.

Page 33: Diseño de una Base de datos

DISEÑO LOGICO RELACIONALAUTOR (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 Identifj NumS FechaP FechaD)

TEMA NomT DescT

CONSTA ( TemaP , TemaS )

TRATA (CodLib , NomT)

EDITORIAL (NomE DirE Ciudad Pais)

Page 34: Diseño de una Base de datos

NomE DirE Ciudad PaisEDITORIAL

CodLib Titulo Idioma Año NroPag NomE

LIBRO

CodLib Identifj

EJEMPLAR

CodLib NombreT

TRATA

NombreT DescT

TEMA

CodLib Identifj NumS FechaP FechaD

PRESTA

TemaP TemaSCONSTA

NumS DNI Domicilio Tel TipoS

SOCIO

NomA Nac NomI

AUTOR

NomA CodLib

ESCRIBE

GRAFO RELACIONAL

NomA NomITrabaja

NomI Dir TelINSTITUCION1 n n 1

1

n n 1

n

n

1

1

1

n1n

1

n

1n

Page 35: Diseño de una Base de datos

Ejemplo: en un banco

Las entidades:ClienteCuenta Transacción

Page 36: Diseño de una Base de datos

Cliente Cuenta Posee Transacción

NroCli

NSS

Calle

CiudadNroTran

Fecha

CantFecha

NroCta

Saldo

Diagrama E/R

realiza

Page 37: Diseño de una Base de datos

Cliente ( NroCli, .... )

Cuenta ( NroCta, .... )

Posee ( NroCli, NroCta, Fecha, ... )

Transacción ( NroTran, Fecha, Cant , ... )

Claves Foráneas

Clave Principal

Modelo Relacional

Page 38: Diseño de una Base de datos

NroCli NSS Calle CiudadC003 654-32 Principal LimaC005 890-12 Norte CallaoC007 456-78 Principal LimaC008 369-12 Norte 56 CallaoC045 246-80 Paso 12 SMPC056 121-21 Ponce 45 ComasC078 135-79 Nazca Callao

NroCta Saldo259 1000630 2000401 1500700 1500199 500467 900115 1200183 1300118 2000225 2500210 2200

NSS NroCta FechaC003 259 17/06/90C003 630 17/05/90C005 401 23/05/90C005 700 28/05/90C005 199 13/06/90C045 467 7/06/90C045 115 7/06/90C056 183 13/06/90C078 118 17/06/90C078 225 19/06/90C078 210 27/06/90

CLIENTE

CUENTA

POSEE1

n1

1

Page 39: Diseño de una Base de datos

NroCta Saldo259 1000630 2000401 1500700 1500199 500467 900115 1200183 1300118 2000225 2500210 2200

CUENTA

NroCta NroTran Fecha Cant259 5 11/05/90 +50630 11 17/05/90 +70401 22 23/05/90 -300700 69 28/05/90 -500

199 103 3/06/90 +900259 6 7/06/90 -45115 53 7/06/90 +120199 104 13/06/90 -200259 7 17/06/90 -80

TRANSACCION

1 n

Page 40: Diseño de una Base de datos

NroCta Saldo259 1000630 2000401 1500700 1500199 500467 900115 1200183 1300118 2000225 2500210 2200

CLIENTE

CUENTAPOSEE

NroCta NroTran Fecha Cant259 5 11/05/90 +50630 11 17/05/90 +70401 22 23/05/90 -300700 69 28/05/90 -500

199 103 3/06/90 +900259 6 7/06/90 -45115 53 7/06/90 +120199 104 13/06/90 -200259 7 17/06/90 -80

TRANSACCION

1

n

1

11

n

NroCli NSS Calle CiudadC003 654-32 Principal LimaC005 890-12 Norte CallaoC007 456-78 Principal LimaC008 369-12 Norte 56 CallaoC045 246-80 Paso 12 SMPC056 121-21 Ponce 45 ComasC078 135-79 Nazca Callao

NSS NroCta FechaC003 259 17/06/90C003 630 17/05/90C005 401 23/05/90C005 700 28/05/90C005 199 13/06/90C045 467 7/06/90C045 115 7/06/90C056 183 13/06/90C078 118 17/06/90C078 225 19/06/90C078 210 27/06/90

Page 41: Diseño de una Base de datos

NSS NroCta NomS654-32 259 Miraflores654-32 630 Lima890-12 401 Niraflores456-78 700 La Molina369-12 199 Lima246-80 467 Miraflores246-80 115 San luis121-21 183 San luis135-79 118 Miraflores135-79 225 San Miguel135-79 210 San Luis

Cliente

Cuenta

SucursalCABN:M:1

NomCli

NSS

Calle

Ciudad

Saldo

NroCta

CAB

Page 42: Diseño de una Base de datos

Normalizacion

Page 43: Diseño de una Base de datos

1 FN

Descompone la estructura de datos no planos en registros de dos dimensiones

Es decir la primer Forma Normal no tiene grupos repetitivos.

Page 44: Diseño de una Base de datos

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

Page 45: Diseño de una Base de datos

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.

Page 46: Diseño de una Base de datos

Dependencia Funcional

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 ClienteNroCli NomCli CiudadCliC1 Juan P LimaC2 Ana R. ArequipaC3 Julia R TrujilloC4 Rosa M Tarapoto

La CiudadCli esta determinado por el NroCli

El NomCli esta determinado por el NroCli

NomCli

NroCli

CiudadCli

Page 47: Diseño de una Base de datos

Primera Forma NormalNo debe aceptar grupos repetitivos.Todos los campos en c/registro contienen un solo

valor

Codigo TiTulo Autor02134536 Data modelo Chavez02134536 Data modelo Gomez13232137 Guia de Oracle Date04248344 Programacion Gardarin04248344 Programacion Garcia

Page 48: Diseño de una Base de datos

Codigo Titulo Autor 02134536 Data modelo Chavez02134536 Data modelo Gomez13232137 Guia de Oracle Date04248344 Programacion Gardarin 04248344 Programacion Garcia

Se crean registros nuevos para cada uno de los valores distintos en un campo

LIBRO ( Codigo Titulo )

AUTOR ( Codigo Autor )

Codigo TiTulo02134536 Data modelo 13232137 Guia de Oracle 04248344 Programacion

Codigo Autor 02134536 Chavez02134536 Gomez13232137 Date04248344 Gardarin04248344 Garcia

Page 49: Diseño de una Base de datos

Segunda Forma NormalEsta en la I FNQuitar 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

Page 50: Diseño de una Base de datos

Tercera Forma Normal

Esta en la 2 fnNo existe ningún atributo no principal que

dependa transitivamente de alguna de las claves de relación

SOCIO (NumSocio, Ciudad, País )NumSocio --> CiudadCiudad ---> Pais

Page 51: Diseño de una Base de datos

NroCli NomCli CiudadCli Imp PreUni NroInv Cant FechaC1 Juan P Otawa 0.76 8.20 I3 1 06/05C1 Juan P Otawa 0.76 8.20 I3 2 10/12C2 Ana R Toronto 1.85 4.00 I2 1 05/15C2 Ana R Toronto 1.85 8.20 I3 1 05/15C2 Ana R Toronto 1.85 2.00 I1 3 05/15C3 Roberto Otawa 0.76 4.00 I2 1 08/10C3 Roberto Otawa 0.76 2.00 I1 2 10/10C4 Rosa Montreal 1.05 10.50 I4 1 05/05

Page 52: Diseño de una Base de datos

NroCli NomCli CiudadCliC1 Juan P OtawaC2 Ana R TorontoC3 Roberto OtawaC4 Rosa Montreal

PreUni NroInv8.20 I34.00 I22.00 I110.50 I4

NroCli NroInv Cant FechaC1 I3 1 06/05C1 I3 2 10/12C2 I2 1 05/15C2 I3 1 05/15C2 I1 3 05/15C3 I2 1 08/10C3 I1 2 10/10C4 I4 1 05/05

CiudadCli ImpOtawa 0.76Toronto 1.85Montreal 1.05

Page 53: Diseño de una Base de datos

Documento

Libro

1:N

(1,1)

(0,1)

Articulo

Es un

(0,1)

Generalización y Herencia

Page 54: Diseño de una Base de datos

DominiosNombres Nacionalidades Instituciones

xxxxx<---->

25

FrancesaNorteamericana

UPCPolitecnico

Nombre Nacionalidad InstituciónTuplas Cradinalidad 4

Grado 3