+ All Categories
Home > Documents > Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati)

Date post: 21-Jan-2016
Category:
Upload: owen
View: 71 times
Download: 0 times
Share this document with a friend
Description:
Corso di Informatica (Basi di Dati). Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati. Da : Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica, AA 2007-2008. Definizione informale. - PowerPoint PPT Presentation
27
1 Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati a: tzeni, Ceri, Paraboschi, Torlone - Basi di Dati ucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica AA 2007-2008
Transcript
Page 1: Corso di Informatica (Basi di Dati)

1

Corso di Informatica

(Basi di Dati)Lezione 1 (12 dicembre 2008)

Introduzione alle Basi di Dati

Da:Atzeni, Ceri, Paraboschi, Torlone - Basi di DatiLucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica,

AA 2007-2008

Page 2: Corso di Informatica (Basi di Dati)

2

Definizione informaleUna Base di Dati (o Database) èinformalmente un insieme organizzato di datiutilizzato per reperire le informazioninecessarie allo svolgimento delle attività diun ente, di un’azienda, di un ufficio, di unapersona, etc.In Informatica è un archivio strutturatoche consente la gestione dei dati (inserimento,ricerca, cancellazione e aggiornamento) daparte di un’applicazione software.

Page 3: Corso di Informatica (Basi di Dati)

3

Dato e InformazioneCos’è un dato?

Ciò che è immediatamente presente allaconoscenza prima di ogni elaborazione.In Informatica è un elemento diinformazione costituito da simboli chedevono essere elaborati.Ad esempio le due stringhe “Mario Rossi”e “25775” sono due dati che prima diessere elaborati non significano nulla.

Page 4: Corso di Informatica (Basi di Dati)

4

Dato e InformazioneCos’è un’informazione?

Notizia o elemento che consente diavere conoscenza più o meno esatta difatti, situazioni o modi di essere.I dati precedenti “Mario Rossi” e“25775” possono essere interpretatiper arricchire la nostra conoscenzacon il fatto che l’interno telefonico delsignor Mario Rossi è 25775.

Page 5: Corso di Informatica (Basi di Dati)

5

06 3432321Cirielli

02 3443232Dini323 4565430Bombi

02 34221Cometti335 4554679Aldini

02 34554322Ciri02 34556743Berti

TelefonoC-DTelefonoA-B

Un semplice esempio di organizzazione didati per ottenere informazioni è l’agendinatelefonica...

Dagli archivi tradizionali……alle Basi di Dati

…in cui vengono specificati cognomi e numeritelefonici con prefisso

Page 6: Corso di Informatica (Basi di Dati)

6

3432321Ciro (a Roma)

02 3443232Dini323 4565430B.

02 34221Comune335 4554679Aldo

02 34554322Casa02 34556743Berti

TelefonoC-DTelefonoA-B

Quali possono essere gli “inconvenienti”legati all’agendina? Ad esempio l’agendinadella slide precedente si trasforma in...

…e si vede che non sempre i campi cognome enumero telefonico con prefisso sono semprerispettati...

Dagli archivi tradizionali……alle Basi di Dati

Page 7: Corso di Informatica (Basi di Dati)

7

…Al posto del cognome c’è un nome (Aldo,Ciro), o solo l’iniziale con un punto (B.), o unluogo (Casa) o un riferimento sociale(Comune). Nel numero telefonico può mancareil prefisso come nel caso di Ciro in cui la città(Roma) viene specificata tra parentesiaccanto al nome. Quindi si può dedurre cheil prefisso è 06.

Dagli archivi tradizionali……alle Basi di Dati

Page 8: Corso di Informatica (Basi di Dati)

8

Un secondo semplice esempio è fornito dadue archivi separati gestiti da due ufficidistinti di una stessa università:

Archivio 1: orario delle lezioni (Ufficio

orario lezioni)

Archivio 2: orario di ricevimento dei docenti

(Ufficio orari ricevimento)

Dagli archivi tradizionali……alle Basi di Dati

Page 9: Corso di Informatica (Basi di Dati)

9

Archivio 1

Dagli archivi tradizionali……alle Basi di Dati

Page 10: Corso di Informatica (Basi di Dati)

10

Archivio 2

Dagli archivi tradizionali……alle Basi di Dati

Page 11: Corso di Informatica (Basi di Dati)

11

I possibili problemi di questi due archiviseparati sono:

ridondanza a causa della ripetizione di

informazioni (ad esempio da entrambi gli archivi

si può ricavare che Mario Bruni insegna Fisica I

e Fisica II)

incoerenza tra le informazioni presenti nei

due archivi

Dagli archivi tradizionali……alle Basi di Dati

Page 12: Corso di Informatica (Basi di Dati)

12

Dagli archivi tradizionali……alle Basi di Dati

Orario lezioni Archivio 1

Ricevimentodocenti Archivio 2

Page 13: Corso di Informatica (Basi di Dati)

13

Dagli archivi tradizionali……alle Basi di Dati

Orario lezioni

Base di Dati

Ricevimentodocenti

Le informazioni dei due archivi precedenticonfluiscono in un unica Base di Dati a cui

possono accedere entrambi gli uffici dell’università

Page 14: Corso di Informatica (Basi di Dati)

14

Ogni organizzazione (università, azienda,ufficio, etc.) è divisa in settori e svolgediverse attività.A ciascun settore o attività corrisponde unsistema informativo.Possono esistere sovrapposizioni tra i datidi interesse dei vari settori (vedere l’esempioprecedente degli uffici orario lezioni ericevimento docenti in un’università)

Le Basi di Dati

Page 15: Corso di Informatica (Basi di Dati)

15

Una Base di Dati è una risorsa di informazioneintegrata e condivisa da varie applicazioni.Di conseguenza possono esistere attività diversesui dati condivisi, il che richiedemeccanismi di autorizzazione (ad esempio perl’aggiornamento dei corsi e dei docenti), e attivitàmulti-utente sui dati condivisi, il che richiedecontrollo della concorrenza (ad esempio nellagestione dei conti corrente in una banca).Una Base di Dati necessità perciò di un sistemadi gestione di Basi di Dati, ovvero di DBMS.

Le Basi di Dati

Page 16: Corso di Informatica (Basi di Dati)

16

Un DBMS (DataBase Management System) è unprodotto software in grado di gestire collezionidi dati che siano: grandi condivise persistenti affidabili private efficienti efficaci

Le Basi di Dati: DBMS

Una Base di Dati è unacollezione di dati gestita

da un DBMS

Page 17: Corso di Informatica (Basi di Dati)

17

Una Base di Dati è grande e in generale hadimensioni maggiori della memoria centrale. IlDBMS deve prevedere una gestione dei dati inmemoria secondaria.Una Base di Dati è condivisa: applicazioni eutenti diversi devono poter accedere a daticomuni. Ciò riduce ridondanze e ripetizioni. IlDBMS deve prevedere un meccanismo di controllodella concorrenza.Una Base di Dati è persistente, cioè la sua vitanon è limitata a quella dei programmi che lautilizzano.

Le Basi di Dati: DBMS

Page 18: Corso di Informatica (Basi di Dati)

18

Una Base di Dati è affidabile e il contenuto vieneconservato intatto anche in caso dimalfunzionamenti. Il DBMS fornisce funzionalitàdi ripristino e salvataggio (recovery e backup).Una Base di Dati è privata e ogni utente vienericonosciuto e autorizzato a svolgere solodeterminate attività sui dati (tramite unmeccanismo di autorizzazione).Una Base di Dati è efficiente, cioè permette disvolgere le operazioni utilizzando risorse ditempo e di spazio che siano accettabili per gliutenti.

Le Basi di Dati: DBMS

Page 19: Corso di Informatica (Basi di Dati)

19

Una Base di Dati è efficace, nel senso cherende produttiva l’attività degli utenti che nefanno uso.

Alcuni esempi di DBMS sul mercato: Access DB2 Oracle Informix Sybase SQLServer

Le Basi di Dati: DBMS

Page 20: Corso di Informatica (Basi di Dati)

20

Il modello logico dei dati è l’insieme dei concettie dei costrutti usati per organizzare i dati erenderli comprensibili ad un elaboratore. Ilmodello logico dei dati è indipendente dal modellofisico, ovvero non dipende da come effettivamentei dati sono memorizzati sull’elaboratore.I DBMS, in base al modello logico dei dati a cuifanno riferimento, si possono suddividere in: relazionali gerarchici reticolari a oggetti

Il modello logico dei dati

Page 21: Corso di Informatica (Basi di Dati)

21

Il modello relazionale è attualmente ilmodello logico più diffuso e utilizza il costruttodi relazione inteso qui in senso matematico enon come legame (relationship). Organizza i datisecondo relazioni. Una relazione si può anchevedere come una tabella a struttura fissa, in cuile righe rappresentano specifici record e lecolonne rappresentano i campi (attributi) deirecord. Ad esempio nella Base di Datirelazionale di un’università, i dati relativiagli studenti possono essere organizzati nellarelazione/tabella della slide successiva.

Il modello relazionale

Page 22: Corso di Informatica (Basi di Dati)

22

Il modello relazionale

25-08-1988Chiara

16-04-1985LucaBianchi454

13-01-1986AndreaVerdi876

15-06-1987MarcoRossi545

NascitaNomeCognomeMatricola

Rossi111

Gli attributi di ogni studente sono le intestazionidelle colonne (Matricola, Cognome, Nome,Nascita). Ogni riga corrisponde al record di unparticolare studente.

Un esempio di relazione (che chiamiamo Studenti)che organizza i dati relativi agli studenti diun’università.

Page 23: Corso di Informatica (Basi di Dati)

23

Il modello relazionaleLo schema di una Base di Dati è la parte cherimane invariata nel tempo e che definisce lecaratteristiche dei dati.Ad esempio la relazione Studenti vista nella slideprecedente ha 4 colonne (4 attributi) che sonorispettivamente Matricola, Cognome, Nome,Nascita. Il suo schema è il seguente:

Studenti(Matricola, Cognome, Nome, Nascita)

cioè è composto dal nome della relazione seguitodagli attributi tra parentesi tonde.

Page 24: Corso di Informatica (Basi di Dati)

24

Il modello relazionaleL’istanza di una Base di Dati è la parte che varianel tempo ed è costituita dai dati (valori)contenuti nella Base di Dati.Ad esempio la relazione Studenti della slideprecedente ha 4 righe che corrispondono ai datiche riguardano 4 studenti. L’istanza di unarelazione è l’insieme delle sue righe e puòchiaramente variare nel tempo in quanto possonoessere aggiunte o tolte righe. Nel caso dellarelazione Studenti si possono aggiungere nuovistudenti che si immatricolano e togliere quelliche si laureano.

Page 25: Corso di Informatica (Basi di Dati)

25

I modelli concettualiI modelli concettuali permettono di descriverela realtà da rappresentare in una Base di Dati inmaniera indipendente da ogni sistema.Essi sono utilizzati nella fase preliminare diprogettazione della Base di Dati.Il più noto è il modello Entità-Relazione (E-R)in cui il concetto di Relazione è in questo caso daintendersi nel senso di legame logico(relationship). Il modello E-R fondamentalmentedescrive la realtà attraverso entità tra cuiesistono relazioni. Ad esempio...

Page 26: Corso di Informatica (Basi di Dati)

26

I modelli concettuali...il modello E-R per descrivere una realtàuniversitaria può avere le entità Studentee Corso tra cui esiste la relazione (relationship)Esame. Si vedrà poi che alle entità e allerelazioni nel modello E-R corrisponderannorelazioni/tabelle nel modello relazionale chedefinisce il modello logico dei dati.

Page 27: Corso di Informatica (Basi di Dati)

27

Linguaggi per Basi di Dati

Il linguaggi per Basi di Dati si possono distinguerein due categorie: linguaggi di definizione dei dati (DataDefinition Language, DDL) per definire lo schemadella Base di Dati linguaggi di manipolazione dei dati (DataManipulation Language, DML) per l’interrogazionee l’aggiornamento delle istanze della Base di Dati.Il linguaggio SQL (Structured Query Language)presenta le funzionalità di entrambe le categorie.


Recommended