Un pomeriggio senza far niente. E così mi son divertito ad unire l’utile di dare alla rete dei piccoli appunti sui Database (e ripetere per l’interrogazione di domani) e il dilettevole nell’impostare la spiegazione in modo differente dal libro scolastico, dalla dispensa del caro Ermes e dalla dispensa (se così la possiamo definire) di Barbara.
[Le dispense sul DAC e ADC spero di inserirle a breve… devo aspettare che Claudia mi passi le immagini e le pubblico!]
ATTENZIONE: Perdonatemi gli errori grammaticali e le frasi forse non troppo chiare, ma l’ho scritta tutta d’un botto e non avevo voglia di rileggerla! Negli argomenti trattati (Database, DBMS, Modello Entità-Relazione, Modello Relazionale, e gli operatori relazionali) in alcuni casi non ho trattato tutti gli aspetti e/o le caratteristiche, pertanto vi invito a fare riferimento anche ad altri testi (es wikipedia).
DEFINIZIONE
Un Database è una base di dati che, a differenza di un semplice archivio, è organizzato per ridurre i tempi sulla gestione dei dati ed evitare ridondanze.
CREAZIONE DI UN DATABASE
La creazione di un Database generalmente avviene in tre fasi:
- Modello concettuale: In questa fase si rappresentano i dati astrattamente. Tra i modelli concettuali più diffusi troviamo il Modello E-R (Modello Entity Relationship) che va a rappresentare i dati con un alto livello di astrazione, ed anch’esso si divide in tre fasi:
- Individuazione delle entità, ovvero delle classi di oggetti ed esistenza autonoma e di interesse per la base di dati.
- Individuazione degli attributi delle entità, cioè delle caratteristiche che contraddistinguono la classe di oggetti e chesono di interesse per la base di dati.
- Individuazione delle relazioni quantitative tra le entità. I casi possibili sono di uno ad uno (1 a 1), uno a molti (1 a N) e molti a molti (N a M).
- Modello logico: In questa seconda fase si trasforma la rappresentazione dei dati nel modello concettuale in tabelle. Adoperando il Modello E-R nella fase precedente, utilizziamo il Modello Relazionale che crea le tabelle in base al rapporto esiste tra le entità:
- Se il rapporto è di uno ad uno si crea una tabella che avrà per colonne tutti gli attributi di entrambe le entità messe a relazione.
- Se il rapporto è di uno a molti si crea una tabella per ogni
entità, con le colonne che rappresentano rispettivamente gli attributi
delle entità. Inoltre si aggiunge una nuova colonna in entrambe le
tabelle: in quella che sta nel rapporto ad uno viene chiamata Chiave Primaria, e sarà un nuovo carattere univoco dell’entità; nella tabella che sta nel rapporto ad N viene chiamata Chiave Primaria Esterna, perchè qui verrà riportata la Chiave Primaria dell’istanza a cui è legata. - Se il rapporto è di molti a molti, come nel caso precendente, si
crea una tabella per ogni entità, con le colonne che rappresentano
rispettivamente gli attributi delle entità. Inoltre si crea una terza
tabella composta da due Chiavi Primarie Esterne, che saranno le due Chiavi Primarie delle due istanze messe in relazione.
- Modello fisico: In questa fase si creano fisicamente le tabelle del database, generalmente tramite dei software DBMS (DataBase Management System).
DBMS (DataBase Management System)
I software DBMS, come detto precedentemente, si occupano della creazione e della gestione dei database attraverso delle funzioni, che vengono divise in quattro categorie:
- Data Manipulation Language: per la gestione dei dati (selezione, inserimento, modifica, eliminazione).
- Data Definition Language: per la gestione della struttura dei dati e dei relativi permessi da attribuire agli utenti.
- Data Control Language: per la gestione dei permessi per qualsiasi tabella e/o operazione agli utenti che lavorano con il database.
- Data Media Control Language: per la gestione delle memorie di massa dove esiste il database.
Ciascuna di queste categorie per svolgere le proprie funzioni adopera un proprio linguaggio indipendente. Tuttavia esiste l’SQL (Structure Language System), un linguaggio che include tutte le funzioni di queste quattro categorie, che vengono chiamati operatori. Nel Data Manipulation Language gli operatori prendono il nome di operatori relazionali e quelli principali sono:
- SELECT, per selezionare dei dati
- INSERT INTO, per inserire dei dati
- UPDATE, per modificare dei dati
- DELETE, per cancellare dei dati
Per commenti, suggerimenti e correzioni scrivetemi pure! 😉