Basi di dati Il modello relazionale • Si tratta della fase di progettazione. • In questa fase individuiamo esattamente quello che è utili informatizzare • Cerchiamo gli elementi importanti • Individuiamo le loro proprietà • Le relazioni tra loro Scuola le entità di interesse • Entità di interesse: • • • • • • Studenti Personale docente Personale non docente Le materie Le verifiche Pagellini Scuola gli attributi delle entità • Caratteristiche delle entità (dette anche attributi) • Studente • • • • • • Nome e cognome Indirizzo di abitazione Telefono casa ed email Matricola Corso a cui è iscritto Classe in cui è iscritto Scuola gli attributi delle entità • Verifiche • Data svolgimento • Voto • Materia • Nota che non considero come attributi «nome del docente», «nome dello studente» perché sono informazioni presenti in altre entità cioè in «docente» e «studente» Relazioni • Tra le entità esistono relazioni • Lo studente effettua una verifica è la relazione tra le entità «studente» e «verifica». • Il «docente» propone la «verifica» è la relazione tra altre due entità. • Le relazioni collegano due entità per cui quando parlo di una verifica posso sapere quale docente l’ha eseguita se metto in relazione le due entità «docente» e «verifica». verifica sostiene studente Modelli • Modello concettuale Si ottiene individuando entità, attributi, relazioni. Modello concettuale {entità, attributi, associazioni} • Modello logico Si ottiene individuando le strutture dati da utilizzare, cioè come organizzare i dati. • Modello relazionale. È il modello logico più usato in cui i dati sono organizzati in tabelle Modello relazionale • Ogni tabella rappresenta una entità • Gli attributi diventano colonne della tabella • Le righe sono le particolari entità (uno specifico studente) e sono dette record • I campi del record sono il valore degli attributi. Matricola Nome Cognome Data nascita Classe Indirizzo abitazione Telefono 00071 Giovanni Di Biase 01/01/2001 1C Via Roma 21 Termoli 0875.10000 00072 Pasquale Larivera 01/03/2001 1A Via Pescara 7 Termoli 0875.12345 Relazioni entità e tabelle • Le informazioni si organizzano in tabelle separate • Popolare una tabella significa riempirla di dati • Nell’ esempio di figura abbiamo 2 tabelle (studenti e verifiche) • Poiché gli studenti sostengono le prove le tabelle devono essere collegate tra loro • Due tabelle sono in relazione se hanno un attributo in comune, per esempio la tabella delle verifiche deve avere il campo «matricola» che è tipico dello studente. matricola verifica sostiene studente matricola I campi chiave • All'interno di una tabella è utile individuare un campo (un attributo dell’entità analizzata) che sia univoco, cioè per il quale ad ogni valore distinto esiste un’unica entità • Per esempio il campo matricola è univoco per uno studente • Questo campo è detto «campo chiave» della tabella • Altri esempi di chiave: • Il codice fiscale per una persona • La targa di un veicolo • Il codice prodotto in un negozio Indicizzare una chiave • Significa ordinare in modo crescente le chiavi in modo da velocizzare le ricerche dei record. • Se ho un indice in un libro, ordinare le parole da cercare alfabeticamente mi aiuta nel trovare la pagina corretta. • È possibile indicizzare anche i campi che non sono chiavi Collegare le tabelle • Per esprimere la relazione tra studenti e verifiche (e comunque tra due entità) devo collegare le tabelle corrispondenti. • Per collegare le tabelle tra loro basta aggiungere alla seconda tabella un campo per la chiave univoca della prima. • Questa colonna aggiunta si chiama «chiave esterna». • Collegando le due tabelle io posso ottenere informazioni da entrambe perché una ricerca sulla prima mi tira fuori tutti i collegamenti con la seconda • Se cerco uno studente tramite matricola, posso cercare tutti i record di tale matricola nella tabella verifiche, ottenendo tutte le verifiche effettuate. • La chiave della tabella studenti è anche un campo della tabella verifiche (chiave esterna) Matricola Nome Cognome Data Materia Mat_stud 00071 Giovanni Di Biase 01/02/2014 Italiano 00071 00072 Pasquale Larivera 05/05/2014 Francese 00071 08/05/2014 Italiano 00072 Database relazionale • È la base di dati che utilizza il modello relazionale cioè il modello basato sulle tabelle. Modelli logici Database relazionali Modelli relazionali (con le tabelle) DBMS Data Base Management System • È un particolare software che consente di costruire e gestire un Data Base (DB). • Meglio è un sistema che fa da interfaccia tra gli utenti e il database, introducendo una serie di funzionalità che rendono molto potente la gestione dell’archivio dati. DBMS Data base Funzionalità del DBMS • Implementazione • Definizione delle tabelle e memorizzazione delle stesse sulle memorie di massa. • Manipolazione • Inserimento dati, modifica, cancellazione. • Interrogazioni • Accesso alle informazioni attraverso richieste ed interfacce che accettano tali richieste • Controllo di integrità • Garanzia che non vi siano invformazioni duplicate o incoerenti • Sicurezza dati • Protezione dei dati contro i danni dovuti ad incidenti o accessi indesiderati, Microsoft Access = DBMS • Tabelle: i dati sono organizzati in tabelle • Query: sono interrogazioni sui dati che consentono di estrarre informazioni più svariate • Maschere: si creano per consentire l’inserimento dei dati agli utenti e sono interfacce in finestre con i campi che interessano • Report: servono a presentare le informazioni in una forma voluta, per poi stamparle. Maschere, query, report, tabelle, relazioni