Sei sulla pagina 1di 14

Basi di Dati - III

Corso di Laurea in Informatica


Anno Accademico 2021/2022

Alessandra Raffaetà
raffaeta@unive.it

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Progettazione concettuale di schemi 2

Identificare le classi

Identificare le associazioni e le loro proprietà strutturali

Identificare gli attributi delle classi e associazioni e i loro tipi

Individuare le sottoclassi

Individuare le generalizzazioni

Vincoli di integrità (chiavi, not null, ...)

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Esercizio: Segreteria studenti 3

Segreteria che si occupa di pratiche relative agli studenti del Corso di Laurea in
Informatica, e in particolare delle richieste di trasferimento da altri corsi di Laurea.

Una domanda di trasferimento viene trasmessa al CCS e determina l’istruzione di


una pratica di trasferimento. La pratica viene infine evasa da una delibera che
indica quali esami sono stati convalidati. Un esame di un corso esterno viene
convalidato come esame interno, e la convalida di un esame può essere piena o
previo colloquio integrativo.

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Esercizio: Segreteria studenti (cont.) 4

Di una domanda di trasferimento interessano il numero di protocollo (che la


identifica), il nome e recapito dello studente che la presenta, Università, Facoltà,
Corso di laurea di provenienza, data di presentazione, elenco dei corsi sostenuti.

Di una pratica di trasferimento interessano la domanda di trasferimento a cui si


riferisce, il numero progressivo che la identifica, annotazioni eventuali, l’eventuale
delibera relativa.

Di una delibera interessano la pratica relativa, gli esami convalidati, annotazioni


eventuali, data e numero del verbale del CCS (assenti quando la delibera è in stato
di bozza)

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Esercizio: Segreteria studenti (cont.) 5

Di un corso esterno interessano nome, Università, Facoltà, Corso di laurea (non


necessariamente quelli di provenienza dello studente), Anno Accademico di
superamento.

Di un corso interno interessano nome e numero di crediti.

Di una convalida d’esame interessa corso interno, corso esterno e se l’esame è


convalidato in modo pieno o previo colloquio.

Per alcuni corsi esterni esistono convalide tipiche, che indicano corso interno
corrispondente e modalità di convalida.

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Prima versione dello schema 6

DichiaratoIn Domande Causa Pratiche


Trasferimento Trasferimento

EvasaDa

ConsideratoIn ApprovataIn
Convalide
Delibere
Esami

Convalida

Corsi Esterni Corsi interni

ConvalideTipiche
PrevioColloquio

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Seconda versione: sottoclassi e studenti 7

PresentataDa
Studenti

DichiaratoIn Causa
Domande Pratiche
Trasferimento Trasferimento

EvasaDa
ApprovataIn
ConsideratoIn Convalide
Delibere
Esami

Convalida BozzeDi Delibere


Delibera Approvate

Corsi Esterni Corsi interni

ConvalideTipiche
PrevioColloquio

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Tipi degli attributi 8

Studenti DomandeTrasferimento
Nome: string NumProtocollo: int
Recapito: string DataPresentazione: date
UniversitàDiProvenienza: string
FacoltàDiProvenienza: string
CorsoDiLaureaDiProvenienza: string
PraticheTrasferimento
Annotazioni: string
NumeroProgressivo: int

Delibere BozzeDiDelibere DelibereApprovate


Annotazioni: string DataVerbale: date
NumVerbale: int

CorsiEsterni CorsiInterni
Nome: string Nome: string
Università: string Crediti: int
Facoltà: string
CorsoDiLaurea: string
AnnoAccademico: int
ConvalideEsami
PrevioColloquio: bool

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Generalizzazione e dipendenze funzionali 9

PresentataDa
Studenti

DichiaratoIn Domande Causa Pratiche


Trasferimento Trasferimento

EvasaDa FrequentatoDa
ApprovataIn
Convalide
Delibere
Esami
ConsideratoIn

Corsi Convalida BozzeDi Delibere


Delibera Approvate

Corsi Esterni Corsi interni

ConvalideTipiche
SvoltoIn PrevioColloquio

CorsiDiLaurea

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Schema finale: Vincoli di integrità 10
PresentataDa

DichiaratoIn DomandeTrasferimento Studenti


NumProtocollo: int <<PK>> Nome: string <<PK>>
Text
DataPresentazione: date Recapito: string <<PK>>

Causa

PraticheTrasferimento
Annotazioni: string
NumeroProgressivo: int <<PK>>
BozzeDiDelibere
EvasaDa

Delibere
Annotazioni: string
DelibereApprovate
ApprovataIn DataVerbale: date
NumVerbale: int <<PK>>
Text

ConvalideEsami
PrevioColloquio: bool
<<invariant>>
{ <<PK>> (self.ConsideratoIn, self.ApprovataIn)
AND self.ConsideratoIn ∈ FrequentatoDa
self.ApprovataIn.EvasaDa.Causa.DichiaratoIn }

ConsideratoIn

Corsi
Nome: string <<PK>>
Text
Convalida

CorsiEsterni
AnnoAccademico: int
<<Invariant>> CorsiInterni
<<PK>> (self.Nome, Crediti: int
self.AnnoAccademico,
self.SvoltoIn)

ConvalideTipiche
SvoltoIn PrevioColloquio: bool

CorsiDiLaurea
Nome: string <<PK>>
Università: string <<PK>>
Facoltà: string
3. Modellazione Concettuale: Esercizi Corso di Basi di Dati
Integrazione di schemi 11

Accade che (per grandi BD) si costruiscano sottoschemi settoriali che vanno poi
integrati

Soluzione dei conflitti (nome, tipo, proprietà strutturali, vincoli di integrità)

Fusione degli schemi

Analisi delle proprietà interschema

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Integrazione di schemi: Esempio 12

In una biblioteca ...

Editori Pubblica Libri Tratta Argomenti


Nome: string
Indirizzo: string
Titolo: string Nome: string
A

Documenti Tratta Descrittori


Nome: string
Editore: string
Nome: string B
Codice: string
Codice: string

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Integrazione di schemi: Esempio 13

Risoluzione dei conflitti di nome, di tipo e di vincoli di integrità 



Uniformare gli schemi

- nello schema B Editore diventa una entità, Nome diventa Titolo, Descrittori
diventa Argomenti
Pubblica Documenti Tratta Argomenti
Descrittori
Editori
Titolo: string Nome: string
Nome: string
Codice: string Codice: string

Fondere gli schemi

Editori PubblicaL Libri TrattaL Argomenti


Nome: string Titolo: string Nome: string
Indirizzo: string Codice: string

PubblicaD Documenti TrattaD


Titolo: string
Codice: string

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati


Integrazione di schemi: Esempio 14

Proprietà interschema

Editori Pubblica Documenti Tratta Argomenti


Nome: string Titolo: string Nome: string
Indirizzo: string Codice: string Codice: string

Libri
...

3. Modellazione Concettuale: Esercizi Corso di Basi di Dati

Potrebbero piacerti anche