Domande e risposte sui database e la loro progettazione

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


Che cos’è un database? (Libro pag. 30 - 36)


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)



Spiegare la differenza tra Database e DBMS. (Libro pag. 30-31)

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.


Quali sono i passi per la progettazione di una base di dati? (Libro pag.109)

La progettazione di un modello di dati avviene a livelli diversi:

  • il livello concettuale (o esterno) rappresenta la realtà dei dati e le relazioni tra essi attraverso uno schema.
  • il livello logico rappresenta il modo attraverso il quale i dati sono organizzati negli archivi: descrive quindi la composizione e il formato dei dati nel loro aspetto di struttura logica di dati. Il livello logico viene derivato dal livello concettuale applicando alcune semplici regole di trasformazione.
  • il livello fisico rappresenta l’effettiva installazione degli archivi su disco: esso indica l’ubicazione dei dati nelle memorie di massa. Il livello fisico è quindi l’implementazione del livello logico sui supporti per la registrazione fisica dei dati e si occupa di oggetti quali: partizioni, puntatori, blocchi fisici, cluster, indici.


  • Spiegare la differenza fra chiave primaria e chiave esterna (Libro pag.115)

    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).


    Definire il modello Entità/Relazione (Wikipedia)

    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.


    Spiegare la differenza fra modello concettuale e modello logico

    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.


    Spiegare gli elementi di un modello E/R

    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:

  • 1. Associazione 1:1 Ad ogni elemento del primo insieme E1 corrisponde uno ed un solo elemento del secondo insieme E2, e viceversa
  • 2. Associazione 1:N Ad un elemento di E1 possono corrispondere più elementi di E2 mentre ad ogni elemento di E2 deve corrispondere uno ed un solo elemento di E1
  • 3. Associazione N:M Ad ogni elemento dell’insieme E1 possono corrispondere più elementi dell’insieme E2 e viceversa. Occorre osservare che nella modellazione dei dati con l’approccio E/R le associazioni 1:N sono molto più frequenti delle associazioni di tipo uno a uno e molti a molti. L’associazione molti a molti può essere facilmente scomposta in due associazioni uno a molti, anche per consentire di rappresentare gli attributi dell’associazione.

    3) Attributi
    Le proprietà delle entità e delle associazioni vengono descritte attraverso gli attributi (es. modello, produttore e cilindrata sono tutti attributi per l’entità Automobile). Si indica con il termine chiave o chiave primaria (primary key) l’insieme di uno o più attributi che consentono di distinguere un’istanza dall’altra per la stessa entità (es. cod prodotto).