Download - Basi di Dati

Transcript
Page 1: Basi di Dati

Basi di Dati

Microsoft Office: Access

OpenOffice: Base

Page 2: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 2

Scopo dei programmi Office

• Word: scrivere un documento e stamparlo

• Excel: stilare un rendiconto e (eventualmente) tradurre i risultati in grafici

• PowerPoint: fare una presentazione (di solito, di fronte ad un uditorio)

• Access: gestire una base di dati

Page 3: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 3

Base di dati

Insieme organizzato di dati

utilizzati per il supporto allo

svolgimento delle attività di un

ente (azienda, ufficio, persona)

Page 4: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 4

Sistema di gestione di basi di datiDataBase Management System — DBMS

Sistema (prodotto software) in grado di gestire collezioni di dati che siano (anche):

grandi (di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati)

persistenti (con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano)

Condivise (utilizzate da applicazioni e utenti diversi) garantendo affidabilità (resistenza a malfunzionamenti

hardware software) e privatezza (con una disciplina e un controllo degli accessi). Come ogni prodotto informatico, un DBMS deve essere efficiente (utilizzando al meglio le risorse di spazio e tempo del sistema) ed efficace (rendendo produttive le attività dei suoi utilizzatori).

Page 5: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 5

Alcuni DBMS in commercio

AccessDB2OracleInformixSybaseSQLServerIngresPostgresMySQL

Page 6: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 6

Condivisione

Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività

A ciascun settore o attività corrisponde un (sotto)sistema informativo

Possono esistere sovrapposizioni fra i dati di interesse dei vari settori

Una base di dati è una risorsa integrata, condivisa fra i vari settori

Page 7: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 7

Page 8: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 8

Page 9: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 9

Possibili problemi

Ridondanza:

informazioni ripetute

Rischio di incoerenza:

le versioni possono non coincidere

Page 10: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 10

Archivi e basi di dati

Gestione ricevimento

Archivio 2:ricevimento

Gestione orario lezioni

Archivio 1:orario lezioni

Page 11: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 11

Archivi e basi di dati

Gestione ricevimento

Gestione orario lezioni

Base di dati

Page 12: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 12

Obiettivo

• Gestire dati strutturati– Inserire, modificare, cancellare dati

• Fare ricerche sui dati secondo svariati criteri

• Presentare i dati in modi diversi

Page 13: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 13

Relazioni nel modello relazionale dei dati

A ciascun dominio associamo un nome

(attributo), unico nella relazione, che “descrive”

il ruolo del dominio

L’ordinamento fra gli attributi è irrilevante:

la struttura è non posizionale

Page 14: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 14

Tabelle e relazioni Una tabella rappresenta una relazione se

i valori di ogni colonna sono fra loro omogenei

le righe sono diverse fra loro

le intestazioni delle colonne sono diverse tra

loro

In una tabella che rappresenta una relazione

l’ordinamento tra le righe è irrilevante

l’ordinamento tra le colonne è irrilevante

Page 15: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 15

Il modello è basato su valori

i riferimenti fra dati in relazioni

diverse sono rappresentati per

mezzo di valori dei domini che

compaiono nelle ennuple

Page 16: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 16

Matricola Cognome Nome Data di nascita

6554 Rossi Mario 05/12/1978

8765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/1978

9283 Verdi Luisa 12/11/1979

studenti

Codice Titolo Docente

01 Analisi Mario

02 Chimica Bruni

04 Chimica Verdi

corsi

Studente Voto Corso3456 30 043456 24 029283 28 01

esami

6554 26 01

Page 17: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 17

Matricola Cognome Nome Data di nascita

6554 Rossi Mario 05/12/1978

8765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/1978

9283 Verdi Luisa 12/11/1979

studenti

Codice Titolo Docente

01 Analisi Mario

02 Chimica Bruni

04 Chimica Verdi

corsi

Studente Voto Corso302428

esami

26

Page 18: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 18

Vantaggi della struttura basata su valori

indipendenza dalle strutture fisiche (si potrebbe avere anche con puntatori di alto livello) che possono cambiare dinamicamente

si rappresenta solo ciò che è rilevante dal punto di vista dell’applicazione

l’utente finale vede gli stessi dati dei programmatori

i dati sono portabili piu' facilmente da un sistema ad un altro

i puntatori sono direzionali

Page 19: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 19

Chiavi

non ci sono due ennuple con lo stesso valore sull’attributo Matricola

non ci sono due ennuple uguali su tutti e tre gli attributi Cognome, Nome e Data di Nascita

Matricola

27655

78763

65432

Nome

Mario

Piero

Mario87654

67653

Mario

Cognome

Rossi

Neri

Neri

Rossi

Rossi Piero

Corso

Ing Inf

Ing Mecc

Ing Inf

Ing Inf

Ing Mecc

Nascita

5/12/78

10/7/79

3/11/76

3/11/76

5/12/78

Page 20: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 20

Chiave

insieme di attributi che identificano

univocamente le ennuple di una

relazione

– Superchiave

– Minimale

Page 21: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 21

Esempio

Matricola è una chiave:

è superchiave

contiene un solo attributo e quindi è

minimale

Matricola

27655

78763

65432

Nome

Mario

Piero

Mario87654

67653

Mario

Cognome

Rossi

Neri

Neri

Rossi

Rossi Piero

Corso

Ing Inf

Ing Mecc

Ing Inf

Ing Inf

Ing Mecc

Nascita

5/12/78

10/7/79

3/11/76

3/11/76

5/12/78

Page 22: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 22

Esempio

Cognome, Nome, Nascita è un’altra chiave: è superchiave minimale

Matricola

27655

78763

65432

Nome

Piero

Mario87654

67653

Cognome

Neri

Neri

Mario

Mario

Rossi

Rossi

Rossi Piero

Corso

Ing Inf

Ing Mecc

Ing Inf

Ing Inf

Ing Mecc

Nascita

5/12/78

10/7/79

3/11/76

3/11/76

5/12/78

Mario

Mario

Rossi

Rossi

Rossi

5/12/78

5/12/78

Rossi

Mario 3/11/76

3/11/76Mario

Page 23: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 23

Importanza delle chiavi

l’esistenza delle chiavi garantisce

l’accessibilità a ciascun dato della base

di dati

le chiavi permettono di correlare i dati

in relazioni diverse:

il modello relazionale è basato su valori

Page 24: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 24

Oggetti di una base di dati Access

• Tabelle

• Query (“domanda”, “interrogazione”)

– per estrarre alcuni dati selezionati

Page 25: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 25

Oggetti di una base di dati access (2)

• Maschere

– per inserimento dati in un formato “a scheda”

• Report (“riassunto”)

– per elencare i dati secondo un formato che li raccoglie per categorie

Page 26: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 26

Tabelle

• Griglia righe-colonne

• Attributi (o campi) sulle colonne

• Ogni riga è un record, indivisibile

• Ogni record rappresenta un dato strutturato

Page 27: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 27

Visualizzazioni di una tabella

• Foglio dati (è la tabella stessa)

• Struttura: per ogni campo, si visualizza (e si cambia eventualmente) – il tipo di dato (numero, testo, data, si/no,

…)

– le sue caratteristiche

Page 28: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 28

Modifica e inserimento

• Dal foglio dati, è possibile inserire nuovi record (nell’ultima riga vuota del foglio)

• È possibile copiare, tagliare, incollare singoli valori, o interi record

• Access controlla sempre che i dati inseriti o modificati rispettino i vincoli stabiliti nella struttura – es. duplicati, tipo dei dati

Page 29: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 29

Caratteristiche di un tipo di dato

• Es. per il testo: – numero di caratteri

• fino a 255

– richiesto (si/no)• se sì, ogni record deve avere il campo

riempito

– duplicati ammessi,

– indicizzato

Page 30: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 30

Uso delle caratteristiche

• Access controlla che ogni dato inserito rispetti le caratteristiche specificate

– ad es., se un campo "codice fiscale" ha

lunghezza 16 caratteri, Access rifiuta

inserimenti di C.F. di 17 o più caratteri

Page 31: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 31

Perché dei controlli sui dati

• I dati sono un patrimonio (asset) dell'istituzione che li detiene

• spesso hanno un valore di mercato

• Dati inaffidabili producono:

• perdita di valore

• inefficacia del loro uso (ad es., invio di

lettere)

Page 32: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 32

Limiti dei controlli

• I controlli sui dati che può fare Access sono puramente formali, non sostanziali (sintattici e non semantici)

– si può scartare un C.F. come "Blabla"

– non si riesce a scartare un C.F. come

ABCDEF12G34H567Z (formalmente giusto)

Page 33: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 33

Indicizzazione

Se un campo è indicizzato, la ricerca di un

dato secondo quel campo è molto veloce

• Es. l’ordine alfabetico dei cognomi nell’elenco

telefonico

• si apre l'elenco a metà, e si continua la ricerca

nella sola metà in cui sta il cognome

Page 34: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 34

indicizzazione (2)• Se un campo non è indicizzato, per

cercare un dato bisogna (nel caso peggiore) scorrere tutti i record– Es. cercare sull’elenco il nome di una

persona avendo il suo numero di telefono...

– non si può saltare neanche una pagina• il nome-numero potrebbe essere proprio lì

Page 35: Basi di Dati

Informatica 1 SCICOM (COM) - a.a. 2010/11 35

Chiave primaria

• campo speciale di ogni tabella

• duplicati non ammessi, valore mai vuoto

• identifica univocamente un record

• es., il codice fiscale di una persona

• di solito, campo "ID" di tipo contatore