DATABASE A cura di Massimiliano Buschi Introduzione Con Microsoft Access: • Immissione dati e interrogazione • Interfaccia per applicazioni e report Ma prima bisogna definire alcune conoscenze di base sui database. Database Cos’è un database? E’ in archivio elettronico di dati strutturati dotato di un interfaccia per l’archiviazione dei dati e la manipolazione degli stessi Database Esempi: • Rubrica del telefono • Inventario di un magazzino • Le informazioni a disposizione delle segreterie studenti relative agli iscritti ai vari corsi di laurea • … Database Cos’hanno in comune? Sono costituiti da insiemi di dati, omogenei a gruppi, e organizzati secondo uno schema ben preciso Tabelle Tabella: base di un database Le tabelle, collegate tra loro, costituiscono l’organizzazione di un database. Nelle tabelle le colonne rappresentano la categoria di un dato e sono chiamati campi. Ogni riga rappresenta l’insieme di dati riferiti ad un unico soggetto e sono chiamate record. Tabelle Ogni campo viene generato con lo scopo di contenere uno specifico tipo di dato. Pertanto dovrà essere riconoscibile tramite un nome, l’etichetta, e dovrà essere predisposto ad accogliere numeri piuttosto che parole. Chiave primaria In una tabella ogni riga rappresenta un record; è opportuno che ogni record sia distinguibile dagli altri; con il valore di uno o più campi combinati è possibile identificare univocamente ogni record. Tale valore, ovvero il campo/campi che lo compongono, prende il nome di chiave primaria. Il database non lo sa; bisogna specificarlo. Chiave primaria Una chiave primaria non può avere duplicati nella tabella. Se non c’è o non è semplice identificare la chiave primaria si può aggiungere un campo numerico ad-hoc. Access la aggiunge automaticamente se non ne viene specificata una. Indice Quando si crea una chiave viene creato automaticamente un indici. Un indice è una meta informazione nel database che permette di velocizzare le ricerche sulla chiave indicizzata. Senza indice il database durante una ricerca passa in rassegna tutti i campi sequenzialmente finché non trova quello che cerca. Con un indice il db riesce ad accedere subito al dato. Database relazionale Database relazionale • E’ il più diffuso perché flessibile e facile da usare • E’ costituito da un insieme di tabelle correlate fra loro attraverso relazioni tra campi • Le relazioni consentono l’aggregazione di dati in record logici provenienti da tabelle differenti Database relazionale • Lo scopo è di evitare di inserire più volte gli stessi dati Esempio: Studenti <--> Corsi di laurea Elenco del telefono <--> elenco delle telefonate Relazioni Esistono 3 tipi di relazioni fra tabelle. RELAZIONE UNO A UNO: ad un record di una tabella corrisponde al massimo un record dell’altra tabella. Non c’è ridondanza di dati perché la relazione è biunivoca. Relazioni RELAZIONE UNO A MOLTI: ad un record di una tabella corrispondono più record di un’altra tabella. Non è vero il contrario. RELAZIONE MOLTI A MOLTI: ad un record di una tabella corrispondono più record di un’altra tabella ed è vero il contrario. Relazioni La relazione molti a molti non è gestibile se non creando una tabella apposta, scindendola in pratica in 2 relazioni uno a molti, ciascuna con le 2 tabelle iniziali. E-R Questa modalità di affrontare le relazioni è un metodo di analisi della struttura dei database definito mediante la definizione delle schema E-R (entità-relazione) e sua normalizzazione e traduzione in un insieme di tabelle. Integrità referenziale In un database relazionale è fondamentale che venga mantenuta l’integrità delle relazioni. Questa integrità è chiamata integrità referenziale, e il suo scopo è evitare che esistano record il cui elemento di relazione non è presente nella tabella in relazione. Esempio: studenti <--> corsi di laurea non devono esistere studenti iscritti ad un corso di laurea che non compaiono nella tabella studenti. E’ possibile attivare un controllo affinché l’integrità referenziale venga mantenuta. Integrità referenziale Vantaggio dati più sicuri e coerenti Svantaggio complessità e vincoli da tenere presente