{ t t 0. DATILIBRO ( t [Titiolo] = t D. [Titiolo] t D. [AnnoP] >= 1980 [AnnoP] < 1990 ) } { t t D. DATILIBRO [Titiolo] ( t D. [AnnoP] < 1980 t D

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "{ t t 0. DATILIBRO ( t [Titiolo] = t D. [Titiolo] t D. [AnnoP] >= 1980 [AnnoP] < 1990 ) } { t t D. DATILIBRO [Titiolo] ( t D. [AnnoP] < 1980 t D"

Transcript

1 4 I titoli di tutti i libri pubblicati negli anni 80 { t DATILIBRO ( t [Titiolo] = [Titiolo] [AnnoP] >= 1980 [AnnoP] < 1990 Anni80(Tit :- DATILIBRO ( _, Tit, AnP, _, _, _, AnP>=1980, AnP<1990? Anni80 (X 1 7 Nome, cognome e codice degli utenti che non hanno MAI preso in prestito libri di informatica { t t 0 UTENTE t [Nome] = t 0 t [Cognome] = t 0 [Cognome] t [Codice] = t 0 [Codice] ( t 1 DATILIBRO, t 2 LIBRO, t 3 PRESTITO t 1 [ISBN] = t 2 t 2 [Collocazione] = t 3 [Collocazione] t 3 [CodiceUtente] = t 0 [Codice] t 1 [Genere] = Informatica 4 5 I titoli di tutti i libri NON pubblicati negli anni 80 { t DATILIBRO ( t [Titiolo] = [Titiolo] ( [AnnoP] < 1980 [AnnoP] >= 1990 NonAnni80(T :- DATILIBRO ( _, T, _, _, _, _, Anni80(T? NonAnni80 (X 2 7 Nome, cognome e codice degli utenti che non hanno MAI preso in prestito libri di informatica PresoInfo(Cod :- DAT ( Isbn, _, _, _, _, Gen, LIB ( Coll, Isbn, _, _, PRE ( Coll, CodU, _, _, Gen = Info MaiPresoInfo(N, C, Cod :- UTE ( Cod, C, N, _, _, PresoInfo (Cod? - MaiPresoInfo (Nome, Cognome, Codice 5 6 Titoli dei libri di informatica presi nel giugno 02 8 Trovare i titoli dei libri presi a prestito nel mese di giugno 02 oppure acquisiti nel mese di giugno 02 R(Tit :- DAT ( Isbn, Tit, _, _, _, Gen, LIB ( Coll, Isbn, _, PRE ( Coll, _, DataP, _, Gen= Info, DataP>=1/6/02, DataP<=30/6/02? - R(Titolo 3 R(Tit :- DAT(Isbn, Tit, _, _, _, _, LIB(Coll, Isbn, _, PRE ( Coll, Cod, DataPre, _, DataPre >= 1/6/02, DataPre <= 30/6/02 R(Tit :- DAT(Isbn, Tit, _, _, _, _, LIB(Coll, Isbn, DataA, DataA >= 1/6/02, DataA <= 30/6/02? :- R(Titolo 6

2 9 Titolo dell ultimo libro preso in prestito da ciascun utente 11 Utenti che hanno preso libri di tutti i generi GenereInBiblio(Gen :- DATILIBRO ( _, _, _, _, _, Gen GenereLetto(Ut, Ge :- PRESTITO ( Coll, Ut, _, _, COPIA ( Coll, Isbn, _, DATILIBRO ( Isbn, _, _, _, _, Ge P(coll, cod, data :- PRE ( coll, cod, data, _, PRE ( _, cod, data1, _, data < data1 T(Cog, Nom, Tit :- DAT(Isbn, Tit, _, _, _, _, LIB(Coll, Isbn, _, PRE(Coll, cu, Data, P(Coll, cu, Data, UTE(cu, Cog, Nom? - T( cognome, nome, ultimo-titolo 7 GenMaiLetto(Ut, Ge :- UTENTE ( Ut, _, _, _, _, GenereInBiblio ( Ge, GenereLetto ( Ut, Ge LettiTuttiGen(CodUt :- UTENTE ( CodUt, _, _, _, _, GenMaiLetto ( Ut, Ge? - LettiTuttiGeneri( X Titoli dei libri che non sono stati mai presi in prestito { t DATILIBRO ( t [Titiolo] = [Titiolo] ( t L LIBRO, t P PRESTITO ( t L [Coll] = t P [Coll] Preso(Isbn :- PRESTITO ( Coll, _, _, _, LIBRO ( Coll, Isbn, _ MaiPreso(Titolo :- DAT (Isbn, Titolo, _, _, _, _, Preso(isbn? - MaiPreso( T 8 Una query problematica 14 Libri che sono attualmente in prestito La base dati è tale per cui questa query non ha soluzione certa. Selezionare su NULL in DataResa sarebbe solo una congettura. Un valore NULL, infatti, può avere molte origini e molte spiegazioni (indisponibilità, inapplicabilità, Occorre quindi riprogettare lo schema, per rendere indipendenti le rappresentazioni del prelievo e della restituzione. N.B/P.S.: Le query 12 e 13 non esistono, la numerazione delle successive non è coerente con la preview: ciò è dovuto a una ristrutturazione del materiale in corso d opera ma c è tutto : Utenti che hanno preso libri di tutti i generi { t t U UTENTE ( t [CodiceUt] = t U [CodiceUt] ( M DATILIBRO ( t L LIBRO, t P PRESTITO, DATILIBRO ( t L [Coll] = t P [Coll] t P [CodiceUt] = t U [CodiceUt] M [Genere] = [Genere] 9 Gerarchia aziendale: IMPIEGATO (Nome, Età, Stipendio DIPENDENZA (Manager, Dipendente 15 Trovare gli impiegati dipendenti di Mario DIP(Nome :- DIPENDENZA("Mario", Nome, IMPIEGATO(Nome, _, _? - DIP(Nome? - DIPENDENZA("Mario", Nome È più semplice, ma non controlla che il dipendente sia anche registrato come IMPIEGATO ( integrità referenziale? 12

3 15 Trovare gli impiegati dipendenti di Mario { t t IM IMPIEGATO, DIPENDENZA ( t [Nome] = t IM [Dipendente] = t IM [Manager] = Mario Π Nome ( (σ Mngr = Mario DIPEND Dipend = Nome IMPIEG { t DIPENDENZA ( t [Nome] = [Dipendente] [Manager] = Mario Π Nome σ Manager = Mario DIPENDENZA Le coppie di impiegati che collaborano alle dipendenze di Mario (ipotesi: chi ha lo stesso superiore collabora { t 1,2 DIPENDENZA ( t[n1] = 1 [Dipendente] t[n2] = 2 [Dipendente] 1 [Manager] = Mario 2 [Manager] = Mario 1 [Dipendente] <> 2 [Dipendente] Π D1,D2 ( ( σ Manager= Mario ( ρ D1 Nome DIP D1<>D2 ( σ Manager= Mario ( ρ D2 Nome DIP come fare senza ridenominazione? Dire se Paolo è il manager di Mario (sì/no La risposta sì/no corrisponde al fatto che il risultato sia o non sia diverso dall insieme vuoto 18 Trovare gli impiegati che non hanno un manager, cioè non sono in relazione di dipendenza da nessuno Π Nome ( IMPIEG (IMPIEG < Nome=Dipend DIPEND? - DIPENDENZA ("Paolo", "Mario" σ Manager = Paolo Dipendente= Mario DIPENDENZA { t DIPENDENZA ( t [Sup, Inf] = [Manager, Dipendente] [Manager] = Paolo [Dipendente] = Mario 14 { t t IM IMPIEGATO ( t[nome] = t IM ( DIPENDENZA ( [Dipendente] = t IM [Nome] NoManager(Nome :- IMPIEGATO(Nome, _, _, DIPENDENZA ( _, Nome? - NoManager(Nome Le coppie di impiegati che collaborano alle dipendenze di Mario (ipotesi: chi ha lo stesso superiore collabora Sono quelli della query 15, ma si chiedono le coppie: COLLABORA(X,Y :- DIPENDENZA ( Mario, X, IMPIEGATO (X, _, _, DIPENDENZA ( Mario, Y, IMPIEGATO (Y, _, _, X <> Y Senza imporre esplicitamente X<>Y avremmo che ognuno è collaboratore di se stesso. Si noti anche che così otteniamo sia la coppia (a, b che la coppia (b, a. IMPIEGATO è opzionale qui esattamente come in 15 perciò è in grigio; per brevità, è omesso dalle soluzioni in algebra e TRC Impiegati di 30 anni oppure che guadagnano Risultato(Nome :- IMPIEGATO(Nome, 30, _ Risultato(Nome :- IMPIEGATO(Nome, _, 30000? - Risultato(Y Π Nome (σ Età=30 Stipendio=30000 IMPIEGATO { t t i IMPIEGATO ( t [Nome] = t i ( t i [Età] = 30 t i [Stipendio] =

4 20 Impiegati di meno di 30 anni che guadagnano almeno IMP (Nome :- IMPIEGATO (Nome, Età, Stipendio, Età < 30, Stipendio >= 30000? - IMP (Nome Π Nome (σ Età<30 Stipendio>=30000 IMPIEGATO { t t i IMPIEGATO ( t [Nome] = t i t i [Età] < 30 t i [Stipendio] >= Trovare tutte le relazioni di dipendenza, dirette e indirette DIP_Gen (Super, Sub :- DIPENDENZA (Super, Sub DIP_Gen (Sup, Imp :- DIP_Gen (Sup, X, DIPENDENZA (X, Imp? DIP_Gen (Capo, Dipendente La prima regola effettua una semplice ridenominazione della relazione di dipendenza, che corrisponde al caso base della ricorsione. La seconda regola propaga la dipendenza attraverso la proprietà transitiva (possibile solo in datalog Manager con almeno un (loro dipendente che guadagna più di loro PoorMGR (Mnger :- DIPENDENZA (Mnger, Dipnd, IMPIEGATO (Mnger, _, StipMgr, IMPIEGATO (Dipnd, _, StipDip, StipMgr < StipDip? - PoorMGR (X Dovendo confrontare due stipendi, occorrono due distinti letterali per rappresentare i due impiegati. Si noti che non è necessario imporre esplicitamente, come in 17, che si tratta di impiegati diversi, poiché già la diversità degli stipendi garantisce che il match avvenga con due fatti distinti. 20 Negazione in Datalog: regole corrette La negazione deve essere safe Tutte le variabili di un letterale negato devono comparire in un letterale positivo del corpo della regola S(X :- R(X, Q(Y non va bene (Y La negazione deve essere stratificata Non ci devono essere cicli di dipendenza in negazione nella definizione dei letterali grafo delle dipendenze P(X :- R(X P(X :- R(X, P(X non va bene, anche se X compare in R positivo P R Manager con un loro dipendente che guadagna di più { t DIPENDENZA, ip IMPIEGATO, t Man IMPIEGATO ( t[nome] = [Manager] [Dipendente] = ip [Manager] = t Man ip [Stipendio] > t Man [Stipendio] Π Manager ( (Π Nome,Dipendente,Stip (IMP Nome=Manager DIP Nome=Manager Dipendente=Nome Stip<Stip (Π Nome,Manager,Stip (IMP Nome=Dipendente DIP La soluzione seguente per mostrare come a volte la ρ aiuta Π Nmgr ( ( (ρ Nimp Nome IMP Stip>Stip (ρ Nmgr Nome IMP Nmgr=Manager Ndip=Dipendente DIP 21 Safeness della negazione 23 Dire se le seguenti regole sono corrette e, nel caso in cui non lo siano, spiegare perché: GIOVANE (Nome :- IMPIEGATO (Nome, Età, _, Età > 40 Non è safe, perché la variabile Nome, che compare in un letterale negato, viene usata nella testa e non compare in un letterale positivo del corpo. Inoltre, neanche la variabile Età compare in un letterale positivo del corpo. 24

5 Giovane_MGR (Nome :- IMPIEGATO (Nome, Età, _, DIPENDENZA (_, Nome, Età <= 40 La regola è safe: Nome compare in un letterale negato, ma anche nel letterale positivo IMPIEGATO 25 Nomi degli studenti che hanno almeno un 30 Π Nome (STUDENTE (σ Voto=30 ESAME Π Nome DIPENDE (X, Y :- DIPENDENZA (X, Y, NON_DIPENDE (X, Y NON_DIPENDE (X, Y :- DIPENDE (X, Y, IMPIEGATO (X, _, _, IMPIEGATO (Y, _, _ D ND Le regole sono safe di per sé, ma dipendono l una dall'altra in modo ciclico: non sono stratificabili. 25 Bravo(N :- STUDENTE(M, N, _, _, ESAME(M, _, _, 30? - Bravo(X Π Matr Nome STU { t t S STUDENTE, t 2 ( t [Nome] = t S Π t S [Matr] = t E [Matr] t E [Voto] = 30 σ Π Matr σ Voto=30 ESA 28 Esami universitari STUDENTE (Matr, Nome, Città, C-Dip ESAME (Matr,Cod-Corso, Data, Voto CORSO (Cod-Corso, Titolo, Docente 24 Nomi degli studenti del corso di diploma in informatica di Milano Π Nome (σ Città= Milano C-Dip= Inf STUDENTE RIS(Nome :- STUDENTE ( _, Nome, Milano, Inf? - RIS(X Corsi di informatica in cui almeno uno studente non appartenente al corso di dip. in logistica ha preso 30 Π Cod-Corso ((σ C-Dip!= log STUDENTE (σ Voto = 30 ESAME (σ Titolo = Informatica CORSO CorsoInfNonLog30(Cod-Corso :- CORSO ( Cod-Corso, Informatica, _, ESAME ( Cod-Corso, Mat, _, 30, STUDENTE ( Mat, _, _, C-Dip, C-Dip <> logistica? CorsoInfNonLog30(Codice Nomi degli studenti del corso di diploma in informatica di Milano { t t S STUDENTE ( t [Nome] = t S t S [Città] = Milano t S [C-Dip] = Inf Π σ t è libera, e la usiamo per costruire il risultato t 1 invece è oggetto di quantificazione Corsi di informatica in cui almeno uno studente non appartenente al corso di dip. in logistica ha preso 30 { t t S STUDENTE, t C CORSO, t E ( t [Cod-Corso] = t C [Cod-Corso] t E [Cod-Corso] = t C [Cod-Corso] t E [Matr] = t S [Matr] t S [C-Dip] <> logistica t C [Titolo] = Informatica t E [Voto] = 30 30

6 27 Chi sono i docenti dei corsi di matematica in cui nessuno studente ha preso 30? All insieme di tutti i corsi di matematica si sottraggono tutti i corsi di matematica in cui almeno uno studente ha preso 30, per poi proiettare sul nome del docente del corso Π Docente ( (σ Titolo = Matematica CORSO ((σ Titolo = Matematica CORSO < (σ Voto=30 ESAME CorsoCon30(CC :- ESAME( _, CC, _, 30 MatematicoSevero(Doc :- CORSO(CodCor, Matematica, Doc, CorsoCon30(CodCor? - MatematicoSevero(X Trovare i corsi in cui nessuno studente ha preso 18 e in cui nessuno studente ha preso 30 { t t C CORSO ( t [Cod-Corso] = t C [Cod-Corso] ( t E ( t E [Cod-Corso] = t C [Cod-Corso] ( t E [Voto] = 30 t E [Voto] = Chi sono i docenti dei corsi di matematica in cui nessuno studente ha preso 30? 28 Trovare i corsi in cui nessuno studente ha preso 18 e in cui nessuno studente ha preso 30 { t t C CORSO ( t [Docente] = t C [Docente] t C [Titolo] = matematica ( t E ( t E [Cod-Corso] = t C [Cod-Corso] t E [Voto] = 30 CorsoConVotiEstremi(CC :- ESAME( _, CC, _, 30 CorsoConVotiEstremi(CC :- ESAME( _, CC, _, 18 CorsoSenzaEstremi(CodCor :- CORSO(CodCor, _, _, CorsoConVotiEstremi(CodCor? - CorsoSenzaEstremi(Codice Trovare i corsi in cui nessuno studente ha preso 18 e in cui nessuno studente ha preso Nomi degli studenti che hanno preso almeno un 30 e non hanno mai preso meno di 24 Si può trovare l'intersezione dell'insieme dei corsi in cui nessuno studente ha preso 18 con l'insieme dei corsi in cui nessuno studente ha preso 30: Π Titolo ( ( CORSO (CORSO < (σ Voto=18 ESAME ( CORSO (CORSO < (σ Voto=30 ESAME Oppure si può ragionare sul predicato di selezione, facendo attenzione ad usare un OR (forse è meno intuitivo: Π Titolo (CORSO (CORSO < (σ Voto=18 V Voto=30 ESAME 33 { t t 1 STUDENTE, t 2 ( t [Nome] = t 1 t 1 [Matr] = t 2 [Matr] t 2 [Voto] = 30 ( t 3 ( t 1 [Matr] = t 3 [Matr] t 3 [Voto] < 24 Studenti che hanno almeno un 30 Studenti con uno o più voti inferiori a 24 N.B.: Due volte ESAME, una volta STUDENTE 36

7 29 Nomi degli studenti che hanno preso almeno un 30 e non hanno mai preso meno di 24 Attenzione ad usare, in algebra, la proiezione solo dopo la differenza, per evitare che qualche studente meritevole resti escluso dal risultato a causa di un eventuale omonimo che abbia preso un voto basso. Π Nome 30 Trovare cognome e nome di tutti gli autori italiani Π Cognome, Nome (σ Nazionalità= Italiana AUTORE { t t A AUTORE ( t [Cognome, Nome] = t A [Cognome, Nome] t A [Nazionalità] = italiana Π Matr Nome Π Matr Π Matr Nome Π Matr AutoreItaliano (N, C :- AUTORE (N, C, _, italiana STUDENTE σ Voto = 30 ESAME STUDENTE σ Voto < 24 ESAME 37? AutoreItaliano (Nome, Cognome Nomi degli studenti che hanno preso almeno un 30 e non hanno mai preso meno di 24 ConVotoBasso ( Matr :- ESAME ( _, Matr, _, Voto, Voto < 24 ConGloria&SenzaMacchia(Nome :- STUDENTE ( mat, Nome, _, _, ESAME ( _, mat, _, 30, ConVotoBasso ( mat? ConGloria&SenzaMacchia(Nome 31 Trovare tutte le segnature dei libri di Asimov pubblicati in lingua spagnola Π Segn (COPIA < (σ Ling= spagnola LIB < (σ Cogn= Asimov AUT AsimovSpagnolo (Segn :- COPIA(Segn, isbn, _, _, AUTORELIBRO ( _, Asimov, isbn, LIBRO(isbn, _, _, spagnola,? AsimovSpagnolo (Segnatura Variante della biblioteca AUTORE( Nome, Cognome, Data-N, Nazionalità AUTORELIBRO(Nome, Cognome, ISBN LIBRO(ISBN, Titolo, Genere, Lingua COPIA(Segnatura, ISBN, Scaffale, DataAcq In questa variante sono presenti i dati di tutti gli autori. Essendo la corrispondenza tra autori e libri una corrispondenza molti a molti, la relazione AutoreLibro funge da ponte. Si noti anche come la corrispondenza tra Autore e AutoreLibro avviene per identità di coppie di valori all interno della singola tupla (l eventuale integrità referenziale si applica cioè alla coppia, non ai valori singolarmente 31 Trovare tutte le segnature dei libri di Asimov pubblicati in lingua spagnola { t t A AUTORELIBRO, t L LIBRO, t C COPIA ( t [Segnatura] = t C [Segnatura] t C t L [ISBN] = t A t A [Cognome] = Asimov t L [Lingua] = spagnola 39 42

8 32 Collaborazioni internazionali: libri con autori di nazionalità diversa { t t L LIBRO, t AL1, t AL2 AUTORELIBRO, t A1, t A2 AUTORE ( t [ISBN, Titolo] = t L [ISBN, Titolo] t AL1 t AL2 t A1 [Nom,Cogn] = t AL1 [Nom,Cogn] t A2 [Nom,Cogn] = t AL2 [Nom,Cogn] t A1 [Nazionalità] <> t A2 [Nazionalità] Libri con autori tutti della stessa nazionalità { t t L LIBRO ( t [ISBN, Titolo] = t L [ISBN, Titolo] ( t AL1, t AL2 AUTORELIBRO, t A1, t A2 AUTORE ( t AL1 t AL2 t A1 [Nom,Cogn] = t AL1 [Nom,Cogn] t A2 [Nom,Cogn] = t AL2 [Nom,Cogn] t A1 [Nazionalità] <> t A2 [Nazionalità] Collaborazioni internazionali: libri con autori di nazionalità diversa CollaborazioneInternazionale(Tit, Isbn :- LIBRO ( Isbn, Tit, _, _, AUTORELIBRO (nom1, cog1, Isbn, AUTORELIBRO (nom2, cog2, Isbn, AUTORE (nom1, cog1, _, naz1, AUTORE (nom2, cog2, _, naz2, naz1 <> naz2? CollaborazioneInternazionale(Titolo, ISBN 33 Libri con autori tutti della stessa nazionalità CollaborazioneNazionale(Tit, Isbn :- LIBRO ( Isbn, Tit, _, _, CollaborazioneInternazionale(Tit, Isbn dove CollaborazioneInternazionale è definita in 32 Π Titolo, Isbn ( LIBRO ( LIBRO < COLINT dove COLINT è definita in Collaborazioni internazionali: libri con autori di nazionalità diversa COLINT := Π Isbn ( (AUTORELIBRO AUTORE < Isbn=Isbn Naz<>Naz (AUTORELIBRO AUTORE per avere anche il titolo: Π Titolo, Isbn ( LIBRO COLINT Libri scritti in una lingua diversa dalla nazionalità di tutti gli autori (nell ipotesi semplicistica che ci sia identità dei due domini lingua e nazionalità: ok italiano, tedesco, francese, inglese, russo, ungherese, non belga, creolo, bantu { t t L LIBRO ( t [ISBN, Titolo] = t L [ISBN, Titolo] ( t AL AUTORELIBRO, t A AUTORE ( t AL t A [Nome,Cognome] = t A [Nome,Cognome] t L [Lingua] = t A [Nazionalità] 48

9 34 Libri scritti in una lingua diversa dalla nazionalità di tutti gli autori LinguaNazCorrispondeAlmenoUno ( Isbn :- LIBRO ( Isbn, titolo, _, lingua, AUTORELIBRO ( nom, cogn, Isbn, AUTORE ( nom, cogn, _, nazionalità, lingua = nazionalità LinguaDiversaTuttiAutori ( Isbn, Tit :- LIBRO ( Isbn, Tit, _, _, LinguaNazCorrispondeAlmenoUno ( Isbn? LinguaDiversaTuttiAutori ( Isbn, Titolo 35 Voli per più di 200 passeggeri che vanno da Milano a Roma di martedì oppure di giovedì { t, t A AEREO ( t [IdVolo] = [idvolo] [TipoAereo]=t A [TipoAereo] [CittaPart] = Milano [CittaArr] = Roma ( [GiorSett]= martedì [GiorSett]= giovedì t A [NumPasseggeri] > Trasporti aerei AEROPORTO ( Città, Nazione, NumPiste VOLO ( IdVolo, GiornoSett, CittaPart, OraPart, CittaArr, OraArr, TipoAereo AEREO ( TipoAereo, NumPasseggeri, QtaMerci Cosa si nota osservando lo schema? Il progettista ha assunto per semplicità che vi sia un solo aeroporto in ogni città, che l orario si ripeta settimanalmente [conseguenza dello schema di VOLO], e che un volo sia effettuato sempre dallo stesso tipo di aereo, indipendentemente dal numero di biglietti venduti (è possibile che si tratti di velivoli diversi, purché dello stesso modello. La quantità di merci è un attributo del modello di aereo, quindi misura la capacità della stiva, non le merci realmente trasportate Trovare i voli per Roma per soli passeggeri (i.e. fatti con aerei che non possono trasportare merci { t t [IdVolo] = [IdVolo] [CittaArr] = Roma ( t A AEREO [TipoAereo] = t A [TipoAereo] t A [QtaMerci] > 0 VoloAncheMerci (IdV :- VOLO(IdV, _, _, _, _, _, T, AEREO(T, _, Qtà, Qtà > 0 RomaSoloPass (IdV :- VOLO(IdV, _, _, _, Roma, _, _, VoloAncheMerci (IdV? - RomaSoloPass (IdVolo Voli per più di 200 passeggeri che vanno da Milano a Roma di martedì oppure di giovedì VoloMarteGiove (id :- VOLO (id, martedì, _, _, _, _, _ VoloMarteGiove (id :- VOLO (id, giovedì, _, _, _, _, _ MilanoRoma200MG (IdVolo :- VOLO (IdVolo, _, Milano, _, Roma, _, tipo, AEREO (tipo, numpass, _, VoloMarteGiove (IdVolo, numpass > 200? MilanoRoma200MG (IdVolo Dato lo schema ristretto VOLO(Partenza, Arrivo 37 Determinare tutti i possibili collegamenti tra aeroporti per cui si debbano prendere al massimo due voli diretti COLLEG (P, A :- VOLO (P, A COLLEG (P, A :- VOLO (P, X, VOLO (X, A? - COLLEG( Partenza, Arrivo Π IdVolo ((σ CitPar= Milano VOLO (σ NumP>200 AEREO (GS= mar GS= gio CitAr= Roma 51 VOLO Π Partenza, Arrivo ( (ρ Coinc Arrivo VOLO (ρ Coinc Partenza VOLO 54

10 37 Determinare tutti i possibili collegamenti tra aeroporti per cui si debbano prendere al massimo due voli diretti { t ( ( t [Partenza, Arrivo] = [Partenza, Arrivo] ( 1, 2 ( t [Partenza] = 1 [Partenza] t [Arrivo] = 2 [Arrivo] 1 [Arrivo] = 2 [Partenza] 55 Volendo invece determinare tutti i possibili collegamenti, è necessaria la ricorsione, e solo col Datalog è possibile COLLEG (P, A :- VOLO (P, A COLLEG (P, A :- COLLEG (P, X, VOLO (X, A? - COLLEG( Partenza, Arrivo L esecuzione termina sempre, anche in presenza di cicli nella base dei fatti, come mostra l esempio seguente, dove con 3 esecuzioni si raggiunge il punto fisso (non vi sono fatti nuovi da aggiungere. Una esplorazione ricorsiva del grafo dovrebbe esplicitamente evitare di ciclare marcando i nodi quella proposta è una elegante e concisa specifica intensionale delle proprietà di raggiungibilità di una rete. Si noti che il numero di esecuzioni è pari alla lunghezza del più lungo tra i cammini minini possibili tra tutte le coppie di nodi Determinare tutti i possibili collegamenti tra aeroporti per cui si debbano prendere al massimo tre voli diretti { t ( ( t [Partenza, Arrivo] = [Partenza, Arrivo] ( 1, 2 ( t [Partenza] = 1 [Partenza] t [Arrivo] = 2 [Arrivo] 1 [Arrivo] = 2 [Partenza] ( 1, 2, 3 ( t [Partenza] = 1 [Partenza] t [Arrivo] = 3 [Arrivo] 1 [Arrivo] = 2 [Partenza] 2 [Arrivo] = 3 [Partenza] 56 Parigi Villanova SECONDA ESECUZIONE 6 B P (1,2 7 B R (1,3 8 M B (2,4 9 P M (4,1 10 V P (5,2 11 V R (5,3 Milano Berlino Roma PRIMA ESECUZIONE 1 M P 2 M R 3 B M 4 P B 5 V M TERZA ESECUZIONE 12 B B (1,8 13 M M (2,9 14 P P (4,6 15 P R (4,7 16 V B (5, Determinare tutti i possibili collegamenti tra aeroporti per cui si debbano prendere al massimo tre voli diretti VOLO Π Partenza, Arrivo ( Π Partenza, Arrivo ( (ρ Coinc Arrivo VOLO (ρ Coinc Partenza VOLO (ρ CoincX Arrivo VOLO (ρ CoincX Partenza, CoincY Arrivo VOLO (ρ CoincY Partenza VOLO COLLEG (P, A :- VOLO (P, A COLLEG (P, A :- VOLO (P, x, VOLO (x, A COLLEG (P, A :- VOLO (P, x, VOLO (x, y, VOLO (y, A? - COLLEG( Partenza, Arrivo 57 Esercizio aperto, per riempire il buco nell ultimo foglio e prepararci all inverno milanese. E l es. B2 del tde bd.pfd (non facilissimo Comune(Codice, Nome,Regione Soglia(Regione,SogliaPM10,SogliaCO,SogliaNOx,SogliHC AllarmePM10sopra50(Comune, Data CentraleRilevamento(Codice, Indirizzo, CodComune Osservazione(Centrale, Data, Ora, PM10, CO, NOx, HC Esprimere in algebra relazionale ottimizzata, calcolo relazione e Datalog la query che estrae le centrali di rilevamento che non hanno prodotto osservazioni in qualche giorno del 2001 (si assuma che esista, per qualche centrale, almeno una osservazione per ogni giorno del

Esercitazione sull Algebra Relazionale. Thursday, January 12, 12

Esercitazione sull Algebra Relazionale. Thursday, January 12, 12 Esercitazione sull Algebra Relazionale Thursday, January 12, 12 Schema Elencare i libri della biblioteca pubblicati dopo il 1997 Elencare i libri della biblioteca pubblicati dopo il 1997 Elencare i libri

Dettagli

Ricorsione in SQL-99. Introduzione. Idea di base

Ricorsione in SQL-99. Introduzione. Idea di base Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione

Dettagli

ESERCITAZIONE 1 16 ottobre 2014

ESERCITAZIONE 1 16 ottobre 2014 ESERCITAZIONE 1 16 ottobre 2014 Testi degli esercizi (matr, nome, città, c_laurea) (matr, cod_corso, voto) CORSO(cod_corso, titolo, docente) 1) Estrarre dalla base di dati gli studenti di Milano. 2) Estrarre

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

Dettagli

1) Semplicissimi esercizi introduttivi

1) Semplicissimi esercizi introduttivi Esercizi SQL 1 1) Semplicissimi esercizi introduttivi Impiegato(nome, titolo, età, salario, dip) Acquisto(idCliente, datadiordinazione, item, quantità, prezzo) Cliente(id, nome, cognome, città, stato)

Dettagli

Progettazione di Database. Un Esempio

Progettazione di Database. Un Esempio Progettazione di Database Un Esempio Data Base Management System Applicazione 1 Applicazione 2 Applicazione 3 DBMS A B C D E Il Modello Relazionale Una relazione è costituita su un insieme di domini, non

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione Normalizzazione Normalizzazione Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Normalizzazione Introduzione La normalizzazione è un procedimento che, a partire da uno schema relazionale

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

Dettagli

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota Attributi e domini Assumiamo un universo infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap. 2.1.4

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap. 2.1.4 2.2b: RELAZIONI E BASI DI DATI Atzeni, cap. 2.1.4 Il modello è basato su valori Una Base di Dati è generalmente costituita da più di una Tabella Le corrispondenze fra dati presenti in tabelle diverse sono

Dettagli

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26 Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione

Dettagli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture

Dettagli

Vincoli di integrità

Vincoli di integrità Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72?

Dettagli

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Progetto PI.20050704, passo A.2 versione del 6 febbraio 2007

Progetto PI.20050704, passo A.2 versione del 6 febbraio 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PI.20050704,

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono

Dettagli

CAPITOLO 7 ESERCIZI SUL MODELLO ER

CAPITOLO 7 ESERCIZI SUL MODELLO ER CAPITOLO 7 (le soluzioni sono riportate da pag. 6 in poi) ESERCIZI SUL MODELLO ER Esercizio 1 Considerate lo schema ER in Figura 1: lo schema rappresenta varie proprietà di uomini e donne. a) Correggete

Dettagli

Alcune nozioni di base di Logica Matematica

Alcune nozioni di base di Logica Matematica Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari Calcolo Relazionale Basi di dati e sistemi informativi 1 Calcolo Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Calcolo Relazionale Basi di dati e sistemi informativi

Dettagli

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni e identificatori Codice (0,1) (1,1) Dirige Informatica Lezione 8 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Cognome

Dettagli

Attività 9. La città fangosa Minimal Spanning Trees

Attività 9. La città fangosa Minimal Spanning Trees Attività 9 La città fangosa Minimal Spanning Trees Sommario la nostra società ha molti collegamenti in rete: la rete telefonica, la rete energetica, la rete stradale. Per una rete in particolare, ci sono

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

Esercizio 1. Cognome e nome:... Matricola:...

Esercizio 1. Cognome e nome:... Matricola:... Sistemi Informativi - Prova d'esame del 20/12/2000 Regole del gioco: 1) vietato scambiare informazioni con altri; 2) motivare ampiamente tutte le risposte; 3) indicare con chiarezza, cognome, nome e numero

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 12-Il t-test per campioni appaiati vers. 1.2 (7 novembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Predicati e Quantificatori

Predicati e Quantificatori Predicati e Quantificatori Limitazioni della logica proposizionale! Logica proposizionale: il mondo è descritto attraverso proposizioni elementari e loro combinazioni logiche! I singoli oggetti cui si

Dettagli

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento

Dettagli

ALGEBRA RELAZIONALE RIEPILOGO

ALGEBRA RELAZIONALE RIEPILOGO ALGEBRA RELAZIONALE RIEPILOGO PROIEZIONE: (notazione ) Operatore unario per estrarre colonne da una relazione: lista_attributi (R) Lo schema del risultato contiene i soli attributi contenuti in lista_attributi.

Dettagli

Esame Basi di Dati. 21 Gennaio 2013

Esame Basi di Dati. 21 Gennaio 2013 Esame Basi di Dati 21 Gennaio 2013 Matricola Prog. (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente 5 giorni dalla

Dettagli

Il modello Entity-Relationship: pattern di progettazione

Il modello Entity-Relationship: pattern di progettazione Il modello Entity-Relationship: pattern di progettazione Sistemi Informativi T Versione elettronica: 06.3.ER.pattern.pdf Soluzioni a problemi comuni In molti schemi E/R si ritrovano dei pattern comuni,

Dettagli

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 23 Settembre 03 Nome: Cognome: Matricola:

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 23 Settembre 03 Nome: Cognome: Matricola: 23 Settembre 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base dati di un villaggio vacanze e si definisca il relativo schema E/R (nella

Dettagli

Calcolo del Valore Attuale Netto (VAN)

Calcolo del Valore Attuale Netto (VAN) Calcolo del Valore Attuale Netto (VAN) Il calcolo del valore attuale netto (VAN) serve per determinare la redditività di un investimento. Si tratta di utilizzare un procedimento che può consentirci di

Dettagli

INTRODUZIONE ALLA MICROECONOMIA [F O] / Prova finale 14 Gennaio 2005. Nome.. Cognome. Matricola. Corso di laurea: CLEMI CLEA CLSES

INTRODUZIONE ALLA MICROECONOMIA [F O] / Prova finale 14 Gennaio 2005. Nome.. Cognome. Matricola. Corso di laurea: CLEMI CLEA CLSES INTRODUZIONE ALLA MICROECONOMIA [F O] / Prova finale 14 Gennaio 2005 A Nome.. Cognome. Matricola. Corso di laurea: CLEMI CLEA CLSES Istruzioni: rispondete alle domande segnando con una crocetta la lettera

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Polli e conigli. problemi Piano cartesiano. Numeri e algoritmi Sistemi e loro. geometrica. Relazioni e funzioni Linguaggio naturale e

Polli e conigli. problemi Piano cartesiano. Numeri e algoritmi Sistemi e loro. geometrica. Relazioni e funzioni Linguaggio naturale e Polli e conigli Livello scolare: primo biennio Abilità Interessate Calcolo di base - sistemi Risolvere per via grafica e algebrica problemi che si formalizzano con equazioni. Analizzare semplici testi

Dettagli

Progettazione di Database

Progettazione di Database Progettazione di Database Alcuni Esempi Progettare un Database Per la progettazione dei database sono state definite delle metodologie che definiscono una serie di criteri che aiutano nelle fase di scelta

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013

Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013 Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013 Domanda 1 (50%) Si consideri la seguente schematizzazione di alcuni tour organizzati da un agenzia turistica: Tour N. 2345 Nome: Marocco Partenza:

Dettagli

Modulo 2 Data Base 2

Modulo 2 Data Base 2 Modulo 2 Data Base 2 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Relazioni: riepilogo Relazione : concetto

Dettagli

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua

Dettagli

CAPITOLO 4 ESERCIZI SU SQL

CAPITOLO 4 ESERCIZI SU SQL CAPITOLO 4 ESERCIZI SU SQL (le soluzioni sono riportate da pag. 5 in poi (Nota: gli esercizi non sono sempre in ordine di difficoltà Esercizio 1 Si prendano tutti gli schemi relazionali considerati negli

Dettagli

Introduzione all Algebra Relazionale

Introduzione all Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

Analisi dei Dati 12/13 Esercizi proposti 3 soluzioni

Analisi dei Dati 12/13 Esercizi proposti 3 soluzioni Analisi dei Dati 1/13 Esercizi proposti 3 soluzioni 0.1 Un urna contiene 6 palline rosse e 8 palline nere. Si estraggono simultaneamente due palline. Qual è la probabilità di estrarle entrambe rosse? (6

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 5

Data Base. Master Bio Info Reti e Basi di Dati Lezione 5 Data Base Master "Bio Info" Reti e Basi di Dati Lezione 5 Sommario I concetti fondamentali Database e DBMS Tipi di Database Database Relazionale Attributi, Tupla, Vincoli di integrità, Chiavi, Vincolo

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Come Il Lavoro Riguarda Suoi Sussidi

Come Il Lavoro Riguarda Suoi Sussidi Come Il Lavoro Riguarda Suoi Sussidi 2012 Come Il Lavoro Riguarda Suoi Sussidi possibile percepire sussidi Social Security È di pensionamento o per familiari superstiti anche se si svolge un attività lavorativa.

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi Informatica Basi di dati parte 3 Basi di dati relazionali: relazioni, tabelle, chiavi, vincoli Lezione 9 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione

Dettagli

Progettazione Logica. Progettazione Logica

Progettazione Logica. Progettazione Logica Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Tabelle per ogni concetto Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it Passaggio al modello logico (1)

Dettagli

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale Modello dei Dati E-R ENTITÀ-RELAZIONE O (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale R.Gori - G.Leoni Modello dei Dati Entità-Relazione

Dettagli

Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine

Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine Calcolo relazionale Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine calcolo Specifica (èla base relazionale su tuple le di proprietà molti con

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

Progettazione di Database

Progettazione di Database Progettazione di Database Progettazione Concettuale: strutturazione della realtà che si vuole rappresentare secondo uno schema concettuale Dallo schema concettuale si ricava lo schema del database relazionale

Dettagli

Capitolo 2. Esercizio 2.1. Esercizio 2.2

Capitolo 2. Esercizio 2.1. Esercizio 2.2 Capitolo 2 Esercizio 2.1 Considerare le informazioni per la gestione dei prestiti di una biblioteca personale. Il proprietario presta libri ai suoi amici, che indica semplicemente attraverso i rispettivi

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica

Dettagli

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei

Dettagli

studi e analisi finanziarie La Duration

studi e analisi finanziarie La Duration La Duration Cerchiamo di capire perchè le obbligazioni a tasso fisso possono oscillare di prezzo e, quindi, anche il valore di un fondo di investimento obbligazionario possa diminuire. Spesso si crede

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

Il modello relazionale

Il modello relazionale Il modello relazionale Il modello relazionale è stato introdotto nel 1970 da E.F. Codd. Soltanto a metà degli anni ottanta ha trovato una buona diffusione sul mercato, in quanto all epoca della sua introduzione

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno 2007-08

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno 2007-08 Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari Mariagiovanna Sami Corso di reti Logiche 8 Anno 27-8 8 Quali componenti, se non AND e OR (e NOT )? Si è detto inizialmente che

Dettagli

REGOLE PER L ESAME (agg.te settembre 2015)

REGOLE PER L ESAME (agg.te settembre 2015) Informatica e Programmazione (9 CFU) Ingegneria Meccanica e dei Materiali REGOLE PER L ESAME (agg.te settembre 2015) Modalità d esame (note generali) Per superare l esame, lo studente deve sostenere due

Dettagli

ISTRUZIONI PER LA COMPILAZIONE O LA MODIFICA DEL PIANO DELLE ATTIVITA FORMATIVE (Piano di studi)

ISTRUZIONI PER LA COMPILAZIONE O LA MODIFICA DEL PIANO DELLE ATTIVITA FORMATIVE (Piano di studi) ISTRUZIONI PER LA COMPILAZIONE O LA MODIFICA DEL PIANO DELLE ATTIVITA FORMATIVE (Piano di studi) La compilazione del piano delle attività formative (P.A.F.), altrimenti detto piano di studi, è la prima

Dettagli

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità Informatica Possono esistere associazioni diverse che coinvolgono le stesse entità Lezione 7 Lavora a Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

Corso di Laurea in Ingegneria Informatica e Automatica (A-O) Università di Roma La Sapienza

Corso di Laurea in Ingegneria Informatica e Automatica (A-O) Università di Roma La Sapienza Corso di Laurea in Ingegneria Informatica e Automatica (A-O) Università di Roma La Sapienza CALCOLO DELLE PROBABILITÀ E STATISTICA ESAME DEL 17/2/215 NOME: COGNOME: MATRICOLA: Esercizio 1 Un sistema di

Dettagli

Il modello relazionale dei dati

Il modello relazionale dei dati Il modello relazionale dei dati Master Alma Graduate School Sistemi Informativi Home Page del corso: http://www-db.deis.unibo.it/courses/alma_si1/ Versione elettronica: 04Relazionale.pdf Obiettivi della

Dettagli

Matematica e giochi di gruppo

Matematica e giochi di gruppo Matematica e giochi di gruppo Possiamo riempire di contenuti matematici situazioni di piccola sfida personale, situazioni di giochi di società. Di seguito proponiamo attività che affrontano i seguenti

Dettagli

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base di dati di una facoltà e si definisca

Dettagli

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE STUDIO DI FUNZIONE Passaggi fondamentali Per effettuare uno studio di funzione completo, che non lascia quindi margine a una quasi sicuramente errata inventiva, sono necessari i seguenti 7 passaggi: 1.

Dettagli

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749 Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006 Esercizi entità relazione risolti a cura di Angela Campagnaro 802749 Indice: Esercizio 1: Un insieme di officine 1.1 Testo esercizio.3

Dettagli

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2 Basi di dati Concetti Introduttivi ESEMPIO Fisica, Analisi, Informatica Entità Relazioni Interrogazioni Database 2 Tabella (I) STUDENTE Attributi Data di Nascita Indirizzo Matricola Luca Neri 27/10/1980

Dettagli

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012 Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012 Si consideri il seguente schema di base di dati che vuole tenere traccia delle attività di una piscina nell anno 2012/2013. VASCA (CodVasca, Profondità)

Dettagli

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza

Dettagli

I NUMERI DECIMALI. che cosa sono, come si rappresentano

I NUMERI DECIMALI. che cosa sono, come si rappresentano I NUMERI DECIMALI che cosa sono, come si rappresentano NUMERI NATURALI per contare bastano i numeri naturali N i numeri naturali cominciano con il numero uno e vanno avanti con la regola del +1 fino all

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Lezione 9: Cambio di base

Lezione 9: Cambio di base Lezione 9: Cambio di base In questa lezione vogliamo affrontare uno degli argomenti piu ostici per lo studente e cioè il cambio di base all interno di uno spazio vettoriale, inoltre cercheremo di capire

Dettagli

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Si consideri il seguente schema di base di dati che vuole tenere traccia delle attività di un autofficina. MECCANICO (CodiceFiscale,

Dettagli