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.