Silvio_Decio ha scritto:
Salve a tutti
Nei miei ritagli di tempo provo a studiare un po' le basi della progettazione di un database, ma inevitabilmente trovo delle difficoltà che non riesco a superare. Nello specifico mi riferisco ai seguenti aspetti per me poco chiari:
Cosa sono le esistenze obbligatorie e opzionali?
Come si rappresentano nel diagramma ER ?
Francamente ci vuole un po' di "fantasia", per questa notazione un pochino fuori standard.
Suppongo che per "esistenze obbligatorie e opzionali" intenda la necessità o meno che esista una seconda entità correlata (mediante la relazione) alla prima.
In sostanza la cardinalità degli attributi.
Esempio entità thread del forum, potrà avere un attributo "utenti-che-hanno-risposto", di cardinalità 0,n.
Se mettessi
1,n intenderesti che ALMENO un utente deve sempre rispondere al thread.
Il grado rappresenta il nr di relazioni di una tabella: esistono limiti a questo numero?
Spero di essere stato chiaro
Stai mischiando due elementi, ma d'altronde è normale, almeno all'inizio.
Le "tabelle" non esistono, nei diagrammi ER, "saltano fuori" successivamente.
Ci sono solo
- entità (rettangoli)
- relazioni (lineette)
- associazioni (rombetti)
- ruoli scritti sulle lineette (delle associazioni, non indispensabili, sono note, tipicamente per i cicli)
- attributi (lineette con pallini e nome campo)
- cardinalità (vincoli scritti sulle lineete delle relazioni tra parentesi, come (0,1), (0,n), (1,1) )
- identificatori (pallini neri, lineette con pallini neri), sono le chiavi, semplici, composte, interne, esterne
Sulla rappresentazione tieni presente che ce ne sono una trentina, a partire dalle primissime degli anni '70, in particolare ogni autore si è inventata la sua (frecce, freccette, doppie freccette, pallini, rombetti, linee tratteggiate) e così via.
La differenza principale è del tipo "a diagramma di flusso" (cioè coi pittogrammi, i rombetti per capirci) con quella più "informatizzata", cioè con rettangoli che vengono collegati tra di loro.
I secondi sono, tipicamente, di derivazione di programmi di disegno di ER, poi "imbastarditi" con alcuni elementi UML e così via (lineette con pallini e "lineette uscenti", rombetti vuoti e pieni e così via).
Ti suggerisco di non passare troppo tempo su questi dettagli (cioè come fare meravigliosi diagrammi ER), perchè non servono praticamente a nulla nel "mondo reale".
Un po' come i diagrammi di flusso: si utilizzano (anche questi sono nati negli anni 60-70) per mostrare alcune informazioni banali, a scopo didattico, per gli studenti nella fascia elementare.
A nessuno sano di mente verrebbe in mente di disegnare il flowchart che so di Word.
O il diagramma ER di un ERP di fascia media, con un 2.000 o 3.000 tabelle.
---
Quindi DEVI conoscere gli schemi ER, DEVI avere una vaga idea di come si utilizzano in fase di progettazione banale, MA devi renderti conto che sono strumenti inventati una quarantina di anni fa, per i problemi informatici di quaranta anni fa.
Che non sono quelli di oggi.