La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Microsoft Access 2007-2010 Progettare un database Prof. Roberto SPEDICATO.

Presentazioni simili


Presentazione sul tema: "Microsoft Access 2007-2010 Progettare un database Prof. Roberto SPEDICATO."— Transcript della presentazione:

1 Microsoft Access Progettare un database Prof. Roberto SPEDICATO

2 Progettazione di un data base La progettazione di un data base richiede la conoscenza di nozioni elementari del modello entità/relazione, che è alla base dei DBMS relazionali. Le entità. sono gli oggetti principali del data base. Rappresentano un gruppo omogeneo dinformazioni. Es. per la gestione di una biblioteca, possiamo individuare come entità il libro, che è loggetto fondamentale. Prof. Roberto SPEDICATO Access - Progettazione Data Base 2

3 Progettazione - Entità La biblioteca non è solo un magazzino di libri, ma anche un servizio e dobbiamo aggiungere lentità utente. il libro poi, è scritto da uno o più autori, è pubblicato da una casa editrice e appartiene ad un genere; quindi si aggiungono altre entità: autore, casa editrice e genere. Prof. Roberto SPEDICATO Access - Progettazione Data Base 3

4 Progettazione - Attributi Frequentando una biblioteca ci accorgiamo che di entità ce ne sono molte di più, ma possiamo limitarci ad un modello di biblioteca semplificato. Le entità si rappresentano con un rettangolo con allinterno il nome dellentità Prof. Roberto SPEDICATO Access - Progettazione Data Base 4 Libro Autore Casa Editrice Utente

5 Progettazione - Attributi Per descrivere lentità libro abbiamo bisogno di un titolo, di un autore, di un genere, di una casa editrice, di una prezzo, ecc. Tutte queste informazioni che costituiscono lentità libro, si chiamano attributi. Tra questi ci deve essere un attributo che individua univocamente un campo = la chiave primaria. Prof. Roberto SPEDICATO Access - Progettazione Data Base 5 Casa Editrice Titolo Autore Genere Prezzo Id_Libro Chiave primaria= sottolineata

6 Progettazione - Attributi Altro modo per descrivere gli attributi, nel modello ER, è indicandone il nome accanto ad un segmento con allestremo un cerchietto vuoto. Quando il cerchietto è pieno si indica la chiave primaria. Prof. Roberto SPEDICATO Access - Progettazione Data Base 6 Chiave primaria=cerchietto pieno Automobile Targa Colore Modello

7 Progettazione - Le relazioni Le entità non sono oggetti a se stanti ma sono in relazione tra loro. Ad es.: ogni libro appartiene ad un genere ed esistono molti libri diversi dello stesso genere. Le relazioni si indicano con un rombo con allinterno il nome della relazione (=verbo) Prof. Roberto SPEDICATO Access - Progettazione Data Base 7 Casa Editrice Titolo Autore Genere Prezzo Id_Libro Appartiene Genere …e ancora…

8 Progettazione - Le relazioni un libro è scritto da uno o più autori ed ogni autore può scrivere più libri; i libri sono prestati agli utenti; un utente può prendere in prestito uno o più libri e un libro può essere preso in prestito solo da un utente per volta. Prof. Roberto SPEDICATO Access - Progettazione Data Base 8

9 Progettazione - entità/relazione Nellideare il modello di un data base, bisogna scegliere bene quali elementi sono entità, quali attributi e quali relazioni. Prof. Roberto SPEDICATO Access - Progettazione Data Base 9 Fig. 1. Modello entità/relazione

10 Entità-Attributi-Relazione Altro esempio di Entità-Attributi-Relazione. Prof. Roberto SPEDICATO Access - Progettazione Data Base 10 Studente Corso Esame Anno di iscrizione Matricola VotoData esame Anno di corso Nome Id_corso

11 Realizzazione del DB Scendiamo nel dettaglio della realizzazione. Per rappresentare un entità con Access utilizziamo una tabella. Ogni attributo dellentità corrisponde ad una colonna, (o campo) ogni riga della tabella (o record) rappresenta un istanza dellentità (un caso particolare) Prof. Roberto SPEDICATO Access - Progettazione Data Base 11

12 Rappresentazione ER in Access Passaggio dalla rappresentazione ER alla rappresentazione in Access. Prof. Roberto SPEDICATO Access - Progettazione Data Base 12

13 Realizzazione del DB Volendo rappresentare ad es. lentità Utente, possiamo impostare una tabella che abbia come colonne gli attributi di un Utente (nome, cognome, data di nascita, indirizzo). Ogni riga (o record) corrisponde ad una persona particolare. Prof. Roberto SPEDICATO Access - Progettazione Data Base 13 Fig. 2. Tabella Utente

14 Tipi di dati (in visualizza struttura) Gli attributi (o campi) rappresentano tipi diversi di dati, ad es. campi numerici o testo, oppure campi data. Questa natura diversa dei dati si dice tipo: il nome dellautore è di tipo testo (o stringa=caratteri alfanumerici), la data è di tipo data, lanno di pubblicazione può essere un tiponumerico intero e così via. Prof. Roberto SPEDICATO Access - Progettazione Data Base 14

15 Coerenza dei dati È importante che i dati siano coerenti con i tipi corrispondenti, ad es.: se nel campo data di nascita dellautore inseriamo un numero come , commettiamo un errore di coerenza. Nella visualizzazione della struttura possiamo impostare, visualizzare e modificare il tipo degli attributi; ad es. nel campo nome inseriremo il tipo testo; all attributo data assegniamo il tipo data. Prof. Roberto SPEDICATO Access - Progettazione Data Base 15

16 Chiavi primarie Se consideriamo ad es. lelenco del telefono, risulta plausibile trovare omonimie tra le persone, questo significa che alla coppia di informazioni nome, cognome corrisponde più di un record. Risulta allora utile realizzare un meccanismo che identifichi in modo univoco i record, anche se hanno tutti i campi uguali tra loro. La soluzione è quella di inserire nella tabella un nuovo campo: la chiave primaria; è il più importante tra tutti gli attributi e garantisce lindividuazione univoca di un record allinterno di una tabella. Prof. Roberto SPEDICATO Access - Progettazione Data Base 16

17 Chiavi primarie Tipicamente si tratta di un numero intero, dato dal campo ID (identificatore) che viene incrementato automaticamente da Access quando si aggiunge un record. Il campo ID non è indispensabile se esiste già un campo che rende univoco il record (es. il codice fiscale, oppure si raggruppano più campi: nome+cognome+data nascita presi tutti assieme. Prof. Roberto SPEDICATO Access - Progettazione Data Base 17 Fig. 4. Tabella con chiave primaria

18 Chiavi primarie Lunicità di questo campo viene garantita dal fatto che, cancellando un record, il suo ID non è più riutilizzato. Es., se cancelliamo lautore con ID 23, quella chiave viene persa per sempre. Prof. Roberto SPEDICATO Access - Progettazione Data Base 18 Attualmente ogni libro di una biblioteca è riconoscibile univocamente attraverso la chiave primaria ISBN

19 Codice ISBN Prof. Roberto SPEDICATO Access - Progettazione Data Base 19

20 Chiavi esterne Si è detto che le tabelle possono essere messe in relazione tra loro. Prendiamo ad es. la relazione tra libro e autore: Libro -> scritto da -> Autore chiave esterna Supponiamo che un libro sia scritto da un autore e che un autore abbia scritto diversi libri. La tabella Autore avrà allora un codice ID che identifica univocamente ogni autore. Quindi, per associare un libro ad un autore possiamo prevedere un campo, nella tabella Libro, che contenga il codice dellautore. Questo campo viene detto chiave esterna. Prof. Roberto SPEDICATO Access - Progettazione Data Base 20

21 Chiavi esterne Ragionando allo stesso modo anche per la relazione edito da con la casa editrice: il campo id_casa editrice nella tabella Libro è una chiave esterna e corrisponde ad un campo ID (chiave primaria) della tabella case editrici. Prof. Roberto SPEDICATO Access - Progettazione Data Base 21 Fig. 5. Tabella con chiavi esterne

22 Relazione 1 a 1 Esempio di relazione 1 a 1 tra entità uomo-donna Prof. Roberto SPEDICATO Access - Progettazione Data Base 22

23 Relazione 1 a N Esempio di relazione 1 a N tra entità madre-figlio Prof. Roberto SPEDICATO Access - Progettazione Data Base 23

24 Relazione N a N Esempio di relazione n a N tra entità studente-esame. Occorre creare una tabella sostiene con 2 chiavi corrispondenti a quelle delle altre 2 tabelle. Prof. Roberto SPEDICATO Access - Progettazione Data Base 24

25 Esempio di schema E/R CodCantante 25 Prof. Roberto SPEDICATO Access - Progettazione Data Base NomeGruppo CodBrano TitoloBrano Durata ALBUM BRANO Contiene M N CodGenere Tipo GENERE Appartiene 1 N CANTANTE CodAlbum Titolo Anno File Realizza N 1

26 Esempio di schema E/R Applicando le regole di derivazione possiamo trasformare il diagramma E/R nel seguente schema relazionale con 5 tabelle: ALBUM(CodAlbum, Titolo, Anno, CodCantante) BRANO(CodBrano, TitoloBrano, Durata, File, CodGenere) CANTANTE(CodCantante, Nome, Gruppo) GENERE(CodGenere, Tipo) CONTIENE(CodAlbum, CodBrano) 26 Prof. Roberto SPEDICATO Access - Progettazione Data Base


Scaricare ppt "Microsoft Access 2007-2010 Progettare un database Prof. Roberto SPEDICATO."

Presentazioni simili


Annunci Google