_antoniobernardo
Ominide
5 min. di lettura
Vota

Concetti Chiave

  • La progettazione delle basi dati segue una metodologia in tre fasi: modello concettuale, logico e fisico, separando il "cosa" dal "come".
  • Il modello concettuale rappresenta una descrizione formale della realtà d'interesse, indipendente dal DBMS, e si concretizza nello schema concettuale.
  • Il modello logico traduce lo schema concettuale nel formato supportato dal DBMS, risultando nello schema logico.
  • Il modello fisico organizza i file secondo lo schema logico, tenendo conto delle specifiche del DBMS scelto.
  • Le query sono strumenti per manipolare i dati nei database, con diversi tipi per selezione, aggiornamento, eliminazione, creazione tabella e altro, spesso utilizzando SQL o QBE.

Premessa teorica

Nell'ambito delle Basi Dati si è consolidata una metodologia di progettazione che si fonda sul principio di separare in maniera netta le decisioni relative a “cosa”? rappresentare in una base dati (prima fase) da quelle relative a “come farlo”? (seconda e terza fase).

Le tre fasi sono:

1. Modello concettuale: il suo scopo è quello di rappresentare la realtà  di interesse in termini di una descrizione formale e completa, indipendentemente dai criteri di rappresentazione utilizzati nei DBMS.
Il prodotto in questa fase viene chiamato schema concettuale e fa riferimento ad un modello concettuale di dati.

2. Modello logico: consiste nella traduzione dallo schema concettuale definito nella fase precedente, nel modello di rappresentazione dei dati adottato dal DBMS a disposizione. Il prodotto di questa fase viene chiamato schema logico e fa riferimento ad un modello logico di dati.

3. Modello fisico: in questa fase lo schema logico viene completato con l'organizzazione dei file. Il prodotto in questa fase viene chiamato schema fisico e fa riferimento ad un modello fisico dei dati. Tale modello dipende dallo specifico DBMS scelto.

Il più diffuso modello concettuale dei dati è il modello Entità -Relazione. Il diagramma entità -relazioni consente di rappresentare graficamente la struttura del database.

Prima di entrare in merito alle richieste specifiche degli esercizi è necessario definire concetti fondamentali quali tipo di entità , tipo di attributo, tipo di relazione e cardinalità :

Tipo di entità  è una classe di oggetti che possiedono caratteristiche comuni e che hanno una propria esistenza autonoma. Il tipo di entità  si rappresenta con un rettangolo;

Attributo è uno specifica caratteristica appartenente a quella entità ;

Tipo di relazione: rappresenta un legame logico tra entità , rilevante nella realtà  che si sta considerando e viene rappresentato con un rombo.

Cardinalità  delle relazioni: per cardinalità  si intende una coppia di valori associati ad ogni entità  che partecipa ad una relazione, che specificano il numero minimo e massimo di istanze dell'associazione a cui un'istanza dell'entità  può partecipare.

Esistono tre tipi di cardinalità :

Relazione 1:1: si ha relazione uno a uno tra due entità  quando ad ogni istanza della prima entità  è associato un'unica istanza della seconda entità ;

Relazione 1:N: si ha una relazione uno a molti tra due entità  quando ad ogni istanza della prima entità  può essere associato a molte istanze della seconda entità , mentre ad ogni istanza della seconda entità  può essere associato ad una sola istanza della prima entità ;

Reazione N:M: si realizza una relazione molti a molti quando ad una singola istanza della prima entità  è legato a molte istanze della seconda entità  e viceversa.

Una Query è una domanda posta al database per estrarre e manipolare dei dati. È un insieme di istruzioni per trovare informazioni in una o più tabelle tra loro correlate. Le istruzioni possono prevedere condizioni per l'estrazione dei dati o definire un ordine di visualizzazione.

Il linguaggio più comunemente usato per formulare query è SQL, tuttavia Access utilizza l'interfaccia QBE (Query by Example) che rappresenta graficamente le interrogazioni. Alla base di una query ci sono le relazioni tra tabelle.

Esistono differenti tipi di query a seconda del tipo di estrazione che si vuole fare:

Query di selezione. Estrae dati da una o più tabelle e li rende disponibili tramite fogli di lavoro, maschere, report, pagine HTML. I dati estratti sono modificabili. Si possono effettuare calcoli e raggruppamenti.

Query di aggiornamento. Consente la modifica di uno o più campi di una o più tabelle per interi gruppi di record.

Query di eliminazione.Consente l'eliminazione di un gruppo di record da una o più tabelle.

Query di creazione tabella. I record vengono immessi in una nuova tabella.

Query di accomodamento. Aggiunge un gruppo di record alla fine di una o più tabelle.

Query a campi incrociati. Aggrega i dati mettendo in relazione i campi di una tabella.

Query parametrica. Chiede la specificazione dei campi di ricerca.

Domande da interrogazione

  1. Qual è la metodologia di progettazione delle basi dati descritta nel testo?
  2. La metodologia si basa sulla separazione delle decisioni su "cosa" rappresentare in una base dati e "come farlo", articolata in tre fasi: modello concettuale, modello logico e modello fisico.

  3. Cosa rappresenta il modello concettuale in una base dati?
  4. Il modello concettuale rappresenta la realtà di interesse in termini di una descrizione formale e completa, indipendentemente dai criteri di rappresentazione utilizzati nei DBMS.

  5. Qual è il modello concettuale dei dati più diffuso e come viene rappresentato?
  6. Il modello concettuale dei dati più diffuso è il modello Entità-Relazione, rappresentato graficamente tramite un diagramma entità-relazioni.

  7. Quali sono i tipi di cardinalità delle relazioni menzionati nel testo?
  8. I tipi di cardinalità delle relazioni sono: relazione 1:1, relazione 1:N, e relazione N:M.

  9. Quali sono i diversi tipi di query descritti nel testo?
  10. I tipi di query includono: query di selezione, query di aggiornamento, query di eliminazione, query di creazione tabella, query di accomodamento, query a campi incrociati, e query parametrica.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community