Mi aiutereste nella costruzione di un modello ER?
Il testo è questo:
------------------------
Si vuole progettare una base di dati per una piattaforma di gestione di annunci di lavoro. La piattaforma consente la creazione di profili: ogni profilo dispone di nickname (univoco), data creazione, costo attivazione. Inoltre, è prevista la possibilità di inviare messaggi tra profili: ogni messaggio dispone di titolo, corpo, mittente (profilo della piattaforma) e destinatario (altro profilo). Sono previste solo due tipologie di profili: UTENTI o AZIENDA. Un profilo UTENTE dispone di: nome, cognome, data nascita, indirizzo (via/città/CAP), uno o più recapiti telefonici. Si vuole tenere traccia delle -eventuali-esperienze lavorative e dei titoli di studio di ogni UTENTE. Nel dettaglio, per ogni esperienza lavorativa si vuole memorizzare: periodo di inizio, periodo di fine, mansione (campo testo), e descrizione. Per ogni titolo di studio si vuole memorizzare: data conseguimento, nome dell’organizzazione presso il quale è stato conseguito, descrizione, voto. Per i profili di tipo AZIENDA, si vogliono gestire le informazioni seguenti: nome, sede legale, tipologia (campo testo), indirizzo email, link al sito web. Le AZIENDE possono pubblicare annunci di lavoro sulla piattaforma. Ogni annuncio dispone di: numero progressivo, titolo, data inserimento, descrizione. Sono previste solo due tipologie di annunci: annunci con scadenza o annunci aperti. I primi (annunci con scadenza) dispongono anche di: data chiusura, mesi uomo, salario. Gli annunci aperti dispongono di un campo skill (testo). E’ prevista la possibilità per gli UTENTI di sottomettere la propria candidatura agli annunci con scadenza (e solo su quelli). Ogni candidatura dispone di una data inserimento e di un campo note (testo), e fa riferimento ad un utente e ad un annuncio. Più utenti possono candidarsi per lo stesso annuncio; viceversa, lo stesso annuncio può ricevere più candidature. Infine, si vuole tenere traccia dei colloqui svolti. Ogni colloquio dispone di una data, un luogo, un esito (testo), e coinvolge un’AZIENDA e un UTENTE registrati sulla piattaforma. Non esistono limiti al numero di colloqui svolti da ciascun UTENTE/AZIENDA.
------------------------
Ho messo in grassetto quelle che secondo me sono le ENTITA' (in corsivo quelle che sono specializzazioni di altre entità, tipo UTENTE e AZIENDA che sono specializzazioni di PROFILO).
Ho un dubbio su candidatura: deve essere una relazione o un'entità?
Poi, le relazioni: qui la faccenda si fa più confusa.
L'invio di messaggi potrebbe essere una relazione fra messaggio e profilo.
"Skills" la relazione che intercorre fra utente, titolo di studio ed esperienza lavorativa.
Pubblicazione è la relazione fra azienda e annuncio.
Candidatura relazione(!) fra utente e annuncio con scadenza.
Partecipazione (al colloquio) è la relazione fra azienda e utente.
Che ne pensate?

Rispondi quotando
