42
Tema 3. Diseño Lógico Desarrollo de Sistemas de Información Marta Elena Zorrilla Pantaleón DPTO. DE MATEMÁTICAS,ESTADÍSTICA Y COMPUTACIÓN Este tema se publica bajo Licencia: CreaIve Commons BY‐NC‐SA 3.0

Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

Tema3.DiseñoLógico

DesarrollodeSistemasdeInformación

MartaElenaZorrillaPantaleónDPTO.DEMATEMÁTICAS,ESTADÍSTICAY

COMPUTACIÓN

EstetemasepublicabajoLicencia:CreaIveCommonsBY‐NC‐SA3.0

Page 2: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

REPASO MODELO RELACIONAL

MartaZorrilla

Universidadde

Cantabria

2

Page 3: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

3

NOMBRE PROFESION LOCALIDAD

Pedro

Luis

María

Ana

profesor

estudiante

estudiante

estudiante

Santander

Santander

LasPalmas

Madrid

Personal

NOMBRE LOCALIDAD Luis

María

Ana

Santander

LasPalmas

Madrid

SELECTNOMBRE,LOCALIDADFROMPersonalWHEREPROFESION=‘estudiante’

Losdatosseconcibenagrupadosenformadetablas

Cadafilaestableceunarelaciónentreunconjuntodevalores

Losoperadoresdeconsultagenerannuevastablas

EL MODELO RELACIONAL

Page 4: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

4

ENTIDAD NOMBRE

POBLACION DIRECCION

0893 Santander

0059 Popular

3428 BBVA

5632 Banesto

BANCOS

OFICINAS

0893 001 Madrid Castellana,73

3428 022 LasPalmas Triana,21

0893 022 Gáldar R.Moreno,3

5632 213 Oviedo Uría,43

0893 300 Barcelona Diagonal,435

•  Toda tabla Iene una columna o conjunto decolumnas que permiten idenIficar cada una de susfilas; éstas componen la llamada clave principal(PrimaryKey,PK)delatabla.

• LosvaloresdelaclaveprincipalnosepuedenrepeIr(EnIdad en Bancos, y la pareja EnIdad‐Codigo_Oficina enOficinas).

• Unastablasserefierenaotrasmediante vínculos de Ipojerárquico.

•  Este vínculo de referenciaentre dos tablas se establecemediante columnas de igualIpodedatoenlasdostablasyse denomina clave ajena oForeignKey(FK).

• LareferenciadeunafiladeunatablaaotradelaotratablaseproducecuandoambasIenenelmismovalor(columnaEnIdadenOficinasconrelaciónaEnIdadenBancos).

ENTIDAD CODIGO_OFICINA

EL MODELO RELACIONAL (Y 2)

Page 5: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

5

Cadenadecaracteres(char).

Numérico(numeric).

Fecha(date)yhora(dateIme).

Objetogrande(largeobject,LOB).

Tiposdefinidosporelusuario.

Cadacarácterrequiereunbyteparasualmacenamiento.

Enteros:Cortos(smallint).Largos(integer).

Decimales:definidosporsuprecisiónyescala(decimal)Notacióncienjfica:Simpleprecisión(smallfloat)

Dobleprecisión(float)

Diferentesopcionessegúnniveldeprecisión.

Binarylargeobject(blob).Characterlargeobject(clob).

TIPOSDEDATOS:cadacolumnadeunatablaIeneasociadounIpodedato.ExistenunsubconjuntoestándarperohayotrosdependientesdelgestorqueseuIlice

EL MODELO RELACIONAL (Y 2)

Page 6: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

6

• Realizarbúsquedasmáságilesenlastablas….

aunquesuponenunasobrecargapararealizarlasactualizacionesdedatos

ej:campo“jtulo”enunatablaquerecojaloslibrosdisponiblesenunabiblioteca.SejusIficaporserelcamposobreelqueserealizanmásconsultas

ConvienedefinirlossobrelascolumnasconFK

• EstablecerrestriccionesdeunicidadnopermiIrrepeIcionesdeunvalorenlacolumnaocolumnasafectadasporelíndice

ej:campo“ISBN”enunatablaquerecojaloslibrosdisponiblesenunabiblioteca

ÍNDICES:estructurasdedatosadicionalesquepermiten

EL MODELO RELACIONAL (Y 4)

Page 7: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

EJEMPLO 7

Page 8: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

DISEÑO LÓGICO: DEL MODELO ER AL MODELO RELACIONAL

MartaZorrilla

Universidadde

Cantabria

Page 9: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

9 GESTIÓN DOCENTE

nombrePROFESORNroPersonal

Apellido_1

DPTO

pertenece

CodDptonombre

dirige

ALUMNOS CodAlunombre

ASIGNATURA

CodAsig

GRUPO

CodGrupo

Max‐alum

imparte

dnirealiza

IeneID

(1:1)

(1:n)

(1:1)

(1:1)

(0:n)

(0:1)

(1:1)

(0:n)

(1:1)

NombreCréditosCarácterCurso

capacidadAULASCodAula

clase

(1:n)

(0:n)

díahora

constaCalificación

Convocatoria(1..2)

MATRICULA

(0:n)

(0:n)

CursoAcadCodMatr

(1:1)

Page 10: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

10 ENTIDADES

  ENTIDADESTABLAS  Seconservanlosatributosylaclaveprincipal.  Clavescandidatas,establecerrestriccióndeunicidad.  Atributoscompuestosuncampoporatributo  Atributosderivadoscolumnascalculadas  AtributosmulIvaluadosnuevatabla  Restriccionessobreatributoslenguajelógico

  Ej:Asignatura(CodAsig,nombre,créditos,carácter,curso)

Alumno(CodAlu,nombre,dni)

Aula(CodAula,capacidad)

Profesor(NroPersonal,nombre,apellido_1)

Dpto(CodDpto,nombre)

Matricula(CodMatr,cursoAcad)

Page 11: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

11 ENTIDADES DÉBILES

  ENTIDADESDÉBILESTABLAS

  ConservatodossusatributosyseañadelaclaveprincipaldelaenIdadfuertedelaquedepende.

  SilarelaciónesdeidenIficación,laclaveprincipallaformaalgúnatributodelaenIdaddébilylaclaveprincipaldelaenIdadfuerte.

  Silarelaciónesdeexistencia,tendrásupropiaclave,peroseestableceráborradoyactualizaciónencascadaconrespectolaenIdadfuerte(tambiénsepodríarestringir).

  Ej:

Grupo(CodAsig,CodGrupo,max_alum)

Page 12: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

12 RELACIONES

  RELACIONESTABLAS

  LatablaalaquedalugartendrácomoatributoslasclavesprincipalesdelasenIdadesqueseconectanylosatributosdelarelación.

  Laeleccióndelaclaveprincipaldependedelacardinalidaddelarelación

M:N LaPKestaráformada,almenos,porlasPKdelasenIdadesquerelaciona.Dimensióntemporal.

CONSTA(CodMatr,CodAsig,CodGrupo,Convocatoria,calificación)

1:N LaPKestaráformadaporlaPKdelaenIdadqueparIcipaconcardinalidadN

PERTENECE(CodProf,CodDpto)

1:1LaPKestaráformadaporunadelasPKdelasenIdadesquerelaciona.Laotraactuarácomoclavecandidata.

DIRIGE(CodProf,CodDpto)

Page 13: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

13 ESQUEMA OBTENIDO Asignatura(CodAsig,nombre,créditos,carácter,curso)

Alumno(CodAlu,nombre,dni)

Aula(CodAula,capacidad)

Profesor(NroPersonal,nombre,apellido_1)

Dpto(CodDpto,nombre)

Matricula(CodMatr,cursoacad)

Grupo(CodAsig,CodGrp,max_alum)

CONSTA(CodMatr,CodAsig,CodGrupo,Convocatoria,calificación)

PERTENECE(NroPersonal,CodDpto)

DIRIGE(NroPersonal,CodDpto)

IMPARTE(CodAsig,CodGrupo,NroPersonal)

CLASE(CodAsig,CodGrupo,CodAula,hora,dia)

REALIZA(NumMatr,CodAlum)

N:Ntodoclavesimásdeungrupoenaulaonosequierenrecogerhuecoslibres

Page 14: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

14 ESQUEMA OBTENIDO: REDUCCIÓN DE TABLAS

Asignatura(CodAsig,nombre,creditos,carácter,curso)

Alumno(CodAlu,nombre,dni)

Aula(CodAula,capacidad)

Profesor(NroPersonal,nombre,apellido1)

Dpto(CodDpto,nombre)

Matricula(CodMatr,cursoacad)

Grupo(CodAsig,CodGrp,max_alum)

CONSTA(CodMatr,CodAsig,CodGrp,Convocatoria,calificación)

PERTENECE(NroPersonal,CodDpto)

DIRIGE(NroPersonal,CodDpto)

IMPARTE(CodAsig,CodGrupo,NroPersonal)

CLASE(CodAsig,CodGrupo,CodAula,hora,dia)

REALIZA(CodMatr,CodAlu)

Dpto(CodDpto,nombre,CodProfDirige)

Profesor(NroPersonal,nombre,apellido1,CodDpto)

Grupo(CodAsig,CodGrp,max_alum,NroPersonal)

Matricula(CodMatr,cursoacad,CodAlu)

Page 15: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

15 ESQUEMA DEFINITIVO

Dpto(CodDpto,nombre,CodProfDirige)

Profesor(NroPersonal,nombre,apellido1,CodDpto)

Alumno(CodAlu,nombre,dni)

Matricula(CodMatr,cursoacad,CodAlu)

CONSTA(CodMatr,CodAsig,CodGrupo,Convocatoria,calificación)

Grupo(CodAsig,CodGrupo,max_alum,NroPersonal)

Asignatura(CodAsig,nombre,créditos,carácter,curso)

CLASE(CodAsig,CodGrupo,CodAula,hora,dia)

Aula(CodAula,capacidad)

U:CD:NoacWonCodDptonotnull

U:CD:notacWonCodProfDirigenotnull

U:CD:NoacWonCodAlunotnull

U:CD:C

U:CD:NotacWon

U:CD:C

U:CD:Setnull

U:CD:NotacWon

U:CD:NotacWonNroPersonalnotnull

Page 16: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

16 ESQUEMA DEFINITIVO

CREATEASSERTIONconvocatoriasCHECKnotexists(selectcount(*)fromCONSTAgroupbyCodmatr,CodAsig,CodGrphavingcount(*)>2)

CREATEASSERTIONmaxAlumAulaCHECKnotexists(selectcount(*)fromCLASEc,AULAa,GRUPOgwherec.codAula=a.CodAulaandc.CodAsig=g.CodAsigandc.CodGrupo=g.CodGrupoandmax_alum>capacidad)

CREATEASSERTIONdirige_dptoASCHECKnotexists(SELECT*FROMDptoWHERECodProfDirigeNOTIN(SELECTNroPersonalFROMProfesorwhereProfesor.CodDpto=Dpto.CodDpto))

Page 17: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

17 RELACIONES UNARIAS

a)

persona(Codper,nombre,…,codper_madre)

b)

persona(Codper,nombre,…)

madre(Codper,codper_madre)

PERSONA

maternidad

hijomadre

Borrado:nullModificación:cascada

BorradoyModificación:cascadaonotacIon

1:1

0:N

NulosnopermiIdos

Page 18: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

18 GENERALIZACIÓN

  CrearunatablaporcadaenIdadqueparIcipa

  CrearunatablaparacadacasoparIcular,eliminandolaenIdaddenivelsuperior.Nofrecuente.

  Crearunsolarelación

ELEMENTO(codElem,Coef,cc)

LOCAL(CodElem,Ipo_comercio,horario)

OFICINA(codElem,acIvidad)

VIVIENDA(codElem,numHab)

LOCAL(CodElem,Ipo_comercio,horario,Coef,cc)

OFICINA(codElem,acIvidad,Coef,cc)

VIVIENDA(codElem,numHab,Coef,cc)

ELEMENTO(CodElem,Ipo,horario,Ipo_comercio,acIvidad,numhab,Coef,cc)

Wpo

Page 19: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

19 RESTRICCIONES SEMÁNTICAS

  Totalidad/parcialidad:

  SecontrolalatotalidadprohibiendolainserciónenelsuperIpodirectamente,seharácuandoseinserteenlossubIpos(disparadores)

  Laparcialidadnorequieredisparadores

  Exclusividad/solapamiento

  Serequiereunaserto(otrigger)quecompruebequesiunejemplarestáenunsubIponopuedeestarenotro

Page 20: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

20 AGREGACIÓN

REALIZADO(dni,codpru,fecha)

ATENDIDO(dni,codpru,fecha,nrp)

nombreENFERMO Codpru

tipoPRUEBArealizado

atendido

MEDICO

nombredni

especialidadnrp

fecha

1:1

1:n

Page 21: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

21 AGREGACIÓN

COCHE

CHASIS MOTOR RUEDA

(1:1)(1:1) (4:4)

  COCHE(Idcoche,fechafabr,…,idchasis,idmotor)

  coche_ruedas(idcoche,idrueda)

  CHASIS(idchasis,nroserie,lon,anchura,…)

  MOTOR(idmotor,nroserie,rpm,…)

  RUEDA(idrueda,modelo,…)

obligatorios

Page 22: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

22 RELACIONES N-ARIAS

  Noesdirecto,unarelaciónpuedetenervariasinterpretacionesytodasellasválidas.

  Dependedelacardinalidad:

  N:M:S,laPKelconjuntodelasPKdecadarelación

  N:M:1,laPKseráelconjuntodelasPKconcardinalidaddisIntade1

  N:1:1,probablementesedividiráendosrelaciones1:n

Page 23: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

23 DISTINTAS INTERPRETACIONES

N:M:SSUMINISTRO(CodProv,CodPieza,CodTrab)

N:M:1SUMINISTRO(CodProv,CodPieza,CodTrab)

N:1:1SUM1(CodPieza,CodProv)

SUM2(CodPieza,CodTrab)

PROVEEDOR

PIEZAsuministroTRABAJON

M

S

Page 24: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

24 A TENER EN CUENTA

  ExistenrestriccionesdelmodeloERquedebentransformarsealmodelorelacionalmediantecheck,asertosodisparadores

  CardinalidadesmínimasenrelacionesN:My1:N(cuandonosecontrolaconNOTNULL)

  Cardinalidadesmáximas

  Restringirelvalordeundeterminadocampo

  Condiciónquehandecumplirloscamposdeunadeterminadatabla

  Exclusividadeinclusividadentrerelaciones

  Exclusividadengeneralizaciones

  Insertadoyborradoengeneralizaciones

  Atributosderivados(cuandonoescampocalculado)

Page 25: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

Curso2010‐2011

25 EJ: TRANSFORMACIÓN DE RESTRICCIONES

©Pia}nietal.

Page 26: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

REGLAS DE TRANSFORMACIÓN UML A RELACIONAL. PERFIL UML

Page 27: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

Análisis Diseño

Diseño Físico

Implementación

ImplementaciónenProductoconOpImización

EspecificaciónenProducto

UML+

EstereoIposProductoUML+

EstereoIposSQL :2008

EspecificaciónSQL:2008

Diseño Lógico Estándar Diseño Lógico Específico

UMLDiagramadeClases

ETAPAS DEL DISEÑO 27

Page 28: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

ESTEREOTIPOS PARA EL DISEÑO DE BD RELACIONALES

ElementoBD ElementoUML EstereoWpo

Basededatos Componente <<Database>>

Esquema Paquete <<Schema>>

Tabla Clase <<Table>>

Vista Clase <<View>>

Índice Clase <<Index>>

Columna Atributo <<Column>>

Claveppal Atributo <<PK>>

Claveajena Atributo <<FK>>

ClavealternaWva Atributo <<AK>>

Atrib.MulWevaluado Atributo <<MA>>

Atrib.derivado Atributo <<DA>>

Atrib.Compuesto Atributo <<CA>>

Requerido Atributo <<NOTNULL>>

Único Restricción <<UNIQUE>>

Restr.Dominio Restricción <<CHECK>>

Reglanegocio Restricción <<TRIGGER>>

28

Page 29: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

EJEMPLO

  UnestudiodearquitecturadeseacrearunabasededatosparagesIonarsusproyectos.

  CadaproyectoIeneuncódigoyunnombre.UnproyectoIeneunoysolounjefedeproyectoyunjefedeproyectosólopuedeestarinvolucradoenunproyectooenninguno.

  Decadajefedeproyectosedeseanrecogersusdatospersonales(código,nombre,direcciónyvariosteléfonos).UnjefedeproyectoseidenIficaporuncódigo.Nohaydosnombresdejefedeproyectoiguales.

  Unproyectosecomponedeunaseriedeplanos,peroéstossequierenguardardemodoindependientealproyecto.Esdecir,sienunmomentodadosedejaradetrabajarenunproyecto,sedeseamantenerlainformacióndelosplanosasociados.

  DelosplanossedeseaguardarsunúmerodeidenIficación,lafechadeentregayundibujodelplanogeneralconinformaciónacercadelnúmerodefigurasqueconIene.AdemásseindicaránlosdelineantesqueparIcipanensuconfección.

  LosplanosIenenfiguras.Decadafigurasedeseaconocer,elidenIficador,elnombre(único),elcolor,eláreayelperímetro.Algunasdelasfigurassonpolígonosydeestossedeseaconocersiestánrellenosono,elnúmerodelíneasqueIenenylaslíneasqueloforman.

  Decadalíneaqueformapartedeunpolígonosedeseaconocerelpuntodeorigenyeldefin(segúnsuscoordenadas,XeY),asícomolalongitud.CadalíneaIeneunidenIficadorquepermitediferenciarlodelresto.LalongituddelalíneasepuedecalcularaparIrdesuspuntosorigenyfinal.

  Todosloscamposseestablecencomorequeridos

29

Page 30: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

1..*

Linea<<persistent>>

<<PK>>Linea_id<<DA>>Longitud<<NotNull>><<CA>>Origen:{EjeX,EjeY}<<NotNull>><<CA>>DesIno:{EjeX,EjeY}Longitud():integer

Poligono<<persistent>>

<<DA>>Num_Lineas<<NotNull>>RellenoNumLineas():integer

Figura

<<PK>>Figura_Id<<AK>>NombreColor

Plano<<persistent>>

<<PK>>Plano_id<<NotNull>>Fecha_Entrega<<NotNull>>Dibujo_Plano<<DA>>Num_Figuras

NumFiguras():integer

Proyecto<<persistent>>

<<PK>>Proyecto_id<<NotNull>>Nombre

JefeProyecto<<persistent>>

<<PK>>Cod_JefeProyecto<<AK>>Nombre<<NotNull>><<CA>>Direccion:{Tipo_Via,Nombre_Via,Poblacion,CP,Provincia}<<NotNull>><<MA>>Telefono

1 0..1

1..*

0..* 1..1

dirige►

◿Wene

Figura<<persistent>>

<<PK>>Figura_id<<AK>>Nombre<<NotNull>>Color<<DA>>area<<DA>>perimetroArea():realPerimetro():real

EJEMPLO EN PERFIL UML

Delineante<<persistent>>

<<PK>>Delineante_Id<<NotNull>>Nombre

0..n 1..n

dirige►

30

Page 31: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

1.Cadaclase(noafectadaporjerarquía)mapeaentabla

CREATETABLEPlano(Plano_Id INTEGER,Fecha_Entrega DATE,Dibujo_Plano BLOB);

SQL:2008Plano_IdFecha_EntregaDibujo_Plano

<<udt>>

<<persistent>> Plano<<persistent>>

REGLAS DE TRANSFORMACIÓN: CLASES 31

Page 32: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

REGLAS DE TRANSFORMACIÓN: CLASES-ATRIBUTOS

PERFILUML SQL:2008

Atributo AtributodelIpo

<<PK>> PKenlatabla

<<AK>> UNIQUEenlatabla

<<CA>> Uncampoparacadaatributoenlatabla

<<MA>> Tabla

<<DA>> Campocalculado‐función/

Campo�sicoactualizadopordisparador Nivelesdevisibilidad ‐‐‐

<<Método>> Función/Procedimiento

32

Page 33: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

SQL:2008

Figura<<persistent>>

<<PK>>Figura_Id<<AK>>NombreColor

CREATETABLEFigura(Figura_Id INTEGERNOTNULL,Nombre VARCHAR(30)NOTNULL,Color VARCHAR(15),PRIMARYKEY(Figura_Id),UNIQUE(Nombre));

REGLAS DE TRANSFORMACIÓN: CLASES-CLAVES PRINCIPALES Y ALTERNATIVAS

33

Page 34: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

Linea<<persistent>>

<<PK>>Linea_Id<<NotNull>><<CA>>Origen<<NotNull>><<CA>>DesIno

CREATETABLELinea(Linea_Id INTEGERNOTNULLPRIMARYKEY,OrigenEjeX INTEGERNOTNULL,OrigenEjeY INTEGERNOTNULL,DesInoEjex INTEGERNOTNULL,DesInoEjeY INTEGERNOTNULL);

SQL:2008

REGLAS DE TRANSFORMACIÓN: CLASES-ATRIBUTOS COMPUESTOS

34

Page 35: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

SQL:2008CREATETABLEJefeProyecto(Cod_JefeProyectoINTEGERNOTNULL,Nombre CHAR(20)NOTNULL);

CREATETABLEJefe_�nos(Cod_JefeProyecto INTEGERNOTNULL,Telefono CHAR(20)NOTNULL,UNIQUE(Cod_JefeProyecto,Telefono),FOREIGNKEY(Cod_JefeProyecto)REFERENCESJefeProyecto(Cod_JefeProyecto));

REGLAS DE TRANSFORMACIÓN: CLASES-ATRIBUTOS MULTIVALUADOS

JefeProyecto<<persistent>>

<<PK>>Cod_JefeProyecto<<AK>>Nombre<<NotNull>><<MA>>Telefono

35

Page 36: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

Linea<<persistent>>

<<PK>>Linea_Id<<CA>>Origen<<CA>>Final<<DA>>Longitud

CREATETABLELinea(Linea_Id INTEGERPRIMARYKEY,OrigenEjeX INTEGER,OrigenEjeY INTEGER,DesInoEjex INTEGER,DesInoEjeY INTEGER,LongitudASCalc_Longitud(OrigenEjeX,OrigenEjeY,DesWnoEjeX,DesWnoEjeY);

CREATE FUNCTION Calc_Longitud (OrigenEjeX int,OrigenEjeY,DesWnoEjeX,DesWnoEjeY)RETURNSINTEGERBEGIN.....END;

SQL:2008

Calc_Longitud()

REGLAS DE TRANSFORMACIÓN: CLASES-ATRIBUTOS DERIVADOS

36

Page 37: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

Proyecto<<persistent>>

<<PK>>Cod_JefeProyectoNombre

1..1 0..1

JefeProyecto<<persistent>>

<<PK>>Cod_JefeProyecto<<AK>>Nombre

REGLAS DE TRANSFORMACIÓN: ASOCIACIÓN

Dirigido_Por Dirige

CREATETABLEProyecto(Proyecto_IdINTNOTNULLPRIMARYKEY,Nombre VARCHAR(30),Dirigido_PorINTNOTNULL,FOREIGNKEYDirigido_PorREFERENCESJefeProyecto(Cod_JefeProyecto));

CREATETABLEJefeProyecto(Cod_JefeProyectoINTNOTNULLPRIMARYKEY,Nombre VARCHAR(30)NOTNULL,UNIQUE(Nombre));

SQL:2008

37

Page 38: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

SQL:2008

CREATETABLEFigura(Figura_Id INTEGERNOTNULLPRIMARYKEY,Nombre VARCHAR(30)NOTNULLUNIQUE,ColorVARCHAR(10)NOTNULL,Plano_Pert INTEGERNOTNULLFOREINGKEYREFERENCESPlano(Plano_id));

CREATETABLEPlano(Plano_Id INTEGERNOTNULLPRIMARYKEY,FechaEntregaDATENOTNULL);

Figura<<persistent>>

<<PK>>Figura_Id<<NotNull>><<AK>>Nombre<<NotNull>>Color

Plano<<persistent>>

<<PK>>Figura_Id<<NotNull>>FechaEntrega1..*

1..1

REGLAS DE TRANSFORMACIÓN: ASOCIACIÓN

Tiene_fig

Plano_pert

38

Page 39: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

SQL:2008

CREATETABLEDelineante(Delineante_idINTEGERNOTNULLPRIMARYKEY,NombreCHAR(20)NOTNULL);

CREATETABLEPlano(Plano_Id INTEGERNOTNULLPRIMARYKEY);

Delineante<<persistent>>

<<PK>>Delineante_Id<<NotNull>>Nombre

Plano<<persistent>>

<<PK>>Figura_Id0..N

REGLAS DE TRANSFORMACIÓN: ASOCIACIÓN

Pinta

Pintado_por

CREATETABLEDelineante_Plano(Plano_Id INTEGERNOTNULL,Delineante_idINTEGERNOTNULL,PRIMARYKEY(Plano_id,Delineante_id),FOREINGKEY(Plano_id)REFERENCESPlano(Plano_id),FOREINGKEY(Delineante_id)REFERENCESDelineante(Delineante_id));

1..N

39

Page 40: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

Poligono<<persistent>>

<<NotNull>>Relleno

Figura<<persistent>>

<<PK>>Figura_Id<<AK>>Nombre<<NotNull>>Color

CREATETABLEFigura(Figura_IdINTEGERNOTNULLPRIMARYKEY,NombreVARCHAR(30)NOTNULLUNIQUE,ColorVARCHAR(10)NOTNULL);

CREATETABLEPoligono(Figura_IdINTEGERPRIMARYKEY,RellenoBOOLEANNOTNULL,FOREIGNKEY(Figura_id)REFERENCESFigura(Figura_id));

SQL:2008

REGLAS DE TRANSFORMACIÓN: GENERALIZACIÓN

40

Page 41: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

CREATETABLEProyecto(Proyecto_Id INTEGERNOTNULLPRIMARYKEY,Nombre VARCHAR2(30));

CREATETABLEPlano(Plano_id INTEGERPRIMARYKEY,Proyecto_id INTEGERNOTNULLFOREIGNKEYREFERENCESProyecto(Proyecto_id);

1..*<<PK>>Proyecto_IdNombre

<<PK>>Plano_Id

Proyecto<<persistent>>

Plano<<persistent>>

SQL:2008

REGLAS DE TRANSFORMACIÓN: AGREGACIÓN

41

Page 42: Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas, establecer restricción de unicidad. Atributos compuestos un campo por atributo Atributos

UC‐MartaZorrilla

CREATETABLEPoligono(Figura_IDINTEGERNOTNULLPRIMARYKEY,RellenoBOOLEANNOTNULL);

CREATETABLELinea(Linea_ID INTEGERNOTNULLPRIMARYKEY,Figura_idINTEGERNOTNULLFOREIGNKEYREFERENCESPoligono(Figura_Id)ONDELETECASCADEONUPDATECASCADE);

SQL:2008

1..*<<NotNull>>Relleno <<PK>>Linea_Id

Poligono<<persistent>>

Linea<<persistent>>

REGLAS DE TRANSFORMACIÓN: COMPOSICIÓN

42