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