Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
A, B, C
Fogli Elettronici:
piccoli aggregati di dati utilizzo: simili a fogli cartacei estrazione di informazioni soprattutto di carattere numerico
Basi Dati:
aggregati di dati medio grandi utilizzo: come archivi estrazione selettiva di informazioni di carattere generale
aa 2009-10
Sistemi software per la gestione di collezioni di dati che siano: grandi, condivise, persistenti assicurando: affidabilit e riservatezza I DBMS devono essere: efficienti e efficaci BASE DI DATI = collezione di dati gestita da un DBMS
BASE DI DATI = DATI + DBMS
aa 2009-10
DBMS - Richiamo
Il DBMS gestisce
definizione manipolazione (immissione, modifica, cancellazione dati) interrogazione (accesso, elaborazione, trasferimento, presentazione e visualizzazione dellinformazione)
aa 2009-10
aa 2009-10
Progettazione di basi di dati Concretamente: Si descrive lo schema concettuale utilizzando diagrammi Entit-Relazione (E-R) Entit: classi di oggetti rilevanti Relazioni: legami tra entit Attributi: descrivono propriet rilevanti di entit e relazioni
RELAZIONE ENTITA
attributo
aa 2009-10 Lab.Inf. Sez.A,B,C - Lez.L3 6
aa 2009-10
Relazioni
aa 2009-10
ESEMPIO
Problema: progettare una base di dati per archiviare studenti, materie e relativi esami Schema concettuale: mediante un diagramma E-R descriviamo entit, attributi e relazioni che vogliamo inserire nel data base Schema logico: definiamo lo schema delle tabelle e le relazioni tra di esse
aa 2009-10
Schema concettuale
Diagramma E-R per una base di dati in cui archiviare studenti, materie e relativi esami
voto MATERIA
aa 2009-10
10
MATERIA
Codice 01 02 04
aa 2009-10
Istanza
12
Un insieme di attributi detto chiave di una tabella se identifica univocamente ogni riga della tabella. Quando ne esiste pi di una, il progettista ne sceglie una, che viene detta chiave primaria. utile (anche se non obbligatorio) scegliere per ciascuna tabella una chiave primaria: permette di evitare ridondanze e inserimento di dati disomogenei in una tabella di organizzare le ricerche nella base dati
aa 2009-10
13
aa 2009-10
14
Relazioni
Esame una relazione tra le tabelle Studente e Materia Si ha la seguente situazione: Studente
Matricola 111111 222222 333333 444444 555555 Cognome Bianchi Verdi Rossi . Neri Codice 101 102 103 104 105
Materia
Titolo
aa 2009-10
15
Quindi Esame una relazione molti-a-molti, si tratta definendo una nuova tabella Esame con lo schema seguente Esame: Studente (intero), Corso (intero), Voto (intero), Data (data) Si ottengono due relazioni uno-a-molti rispettivamente tra Studente ed Esame e tra Materia ed Esame
aa 2009-10
16
Materia
Codice 101 102 103 104 105 Titolo
Esame
Voto Data
aa 2009-10
18
Relazioni: integrit referenziale Si potrebbe osservare che, anche con pi tabelle, si ha una forma di ripetizione: la matricola degli studenti compare sia nella tabella Studente sia in quella Esami (analogamente per il nome dei corsi) Ma questa forma di ripetizione lessenza stessa delle basi di dati relazionali: due tabelle sono messe in relazione dai dati che hanno in comune;
ad esempio, consente di controllare lintegrit dei dati, attraverso il controllo della integrit referenziale
aa 2009-10
19
aa 2009-10
20
Materia
Codice 101 102 103 ??? 105 Titolo
Esame
Voto Data
Se si informa il sistema di gestione della base dati di un vincolo di integrit, si ha un controllo automatico e, a richiesta, uneliminazione automatica dei record scollegati.
aa 2009-10
22
Si accede ai dati mediante interrogazioni Le interrogazioni, o query - estraggono dati dalla base di dati - si eseguono specificando
tabelle su cui applicare la ricerca insieme di campi da estrarre e criteri di ricerca
aa 2009-10
23
Operando sulle tabelle mediante interrogazioni si possono ottenere informazioni aggiuntive rispetto a quelle di partenza - selezionando solo i record che soddisfano particolari propriet - selezionando tutti i valori per specifici campi - combinando varie tabelle per crearne altre
aa 2009-10
24
Le interrogazioni non modificano i dati contenuti in una base di dati, vi accedono solo in lettura In una base di dati relazionale ogni interrogazione si riduce alla costruzione di una nuova tabella, detta VISTA poich non fisicamente presente nella base dati, ma estratta da essa.
aa 2009-10
25
Accesso ai dati
aa 2009-10
26
Esercitazione guidata Non vedremo SQL ma utilizzeremo linterfaccia visuale di Open Office Base (che crea automaticamente corrispondenti enunciati SQL)
aa 2009-10
27
Esercitazione guidata
Problema. Costruire una base di dati per la gestione di un archivio bibliografico ad uso personale, con Articoli o Libri
sono previste ricerche per titolo, autori, anno, argomenti; per completezza, si dar anche la casa editrice ed un breve riassunto, che per non saranno utilizzati per fare delle ricerche
aa 2009-10
28
Vogliamo inserire ed aggiornare i dati Vogliamo fare delle ricerche per titolo, autore, anno, argomento
aa 2009-10
29
Attributi di Articoli o Libri: IdArticolo (tipo intero) Titolo (tipo testo) Anno (tipo intero) Dati pubblicazione (editore, rivista, ecc.) (tipo memo) Riassunto (tipo memo)
Diagramma E-R
Esercizio: disegnare il diagramma E-R
aa 2009-10
32
Autori
Nome
aa 2009-10
33
Soluzione:
Articoli o libri
IdArticolo Titolo ..
Autori
Nome
RelArticoloAutore
idArticolo Nome
art11 ha due autori, Giani e Gioele art7 un autore, Rossi art12 un autore, Rossi
34
Autore
RelLibroAr..
Argomento
aa 2009-10
35
aa 2009-10
36
aa 2009-10
37
Note
Abbiamo usato il Nome come chiave primaria della tabella Autori; quindi non sono ammesse omonimie (si useranno le iniziali ed altri segni distintivi). Una scelta migliore (che non faremo per brevit) potrebbe essere quella di usare una diversa chiave primaria IdAutore. In modo simile a quello visto per la relazione molti a molti Libro Autore si pu realizzare la relazione molti a molti Libro - Argomento
aa 2009-10
38
Autore
RelLibroAr..
Argomento
aa 2009-10
39
aa 2009-10
40
aa 2009-10
41
aa 2009-10
43
Chiudendo la finestra viene chiesto come salvarla; indicare il nome che volete, ad es. Articoli o Libri, e CLICK su OK
Intero Intero
aa 2009-10
44
possibile modificare le propriet dei campi: in visualizzazione struttura evidenziare un campo e modificarne le propriet nellarea Propriet di campo: Valore automatico/Digitazione necessaria Lunghezza Valore predefinito Esempio di formato
aa 2009-10
45
Nella tabella Articoli o Libri impostare: Valore automatico per Idarticolo Lunghezza 100 per il titolo
aa 2009-10
46
Vi ora la tabella Articoli o Libri: Tabella vuota Articoli o Libri Con un Click su Articoli o Libri .
aa 2009-10
47
campo automatico
Inserire dei dati di prova; si noti che non si possono inserire dati nel campo IdArticolo, i cui valori sono generati automaticamente.
aa 2009-10
48
Si pu inserire, ad esempio:
0 1 2
Inserite solo le prime due righe, la terza serve solo come esempio del Controllo dei dati che non disponibile in Open Office Base:
aa 2009-10
49
0 1 2
Lanno 3000 errato: conviene introdurre dei controlli per evitare dati errati, almeno dove possibile. Per far ci bisogna operare a livello di Visualizzazione struttura
aa 2009-10
50
Dopo aver selezionato il campo Anno, modificato Intero lungo in Intero e Richiesto da No a S, cliccare su Valido se Controlli sui dati: non disponibile per inserire un controllo; in Open Office Base compaiono i , su cui cliccare Per inserire un controllo sullAnno:
aa 2009-10
51
compare il Generatore Espressioni, dove potete digitare lespressione (Anno > 1899) AND (Anno < Year(Date())+1) Poi click su OK
Per passare da visualizzazione inserimento dati a visualizzazione struttura si chiude il foglio dati si seleziona la tabella si seleziona Modifica da tasto destro o dal menu omonimo oppure click sul tasto Modifica
aa 2009-10
53
PROSEGUENDO.
Ora sapete creare le altre tabelle; cominciamo da: Autori, con due campi: Nome chiave primaria, tipo testo Contatto campo non obbligatorio, di tipo memo, con ad es. email, indirizzo, . RelArticoloAutore, con due campi IdArticolo intero (che collegheremo a IdArticolo di Articolo o Libro come chiave esterna) Nome tipo testo, (che collegheremo a Nome di Autori come chiave esterna) con: (IdArticolo, Nome) come chiave multicampo
aa 2010-11 Lab.Inf. Sez.A,B,C - Lez.L3 54
Per la tabella RelArticoloAutore bisogna creare una chiave multicampo; definiti i campi IdArticolo Intero e Nome Testo, si procede inserendo un INDICE (sostanzialmente, un indice con vincolo di univocit un sinonimo di chiave) come segue.
aa 2009-10
55
Selezionare le righe dei due campi e con tasto destro selezionare chiave primaria Per vedere le propriet dellindice: dal menu Strumenti: Struttura indice
aa 2009-10
56
Restano da creare le strutture di tabella: Argomenti, con un solo campo: Argomento chiave primaria TESTO
RelArticoloArgomento, con due campi IdArticolo intero, collegato a IdArticolo di Autori, chiave esterna Argomento testo, collegato a Argomento di Argomenti, chiave secondaria (IdArticolo, Argomento) chiave multicampo (creare come prima un indice univoco)
aa 2009-10 Lab.Inf. Sez.A,B,C - Lez.L3 57
Lasciando perdere le chiavi esterne, ma non chiave primaria ed indice univoco, ora lo dovreste saper fare. Alla fine, avrete le tabelle:
aa 2009-10
58
aa 2009-10
59
Dalla barra Strumenti selezionare Relazioni Compare una finestra Relazioni con una sottofinestra Aggiungi Tabelle AGGIUNGERE le tabelle che si vogliono collegare, nel nostro caso: Articoli o Libri Autori RelArticoloAutore Aggiunte le tabelle e chiusa la sottofinestra Aggiungi Tabelle, si ottiene
aa 2009-10
60
Trascinare Autori sotto ad Articoli o Libri; cliccare su IdArticolo di Articoli o Libri e, mantenendo premuto il tasto del mouse, portare il cursore su IdArticolo di RelArticoloAutore; quindi rilasciare il tasto del mouse;compare:
aa 2009-10
61
Click su
Non presente in Open Office
aa 2009-10
62
In modo simile si collega la chiave primaria Nome di Autori a quella secondaria Nome di RelArticoloAutore. Ricordarsi di applicare lINTEGRITA REFERENZIALE e AGGIORNAMENTI ed ELIMINAZIONI A CASCATA
aa 2009-10 Lab.Inf. Sez.A,B,C - Lez.L3 63
Si ottiene:
aa 2009-10
64
Articoli o Libri
IdArticolo Titolo ..
RelArticoloAutore
idArticolo Nome
Autori
Nome
65
Salvate le relazioni introdotte e provate a popolare le tabelle in modo da ottenere listanza della diapositiva precedente: in Visualizzazione Foglio dati le tabelle
aa 2009-10
66
0 1 2
2 2 0 1
aa 2009-10 Lab.Inf. Sez.A,B,C - Lez.L3 67
Ricordate che avete selezionato le opzioni di aggiornamento a cascata cancellazione a cascata Ci comporta che, per mantenere lintegrit referenziale, aggiornamenti o cancellazioni sulle tabelle primarie si propagano, a cascata, su quelle secondarie. Provate a cancellare il record Rossi dalla tabella primaria Autori. Ottenete:
aa 2009-10
68
2 2
aa 2009-10
69
Si tratta ora di aggiungere le relazioni 1-molti da Articoli o Libri e Argomenti a RelArticoloArgomento Bisogna prima aprire (da Strumenti) la finestra Relazioni Poi aggiungere le tabelle Argomenti e RelArticoloArgomento come prima Si opera quindi come gi visto in precedenza; il risultato finale devessere:
aa 2009-10
70
aa 2009-10
71
0 0 1
0 1 2
aa 2009-10
72
aa 2009-10
73
aa 2009-10
74
Open Office Base: query zona inizialmente vuota, viene riempita con gli schemi delle tabelle selezionate dalla lista
aa 2009-10
75
Open Office Base: query Le tabelle sono collegate dalle relazioni predefinite (la parte superiore della finestra in effetti una porzione della finestra Relazioni rilevante per linterrogazione che si vuole definire)
aa 2009-10
76
Per immettere i nomi degli attributi si pu: Open Office Base: query scrivere direttamente il nome dellattributo (e della tabella) selezionarlo dalla parte superiore e trascinarlo nella relativa colonna selezionarlo dal menu a discesa
Open Office Base: query fa riferimento allordinamento delle tuple del risultato, se pi colonne sono attivate lordinamento eseguito procedendo da sinistra a destra
Open Office Base: query condizioni che devono essere soddisfatte dalle tuple risultato dellinterrogazione, possono essere costanti, confronti o espressioni pi complesse (riferimenti ad altri attributi, ecc.)
aa 2009-10
79
aa 2009-10
80
fornisce titolo e anno di pubblicazione degli articoli pubblicati prima del 2001
aa 2009-10
81
Provare a togliere il segno di spunta dallanno in modo da renderlo non visibile nel risultato
aa 2009-10 Lab.Inf. Sez.A,B,C - Lez.L3 82
Cani e gatti
aa 2009-10
>1999
Lab.Inf. Sez.A,B,C - Lez.L3 83
aa 2009-10
84
aa 2009-10
85