Basi di Dati - II
Corso di Laurea in Informatica
Anno Accademico 2021/2022
Alessandra Raffaetà
raffaeta@unive.it
Aspetti di un modello:
PROGETTAZIONE CONCETTUALE
PROGETTAZIONE LOGICA
PROGETTAZIONE FISICA
Modellazione concettuale
Aspetti del Problema 7
(aspetto ontologico)
(aspetto logico)
(aspetto linguistico)
(aspetto pragmatico)
Cosa si modella?
Cosa si modella? 9
Conoscenza concreta
I fatti
Conoscenza astratta
Struttura e vincoli sulla conoscenza concreta
Conoscenza procedurale
Le operazioni di base
Le operazioni degli utenti
Comunicazioni
Come si comunicherà con il sistema informatico
Le proprietà si distinguono dalle entità poiché sono fatti che interessano solo
in quanto descrivono caratteristiche di determinate entità
atomica o strutturata
univoca / multivalore
totale / parziale
Esempi:
Ad es. Studenti: insieme di tutti gli studenti nel dominio del discorso.
Descrizioni
Autori
Bibliografiche
Nazionalità = "Italiana" d3
Titolo = “La profezia dell’armadillo”
Certi fatti possono essere interpretati come proprietà in certi contesti e come
entità in altri, per esempio:
oppure
matricole e laureandi,
Attenzione:
“un laureando è uno (is-a) studente”
è diverso da
“Mario è uno studente!”
Descrizioni
Autori HaScritto
Bibliografiche
Editore = “Einaudi"
Nome = “Zerocalcare" a2
d3 Titolo = “La profezia
Nazionalità = "Italiana" dell’armadillo"
Editore = “Bao Publishing”
Vincolo di univocità:
Un’associazione R(X, Y) è univoca da X a Y se per ogni elemento x di X
esiste al più un elemento di Y che è associato ad x; se non vale questo
vincolo, l’associazione è multivalore da X a Y.
Cardinalità
R(X,Y) è (1:N) se essa è multivalore da X a Y ed univoca da Y a X
R(X,Y) è (N:1) se essa è univoca da X a Y e multivalore da Y a X
R(X,Y) è (N:M) se essa è multivalore da X a Y e multivalore da Y a X
R(X,Y) è (1:1): se essa è univoca su da X a Y e univoca da Y a X.
Frequenta(Studenti, Corsi)
ha molteplicità (N:M),
Insegna(Professori, Corsi)
ha molteplicità (1:N),
SuperatoDa(Esami, Studenti)
ha molteplicità (N:1),
Dirige(Professori, Dipartimenti)
ha molteplicità (1:1).
NataA(Persone, Città)
HaVisitato(Persone, Città)
ÈSindacoDi(Persone, Città)
L’età di una persona, ricavabile per differenza fra l’anno attuale e il suo
anno di nascita
Come si modella?
Come si modella? Modello dei dati a oggetti 30
Uno schema verrà dato usando una notazione grafica, variante dei cosiddetti
diagrammi ER (Entità-Relazione)
Nozioni fondamentali:
metodi
Oggetto:
identità
Una classe è un insieme di oggetti dello stesso tipo, modificabile con operatori per
includere o estrarre elementi dall’insieme, associabile a vincoli di integrità.
Persone Persone
non primitivi
tipo record
[A1:T1; ..., An:Tn]
tipo enumerazione
(Val1; ...; Valn)
tipo sequenza
seq T
HaInPrestito
Le associazioni possono avere Data
delle proprietà
Utenti Libri
HaMadre HaFigli
Associazioni n-arie
ÈMadreDi
i prestiti in corso.
Le Descrizioni Bibliografiche dei libri a volume unico, sia già disponibili che quelli
ordinati ma non ancora consegnati alla biblioteca, sono caratterizzati dal Codice
ISBN (International Standard Book Number) che le identifica, titolo del libro, autori,
editore, anno di pubblicazione e termini che le descrivono.
Degli autori dei libri interessano il codice fiscale, il nome e cognome, la nazionalità
e la data di nascita.
I libri, disponibili in una o più copie ognuna identificata da un Codice, una stringa
con la loro collocazione e numero.
Fra i termini del thesaurus interessano le seguenti relazioni, fra le tante possibili:
Preferenza, per rimandi da termini standard a termini non standard e viceversa.
Per esempio:
- Elaboratore Standard (vedi) Calcolatore;
- Calcolatore Sinonimi (UsatoPer) Elaboratore, Calcolatrice, Stazione di
lavoro.
Gerarchia, per mettere in evidenza il rapporto specificità-generalità tra due
termini. Per esempio:
- Felino PiùSpecifico Gatto Leone Tigre;
- Gatto PiùGenerale Felino;
Specializza
<latexit sha1_base64="atZko1/Dj6fJTZN5ECC/YX4fVS8=">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</latexit>
Standard Sinonimi
ÈSinonimoDi
HaScritto Descrive
Autori Libri
HaPreso Riguarda
Utenti Prestiti
Se t è sottotipo di t’ ( t ≤ t’ )
gli elementi di tipo t possono essere usati in ogni contesto in cui possano
apparire elementi di tipo t’ (sostitutività).
In particolare:
gli elementi di t hanno tutti gli attributi degli elementi di t’
per ogni attributo A in t’, il suo tipo in t è sottotipo del suo tipo in t’.
aggiunta di attributi
Normalmente l’ereditarietà tra tipi si usa solo per definire sottotipi (ereditarietà
stretta); in questo caso:
gli attributi possono essere aggiunti
gli attributi possono essere ridefiniti solo specializzandone il tipo
UnaPersona
Nome: string
AnnoNascita: int
LingueParlate: seq string
Possiede: Auto
UnoStudente
Matricola: int
AnnoIscrizione: int
Possiede: AutoUtilitiaria
Fra le classi può essere definita una relazione di sottoclasse (talvolta detta
sottoinsieme), con le seguenti proprietà:
Utenti
NomeCognome: string
Indirizzo: string
RecapitiTelefonici: seq string
Docenti
TelefonoUfficio: string
Vincolo di disgiunzione
A
B∩C=∅
B C
Vincolo di copertura
A
B∪C=A
B C
Persone Studenti
Maggiorenni SenzaPatente
ConPatente Matricole Laureandi
Guidatori Persone
Persone
Giornalisti Fotografi
Fotogiornalisti
Gli utenti possono essere studenti o docenti. Di uno studente interessa anche
la matricola e di un docente anche il telefono dell’ufficio.
Alcuni libri sono per la sola consultazione e possono essere presi in prestito
per un numero prefissato di giorni solo dagli utenti che sono docenti.
Specializza
<latexit sha1_base64="qEsJX/GXtntJQ+sQ3DSQ2hvzhVM=">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</latexit>
Autori
Libri
CF :string ⌧K HaScritto
Codice :string ⌧K
Nome :string
Nazionalità :string
AnnoNascita :int
HaPreso Consultabili
Prestabili
PerGiorni :int
Prestiti
DataPrestito :date
Utenti DataRestituzione :date
Riguarda
CF :string ⌧K
Nome :string
Indirizzo :string
Telefoni :seq string InConsultazione Regolari
Consulta Riguarda
Studenti Docenti
Matricola :int ⌧K TelefonoUfficio :string
<latexit sha1_base64="dglG3GRphdQELw52l498HnvhRL8=">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</latexit>
Esami
Studenti
Codice :string ⌧K
Nome :string
Materia :string
Cognome :string
HaSostenuto Data :date
Matricola :string ⌧K
Voto :int
AnnoDiCorso :int
Lode :bool
⌧Invariant
⌧Invariant
{ length(self.Matricola) = 6 AND
{ 18 <= self.Voto <= 30 AND
match(self.Matricola, #) }
if self.Lode then self.Voto = 30 }