Skip to content
Permalink
8cf48bd825
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
186 lines (152 sloc) 4.26 KB
' Ejercicio 1:
'--------------------------------------
@startuml
title Ejercicio 1 - Hobbies - Apartado a) \n Modelo Conceptual
!include estilos/draft.iuml
'enumerados--------------------------------
enum Sexo <<Enumerado>>{
Hombre
Mujer
Otro
}
enum Hobbies <<Enumerado>>{
Literatura
Cine
Deporte
Gastronomía
}
'Entidades---------------------------------
class Persona{
nif
nombre
sexo
}
class Afición{
hobby
}
'Asociaciones -----------------------------
Persona *-- "*" Afición : leGusta
@enduml
@startuml
title Ejercicio 1 - Hobbies - Apartado a) \nDiagrama de Objetos
!include estilos/draft.iuml
'Diagrama de objetos ----------------------
object "ana: Persona" as ana{
nif = "256548741D"
nombre "Ana López"
sexo = Sexo.Mujer
}
object "pedro: Persona" as pedro{
nif = "47852369S"
nombre "Pedro Sánchez"
sexo = Sexo.Hombre
}
object "juan: Persona" as juan{
nif = "96258741Z"
nombre "Juan Miedo"
sexo = Sexo.Hombre
}
object "cine: Afición" as cine{
hobby = Hobbies.Cine
}
object "literatura: Afición" as literatura{
hobby = Hobbies.Literatura
}
object "deporte: Afición" as deporte{
hobby = Hobbies.Deporte
}
object "gastronomia: Afición" as gastronomia{
hobby = Hobbies.Gastronomia
}
ana *-- cine : __leGusta__
ana *-- gastronomia : __leGusta__
pedro *-- gastronomia : __leGusta__
juan *-- deporte : __leGusta__
@enduml
@startuml
!include estilos/tables.iuml
title Hobbies V1 - Extensión Relacional\nLista predefinida\n\nPersonas(personaId,nif,nombre,sexo) PK(personaId) AK(nombre) \nAficiones(aficionId,hobby,personaId) PK(personaId) FK(personaId)/Personas
table( Personas ) {
primary_key( personaId ): INTEGER AUTO_INCREMENT <<PK>>
column( nif ): VARCHAR UNIQUE <<AK>>
column( sexo ): ENUM ( 'Hombre', 'Mujer', 'Otros')
column( nombre ): VARCHAR
}
table( Aficiones ) {
primary_key( aficionId ): INTEGER AUTO_INCREMENT <<PK>>
column( hobby ): ENUM ( 'Literatura','Cine','Deporte', 'Gastronomía')
foreign_key(personaId):INTEGER NN <<FK>>
}
Personas <-- Aficiones : <<FK(personaId)>>\nON DELETE RESTRICT
@enduml
@startuml
title Ejercicio 1- Hobbies - Apartado b)\n Modelo Conceptual y Diagrama de Objetos
!include estilos/draft.iuml
'enumerados -------------------------------
enum Sexo <<Enumerado>>{
Hombre
Mujer
Otro
}
'Entidades---------------------------------
class Persona{
nif
nombre
sexo
}
class Hobby{
nombre
}
'Asociaciones
Persona "*" -- "*" Hobby : leGusta
'Diagrama de objetos
object "ana: Persona" as ana{
nif = "256548741D"
nombre "Ana López"
sexo = Sexo.Mujer
}
object "pedro: Persona" as pedro{
nif = "47852369S"
nombre "Pdro Sánchez"
sexo = Sexo.Hombre
}
object "juan: Persona" as juan{
nif = "96258741Z"
nombre "Juan Miedo"
sexo = Sexo.Hombre
}
object "cine: Hobby" as cine{
nombre = "Cine"
}
object "gastronomia: Hobby" as gastronomia{
nombre = "Gastronomia"
}
object "deporte: Hobby" as deporte{
nombre = "Hacer deporte"
}
ana -- cine : __leGusta__
ana -- gastronomia : __leGusta__
pedro -- gastronomia : __leGusta__
juan -- deporte : __leGusta__
@enduml
@startuml
!include estilos/tables.iuml
title Hobbies V2 - Extensión Relacional\nLista Dinámica\n\nPersonas(personaId,nif,nombre,sexo) PK(personaId) AK(nombre) \nHobbies(hobbyId,hobby) PK(hobbyId) \nleGustan(legustanId,personaId,hobbyId) PK(leGustanId) AK(personaId,hobbyId) FK1(hobbyId)/Hobbies FK2(personaId)/Personas
table( Personas ) {
primary_key( personaId ): INTEGER AUTO_INCREMENT <<PK>>
column( nif ): VARCHAR UNIQUE <<AK>>
column( sexo ): ENUM ( 'Hombre', 'Mujer', 'Otros')
column( nombre ): VARCHAR
}
table( Hobbies ) {
primary_key( hobbyId ): INTEGER AUTO_INCREMENT <<PK>>
column( hobby ): VARCHAR UNIQUE <<AK>>
}
table( leGustan ) {
primary_key( leGustanId ): INTEGER AUTO_INCREMENT <<PK>>
foreign_key( hobbyId ): INTEGER NN <<AK>> <<FK1>>
foreign_key(personaId):INTEGER NN <<AK>> <<FK2>>
}
Personas <-- leGustan : <<FK2(personaId)>>\nON DELETE RESTRICT
Hobbies <-- leGustan : <<FK1(hobbyId)>>\nON DELETE RESTRICT
@enduml