IDEF1X (Integration DEFinition for Information Modeling) è un metodo per la progettazione di database relazionali con una sintassi che supporta i costrutti nello sviluppo di schemi concettuali.
Non tutti sanno che questa notazione ha una storia interessante. In effetti, la necessità di modelli di dati semantici è stata riconosciuta per la prima volta dall'aeronautica statunitense a metà degli anni '70. Di conseguenza, è nato il Programma ICAM (ha identificato la necessità di migliori tecniche di analisi e comunicazione per le persone coinvolte nel miglioramento della produttività manifatturiera), che in seguito ha sviluppato una serie di tecniche note come IDEF; IDEF1X è uno di questi.
Diamo un'occhiata più da vicino alla sintassi:
Tipo di entità
- Entità debole (dipendente) è rappresentato da un rettangolo arrotondato (le istanze di entità dipendenti dall'identificatore sono prive di significato (per definizione) senza un'altra istanza di entità associata)
- Entità forte (indipendente) è rappresentato da un rettangolo (possono esistere istanze di entità indipendenti dall'identificatore senza altre istanze di entità)
Esempio:libro come entità indipendente e capitolo come entità dipendente.
Attributi
Per presentare attributi , l'entità è divisa in due parti. Nel primo ci sono gli attributi della chiave primaria, mentre l'altro contiene gli attributi. Inoltre, il nome dell'entità si trova solitamente sopra il rettangolo. Ogni attributo deve avere un valore (regola No-Null) e nessun attributo può avere più valori (regola No-Repeat). Ogni entità ha esattamente una chiave primaria visualizzata sopra la linea orizzontale nella casella dell'entità. Le chiavi esterne sono etichettate (FK) e le chiavi alternative sono presentate come (AK) per dimostrare che non sono di proprietà di tale entità.
Relazioni
Le linee continue o tratteggiate con cerchi pieni a una o entrambe le estremità indicano come le entità si relazionano tra loro. Le relazioni sono sempre tra esattamente due entità e sono etichettate con una frase verbale che descrive la relazione. Ogni relazione di connessione ha una cardinalità associata che specifica il numero di istanze dell'entità dipendente correlate a un'istanza dell'entità indipendente. Questo è illustrato nel diagramma seguente:
Inoltre, è comune imbattersi in modelli in notazione IDEF1X con l'eccezione che le relazioni sono rese in notazione IEEE (zampa di gallina, che è più universalmente riconosciuta).
Ora, avendo tutte le informazioni necessarie, torniamo all'esempio precedente con libro e capitolo e lo presentiamo nel diagramma IDEF1X.