Requerimientos:
Una agencia de publicidad necesita una base de datos para registrar sus campañas en la
web.
Sus clientes tienen un nombre, una dirección, el número de celular y una dirección de
correo electrónico. Cada cliente puede contratar varios anuncios. Los anuncios quedan
identificados por un código y se caracterizan por un nombre, tipo (banner, popup, enlace
patrocinado…), título, contenido, categoría (tipo de producto que se anuncia) y precio. Los
anuncios pueden aparecer en más de una página web.
Cada web se caracteriza por su URL, nombre y tópico de interés. También debe almacenar
la fecha de inicio y de fin de la aparición del anuncio en la página web.
Modelo de Dominio:
Código Modelo de Dominio:
@startuml
entity "Cliente" as Cliente{
id_cliente
nombre
direccion
celular
correo
}
entity "Anuncio" as Anuncio{
id_anuncio
nombre
tipo
titulo
contenido
categoria
precio
}
entity "Webpage" as Webpage{
URL
nombre
topicoInteres
}
entity "AnuncioEnPagina"{
id_anuncio
URL
fechaIni
fechaFin
}
Cliente ||--o{ Anuncio
Anuncio ||--o{ AnuncioEnPagina
Webpage ||--o{ AnuncioEnPagina
@enduml
Diseño Lógico:
Código Diseño Lógico:
@startuml
entity "Cliente" as Cliente{
id_cliente: Entero (PK)
nombre: Texto
direccion: Texto
celular: Texto
correo: Texto
}
entity "Anuncio" as Anuncio{
id_anuncio: Entero (PK,FK)
nombre: Texto
tipo: Texto
titulo: Texto
contenido: Texto
categoria: Texto
precio: Flotante
}
entity "Webpage" as Webpage{
URL: Texto (PK, FK)
nombre: Texto
topicoInteres: Texto
}
entity "AnuncioEnPagina"{
id_anuncio: Entero (PK,FK)
URL: Texto (FK)
fechaIni: Texto
fechaFin: Texto
}
Cliente ||--o{ Anuncio
Anuncio ||--o{ AnuncioEnPagina
Webpage ||--o{ AnuncioEnPagina
@enduml
Diseño Físico:
Código Diseño Físico:
@startuml
entity "Cliente" as Cliente{
id_cliente: int (PK)
nombre: varchar(64) NOT NULL
direccion: varchar(128)
celular: varchar(24) NOT NULL
correo: varchar(64) NOT NULL
}
entity "Anuncio" as Anuncio{
id_anuncio: int (PK)
nombre: varchar(32) NOT NULL
tipo: varchar(24) NOT NULL
titulo: varchar(24) NOT NULL
contenido: varchar(256) NOT NULL
categoria: varchar(32) NOT NULL
precio: money(10,2) NOT NULL
}
entity "Webpage" as Webpage{
id_webpage: int (PK)
URL: varchar(128) NOT NULL
nombre: varchar(32) NOT NULL
topicoInteres: varchar(24)
}
entity "AnuncioEnPagina"{
id_anuncio: int (PK)
id_webpage: int (FK)
URL: varchar(128) (FK)
fechaIni: varchar(10) NOT NULL
fechaFin: varchar(10) NOT NULL
}
Cliente ||--o{ Anuncio
Anuncio ||--o{ AnuncioEnPagina
Webpage ||--o{ AnuncioEnPagina
@enduml
DDL: