Esercizio: tradurre le specifiche di un DB in formule logiche

Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Esercizio: tradurre le specifiche di un DB in
formule logiche
Roberto Basili,
Department of Enterprise Engineering
University of Roma, Tor Vergata
Via Della Ricerca Scientifica s.n.c., 00133, Roma, ITALY
e-mail: [email protected]
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
1
Esempi: semplici esercizi di logica
2
Requisiti: descrizione logica dei requisiti di un DB
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Caolcolo delle Proposizioni
Dimostare usando le tabelle di verità le seguenti le formule logiche in
Calcolo delle Proposizioni.
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Dall’Italiano alla logica
Scrivere le formule logiche in Calcolo del Primo Ordine per le seguenti
frasi.
1
Tutti gli italiani bevono birra
2
John e Mary sono Italiani
3
Se John è italiano lo è anche Mary
4
I tedeschi bevono tutte le bevande bevute dagli italiani
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Dall’Italiano alla logica
Scrivere le formule logiche in Calcolo del Primo Ordine per le seguenti
frasi.
1
Tutte le vendite hanno un prodotto ed un prezzo
2
I prezzi delle bibite sono più alti dei prezzi delle scatole in cui esse
sono vendute.
3
Ogni bibita ha due denominazioni
4
Le bibite della Coca-Cola sono più costose di tutte le bibite della
Peroni.
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Semantica
Si costruisca un insieme di formule ben formate del Calcolo dei Predicati
corrispondenti alle seguenti affermazioni:
1
Tutti i parenti di Luigi sono antenati di Marco.
2
Marco ha almeno un antenato.
Si definisca una interpretazione I su un dominio D non vuoto per la quale
la formula corrrispondente alla prima frase è vera e la formula per la
secondo non lo è.
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Semantica
Si costruisca l’insieme di formule ben formate del Calcolo dei Predicati
(su un dominio D non vuoto) corrispondenti alle seguenti affermazioni:
1
Tutti i cugini di Gianni conoscono Marco.
2
Marco ha almeno un cugino.
Si dimostri formalmente se le due formule corrispondenti alla prima ed
alla seconda frase implicano logicamente la formula che esprime la
seguente affermazione o no:
Alcuni conoscono Marco.
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Catena di Farmacie - Entita’
Scrivere formule logiche per almeno 5 frasi frasi nei requisiti di qui
in avanti riportati.
Nella catena di farmacie sono incluse piu’ di cento farmacie, sparse per il
territorio. Esse distribuiscono prodotti di numerose compagnie
farmaceutiche con cui hanno contratti a lungo termine, supervisionati
da un impiegato per ogni farmacia.
Ogni farmacia dovrebbe documentare/memorizzare i dati delle
prescrizioni. Ogni paziente puo’, presentando la prescrizione di un
medico, accedere ad un medicinale. La vendita di tale medicinale, a
fronte della prescrizione medica, va rigistrata col suo ammontare. I
medici che fanno prescrizioni vanno registrati per poter essere contattati
al momento o dopo la vendita.
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Catena di Farmacie: Relazioni
Nella catena di farmacie sono incluse piu’ di cento farmacie, sparse per
il territorio. Esse distribuiscono prodotti di numerose compagnie
farmaceutiche con cui hanno contratti a lungo termine, supervisionati
da un impiegato per ogni farmacia.
Ogni farmacia dovrebbe documentare/memorizzare i dati delle
prescrizioni. Ogni paziente puo’, presentando la prescrizione di un
medico, accedere ad un medicinale. La vendita di tale medicinale, a
fronte della prescrizione medica, va rigistrata col suo ammontare. I
medici che fanno prescrizioni vanno registrati per poter essere
contattati al momento o dopo la vendita”
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Catena di Farmacie - Note rivisitate
I medici prescrivono medicinali ai pazienti. Uno o piu’ medicinali
possono essere prescritti a piu’ pazienti. Lo stesso paziente (pur
avendo un medico primario, o di famiglia) puo’ ottenere piu’
prescrizioni da piu’ medici.
Ogni paziente ha un medico primario o di famiglia. Ogni medico ha
almeno un paziente.
Ogni prescrizione ha una data ed una quantita’ associata con essa.
Se un medico prescrive lo stesso medicinale allo stesso paziente solo
l’ultima prescrizione va registrata.
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Catena di Farmacie - Note rivisitate (2)
I pazienti sono identificati da un codice (CF), i loro nomi, indirizzo e
dalla loro eta’.
I medici sono identificati dal codice fiscale (o CF). Per ogni dottore
il nome, la sua specialita’ e l’anzianita’ di servizio (esperienza)
debbono essere memorizzati.
Ogni farmacia ha un nome, un indirizzo ed un numero di telefono.
Ogni compagnia farmaceutica ha un nome ed un numero di telefono.
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Catena di Farmacie - Note rivisitate (3)
Per ogni medicinale, il nome commerciale e la formula deve essere
registrata. Ogni medicinale e’ venduto da una data compagnia
farmaceutica, quindi il nome commerciale lo identifica tra tutti i
prodotti di quella compagnia.
Se la compagnia farmaceutica interrompe le relazioni con la catena
di farmacie i medicinali da essa forniti non necessitano piu’ di essere
memorizzati.
Ogni farmacia vende diversi medicinali ed ha un prezzo per ciascuno.
Un medicinale puo’ essere venduto in diverse farmacie ed i loro
prezzi quindi possono variare tra farmacie diverse.
Outline
Esempi: semplici esercizi di logica
Requisiti: descrizione logica dei requisiti di un DB
Catena di Farmacie - Note rivisitate (4)
Una compagnia farmaceutica ha contratti a lungo termine con
diverse farmacie. Una farmacia altresi’ ha contratti con diverse
compagnie. Per ogni contratto deve essere registrata la data di
inzio, di fine ed il testo del contratto.
Le faramacie incaricano un supervisore per ogni contratto. Esiste
sempre un (solo) supervisore per ogni contratto, ma egli puo’
cambiare durante la durata del contratto stesso.