Basi di Dati - · PDF file25/02/2004 1 Basi di Dati Sistemi per Basi di Dati Relazionali:...

Click here to load reader

  • date post

    14-Feb-2019
  • Category

    Documents

  • view

    223
  • download

    0

Embed Size (px)

Transcript of Basi di Dati - · PDF file25/02/2004 1 Basi di Dati Sistemi per Basi di Dati Relazionali:...

25/02/2004

1

Basi di DatiSistemi per Basi di Dati

Relazionali: Modello Logico

Concetti Fondamentali

2

Concetti FondamentaliIntroduzione

Base di dati, tabella, ennupla, attributo, dominio

Valori nulli

Vincoli di chiave, di ennupla, di riferimento

Caratteristiche del modello

25/02/2004

2

3

IntroduzioneModello logico dei DBMS commerciali

Storia:Basato sul Modello Relazionale[E. F. Codd, 1970]Centrato sullindipendenza dei datiDisponibile in DBMS reali dal 1981ANSI/ISO SQL-92

4

AttenzioneLobiettivo di questa lezione descrivere le caratteristiche del modello

Non ci occupiamo, per ora:delle tecniche per manipolare i dati>> linguaggiodei metodi per costruire la base di dati (come scegliere le tabelle e valutare la qualit)>> metodologia di progetto

25/02/2004

3

5

IntuizioneBase di dati

insieme di tabelle

Tabellacollezione di ennuple

Ennupla:insieme di coppie (attributo, valore)analogo nei linguaggi di programmazione: struttura o record

6

Esempio: Studenti, Corsi, EsamiBase di dati universitari

Studentinome, cognome, matricola, data di nascita

Corsicodice, nome del corso, nome del docente

Esami sostenuticorso, studente, voto

25/02/2004

4

7

Studenti, Corsi, EsamiStudenti

nome: stringacognome: stringamatricola: interodata di nascita: data

Corsicodice: stringanome: stringanome del docente: stringa

Esami sostenuticorso: riferimento ad un corsostudente: riferimento ad uno studentevoto: interolode: s/no

8

matricola cognome nome dataNascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

Studenti

Studenti

TABLE Studenti(matricola integer,cognome char(20),nome char(20),dataNascita date);

ennupla attributo valore

schema(esempio disintassi)

dominio(tipo)

tabella(istanza)

25/02/2004

5

9

Corsi

codice titolo docentea01 Analisi Pincoc02 Chimica Brunic04 Chimica Verdi

Corsi

TABLE Corsi (codice char(3),titolo char(50),docente char(20));

10

Esami

TABLE Esami (matricola integer,voto integer,corso char(3),lode bool);

matricola voto corso3456 30 c043456 24 c029283 28 a016554 26 a01

lode1000

Esami

matricola di uno studente

codicedi un corso

25/02/2004

6

11

matricola cognome nome dataNascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

Studenti

codice titolo docentea01 Analisi Pincoc02 Chimica Brunic04 Chimica Verdi

Corsi

matricola voto corso3456 30 c043456 24 c029283 28 a016554 26 a01

lode1000

Esami

Base di Dati

12

SchemadellaBase di Dati

TABLE Studenti(matricola integer,cognome char(20),nome char(20),dataNascita date);

TABLE Corsi (codice char(3),titolo char(50),docente char(20));

TABLE Esami (matricola integer,voto integer,corso char(3),lode bool);

25/02/2004

7

13

Valori Nulli

Corsi

Studenti matricola cognome nome dataNascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

8999 Pinco Pallino ??

codice titolo docentea01 Analisi Pincoc02 Chimica Brunic04 Chimica Verdib05 Basi Dati ??

valore nullo

null

null

14

Vincoli sui Dati

Regole della realt di interesse

Unicit di codici di corso e matricoleidentificatori

Voti degli studentida 18 a 30lode solo se il voto 30

Correttezza dei riferimenti

25/02/2004

8

15

Una Base di Dati Scorretta

matricola6554

7878778787

cognomeRossiNeri

Bianchi

nomeMarioPieroLuca

Studenti

matricola voto lode corso32 0 a016554

78787 30 1 c026554 27 1 d031122 24 0 c04

Esami

unicit della matricola

voti scorretti

riferimentoscorretto

16

Vincoli di Integrit

Regole imposte sui valori della base di dati

Vincoli sulle singole tabellevincoli di chiavevincoli di ennupla

Vincoli tra tabelle diversevincoli di riferimento o di integrit referenziale

25/02/2004

9

17

Vincoli di Integrit

Vincoli di chiavechiave: identificatore per le ennuplees: matricola una chiave per Studenti

Vincoli di ennuplapredicati sui valori delle ennuplees: (voto>=18 and voto

25/02/2004

10

19

Vincoli di Ennupla

TABLE Esami (matricola integer,voto integer,corso char(3),lode bool,CHECK (voto>=18 and voto=18 and voto

25/02/2004

11

21

Schemacon

vincoli di integrit

TABLE Corsi (codice char(3),titolo char(50),docente char(20),UNIQUE(codice));

TABLE Studenti(matricola integer,cognome char(20),nome char(20),dataNascita date,UNIQUE(matricola));

TABLE Esami (matricola integer,corso char(3),voto integer,lode bool,CHECK (voto>=18 and voto

25/02/2004

12

23

Dal SudicioVia Buia, Pisa

Ricevuta Fiscale1235 del 12/10/2001

3 Coperti 3,00

2 Bistecche 18,003 Primi 12,002 Antipasti 6,20

Totale 39,20

Dal SudicioVia Buia, Pisa

Ricevuta Fiscale1240 del 13/10/2001

2 Coperti 2,00

2 Orate 20,002 Primi 8,002 Antipasti 7,00

2 Caff 2,00

Totale 39,00

Un Esempio di Informazione Nidificata

24

1235 39,2012/10/2000numero totaledata

1240 39,0013/10/2000

Ricevute

3 Coperti 3,00

2 Bistecche 18,003 Primi 12,002 Antipasti 6,20

Dettaglio qta portata prezzo1235

numero

1240

123512351235

2 Coperti 2,00

Una Possibile Rappresentazione

25/02/2004

13

25

Concetti FondamentaliIntroduzione

Base di dati, tabella, ennupla, attributo, dominio

Valori nulli

Vincoli di chiave, di ennupla, di riferimento

Caratteristiche del modello

26

matricola cognome nome dataNascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

Studenti

codice titolo docentea01 Analisi Pincoc02 Chimica Brunic04 Chimica Verdi

Corsi

matricola voto corso3456 30 c043456 24 c029283 28 a016554 26 a01

lode1000

Esami

Base di Dati