Modello ER - Concetti di base

Il modello ER definisce la vista concettuale di un database. Funziona attorno a entità del mondo reale e alle associazioni tra di loro. A livello di vista, il modello ER è considerato una buona opzione per la progettazione di database.

Entità

Un'entità può essere un oggetto del mondo reale, animato o inanimato, che può essere facilmente identificabile. Ad esempio, in un database scolastico, studenti, insegnanti, classi e corsi offerti possono essere considerati entità. Tutte queste entità hanno alcuni attributi o proprietà che danno loro la loro identità.

Un set di entità è una raccolta di tipi simili di entità. Un set di entità può contenere entità con attributi che condividono valori simili. Ad esempio, un set di Studenti può contenere tutti gli studenti di una scuola; allo stesso modo un set Insegnanti può contenere tutti gli insegnanti di una scuola di tutte le facoltà. Gli insiemi di entità non devono essere disgiunti.

Attributi

Le entità sono rappresentate per mezzo delle loro proprietà, chiamate attributes. Tutti gli attributi hanno valori. Ad esempio, un'entità studente può avere nome, classe ed età come attributi.

Esiste un dominio o un intervallo di valori che possono essere assegnati agli attributi. Ad esempio, il nome di uno studente non può essere un valore numerico. Deve essere alfabetico. L'età di uno studente non può essere negativa, ecc.

Tipi di attributi

  • Simple attribute- Gli attributi semplici sono valori atomici, che non possono essere ulteriormente suddivisi. Ad esempio, il numero di telefono di uno studente è un valore atomico di 10 cifre.

  • Composite attribute- Gli attributi compositi sono costituiti da più di un semplice attributo. Ad esempio, il nome completo di uno studente può avere first_name e last_name.

  • Derived attribute- Gli attributi derivati ​​sono gli attributi che non esistono nel database fisico, ma i loro valori sono derivati ​​da altri attributi presenti nel database. Ad esempio, average_salary in un dipartimento non deve essere salvato direttamente nel database, ma può essere derivato. Per un altro esempio, l'età può essere derivata da data_of_birth.

  • Single-value attribute- Gli attributi a valore singolo contengono un valore singolo. Ad esempio: Social_Security_Number.

  • Multi-value attribute- Gli attributi multivalore possono contenere più di un valore. Ad esempio, una persona può avere più di un numero di telefono, email_address, ecc.

Questi tipi di attributi possono riunirsi in un modo come:

  • attributi semplici a valore singolo
  • semplici attributi multivalore
  • attributi compositi a valore singolo
  • attributi multivalore compositi

Insieme di entità e chiavi

La chiave è un attributo o una raccolta di attributi che identifica in modo univoco un'entità nel set di entità.

Ad esempio, il roll_number di uno studente lo rende identificabile tra gli studenti.

  • Super Key - Un insieme di attributi (uno o più) che identifica collettivamente un'entità in un insieme di entità.

  • Candidate Key- Una super chiave minima è chiamata chiave candidata. Un set di entità può avere più di una chiave candidata.

  • Primary Key - Una chiave primaria è una delle chiavi candidate scelte dal progettista del database per identificare in modo univoco il set di entità.

Relazione

L'associazione tra entità è chiamata relazione. Ad esempio, un dipendenteworks_at un dipartimento, uno studente enrollsin un corso. Qui, Works_at e Enrolls sono chiamati relazioni.

Set di relazioni

Un insieme di relazioni di tipo simile è chiamato insieme di relazioni. Come le entità, anche una relazione può avere attributi. Questi attributi sono chiamatidescriptive attributes.

Grado di relazione

Il numero di entità partecipanti a una relazione definisce il grado della relazione.

  • Binario = grado 2
  • Ternario = grado 3
  • n-ary = grado

Mappatura delle cardinalità

Cardinality definisce il numero di entità in un insieme di entità, che può essere associato al numero di entità di un altro insieme tramite l'insieme di relazioni.

  • One-to-one - Un'entità dell'insieme di entità A può essere associata al massimo a un'entità dell'insieme di entità B e viceversa.

  • One-to-many - Un'entità dell'insieme di entità A può essere associata a più di un'entità dell'insieme di entità B, tuttavia un'entità dell'insieme di entità B può essere associata al massimo a un'entità.

  • Many-to-one - Più di un'entità dell'insieme di entità A può essere associata al massimo a un'entità dell'insieme di entità B, tuttavia un'entità dell'insieme di entità B può essere associata a più di un'entità dell'insieme di entità A.

  • Many-to-many - Un'entità di A può essere associata a più entità di B e viceversa.