DOMANDA Piccolo progetto di studio - Intranet aziendale

Earendil_

Nuovo Utente
4
1
Buongiorno a tutti,
premetto che sono nuovo nella progettazione software e sto cercando di sbrogliare un problema di progettazione del database per me nuovo.
Ho delle entità quali:

Nazioni
Città
Sedi
Uffici
Progetti
Task
Persone

Vorrei astrarre queste entità a una classe generica chiamata Oggetti in quanto vorrei, con una certa flessibilità, applicare delle funzionalità quali Community, Condivisione Documenti, Messaggistica ed altro, senza doverle riprogrammarle per ognuno di essi.

Vorrei proporre una relazione Molti a Molti tra ognuno di questi oggetti (laddove non sia consigliato vorrei inibirlo a livello di codice).

Ognuno di questi oggetti ha naturalmente degli attributi completamente diversi.

Pensavo di fare una tabella Oggetti con il solo ID e ENTITA, mentre le altre Entità avrebbero una chiave esterna che riprende l'oggetto. In seguito, il resto delle tabelle riguardanti le funzionalità aggiuntive, le legherei con una chiave esterna sull'oggetto e non sulla singola entità.

Ho qualche dubbio sull'associazione molti a molti tra gli oggetti in quanto richiederebbe il traversing con parecchie funzioni ricorsive. Ho sentito parlare della struttura Closure Table per gestire gerarchie multi padre ma non trovo molta documentazione o informazioni sulla reale efficacia.

Sono sulla buona strada? avete qualcosa da consigliarmi?
 

Tinwor

Utente Attivo
932
143
Obama ha detto che la programmazione è per tutti. Nulla di più falso, contatta un programmatore e fatti fare il modello er. Se sei nuovo alla programmazione lascia perdere, almeno per ora, progettazione db
 

Earendil_

Nuovo Utente
4
1
Forse mi sono spiegato male, non sono nuovo alla programmazione e neanche nuovo alla progettazione di database era solo un modo per chiedere un aiuto in maniera umile senza sentirmi il guru di turno. Sto solo cercando consigli su come gestire al meglio un problema che i database relazionali hanno. La gestione delle gerarchie.
Stavo ragionando se utilizzare una relazione molti a molti sull'elemento base o utilizzare qualche metodo tipo la "closure table" spiegata abbastanza bene le libro "SQL Antipattern" ma sul quale trovo (in internet) molti pochi casi pratici di utilizzo.
Ho già uno schema relazionale e un diagramma ER .. Magari faccio una scansione e li condivido.

- - - Updated - - -

nel diagramma chiamato gli Oggetti , Elementi
Naturalmente gli attributi non sono completi, mi spiace se non ho utilizzato l'annotazione standard per il diagramma.


https://www.dropbox.com/s/e2d67vf0ylvo95c/S22BW-414030710550.pdf
 
Ultima modifica:

gaiapuffo

Utente Attivo
310
7
Allora credo che forse ci sia qualcosa che non va a livello logico:

Ufficio può avere + progetti, un progetto + avere più uffici????????Sei sicuro, di solito un progetto non viene mai gestito da + uffici, cmq può anche essere, soltanto che mi sembra strana questa relazione.

Un ufficio può avere più persone,e fin qui....ma più persone possono avere + uffici?Mi sembra strana,una persona sarà associata ad un solo ufficio
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!