Per gli approfondimenti, vengono dati i riferimenti alle pagine dell' attuale libro di testo che sto utilizzando: Progettazione dei database, linguaggio SQL, dati in rete Ed.Atlas
Il database è una collezione di archivi di dati ben organizzati e ben strutturati, gestiti in modo integrato da un sistema
per la gestione delle basi di dati, che costituiscono una base di lavoro per utenti diversi con programmi diversi. I prodotti software
per la gestione dei database sono indicati con il termine DBMS, acronimo di DataBase Management System.
Il database è una collezione di dati logicamente correlati e condivisi, che ha lo scopo di
soddisfare i fabbisogni informativi di una specifica organizzazione. I dati, congiuntamente
con la loro descrizione, sono gestiti da un unico sistema, chiamato DBMS (DataBase
Management System), che ne permette la gestione e ne regola gli accessi.
(Wikipedia) Il termine database, base di dati o banca dati (a volte abbreviato con la sigla DB), indica un archiviodati,
o un insieme di archivi ben strutturati, in cui le informazioni in esso contenute sono strutturate e collegate tra loro secondo un particolare
modello logico (relazionale, gerarchico, reticolare o a oggetti) e in modo tale da consentire la gestione/organizzazione efficiente dei dati stessi
e l'interfacciamento con le richieste dell'utente attraverso i cosiddettiquery language (query di ricerca o interrogazione, inserimento, cancellazione,
aggiornamento ecc.) grazie a particolari applicazioni software dedicate (DBMS)
Il database è un insieme di dati, mentre il DBMS è un sistema per la gestione del database. (Wikipedia) Un Database Management System, abbreviato in DBMS o Sistema di gestione di basi di dati è unsistema software progettato per consentire la creazione e la manipolazione (da parte di un amministratore) e l'interrogazione efficiente (da parte di uno o più utenti) di database (ovvero di collezioni di dati strutturati), per questo detto anche "gestore o motore del database", e ospitato su architettura hardware dedicata oppure su semplice computer.
La progettazione di un modello di dati avviene a livelli diversi:
La chiave primaria (primary key) un insieme minimale di attributi che permettono di distinguere tra loro le istanze di una stessa entità. (libro pag.142) (Wikipedia) Mentre la chiave esterna (ingl. foreign key) è un vincolo di integrità referenziale tra due o più tabelle. Essa identifica una o più colonne di una tabella (referenziante) che referenzia una o più colonne di un'altra tabella (referenziata).
Nell'ambito della progettazione dei database, il modello entity-relationship (anche detto modello entità-relazione, modello entità-associazione o modello E-R) è un modello per la rappresentazione concettuale dei dati ad un alto livello di astrazione. Viene spesso utilizzato nella prima fase della progettazione di una base di dati in cui è necessario tradurre le informazioni risultanti dall'analisi di un determinato dominio in uno schema concettuale. (Libro pag.38) Nella costruzione del modello E/R di una realtà si individuano gli oggetti che la compongono dette entità, gli attributi, che rappresentano le caratteristiche delle entità individuate, e infine le associazioni che individuano le correlazioni logiche tra entità. Entità, attributi, associazioni sono rappresentate graficamente in un diagramma E/R.
Il livello "concettuale" rappresenta, in modo non necessariamente dettagliato, concetti e relazioni tra concetti. È completamente indipendente dalla tecnologia DBMS (Data Base Management System) che gestirà le strutture dati. Il livello "logico" produce un modello dettagliato, guidato essenzialmente dalle relazioni di significato tra i dati. È il livello di definizione delle tabelle in un DBMS relazionale, con indicazione di colonne e data type, chiavi primarie ed alternative, regole di integrità. Tutto ciò di cui chi accede alle tabelle deve essere consapevole. A differenza del modello concettuale, può essere un modello ottimizzato. Può, ad esempio, comprendere ridondanze introdotte per migliorare le tempistiche di accesso in consultazione.
Gli elementi di un modello E/R sono:
1) Entità
E’ un oggetto (concreto o astratto) che ha un significato anche quando viene considerato in modo isolato ed è di interesse per la realtà che si vuole
modellare (es. persona). Le entità possono essere classificate secondo un certo criterio di omogeneità definendo il tipo di entità attraverso un
nome (es. gli studenti di una scuola sono classificabili nel tipo entità Studente. Ciascun studente rappresenta una istanza dell’entità Studente).
2) Associazioni (o Relazioni)
Un’associazione è un legame che stabilisce un’interazione tra le entità (es. una persona possiede un’automobile). Un’associazione tra le entità può essere
obbligatoria oppure opzionale: obbligatoria quando il legame tra le entità deve essere sempre presente, opzionale quando può essere presente. Il grado
di un verso dell’associazione è la caratteristica che indica quante istanze dell’entità di arrivo si associano all’istanza dell’entità di partenza.
Il grado può essere a uno oppure a molti e pertanto le associazioni tra due entità si classificano in: