Introduzione alle basi di dati DA FILE DI TESTO A FILE STRUTTURATO FILE DI TESTO: una sequenza potenzialmente infinita di caratteri. FILE STRUTTURATO: una sequenza potenzialmente infinita di records , tutti della stessa lunghezza. RECORD: un insieme finito di informazioni diverse su uno stesso concetto di base, organizzate secondo un formato predefinito. RECORD Esempio di record: RSSMRA58.. Mario Rossi Cosenza via Roma, 24 coniugato 12/4/58 ... Il concetto di base di questo record è l' anagrafe di Mario Rossi. Le informazioni necessarie per descrivere l'anagrafe di Mario Rossi sono: il codice fiscale, il nome e cognome, il luogo e la via di residenza, il suo stato civile, la data di nascita, ... FILE STRUTTURATO Esempio di file strutturato: il file strutturato che rappresenta l' anagrafe di un comune avrà la forma: RSSMRA58.. Mario Rossi Cosenza via Roma, 24 coniugato 12/4/58 ... BNCPNI54.. Pino Bianchi Cosenza via P. Priamo coniugato 21/2/54 ... ... LNELSU36.. Luisa Leone Cosenza via Roma, 21 nubile 31/5/36 ... dove ogni record contiene le informazioni necessarie per descrivere l'anagrafe di un cittadino. FILE STRUTTURATO per definire un file strutturato e‘ necessario descrivere il generico record che esso contiene, cioe' descrivere le diverse categorie di informazione che caratterizzano ogni record contenuto nel file. FILE STRUTTURATO Consideriamo un possibile file strutturato relativo agli impiegati di un’azienda: Codice Nome Cognome DataNascita CodFiscale Qualifica 1 Paola Verdi 05/06/78 VRDPLA78… Specialista 2 Bruno Bianchi 09/09/70 BNCBRN70… Senior 3 Bianca Rossi 08/07/69 RSSBNC69.. Senior ..... ogni record contenuto nel file deve essere composto da: • un numero, che corrisponde al numero di codice, • un insieme di caratteri, per il nome • un insieme di caratteri per il cognome, • una data, per la data di nascita, • ... RECORD OGNI INFORMAZIONE CONTENUTA IN UN RECORD SI CHIAMA CAMPO DEL RECORD. RSSMRA58.. Mario Rossi Cosenza via Roma, 24 coniugato campi del record anagrafe di Mario Rossi 12/4/58 ... CAMPI DI UN RECORD PER DESCRIVERE UN CAMPO DI UN RECORD E' NECESSARIO FORNIRE: • IL NOME DEL CAMPO • IL TIPO DEI DATI CONTENUTO NEL CAMPO • LA LUNGHEZZA DEL CAMPO CAMPI DI UN RECORD FORNIRE IL NOME AD UN CAMPO SIGNIFICA COMUNICARE AL SISTEMA IL NOME DELLA INFORMAZIONE CONTENUTA IN QUEL CAMPO. Esempio: 001 Luisa Neri matricola 5/6/52 Milano data di nascita nome e cognome NRPL52B51 Caporeparto 12/2/80 codice fiscale luogo di nascita qualifica data assunzione CAMPI DI UN RECORD assegnare un tipo di dati ad un campo significa comunicare al sistema quali dati (valori) aspettarsi in quel campo e quali operazioni si possono fare sul campo. Esempio: 001 Luisa Neri numero 5/6/52 data sequenza di caratteri Milano NRPL52B51.. Caporeparto 12/2/80 sequenza di caratteri sequenza di caratteri data CAMPO DI UN RECORD assegnare una lunghezza ad un campo significa comunicare al sistema quanta memoria deve riservare per quel campo. Esempio: 001 Luisa Neri 2 bytes 5/6/52 Milano NRPL52B51.. Caporeparto 12/2/80 15 bytes 8 bytes 30 bytes 15 bytes 16 bytes 8 bytes TIPI DI DATI • NUMERICO (INTERI E REALI) • TESTO (SEQUENZA DI CARATTERI DI UNA CERTA LUNGHEZZA MASSIMA FISSATA) • DATA (COMPOSTA DA giorno/mese/anno) • BOOLEANO (SOLO DUE VALORI: SI O NO, VERO O FALSO, 1 O 0, ON O OFF) TIPI DI DATI Esempio: testo booleano 001 Luisa Neri 5/6/52 numerici ... SI 20000000 Caporeparto data 12/2/80 ... considerata la grande quantita' dei dati memorizzata, bisogna: • permettere che diverse persone (utenti) possano accedervi • garantire la consistenza delle informazioni memorizzate • fornire strumenti per poter scrivere le applicazioni che usano diversi files BASI DI DATI (DB) E SISTEMI PER LA GESTIONE DELLE BASI DI DATI (DBMS) Cos’è un database? “Un database è un insieme di dati strutturati e permanenti raggruppati in insiemi omogenei che risultano collegati fra loro ed organizzati con la minima ridondanza per essere usati da diverse applicazioni in modo controllato” “Un database non è altro che un sistema informatico per la memorizzazione di informazioni” (Date 1986) “dati che sono memorizzati più o meno in modo permanente in un computer” (Ullman 1982) Vantaggi di un database - riduzione della ridondanza - eliminazione delle inconsistenze - condivisione dei dati - accesso controllato ai dati - integrità dei dati - indipendenza dei dati dalle applicazioni - maggiore facilità per lo sviluppo di applicazioni CARATTERISTICHE DI UN DBMS UN DBMS OFFRE: • un "modello" per la rappresentazione dei dati e delle loro interconnessioni • un linguaggio per la definizione e l'aggiornamento dei dati e delle loro interconnessioni • un linguaggio per la interrogazione dei dati • meccanismi per la memorizzazione ottimale dei dati CARATTERISTICHE DI UN DBMS UN DBMS OFFRE: • MECCANISMI PER IL RECUPERO DEI DATI IN CASO DI CADUTA DEL SISTEMA UN DBMS CONSENTE: • UN ACCESSO EFFICIENTE AI DATI • UN ACCESSO CONTEMPORANEO DA PARTE DI PIU' UTENTI • IL CONTROLLO DELL'ACCESSO AI DATI Database Relazionali Un database relazionale è un database che viene percepito dagli utenti come una collezione di tabelle. I database relazionali sono basati sul concetto matematico di “relazioni” secondo la teoria degli insiemi. (Codd 1970)