Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni molti-a-molti Query e linguaggio SQL Esempi di implementazioni: MS Access MySQL Esercizio: progettare un DB relazionale
Cos'è un database? I dati sono organizzati in record (righe) e DATABASE Insieme di informazioni strutturate, rappresentate digitalmente su un sistema di memorizzazione campi (colonne) Normalmente, il termine database si riferisce ai dati. Il software che li gestisce prende il nome di DBMS (DataBase Management System)
Quando si usa? Sistemi che richiedono la gestione di grosse quantità di dati (migliaia, milioni di record), per esempio: - Anagrafi - Biblioteche - Clienti, ordini, utenti, ecc NB: a differenza di un foglio elettronico (es. Excel), un DB ottimizza la memorizzazione dei dati in forma strutturata (non in un'unica tabella), e permette ricerche più efficienti e veloci, soprattutto con molti record
Le tabelle: record, campi, tipi di dati In un database, i dati sono strutturati in tabelle. In ogni tabella sono memorizzati i dati che descrivono una certa entità (per esempio: tabella Libri, tabella Persone, tabella Ordini,...) Ciascuno degli oggetti descritto in una tabella viene rappresentato attraverso un record, cioè una riga della tabella Ciascuna caratteristica di un oggetto è chiamata campo, ed è rappresentata una colonna della tabella Ogni campo è definito attraverso un tipo di dati (e, quasi sempre, una sua specificazione), che ne descrive la rappresentazione digitale (es. Testo (di un certo numero di caratteri), Numerico (intero o decimale), Booleano, ecc...)
Chiavi e indici Alcuni campi (di solito, uno per ogni tabella) sono utilizzati per identificare univocamente ciascun record all'interno di una tabella, e prendono il nome di campi chiave (spesso, chiave primaria) Quando una tabella è particolarmente complessa, spesso viene generata (di solito automaticamente) una tabella, chiamata indice, che contiene solo la chiave primaria e alcuni altri campi della tabella stessa, ed è quindi più semplice da gestire Attraverso le chiavi primarie e gli indici, un DBMS può effettuare ricerche e ordinamenti sui dati in maniera più efficiente
Database relazionali (R-DBMS) Quando le entità descritte nelle varie tabelle di un database sono correlate tra loro, si parla di database relazionali I collegamenti tra le tabelle sono detti relazioni e possono essere: Relazioni uno-a-uno Relazioni uno-a-molti o molti-a-uno Relazioni molti-a-molti
Query e linguaggio SQL Le query vengono spesso definite attraverso il linguaggio SQL (Structured DATABASE Una ricerca effettuata su un database si dice query Query Language) Esempio di query SQL: SELECT * FROM Dipendenti WHERE Nome= Giulio ; Mostra tutti i record della tabella Dipendenti in cui il contenuto del campo Nome è Giulio
Esempi di implementazioni DATABASE Le implementazioni software più comuni di DMBS sono relazionali e usano il linguaggio SQL. In particolare, per esempio: Microsoft Access: è semplice da usare (soprattutto per gli inesperti), ma poco flessibile e scalabile. E' software commerciale a pagamento, solo per Windows; mysql: è più affidabile, soprattutto su larga scala; è utilizzabile gratuitamente e multipiattaforma, ma meno facile da imparare.
Esercizio: progettare un DB relazionale Esempio (account utente di un sistema informatico)