Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas,...
Transcript of Desarrollo de Sistemas de Información · los atributos y la clave principal. Claves candidatas,...
![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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/1.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/2.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/3.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/4.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/5.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/6.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/7.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/8.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/9.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/10.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/11.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/12.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/13.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/14.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/15.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/16.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/17.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/18.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/19.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/20.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/21.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/22.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/23.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/24.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/25.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/26.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/27.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/28.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/29.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/30.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/31.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/32.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/33.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/34.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/35.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/36.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/37.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/38.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/39.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/40.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/41.jpg)
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](https://reader033.fdocumento.com/reader033/viewer/2022042011/5e7278217afeec6b1d6494c7/html5/thumbnails/42.jpg)
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