Basi di Dati - C1 - Il modello relazionale dei dati

Click here to load reader

  • date post

    22-Jul-2015
  • Category

    Documents

  • view

    1.954
  • download

    2

Embed Size (px)

Transcript of Basi di Dati - C1 - Il modello relazionale dei dati

  • Basi di DatiBasidiDati

    Ilmodellorelazionaledeidati

  • Basi di Dati Dove ci troviamo?BasidiDati Dovecitroviamo?A)Introduzione

    C)ModelloRelazionale,

    1 2

    B) Prog Concettuale (ER) ) ,Algebrarelazionale,SQL

    1 2 3 4 5 6 7

    B)Prog.Concettuale(ER)

    1 2 3 4 5 6 7

    E)TecnologiadiunDBMSD)Prog.LogicaeNormalizzazione

    1 2 3 4 5 61 2 3 4

    F)ProgrammazioneDB

    1 21 2

    2 BasidiDati Ilmodellorelazionaledeidati

  • Cronologia dei modelli per la rappresentazione dei datiCronologiadeimodelliperlarappresentazionedeidati

    ` Modellogerarchico(anni60)g ( )

    ` Modello reticolare (anni 70)` Modelloreticolare(anni70)

    ` Modello relazionale (anni 80)` Modellorelazionale(anni80)

    d ll ( )` Modelloaoggetti(anni90)

    3 BasidiDati Ilmodellorelazionaledeidati

  • Esempio di modello reticolareEsempiodimodelloreticolare

    S d iS d i M i liM i liHaInPrestitoHaInPrestito

    StudentiStudenti MaterialiMateriali

    HaPrenotatoHaPrenotato EPrenotatoEPrenotato

    PrenotazioniPrenotazioni

    4 BasidiDati Ilmodellorelazionaledeidati

  • Esempio di modello gerarchicoEsempiodimodellogerarchico

    AteneiAtenei

    CdLCdL DipartimentiDipartimenti

    CorsiCorsiStudentiStudenti DocentiDocenti

    5 BasidiDati Ilmodellorelazionaledeidati

  • Cronologia del modello relazionaleCronologiadelmodellorelazionale

    ` InventatodaCodd nel1970` (IBMResearch diSantaTeresa,Cal)

    ` P i i tti` Primiprogetti:` SYSTEMR(IBM),Ingres (Berkeley Un.)

    ` PrimaversionedellinguaggioSQL(alloraSEQUEL):1974

    ` Primisistemicommerciali:inizioanni80(Oracle,IBMSQLDSeDB2,Ingres,Informix,Sybase)

    ` Successocommerciale:dal1985.

    6 BasidiDati Ilmodellorelazionaledeidati

  • System R CuriositSystemR Curiosit

    I T i d h d d d ll f k Irv Traiger:Leonardhad ordered all of us to pick aname for this project.We justsort of shrugged off,Itsnot important.He said,Itsimportant interms ofrecognition to have a name We would make attempts

    recognition to have aname.We would make attemptsatcoming upwith aname over weeks.One was Rufus,which was Francosdog.

    FrancoPutzolu:Rufus would have been abettername.It stands for Relational User Friendly UniversalSystem.

    Mike Blasgen: It would have been a better name MikeBlasgen:It would have been abetter name

    7 BasidiDati Ilmodellorelazionaledeidati

  • Definizione informaleDefinizioneinformale

    tabellatabella

    schemaschemastudentestudente

    colonnacolonna

    tabellatabella

    studentestudente

    MATRMATR NOMENOME CITTACITTA CCDIPDIP

    123123

    307307

    CarloCarlo

    GiovanniGiovanni

    BolognaBologna

    MilanoMilano

    InfInf

    LogLogistanzaistanza

    307307

    415415

    GiovanniGiovanni

    PaolaPaola

    MilanoMilano

    TorinoTorino

    LogLog

    InfInf

    702702 AntonioAntonio RomaRoma LogLog rigariga

    8 BasidiDati Ilmodellorelazionaledeidati

  • Definizione formaleDefinizioneformale

    ` DominioD ::` unqualunqueinsiemedivalori

    ` Prodottocartesianosundomini(nonnecessariamente distinti) D1 x D2 x Dn:necessariamentedistinti),D1xD2xDn:` insiemedituttelenple (tuple),

    d Di 1 i condiDi ,1i n

    ` Relazione RsuD1,D2,...,Dn :unqualunquesottoinsiemediD1xD2x...Dn

    9 BasidiDati Ilmodellorelazionaledeidati

  • EsempioEsempio

    ` D1=(a,b)( , )` D2=(1,2,3)

    ` D1xD2=(,,,,,)

    ` R1=(,)` R2=(,,)` R3 = ( )` R3 ()` R4=(,,,,,)

    10 BasidiDati Ilmodellorelazionaledeidati

  • ProprietPropriet

    ` Grado dellarelazione:` numerodidomini(n)

    ` Cardinalit dellarelazione:` numero di tuple` numerodituple

    ib` Attributo:` nomedatoadundominioinunarelazione[Inomidiattributoinunarelazionedevonoesseretuttidistinti fraloro]

    11 BasidiDati Ilmodellorelazionaledeidati

  • Propriet` Schemadiunarelazione:

    b ll ( 1 N)

    Propriet

    tabella(attr1,,attrN)[Inomidegliattributiinunoschemadevonoesseretuttidistinti fra loro]distinti fraloro]

    ` Istanzadellarelazione:` uninsiemedituplesu(attr1,,attrN)p ( , , )

    R1(A,BR1(A,B)) R2(C,D)R2(C,D)

    AA

    aa

    BB

    11

    CC

    cc

    DD

    11

    bb 33 bb

    aa

    33

    22aa 2212 BasidiDati Ilmodellorelazionaledeidati

  • Confronto della terminologiaConfrontodellaterminologia

    U diffDEFINIZIONEDEFINIZIONE

    FORMALEFORMALE

    DEFINIZIONEDEFINIZIONE

    INFORMALEINFORMALE

    Unadifferenzasignificativa:

    FORMALEFORMALE

    l il i

    INFORMALEINFORMALE

    t b llt b ll

    DEFINIZIONEDEFINIZIONEFORMALEFORMALE

    relazionerelazione

    attributoattributo

    ll ll

    tabellatabella

    colonnacolonna

    ii

    assenzaassenzadiduplicatididuplicati

    tupla,ntupla,nplapla

    dominiodominio

    rigariga

    tipodidatotipodidato DEFINIZIONEDEFINIZIONEINFORMALEINFORMALE

    cardinalita'cardinalita'

    gradogrado

    numerodirighenumerodirighe

    numerodicolonnenumerodicolonnepossibiliduplicatipossibiliduplicati

    13 BasidiDati Ilmodellorelazionaledeidati

  • Base di datiBasedidati` Schemadibasedidati:` uninsiemedischemidirelazioni[tuttiinomidirelazioni

    dellabasedidatidevonoesseredifferenti]

    ` Istanzadellabasedidati:(( )) ( )( )` uninsiemediistanzedirelazioni

    AA BB CC DD

    R1(A,BR1(A,B)) R2(C,D)R2(C,D)

    aa

    bb

    11

    33

    cc

    bb

    11

    33bb 33 bb

    aa

    33

    22

    14 BasidiDati Ilmodellorelazionaledeidati

  • Esempio: gestione degli esami universitariEsempio:gestionedegliesamiuniversitari

    ddstudentestudente

    MATRMATR NOMENOME CITTACITTA CCDIPDIP

    123123

    415415

    CarloCarlo

    PaolaPaola

    BolognaBologna

    TorinoTorino

    InfInf

    InfInf

    702702 AntonioAntonio RomaRoma LogLog

    15 BasidiDati Ilmodellorelazionaledeidati

  • Esempio: gestione degli esami universitariEsempio:gestionedegliesamiuniversitari

    corsocorsocorsocorsoCODCODCORSOCORSO

    TITOLOTITOLO DOCENTEDOCENTE

    11

    22

    matematicamatematica

    informaticainformatica

    BarozziBarozzi

    MeoMeo

    16 BasidiDati Ilmodellorelazionaledeidati

  • Esempio: gestione degli esami universitariEsempio:gestionedegliesamiuniversitari

    esameesameesameesameMATRMATR CODCOD

    CORSOCORSODATADATA VOTOVOTO

    123123

    123123

    11

    22

    77990404

    88110505

    3030

    2828

    702702 22 77990404 2020

    17 BasidiDati Ilmodellorelazionaledeidati

  • Esempio: gestione degli esami universitaristudentestudente

    Esempio:gestionedegliesamiuniversitari

    MATRMATR

    123123

    NOMENOME

    CarloCarlo

    CITTACITTA

    BolognaBologna

    CCDIPDIP

    InfInf

    415415

    702702

    PaolaPaola

    AntonioAntonio

    TorinoTorino

    RomaRoma

    InfInf

    LogLog

    esameesameMATRMATR CODCOD DATADATA VOTOVOTO

    corsocorsoCODCOD TITOLOTITOLO DOCENTEDOCENTE

    123123

    CORSOCORSO

    11 77990404 3030

    CORSOCORSO

    11 matematicamatematica BarozziBarozzi

    123123

    702702

    22

    22

    88110505

    77990404

    2828

    2020

    22 informaticainformatica MeoMeo

    18 BasidiDati Ilmodellorelazionaledeidati

  • InterrogazioniInterrogazioniqualiprofessorihannoesaminatoCarlo?studentestudentestudentestudente

    MATRMATR NOMENOME CITTACITTA CCDIPDIP

    123123

    415415

    CarloCarlo

    PaolaPaola

    BolognaBologna

    TorinoTorino

    InfInf

    InfInf

    702702 AntonioAntonio RomaRoma LogLog

    esameesame corsocorsoMATRMATR

    123123

    CODCODCORSOCORSO

    11

    DATADATA

    77 99 0404

    VOTOVOTO

    3030

    CODCODCORSOCORSO

    11

    TITOLOTITOLO

    matematicamatematica

    DOCENTEDOCENTE

    BarozziBarozzi123123

    123123

    702702

    11

    22

    22

    77990404

    88110505

    77 99 0404

    3030

    2828

    2020

    11

    22

    matematicamatematica

    informaticainformatica

    BarozziBarozzi

    MeoMeo

    702702 22 77990404 2020

    19 BasidiDati Ilmodellorelazionaledeidati

  • InterrogazioniInterrogazioni

    qualistudentihannopreso30inmatematica?

    studentestudenteMATRMATR

    123123

    NOMENOME

    C lC l

    CITTACITTA

    B lB l

    CCDIPDIP

    I fI f123123

    415415

    CarloCarlo

    PaolaPaola

    BolognaBologna

    TorinoTorino

    InfInf

    InfInf

    702702 AntonioAntonio RomaRoma LogLog

    esameesame corsocorsoMATRMATR

    123123

    CODCODCORSOCORSO

    11

    DATADATA

    77990404

    VOTOVOTO

    3030

    CODCODCORSOCORSO

    11

    TITOLOTITOLO

    matematicamatematica

    DOCENTEDOCENTE

    BarozziBarozzi123123

    123123

    702702

    11

    22

    22

    77 99 0404

    88110505

    77990404

    3030

    2828

    2020

    11

    22

    matematicamatematica

    informaticainformatica

    BarozziBarozzi

    MeoMeo

    702702 22 77990404 2020

    20 BasidiDati Ilmodellorelazionaledeidati

  • Esempio: gestione personaleEsempio:gestionepersonaleimpiegatoimpiegato

    MATRMATR

    11

    NOMENOME

    PieroPiero

    DATADATAASSASS

    11110202

    SALARIOSALARIO

    15001500

    MATRMATRMGRMGR

    22

    22

    33

    GiorgioGiorgio

    GiovanniGiovanni

    11110404

    11770303

    20002000

    10001000

    nullnull

    22

    assegnamentoassegnamentoMATRMATR NUMNUMPROGPROG PERCPERC

    progettoprogettoTITOLOTITOLO TIPOTIPONUMNUM PROGPROGMATRMATR

    11

    11

    NUMNUMPROGPROG

    33

    44

    PERCPERC

    5050