DATABASE 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 ● www.andreavai.it www.andreavai.it Andrea Vai DATABASE Cos'è un database? ● Insieme di informazioni strutturate, rappresentate digitalmente su un sistema di memorizzazione www.andreavai.it ● ● I dati sono organizzati in record (righe) e campi (colonne) Normalmente, il termine database si riferisce ai dati. Il software che li gestisce prende il nome di DBMS (DataBase Management System) www.andreavai.it Andrea Vai DATABASE Quando si usa? ● Sistemi che richiedono la gestione di grosse quantità di dati (migliaia, milioni di record), per esempio: - Anagrafi www.andreavai.it - 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 www.andreavai.it Andrea Vai DATABASE 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, ...) www.andreavai.it ● ● ● 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...) www.andreavai.it Andrea Vai DATABASE 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) www.andreavai.it ● ● 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 www.andreavai.it Andrea Vai DATABASE Database relazionali (R-DBMS) ● Quando le entità descritte nelle varie tabelle di un database sono correlate tra loro, si parla di database relazionali www.andreavai.it ● 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 www.andreavai.it Andrea Vai DATABASE Query e linguaggio SQL ● Una ricerca effettuata su un database si dice query www.andreavai.it ● ● Le query vengono spesso definite attraverso il linguaggio SQL (Structured 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” www.andreavai.it Andrea Vai DATABASE Esempi di implementazioni ● Le implementazioni software più comuni di DMBS sono relazionali e usano il linguaggio SQL. In particolare, per esempio: www.andreavai.it – 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. www.andreavai.it Andrea Vai DATABASE Esercizio: progettare un DB relazionale ● Esempio (account utente di un sistema informatico) www.andreavai.it www.andreavai.it Andrea Vai