1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro associazioni in modo concettuale Studente Esame (0,N) Matricola Cognome Corso Nome Docente Voto (0,N) Uno studente ha la matricola ed un cognome Un corso ha un nome ed un docente Uno studente sostiene un esame per un corso, riportando un voto lesame è unassociazione tra studente e corso Uno studente può sostenere più esami, ma non per lo stesso corso Schema E/R E/R Requisiti in linguaggio naturale Informazioni Vincoli
2 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro associazioni in modo concettuale Studente Esame (0,N) Matricola Cognome Corso Nome Docente Voto (0,N) Uno studente ha la matricola ed un cognome Un corso ha un nome ed un docente Uno studente sostiene un esame per un corso, riportando un voto lesame è unassociazione tra studente e corso Uno studente può sostenere più esami, ma non per lo stesso corso Schema E/R E/R Requisiti in linguaggio naturale
3 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro associazioni in modo concettuale Studente Esame (0,N) Matricola Cognome Corso Nome Docente Voto (0,N) Uno studente ha la matricola UNIVOCA (ovvero non ci sono due studenti con la stessa matricola) ed un cognome Schema E/R E/R Requisiti in linguaggio naturale Un corso ha un nome UNIVOCO ed un docente
4 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro associazioni in modo concettuale Studente Esame (0,N) Matricola Cognome Corso Nome Docente Voto (0,N) Uno studente ha la matricola UNIVOCA (ovvero non ci sono due studenti con la stessa matricola) ed un cognome Schema E/R E/R Requisiti in linguaggio naturale Un corso ha un nome ed un docente Non ci possono essere due corsi con lo stesso nome e docente
5 Vincoli di Integrità Studente Esame (0,N) Corso (0,N) Uno studente può sostenere fino ad un massimo di 29 esami Uno studente non può sostenere due o più volte un esame per lo stesso corso E/R Vincolo di Integrità Esempi di altri requisiti che corrispondono a Vincoli di Integrità esprimibili sullo schema E/R Per un corso deve essere registrato almeno un esame Condizione che le istanze dello schema devono soddisfare
6 Istanza Studente Esame (0,N) Corso (0,N) s1s1 s2s2 s3s3 c1c1 c2c2 e2e2 e1e1 Istanza di Studente = { s 1, s 2, s 3 } Istanza di Corso = { c 1, c 2 } Istanza di Esame = { e 1 = (s 3, c 1 ), e 2 = (s 3, c 2 )} Istanza LIstanza di Esame è un insieme, non si possono ripetere le istanze non può essere inserita e 3 = (s 3, c 1 ) Uno studente non può sostenere due o più volte un esame per lo stesso corso Lo schema E/R esprime il vincolo richiesto
7 Requisiti in Linguaggio Naturale 1.I dipendenti hanno nome e salario 2.Dirige connette i capi ai subordinati, entrambi dipendenti (ruoli CAPO_DI e SUBORDINATO) 3.Ogni capo può dirigere (CAPO_DI) più dipendenti 4.Ci sono dipendenti che non dirigono 5.Ogni dipendente è direttamente SUBORDINATO_A massimo ad un solo capo 6.Ci sono dipendenti che non sono subordinati a nessuno 7.Un capo non può dirigere (CAPO_DI) se stesso 8.Un dipendente ha un salario minore di quello del suo capo DIRIGE CAPO_DI SUBORDINATO_A (0,N),1) (0 DIPENDENTE NOME SALARIO
8 Associazione Ricorsiva o Anello DIPENDENTE Dirige (0,N) i1i1 i2i2 i3i3 Istanza di DIPENDENTE = { i 1, i 2, i 3 } Istanza di Dirige = { e 1 = (i 1, i 2 ), e2= (i1, i3 ) } Nellennupla conta la posizione: (i 1, i 2 ) è diversa da (i 1, i 2 ) Assumiamo che in (i 1, i 2 ) il primo elemento i 1 sia nel ruolo di CAPO_DI, ed il secondo nellaltro, ovvero (i 1, i 2 ) stabilisce che i 1 è il capo_di i 2 Data la precedente istanza di Dirige, in essa (0,1) CAPO_DI SUBORDINATO_A Lo schema non esprime il vincolo 7 I vincoli tipo 7 e 8 NON POSSONO essere espressi negli schemi E/R Si può inserire (i 1, i 1 ) : i 1 è il capo_di i 1 Lo schema esprime il vincolo 5 Non si può inserire (i 3, i 2 ) : i 3 è il capo_di i 2
9 Requisiti in Linguaggio Naturale 1.I dipendenti hanno nome e salario 2.Dirige connette i capi ai subordinati, entrambi dipendenti (ruoli CAPO_DI e SUBORDINATO) 3.Ogni capo può dirigere (CAPO_DI) più dipendenti 4.Ci sono dipendenti che non dirigono 5.Ogni dipendente è direttamente SUBORDINATO_A massimo ad un solo capo 6.Ci sono dipendenti che non sono subordinati a nessuno 7.Un capo non può dirigere (CAPO_DI) se stesso 8.Un dipendente ha un salario minore di quello del suo capo DIRIGE CAPO_DI SUBORDINATO_A (0,N),1) (0 DIPENDENTE NOME SALARIO ESPRIMIBILE IN E/R NON ESPRIMIBILE IN E/R
10 Descrizione/Documentazione della Base di Dati DIRIGE CAPO_DI SUBORDINATO_A (0,N),1) (0 DIPENDENTE NOME SALARIO In definitiva, la progettazione concettuale secondo i requisiti di pagina 7 porta al seguente schema E/R, che descrive/documenta la base di dati In aggiunta allo schema E/R, occorre riportare le informazioni (i vincoli) non esprimibili nello schema E/R Vedremo più avanti, alla fine della progettazione logica, come verranno trattati tali vincoli