Esercitazione ER e Algebra Relazionale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esercitazione ER e Algebra Relazionale"

Transcript

1 Esercitazione ER e Algebra Relazionale De Cao Diego, Roberto Basili, Giannone Cristina Università di Roma Tor Vergata {decao,basili}@info.uniroma2.it Corso di Basi di Dati e della Conoscenza ( )

2 Descrizione della applicazione Una catena di farmacie decide di automatizzare la gestione dei propri clienti e vendite ed è necessario il progetto del database di riferimento. La prima discussione con il gruppo responsabile presso l azienda consente di derivare le seguenti informazioni parziali: De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

3 Specifiche: Nella catena di farmacie sono incluse più 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 può, 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. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

4 Specifiche: Nella catena di farmacie sono incluse più 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 può, 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. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

5 Specifiche: Nella catena di farmacie sono incluse più 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 può, 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. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

6 Specifiche: Nella catena di farmacie sono incluse più 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 può, 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. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

7 Catena di Farmacie - Note Ogni paziente ha un medico primario o di famiglia. Ogni medico ha almeno un paziente. I medici prescrivono medicinali ai pazienti. Uno o più medicinali possono essere prescritti a più pazienti. Lo stesso paziente (pur avendo un medico primario, o di famiglia) può ottenere più prescrizioni da più medici. Ogni prescrizione ha una data ed una quantità associata con essa. Se un medico prescrive lo stesso medicinale allo stesso paziente solo l ultima prescrizione va registrata. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

8 Catena di Farmacie - Note Ogni paziente ha un medico primario o di famiglia. Ogni medico ha almeno un paziente. I medici prescrivono medicinali ai pazienti. Uno o più medicinali possono essere prescritti a più pazienti. Lo stesso paziente (pur avendo un medico primario, o di famiglia) può ottenere più prescrizioni da più medici. Ogni prescrizione ha una data ed una quantità associata con essa. Se un medico prescrive lo stesso medicinale allo stesso paziente solo l ultima prescrizione va registrata. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

9 Catena di Farmacie - Note Ogni paziente ha un medico primario o di famiglia. Ogni medico ha almeno un paziente. I medici prescrivono medicinali ai pazienti. Uno o più medicinali possono essere prescritti a più pazienti. Lo stesso paziente (pur avendo un medico primario, o di famiglia) può ottenere più prescrizioni da più medici. Ogni prescrizione ha una data ed una quantità associata con essa. Se un medico prescrive lo stesso medicinale allo stesso paziente solo l ultima prescrizione va registrata. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

10 Catena di Farmacie - Note Ogni paziente ha un medico primario o di famiglia. Ogni medico ha almeno un paziente. I medici prescrivono medicinali ai pazienti. Uno o più medicinali possono essere prescritti a più pazienti. Lo stesso paziente (pur avendo un medico primario, o di famiglia) può ottenere più prescrizioni da più medici. Ogni prescrizione ha una data ed una quantità associata con essa. Se un medico prescrive lo stesso medicinale allo stesso paziente solo l ultima prescrizione va registrata. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

11 Catena di Farmacie - Note (2) I pazienti sono identificati da un codice (CF), i loro nomi, indirizzo e dalla loro età. I medici sono identificati dal codice fiscale (o CF). Per ogni dottore il nome, la sua specialità 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. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

12 Catena di Farmacie - Note (2) I pazienti sono identificati da un codice (CF), i loro nomi, indirizzo e dalla loro età. I medici sono identificati dal codice fiscale (o CF). Per ogni dottore il nome, la sua specialità 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. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

13 Catena di Farmacie - Note (3) Per ogni medicinale, il nome commerciale e la formula deve essere registrata. Ogni medicinale è 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 più di essere memorizzati. Ogni farmacia vende diversi medicinali ed ha un prezzo per ciascuno. Un medicinale può essere venduto in diverse farmacie ed i loro prezzi quindi possono variare tra farmacie diverse. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

14 Catena di Farmacie - Note (3) Per ogni medicinale, il nome commerciale e la formula deve essere registrata. Ogni medicinale è 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 più di essere memorizzati. Ogni farmacia vende diversi medicinali ed ha un prezzo per ciascuno. Un medicinale può essere venduto in diverse farmacie ed i loro prezzi quindi possono variare tra farmacie diverse. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

15 Catena di Farmacie - Note (3) Per ogni medicinale, il nome commerciale e la formula deve essere registrata. Ogni medicinale è 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 più di essere memorizzati. Ogni farmacia vende diversi medicinali ed ha un prezzo per ciascuno. Un medicinale può essere venduto in diverse farmacie ed i loro prezzi quindi possono variare tra farmacie diverse. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

16 Catena di Farmacie - Note (4) Una compagnia farmaceutica ha contratti a lungo termine con diverse farmacie. Una farmacia altresì 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 può cambiare durante la durata del contratto stesso. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

17 Catena di Farmacie - Note (4) Una compagnia farmaceutica ha contratti a lungo termine con diverse farmacie. Una farmacia altresì 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 può cambiare durante la durata del contratto stesso. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

18 Catena di Farmacie - Note (4) Una compagnia farmaceutica ha contratti a lungo termine con diverse farmacie. Una farmacia altresì 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 può cambiare durante la durata del contratto stesso. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

19 Soluzione ER Nelle pagine seguenti sono fornite le soluzioni al problema sin qui descritto. Accedi ad esse solo DOPO aver risolto autonomamente l esercizio. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

20 ER De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

21 ER De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

22 Schema Logico Entità Paziente(CF:string, Nome:String, Età:int, Indirizzo:string, CFMed:string) Medico(CF:string, Nome:String, AnzianitàServizio:int, Spec:string) Farmacia(idF:int, Nome:string, Telefono:String, Indirizzo:string) CompagniaFarmaceutica(idCF:int, Nome:string, Telefono:String) Commesso(CF:string, Nome:string, idf:int) Medicinale(Nome:string, idcf:int, Formula:string) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

23 Schema Logico Entità Paziente(CF:string, Nome:String, Età:int, Indirizzo:string, CFMed:string) Medico(CF:string, Nome:String, AnzianitàServizio:int, Spec:string) Farmacia(idF:int, Nome:string, Telefono:String, Indirizzo:string) CompagniaFarmaceutica(idCF:int, Nome:string, Telefono:String) Commesso(CF:string, Nome:string, idf:int) Medicinale(Nome:string, idcf:int, Formula:string) Relazioni Prescrive(idPr:int, CFPaz:string, CFMed:string, NomeMedicin:String, idcf:int, Data:data, Quantità:int) Distribuisce(idF:int, NomeMedicin:String, idcf:int, Prezzo:int) Contratto(idF:int, idcf:int, CFImp:string, Inizio:data, Fine:data, Testo:string) Vende(idF:int, idpr:int) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

24 Domande Quali medicinali sono stati prescritti al paziente X? Quale farmacia vende il medicinale X? Quali medici hanno prescritto il medicinale X? Quali medici hanno prescritto il medicinale X al paziente Y? Quali farmacie hanno venduto il medicinale X? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

25 Domande Quali medicinali sono stati venduti al paziente X dalla Farmacia Y? Quali medicinali sono stati prescritti al paziente X dal suo medico curante? Quali medicinali sono venduti dalla farmacia X ma non dalla Y? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

26 Soluzioni alle domande in algebra relazionale. Nelle pagine seguenti sono fornite le soluzioni alle domande qui introdotte. Accedi ad esse solo DOPO aver risolto autonomamente l esercizio. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

27 Domande Quali medicinali sono stati prescritti al paziente X? Quale farmacia vende il medicinale X? Quali medici hanno prescritto il medicinale X? Quali medici hanno prescritto il medicinale X al paziente Y? Quali farmacie hanno venduto il medicinale X? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

28 Domande Quali medicinali sono stati prescritti al paziente X? πmedicinale.nome,cf.nome (σ X (Paziente) Prescrive (Medicinale CF)) Quale farmacia vende il medicinale X? Quali medici hanno prescritto il medicinale X? Quali medici hanno prescritto il medicinale X al paziente Y? Quali farmacie hanno venduto il medicinale X? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

29 Domande Quali medicinali sono stati prescritti al paziente X? π Medicinale.Nome,CF.Nome (σ X (Paziente) Prescrive (Medicinale CF)) Quale farmacia vende il medicinale X? πfarmacia.nome (σ X (Medicinale CF) (Farmacia Distribuisce)) Quali medici hanno prescritto il medicinale X? Quali medici hanno prescritto il medicinale X al paziente Y? Quali farmacie hanno venduto il medicinale X? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

30 Domande Quali medicinali sono stati prescritti al paziente X? πmedicinale.nome,cf.nome (σ X (Paziente) Prescrive (Medicinale CF)) Quale farmacia vende il medicinale X? π Farmacia.Nome (σ X (Medicinale CF) (Farmacia Distribuisce)) Quali medici hanno prescritto il medicinale X? πmedico.nome (σ X (Medicinale CF) Prescrive Medico) Quali medici hanno prescritto il medicinale X al paziente Y? Quali farmacie hanno venduto il medicinale X? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

31 Domande Quali medicinali sono stati prescritti al paziente X? π Medicinale.Nome,CF.Nome (σ X (Paziente) Prescrive (Medicinale CF)) Quale farmacia vende il medicinale X? πfarmacia.nome (σ X (Medicinale CF) (Farmacia Distribuisce)) Quali medici hanno prescritto il medicinale X? πmedico.nome (σ X (Medicinale CF) Prescrive Medico) Quali medici hanno prescritto il medicinale X al paziente Y? π Medico.Nome ((σ X (Md CF) (Medico Prescr.)) σ Y (Paz.)) Quali farmacie hanno venduto il medicinale X? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

32 Domande Quali medicinali sono stati prescritti al paziente X? πmedicinale.nome,cf.nome (σ X (Paziente) Prescrive (Medicinale CF)) Quale farmacia vende il medicinale X? π Farmacia.Nome (σ X (Medicinale CF) (Farmacia Distribuisce)) Quali medici hanno prescritto il medicinale X? πmedico.nome (σ X (Medicinale CF) Prescrive Medico) Quali medici hanno prescritto il medicinale X al paziente Y? π Medico.Nome ((σ X (Md CF) (Medico Prescr.)) σ Y (Paz.)) Quali farmacie hanno venduto il medicinale X? π Farmacia.Nome (σ X (Medicinale CF) (Farmacia (Prescrizione Vende))) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

33 Domande Quali medicinali sono stati venduti al paziente X dalla Farmacia Y? Quali medicinali sono stati prescritti al paziente X dal suo medico curante? Quali medicinali sono venduti dalla farmacia X ma non dalla Y? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

34 Domande Quali medicinali sono stati venduti al paziente X dalla Farmacia Y? π Md.Nome,CF.Nome (σ X (Paziente) Prescrive Vende Medicinale CF) Quali medicinali sono stati prescritti al paziente X dal suo medico curante? Quali medicinali sono venduti dalla farmacia X ma non dalla Y? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

35 Domande Quali medicinali sono stati venduti al paziente X dalla Farmacia Y? π Md.Nome,CF.Nome (σ X (Paziente) Prescrive Vende Medicinale CF) Quali medicinali sono stati prescritti al paziente X dal suo medico curante? π Medicinale.Nome,CF.Nome (Medicinale CF Prescrive π Paziente.CFMed (σ X (Paziente))) Quali medicinali sono venduti dalla farmacia X ma non dalla Y? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

36 Domande Quali medicinali sono stati venduti al paziente X dalla Farmacia Y? πmd.nome,cf.nome (σ X (Paziente) Prescrive Vende Medicinale CF) Quali medicinali sono stati prescritti al paziente X dal suo medico curante? πmedicinale.nome,cf.nome (Medicinale CF Prescrive π Paziente.CFMed (σ X (Paziente))) Quali medicinali sono venduti dalla farmacia X ma non dalla Y? ρ(r1,πmd.nome,cf.nome (σ X (Farmacia) Distribuisce Medicinale CF)) ρ(r2,πmd.nome,cf.nome (σ Y (Farmacia) Distribuisce Medicinale CF)) R1 R2 De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

37 SQL- Creazione Entità Farmacia CREATE TABLE Farmacia ( idf int(11) NOT NULL auto_increment, Nome varchar(255) NOT NULL, Telefono varchar(20) NOT NULL, Indirizzo varchar(255) NOT NULL, PRIMARY KEY ( idf ) ) ENGINE=InnoDB De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

38 SQL - Creazione Entità Medico CREATE TABLE Medico ( CF varchar(18) NOT NULL, Nome varchar(255) NOT NULL, AnzServizio int(11) NOT NULL, Specializzazione varchar(255) NOT NULL, PRIMARY KEY ( CF ) ) ENGINE=InnoDB De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

39 SQL - Creazione Entità Paziente CREATE TABLE Paziente ( CF varchar(18) NOT NULL, Nome varchar(255) NOT NULL, Eta int(11) NOT NULL, Indirizzo varchar(255) NOT NULL, CFMed varchar(18) NOT NULL, PRIMARY KEY ( CF ), FOREIGN KEY ( CFMed ) REFERENCES Medico ( CF ) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

40 SQL - Creazione Relazione Prescrive CREATE TABLE Prescrive ( idpr int(11) NOT NULL auto_increment, CFPaz varchar(18) NOT NULL, CFMed varchar(18) NOT NULL, NomeMedicinale varchar(255) NOT NULL, idcf int(11) NOT NULL, data date NOT NULL, Quantita int(11) NOT NULL, PRIMARY KEY ( idpr ), UNIQUE ( CFPaz, CFMed, NomeMedicinale, idcf ), FOREIGN KEY ( CFPaz ) REFERENCES Paziente ( CF ) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY ( CFMed ) REFERENCES Medico ( CF ) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY ( NomeMedicinale, idcf ) REFERENCES Medicinale ( Nome, idcf ) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

41 Dall algebra relazionale a SQL Quale è il numero di telefono della Farmacia X? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

42 Dall algebra relazionale a SQL Quale è il numero di telefono della Farmacia X? π telefono (σ X (Farmacia)) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

43 Dall algebra relazionale a SQL Quale è il numero di telefono della Farmacia X? SELECT telefono FROM Farmacia WHERE nome = X π telefono (σ X (Farmacia)) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

44 Dall algebra relazionale a SQL Quale è il numero di telefono della Farmacia X? Uso dell operatore LIKE: SELECT telefono FROM Farmacia WHERE nome LIKE X π telefono (σ X (Farmacia)) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

45 Dall algebra relazionale a SQL Quale è il numero di telefono della Farmacia X? π telefono (σ X (Farmacia)) LIKE usato sulle stringhe permette match parziali attraverso l uso di wildcards % e _ : % : Corrisponde ad un qualsiasi carattere senza limiti di ripetizione (anche 0 volte) _ : Corrisponde ad un qualsiasi carattere ma che occorre esattamente una volta SELECT telefono FROM Farmacia WHERE nome LIKE %X_ De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

46 Dall algebra relazionale a SQL Quali medicinali sono stati prescritti al paziente X? π Medicinale.Nome,CF.Nome (σ X (Paziente) Prescrive (Medicinale CF)) Versione senza l uso del costrutto JOIN: SELECT Medicinale. Nome, CompagniaFarmaceutica. Nome FROM Medicinale, CompagniaFarmaceutica, Paziente, Prescrive WHERE Paziente. CF = X AND Medicinale. idcf = CompagniaFarmaceutica. idcf AND Paziente. CF = Prescrive. CFPaz AND Prescrive. idcf = CompagniaFarmaceutica. idcf AND Prescrive. NomeMedicinale = Medicinale. Nome De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

47 Dall algebra relazionale a SQL Quali medicinali sono stati prescritti al paziente X? π Medicinale.Nome,CF.Nome (σ X (Paziente) Prescrive (Medicinale CF)) Versione senza l uso del costrutto JOIN Riscrittura dei Nomi: SELECT M. Nome AS Nome_Farmaco, CF. Nome AS Nome_Compagnia FROM Medicinale AS M, CompagniaFarmaceutica AS CF, Paziente AS P, Prescrive AS Pr WHERE P. CF = X AND M. idcf = CF. idcf AND P. CF = Pr. CFPaz AND Pr. idcf = CF. idcf AND Pr. NomeMedicinale = M. Nome AND M. idcf = CF. idcf De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

48 Dall algebra relazionale a SQL Quali medicinali sono stati prescritti al paziente X? π Medicinale.Nome,CF.Nome (σ X (Paziente) Prescrive (Medicinale CF)) Versione con l uso del costrutto JOIN: SELECT M. Nome AS Nome_Farmaco, CF. Nome AS Nome_Compagnia FROM Paziente AS P JOIN Prescrive AS Pr ON P. CF = Pr. CFPaz JOIN CompagniaFarmaceutica AS CF ON Pr. idcf = CF. idcf JOIN Medicinale AS M ON Pr. NomeMedicinale = M. Nome AND M. idcf = CF. idcf, WHERE P. CF = X De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

49 Dall algebra relazionale a SQL Quale farmacia vende il medicinale X della Casa Faramceutica Y? π Farmacia.Nome (σ X (Medicinale) σ Y (CF) (Farmacia Distribuisce)) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

50 Dall algebra relazionale a SQL Quale farmacia vende il medicinale X della Casa Faramceutica Y? π Farmacia.Nome (σ X (Medicinale) σ Y (CF) (Farmacia Distribuisce)) SELECT F. Nome AS Nome_Farmacia FROM Medicinale AS M JOIN CompagniaFarmaceutica AS CF ON M. idcf = CF. idcf JOIN Distribuisce AS D ON M. Nome = D. NomeMedicinale AND M. idcf = D. idcf JOIN Farmacia AS F ON F. idf = D. idf WHERE M. Nome LIKE X AND CF. Nome LIKE Y De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

51 Dall algebra relazionale a SQL Quali medici hanno prescritto il medicinale X della Casa Faramceutica Y? π Medico.Nome (σ X (Medicinale) σ Y (CF) Prescrive Medico) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

52 Dall algebra relazionale a SQL Quali medici hanno prescritto il medicinale X della Casa Faramceutica Y? π Medico.Nome (σ X (Medicinale) σ Y (CF) Prescrive Medico) SELECT M. Nome AS Nome_Medico FROM Medicinale AS M JOIN CompagniaFarmaceutica AS CF ON M. idcf = CF. idcf JOIN Prescrive AS P ON M. Nome = P. NomeMedicinale AND M. idcf = P. idcf JOIN Medico AS Med ON Med. CF = P. CFMed WHERE M. Nome LIKE X AND CF. Nome LIKE Y De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

53 Dall algebra relazionale a SQL Quali medicinali sono venduti dalla farmacia X ma non dalla Y? ρ(r1,π Md.Nome,CF.Nome (σ X (Farmacia) Distribuisce Medicinale CF)) ρ(r2,π Md.Nome,CF.Nome (σ Y (Farmacia) Distribuisce Medicinale CF)) R1 R2 De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

54 Dall algebra relazionale a SQL Quali medicinali sono venduti dalla farmacia X ma non dalla Y? ρ(r1,π Md.Nome,CF.Nome (σ X (Farmacia) Distribuisce Medicinale CF)) ρ(r2,π Md.Nome,CF.Nome (σ Y (Farmacia) Distribuisce Medicinale CF)) R1 R2 CREATE TEMPORARY TABLE R1 ( SELECT M. Nome AS Nome_Medicinale, CF. Nome AS Nome_Compagnia FROM Medicinale AS M JOIN CompagniaFarmaceutica AS CF ON M. idcf = CF. idcf JOIN Distribuisce AS D ON M. Nome = D. NomeMedicinale AND M. idcf = D. idcf JOIN Farmacia AS F ON F. idf = D. idf WHERE F. Nome LIKE X ) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

55 Dall algebra relazionale a SQL Quali medicinali sono venduti dalla farmacia X ma non dalla Y? ρ(r1,π Md.Nome,CF.Nome (σ X (Farmacia) Distribuisce Medicinale CF)) ρ(r2,π Md.Nome,CF.Nome (σ Y (Farmacia) Distribuisce Medicinale CF)) R1 R2 CREATE TEMPORARY TABLE R2 ( SELECT M. Nome AS Nome_Medicinale, CF. Nome AS Nome_Compagnia FROM Medicinale AS M JOIN CompagniaFarmaceutica AS CF ON M. idcf = CF. idcf JOIN Distribuisce AS D ON M. Nome = D. NomeMedicinale AND M. idcf = D. idcf JOIN Farmacia AS F ON F. idf = D. idf WHERE F. Nome LIKE Y ) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

56 Dall algebra relazionale a SQL Quali medicinali sono venduti dalla farmacia X ma non dalla Y? ρ(r1,π Md.Nome,CF.Nome (σ X (Farmacia) Distribuisce Medicinale CF)) ρ(r2,π Md.Nome,CF.Nome (σ Y (Farmacia) Distribuisce Medicinale CF)) R1 R2 SELECT * FROM R1 WHERE ( Nome_Medicinale, Nome_Compagnia ) NOT IN ( SELECT * FROM R2 ) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

57 Operatori di Aggregazione Quale è il prezzo di vendita minimo del Medicinale X della Casa Farmaceutica Y De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

58 Operatori di Aggregazione Quale è il prezzo di vendita minimo del Medicinale X della Casa Farmaceutica Y SELECT MIN( D. Prezzo ) FROM Distribuisce AS D JOIN CompagniaFarmaceutica AS CF ON CF. idcf = D. idcf WHERE CF. Nome LIKE Y AND D. NomeMedicinale LIKE X GROUP BY D. NomeMedicinale De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

59 Operatori di Aggregazione Quali Farmacie vendono al prezzo più basso il Medicinale X della Casa Farmaceutica Y De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

60 Operatori di Aggregazione Quali Farmacie vendono al prezzo più basso il Medicinale X della Casa Farmaceutica Y SELECT F. Nome AS Nome_Faramacia FROM Distribuisce AS D JOIN CompagniaFarmaceutica AS CF ON CF. idcf = D. idcf JOIN Farmacia AS F ON F. idf = D. idf WHERE CF. Nome LIKE Y AND D. NomeMedicinale LIKE X AND D. Prezzo = (SELECT MIN( D. Prezzo ) AS Prezzo FROM Distribuisce AS D JOIN CompagniaFarmaceutica AS CF ON CF. idcf = D. idcf WHERE CF. Nome LIKE X AND D. NomeMedicinale LIKE X GROUP BY D. NomeMedicinale ) ) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

61 Esercizi sugli operatori relazionali Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale: 1 R1 R2 2 R1 R2 3 R1 R2 4 R1 R2 5 σ a=5 (R1) 6 π a (R1) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

62 Soluzioni alle domande sugli operatori relazionali. Nelle pagine seguenti sono fornite le soluzioni alle domande qui introdotte. Accedi ad esse solo DOPO aver risolto autonomamente l esercizio. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

63 Esercizi sugli Insiemi Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale: 1 R1 R2 2 R1 R2 3 R1 R2 4 R1 R2 5 σ a=5 (R1) 6 π a (R1) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

64 Esercizi sugli Insiemi Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale: 1 R1 R2 Minimo: N 2 Massimo: N 1 + N 2 Union Compatibility 2 R1 R2 3 R1 R2 4 R1 R2 5 σ a=5 (R1) 6 π a (R1) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

65 Esercizi sugli Insiemi Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale: 1 R1 R2 Minimo: N 2 Massimo: N 1 + N 2 Union Compatibility 2 R1 R2 Minimo: 0 Massimo: N 1 Union Compatibility 3 R1 R2 4 R1 R2 5 σ a=5 (R1) 6 π a (R1) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

66 Esercizi sugli Insiemi Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale: 1 R1 R2 Minimo: N 2 Massimo: N 1 + N 2 Union Compatibility 2 R1 R2 Minimo: 0 Massimo: N 1 Union Compatibility 3 R1 R2 Minimo: 0 Massimo: N 1 Union Compatibility 4 R1 R2 5 σ a=5 (R1) 6 π a (R1) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

67 Esercizi sugli Insiemi Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale: 1 R1 R2 Minimo: N 2 Massimo: N 1 + N 2 Union Compatibility 2 R1 R2 Minimo: 0 Massimo: N 1 Union Compatibility 3 R1 R2 Minimo: 0 Massimo: N 1 Union Compatibility 4 R1 R2 Minimo: N 1 N 2 Massimo: N 1 N 2 Nessuna Assunzione 5 σ a=5 (R1) 6 π a (R1) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

68 Esercizi sugli Insiemi Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale: 1 R1 R2 Minimo: N 2 Massimo: N 1 + N 2 Union Compatibility 2 R1 R2 Minimo: 0 Massimo: N 1 Union Compatibility 3 R1 R2 Minimo: 0 Massimo: N 1 Union Compatibility 4 R1 R2 Minimo: N 1 N 2 Massimo: N 1 N 2 Nessuna Assunzione 5 σ a=5 (R1) Minimo: 0 Massimo: N 1 a e attributo di R1 6 π a (R1) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

69 Esercizi sugli Insiemi Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale: 1 R1 R2 Minimo: N 2 Massimo: N 1 + N 2 Union Compatibility 2 R1 R2 Minimo: 0 Massimo: N 1 Union Compatibility 3 R1 R2 Minimo: 0 Massimo: N 1 Union Compatibility 4 R1 R2 Minimo: N 1 N 2 Massimo: N 1 N 2 Nessuna Assunzione 5 σ a=5 (R1) Minimo: 0 Massimo: N 1 a e attributo di R1 6 π a (R1) Minimo: 1 Massimo: N 1 a e attributo di R1 De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

70 Esercizi sullo schema ER Come cambierebbe il progetto concettuale se ogni medicinale dovesse essere venduto ad un prezzo fissato per ogni farmacia? Come cambierebbe il progetto concettuale se tutte le prescrizioni di un medico per un paziente dovessero essere memorizzate, indipendentemente dal ricorrere di uno stesso medicinale? De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

71 Altri Esercizi sull algebra relazionale Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale, ed eventuali ulteriori assunzioni necessarie a rendere consistente la risposta: 1 R2 R1 2 σ a=5 (R1 R2) 3 (σ a=5 R1) R2 = σ a=5 R1 R2 4 σ a=5 (R2)/R1 5 R2/π a (R2) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

72 Soluzioni alle ultime domande sugli operatori relazionali. Nelle pagine seguenti sono fornite le soluzioni alle ultime domande introdotte. Accedi ad esse solo DOPO aver risolto autonomamente l esercizio. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

73 Altri Esercizi sull algebra relazionale Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale, ed eventuali ulteriori assunzioni necessarie a rendere consistente la risposta: 1 R2 R1 2 σ a=5 (R1 R2) 3 (σ a=5 R1) R2 = σ a=5 R1 R2 4 σ a=5 (R2)/R1 5 R2/π a (R2) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

74 Altri Esercizi sull algebra relazionale Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale, ed eventuali ulteriori assunzioni necessarie a rendere consistente la risposta: 1 R2 R1 Min: 0 Max: N 1 Union Compatibility 2 σ a=5 (R1 R2) 3 (σ a=5 R1) R2 = σ a=5 R1 R2 4 σ a=5 (R2)/R1 5 R2/π a (R2) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

75 Altri Esercizi sull algebra relazionale Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale, ed eventuali ulteriori assunzioni necessarie a rendere consistente la risposta: 1 R2 R1 Min: 0 Max: N 1 Union Compatibility 2 σ a=5 (R1 R2) Min: 0 Max: N 1 Union Compatibility 3 (σ a=5 R1) R2 = σ a=5 R1 R2 4 σ a=5 (R2)/R1 5 R2/π a (R2) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

76 Altri Esercizi sull algebra relazionale Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale, ed eventuali ulteriori assunzioni necessarie a rendere consistente la risposta: 1 R2 R1 Min: 0 Max: N 1 Union Compatibility 2 σ a=5 (R1 R2) Min: 0 Max: N 1 Union Compatibility 3 (σ a=5 R1) R2 = σ a=5 R1 R2 Min: 0 Max: N 1 N 2 4 σ a=5 (R2)/R1 5 R2/π a (R2) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

77 Altri Esercizi sull algebra relazionale Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale, ed eventuali ulteriori assunzioni necessarie a rendere consistente la risposta: 1 R2 R1 Min: 0 Max: N 1 Union Compatibility 2 σ a=5 (R1 R2) Min: 0 Max: N 1 Union Compatibility 3 (σ a=5 R1) R2 = σ a=5 R1 R2 Min: 0 Max: N 1 N 2 4 σ a=5 (R2)/R1 Min: 0 Max: N 2 /N 1 5 R2/π a (R2) De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

78 Altri Esercizi sull algebra relazionale Date due relazioni R1 e R2, le quali contengono N 1 e N 2 tuple rispettivamente e sapendo che N 2 > N 1 > 0, fornire il numero massimo e minimo delle tuple risultanti dalle seguenti operazioni dell algebra relazionale, ed eventuali ulteriori assunzioni necessarie a rendere consistente la risposta: 1 R2 R1 Min: 0 Max: N 1 Union Compatibility 2 σ a=5 (R1 R2) Min: 0 Max: N 1 Union Compatibility 3 (σ a=5 R1) R2 = σ a=5 R1 R2 Min: 0 Max: N 1 N 2 4 σ a=5 (R2)/R1 Min: 0 Max: N 2 /N 1 5 R2/π a (R2) Min: 0 Max: N 2 De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

79 Esercizi ulteriori Modellare l ER di un negozio di musica che vende dischi (vinile), CD e musicassette, ma anche film in VHS e DVD Modellare l ER di una catena di negozi di mobili in cui i settori merceologici (per es. Cucine vs. Sale da Pranzo) caratterizzano i diversi negozi. Quindi un negozio puo avere una o piu specializzazioni merceologiche. Rappresentare anche le informazioni sui fornitori della catena che hanno rapporti con i diversi negozi. Modelare un ER per i dati e le risorse di un sito Web: files, macchine e dischi. De Cao, R. Basili, C.Giannone (Univ. Tor Vergata) Esercitazione: ER ed Algebra Relazionale / 39

Esercitazione ER e Algebra Relazionale

Esercitazione ER e Algebra Relazionale Esercitazione ER e Algebra Relazionale Basili Roberto, De Cao Diego, Università di Roma Tor Vergata {basili,decao}@info.uniroma2.it Corso di Basi di Dati e Conoscenza 1 Overview 1 Overview 2 Un case study:

Dettagli

Esercizio: tradurre le specifiche di un DB in formule logiche

Esercizio: tradurre le specifiche di un DB in formule logiche 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

Dettagli

Esercitazione ER e Algebra Relazionale

Esercitazione ER e Algebra Relazionale Esercitazione ER e Algebra Relazionale De Cao Diego Università di Roma Tor Vergata decao@info.uniroma2.it Corso di Gestione dei Dati e della Conoscenza Descrizione Una catena di farmacie decide di automatizzare

Dettagli

Basi di Dati. Esercitazione SQL. 18 maggio 2007

Basi di Dati. Esercitazione SQL. 18 maggio 2007 Basi di Dati Esercitazione SQL 18 maggio 2007 1 Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo (CodiceFornitore,

Dettagli

StudiodiunCaso. Roberto Basili,

StudiodiunCaso. Roberto Basili, StudiodiunCaso Roberto Basili, Department of Computer Science, System and Production University of Roma, Tor Vergata Via Della Ricerca Scientifica s.n.c., 00133, Roma, ITALY e-mail: basili@info.uniroma2.it

Dettagli

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006 Basi di Dati Esercitazione Algebra Relazionale e SQL 15 maggio 2006 Ing. Paolo Cappellari Esercitazione Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti

Dettagli

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi Corso di Basi di Dati 11. Esercitazioni in SQL: Altri esercizi A.A. 2016 2017 Esempio: consideriamo le seguenti tabelle Articoli(Id, Nome, Colore) Fornitori(Id, Nome, Indirizzo) Catalogo(Articolo, Fornitore,

Dettagli

FONDAMENTI DI INFORMATICA 2

FONDAMENTI DI INFORMATICA 2 Università degli Studi di Cagliari di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2 http://www.diee.unica.it/~giacinto/fi2

Dettagli

Dalla modellazione concettuale a SQL: Studio di un caso

Dalla modellazione concettuale a SQL: Studio di un caso Dalla modellazione concettuale a SQL: Studio di un caso Roberto Basili University of Rome Tor Vergata, Department of Computer Science, Systems and Production, 00133 Roma (Italy), basili@info.uniroma2.it

Dettagli

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola: Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno 2012 Cognome e nome: Matricola: Parte prima Domanda 1 Domanda 2 Domanda 3 Totale Istruzioni: È vietato portare

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 28/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

Esercizi su Modello Entità-Relazioni

Esercizi su Modello Entità-Relazioni Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Esercizi su Modello Entità-Relazioni Ing. Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2006/2007 Docente: Prof.

Dettagli

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare alcune informazioni relative a Twitter. TWEET

Dettagli

Soluzione prova scritta di basi di dati del 30 Settembre 2002

Soluzione prova scritta di basi di dati del 30 Settembre 2002 Soluzione prova scritta di basi di dati del 30 Settembre 2002 Esercizio 1 ER: UNIVERSITA' OFFRE CORSO LAUREA TIENE DI CORSO PRESIDENTE IN PRESIEDE EDIZIONE Ruolo Email Cognome Tel DIPARTIMENTO AFFILIATO

Dettagli

Studio di un Caso: DB musicians

Studio di un Caso: DB musicians Studio di un Caso: DB musicians Basili Roberto, De Cao Diego, Università di Roma Tor Vergata {basili,decao}@info.uniroma2.it Corso di Basi di Dati e Conoscenza 1 Overview 2 Un case study: Musicians DB

Dettagli

Basi di dati Corso di Laurea in Informatica Umanistica

Basi di dati Corso di Laurea in Informatica Umanistica Basi di dati Corso di Laurea in Informatica Umanistica Esercitazione pre-verifica del 19.03.2012 Parte 1 modello relazionale, SQL (A) Si consideri il seguente schema di base di dati letteraria: TABLE Autori

Dettagli

Esercitazione di Gestione dei Dati e della Conoscenza (Modellazione ER) Diego De Cao a.a. 2008/2009

Esercitazione di Gestione dei Dati e della Conoscenza (Modellazione ER) Diego De Cao a.a. 2008/2009 Esercitazione di Gestione dei Dati e della Conoscenza (Modellazione ER) a.a. 2008/2009 Outline!! Analisi delle specifiche!! Estrazione di entità, attributi e relazioni!! Creazione di uno schema relazionale!!

Dettagli

Basi di dati: appello 14/07/06

Basi di dati: appello 14/07/06 Basi di dati: appello 14/07/06 Si consideri il seguente schema di base di dati che vuole tenere traccia dell attività di un agenzia che affitta appartamenti per vacanze nella città di Varazze. CLIENTE

Dettagli

ESAME di INFORMATICA e ARCHIVIAZIONE

ESAME di INFORMATICA e ARCHIVIAZIONE UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME di INFORMATICA e ARCHIVIAZIONE 8 settembre 2011 1 Progettazione

Dettagli

Basi di dati: appello 04/07/06

Basi di dati: appello 04/07/06 Basi di dati: appello 04/07/06 Si consideri il seguente schema di base di dati che vuole tenere traccia dei DVD noleggiati dai clienti di una videoteca: CLIENTE (CodiceFiscale, Cognome, Nome, Residenza)

Dettagli

Basi di dati: appello 28/02/06

Basi di dati: appello 28/02/06 Basi di dati: appello 28/02/06 Si consideri il seguente schema di base di dati che vuole tenere traccia della programmazione delle radio italiane: EMITTENTE (id, nome, frequenza, città.) SCALETTA (id_radio,

Dettagli

Concettuale. Giuseppe Amato

Concettuale. Giuseppe Amato Esercitazione Progettazione Concettuale 14 Aprile 2010 Giuseppe Amato Esercitazione Progettazione Concettuale Si considerino i i seguenti fttidi fatti interesse di un agenzia immobiliare. Immobili in vendita:

Dettagli

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query: Basi di dati: appello 07/02/11 Si consideri il seguente schema di base di dati che vuole tenere traccia delle informazioni relative ad un sistema per il pagamento automatico del pedaggio autostradale.

Dettagli

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Domanda 1 Si consideri una base di dati sulle relazioni R 1 (A, B, C) R 2 (D, E, F ) Scrivere interrogazioni in SQL equivalenti alle seguenti

Dettagli

Basi di dati: appello 11/07/07

Basi di dati: appello 11/07/07 Basi di dati: appello 11/07/07 Si consideri il seguente schema di base di dati che vuole tenere traccia dell attività di una ditta di trasporti. FURGONE(Targa, Anno, Modello, Marca, Portata, Alimentazione)

Dettagli

Basi di dati: appello 07/02/06

Basi di dati: appello 07/02/06 Basi di dati: appello 07/02/06 Si consideri il seguente schema di base di dati di una casa editrice: restauro (id_quadro, data, tipo intervento, c.f._restauratore, ora_inizio, ora _fine.) quadro (id, titolo,

Dettagli

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 11 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

ESERCITAZIONE: Fornitore-Fornisce-Articolo

ESERCITAZIONE: Fornitore-Fornisce-Articolo ESERCITAZIONE: Fornitore--Articolo PROGETTAZIONE CONCETTUALE Sia dato il diagramma ER rappresentativo di una certa realtà di interesse Cognome CodF Nome DataN CodA Descrizione Prezzo Fornitore N N E Fornito

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Matricola Nome Cog Firma Es.1 Es.2 Es.3 Es.4 Es.5 Tot. Esercizio 1 (6 punti) Data la seguente struttura dati: typedef struct{ int elementi[5][5]; int numerorighe; int numerocolonne; Matrice; Fondamenti

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

ed SQL 10 Novembre 2009

ed SQL 10 Novembre 2009 Basi di Dati Esercitazione Algebra Relazionale ed SQL 10 Novembre 2009 Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo (Fornitore, Prodotto,

Dettagli

Basi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza

Basi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Basi di dati Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2007/08 Canale M-Z Tradizione di schemi ER ristrutturati in relazionale

Dettagli

Primo Compitino di Basi di Dati

Primo Compitino di Basi di Dati Primo Compitino di Basi di Dati 19 Aprile 2004 Svolgere gli esercizi direttamente sul foglio del testo Usare fogli aggiuntivi solo in mancanza di spazio. NOME: COGNOME: MATRICOLA: Esercizio Punti previsti

Dettagli

Basi di Dati. Esercitazione SQL. 17 novembre 2011

Basi di Dati. Esercitazione SQL. 17 novembre 2011 Basi di Dati Esercitazione SQL 17 novembre 2011 Esercitazione 2 Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello)

Dettagli

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009 Esercizio 1 (6 punti) Date le seguenti strutture dati: int elementi[5]; int numeroelementi; Vettore; int elementi[5][5]; int numerorighe; int numerocolonne; Matrice; Fondamenti di Informatica 2 Simulazione

Dettagli

Laboratorio di Basi di Dati Esercizio 8.4/9.1

Laboratorio di Basi di Dati Esercizio 8.4/9.1 Laboratorio di Basi di Dati Esercizio 8.4/9.1 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs S.p.A. R&D Department

Dettagli

Soluzione esercitazione 01

Soluzione esercitazione 01 Soluzione esercitazione 01 Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SolEse01.pdf Sistemi Informativi L-A Videonoleggio - caso A: tabella

Dettagli

Lezione 4. Dallo schema ER al relazionale

Lezione 4. Dallo schema ER al relazionale Lezione 4 Dallo schema ER al relazionale Pag.1 Insieme di entità ER e tabelle relazionali CREATE TABLE ( CHAR(15), CHAR(20), INTEGER, PRIMARY KEY ()) Pag.2 Traduzione di relazioni ER (segue) dal r rid

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 1 Luglio 2008 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la brutta

Dettagli

formulare in SQL una interrogazione per ciascuno dei seguenti punti:

formulare in SQL una interrogazione per ciascuno dei seguenti punti: Basi di Dati Esercitazione SQL 13 maggio 2004 Ing. Paolo Cappellari Ing. Paolo Papotti Esercitazione 2 Considerando la seguente base di dati: Fornitori CodiceFornitore, Nome, Indirizzo, Città) Prodotti

Dettagli

Basi di dati: appello 08/03/06

Basi di dati: appello 08/03/06 Basi di dati: appello 08/03/06 Si consideri il seguente schema di base di dati che vuole tenere traccia delle rappresentazioni di un gruppo di compagnie teatrali: COMPAGNIA (nome, cfdirettore, città_sede)

Dettagli

Basi di Dati - Informatica umanistica Esercitazione (Lab)

Basi di Dati - Informatica umanistica Esercitazione (Lab) Basi di Dati - Informatica umanistica Esercitazione (Lab) a.a. 2017-2018 Vinícius Monteiro de Lira (vinicius.monteirodelira@isti.cnr.it) Esercitazione Mini-project! openflights.org Esercitazione (Summary)

Dettagli

LA PROGETTAZIONE LOGICA

LA PROGETTAZIONE LOGICA LA PROGETTAZIONE LOGICA DALLO SCHEMA ER ALLO SCHEMA RELAZIONALE Da concettuale a logico! Traduzione di uno schema concettuale (ER) in uno schema (relazionale) logico! Fare attenzione ai vincoli di integrità!!

Dettagli

Progettazione concettuale usando il modello Entità-Relazione (ER)

Progettazione concettuale usando il modello Entità-Relazione (ER) Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità

Dettagli

IL MODELLO RELAZIONALE

IL MODELLO RELAZIONALE Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Seconda parte: dal diagramma ER allo schema relazionale Progettazione 2 Dominio Applicativo PROGETTAZIONE CONCETTUALE PROGETTAZIONE LOGICA VALUTAZIONE

Dettagli

Basi di Dati. SOLUZIONE della Prova Scritta del 12 Gennaio 2007

Basi di Dati. SOLUZIONE della Prova Scritta del 12 Gennaio 2007 Basi di Dati SOLUZIONE della Prova Scritta del 12 Gennaio 2007 Schema Relazionale per gli Esercizi 1 e 2 Considerare lo schema di base di dati contenente le relazioni: Rivista (codice: string, : string,

Dettagli

Basi di dati I Prova di autovalutazione 30 ottobre 2014

Basi di dati I Prova di autovalutazione 30 ottobre 2014 Basi di dati I Prova di autovalutazione 3 ottobre 214 La prova verrà discussa in aula, prevedibilmente giovedì 6 novembre. Si consiglia di svolgerlo simulando l esame, sulla carta e senza ausilio di libri

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 26/07/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

A. Veneziani Analisi problema DB Magazzino

A. Veneziani Analisi problema DB Magazzino A. Veneziani Analisi problema DB Magazzino Il problema e la sua analisi Il testo del problema A proposto nel periodo delle vacanze di Natale era: Definire un DB per la gestione di un magazzino, che tenga

Dettagli

ESERCIZI SQL. Esercizio 1

ESERCIZI SQL. Esercizio 1 ESERCIZI SQL 2 Esercizio 1 3 Esercizio 1 4 Esercizio 1 Si specifichino le seguenti interrogazioni SQL sulla base di dati relazionale AZIENDA. Si mostri il risultato di ciascuna interrogazione. 1. Si restituisca

Dettagli

Basi di Dati. Esercitazione SQL. Paolo Papotti. 19 maggio 2005

Basi di Dati. Esercitazione SQL. Paolo Papotti. 19 maggio 2005 Basi di Dati Esercitazione SQL 19 maggio 2005 Paolo Papotti Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo

Dettagli

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 12 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative ai viaggi di lavoro

Dettagli

Progettazione concettuale usando il modello Entità-Relazione (ER) II parte

Progettazione concettuale usando il modello Entità-Relazione (ER) II parte Progettazione concettuale usando il modello Entità-Relazione (ER) II parte 1 Aggregazione Usata quando dobbiamo modellare una relazione che coinvolge (insiemi di entità e) un insieme di relazioni L aggregazione

Dettagli

Versione 1.0. (DB Visite Specialistiche)

Versione 1.0. (DB Visite Specialistiche) Appunti di Informatica SQL for COOL PEOPLE Versione 1.0 Lezione 04 (DB Visite Specialistiche) prof. Michele Salvemini 2015/2016 Sommario Impostazione della lezione... 4 pre-requisiti:... 4 Argomenti Trattati...

Dettagli

Corso di Basi di Dati A.A. 2015/2016

Corso di Basi di Dati A.A. 2015/2016 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 - Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 06/04/2016 Esercizio 1 Dare

Dettagli

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti Gestione e Analisi dei Dati Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti Prodotto Cartesiano Finora operatori unari lavorano sui dati di un unica tabella In realtà

Dettagli

ESAME di INFORMATICA e ARCHIVIAZIONE

ESAME di INFORMATICA e ARCHIVIAZIONE UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME di INFORMATICA e ARCHIVIAZIONE 20 luglio 2011 1 Progettazione

Dettagli

Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009

Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009 Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009 1. Si effettui la progettazione concettuale della base di dati secondo la specifica che segue fornendo un diagramma ER. Un azienda che gestisce gli eventi

Dettagli

Esercizio 1 ESERCIZI DI PROGETTAZIONE CONCETTUALE DI BASI DI DATI. La base di dati di una università contiene informazioni

Esercizio 1 ESERCIZI DI PROGETTAZIONE CONCETTUALE DI BASI DI DATI. La base di dati di una università contiene informazioni ESERCIZI DI PROGETTAZIOE COCETTUALE DI BASI DI DATI IL MODELLO ER E EER 2 Esercizio 1 La base di dati di una università contiene informazioni sui professori (identificati dal codice fiscale cf) e sui corsi

Dettagli

Esercizi su Modello Entità-Relazioni

Esercizi su Modello Entità-Relazioni Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Esercizi su Modello Entità-Relazioni Ing. Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2009/2010 Docente: Prof.

Dettagli

Linguaggi Formali. Π nome (Π nome,c.f. (correttore c.f=c.f._correttore σ n_capitolo=5 bozza

Linguaggi Formali. Π nome (Π nome,c.f. (correttore c.f=c.f._correttore σ n_capitolo=5 bozza Basi di dati: appello 16/02/06 Si consideri il seguente schema di base di dati di una casa editrice: bozza (id., n _capitolo, ISBN_libro, c.f._correttore, data_invio, data_restit.) capitolo(n _capitolo,

Dettagli

Esercitazione 4 SQL.

Esercitazione 4 SQL. Esercitazione 4 SQL foglia@iet.unipi.it DB Riferimento Il database di riferimento è il database UNIPI, creare una nuova istanza di database sul server e caricare i dati CREATE TABLE 1. Creare una tabella

Dettagli

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida

Dettagli

OBIETTIVI DELL'ESERCITAZIONE

OBIETTIVI DELL'ESERCITAZIONE Laurea in Ingegneria Informatica - Università di Roma "La Sapienza" Corso di Basi di Dati - A.A. 2005/2006 Esercitazione su SQL Giuseppe De Giacomo Domenico Lembo OBIETTIVI DELL'ESERCITAZIONE Creare schema

Dettagli

Basi di dati I 22 settembre 2014 Tempo a disposizione: un ora e trenta minuti.

Basi di dati I 22 settembre 2014 Tempo a disposizione: un ora e trenta minuti. Basi di dati I 22 settembre 2014 Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (25%) Mostrare uno schema concettuale per la seguente applicazione. Un commercialista

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

Dettagli

Interrogazioni in SQL

Interrogazioni in SQL Interrogazioni in SQL Corso di Basi di Dati 4 dicembre 2013 1 Interrogazioni sullo schema aziendale 1. Ottenere i nomi dei dipartimenti dislocati in piú sedi. 2. Ottenere il numero di supervisori. 3. Produrre

Dettagli

Esercitazione ER e Algebra Relazionale

Esercitazione ER e Algebra Relazionale Esercitazione ER e Algebra Relazionale Roberto Basili Università di Roma Tor Vergata basili@info.uniroma2.it Corso di Basi di Dati e della Conoscenza (2016-17) Operatori relazionali: Esercizi Nelle pagine

Dettagli

Basi di Dati. Esercitazione Algebra Relazionale. 16 maggio 2008

Basi di Dati. Esercitazione Algebra Relazionale. 16 maggio 2008 Basi di Dati Esercitazione Algebra Relazionale 16 maggio 2008 Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo (Fornitore, Prodotto, Costo) con

Dettagli

Esercizi su Modello Relazionale

Esercizi su Modello Relazionale Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Esercizi su Modello Relazionale Ing. Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2009/2010 Docente: Prof.

Dettagli

Errata Corrige dell edizione 2007

Errata Corrige dell edizione 2007 Errata Corrige dell edizione 2007 Aggiornata al 30/03/2011 pag 11 ASSOCIAZIONI card(studente,esame)=(0,n) pag 17 IDENTIFICATORI Un identificatore di un entità E è una collezione di attributi e/o di entità

Dettagli

GESTIONE ABBONAMENTI RIVISTE

GESTIONE ABBONAMENTI RIVISTE GESTIONE ABBONAMENTI RIVISTE Si vogliono gestire, con una base di dati, le informazioni relative agli abbonamenti a riviste da parte di utenti di cui si deve tener conto della città di residenza. Gli elementi

Dettagli

Corso di Informatica Medica

Corso di Informatica Medica Università degli Studi di Trieste Corso di Laurea Magistrale in INGEGNERIA CLINICA ESERCITAZIONE: IL LINGUAGGIO SQL Corso di Informatica Medica Docente Sara Renata Francesca MARCEGLIA Dipartimento di Ingegneria

Dettagli

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

Esempio di database relazionale con l utilizzo del prodotto MySQL

Esempio di database relazionale con l utilizzo del prodotto MySQL Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene

Dettagli

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data Verifica di Informatica Cognome e Nome: Classe 5ª Ci, Data Progettare la base di dati di una palestra. E necessario memorizzare le informazioni relative ai clienti che riguardano: codice fiscale, cognome

Dettagli

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check

Dettagli

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1 I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice

Dettagli

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Gestione e Analisi dei Dati Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Vincoli sui Dati Regole del dominio di interesse Unicità di codici di corso e matricole Un codice deve corrispondere

Dettagli

Esame di Basi di Dati

Esame di Basi di Dati Esame di Basi di Dati 17 Febbraio 2014 Matricola CFU (9/12/9+9) Progetto (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente

Dettagli

Prova del 14/09/09. Considerare la seguente descrizione di un campeggio:

Prova del 14/09/09. Considerare la seguente descrizione di un campeggio: Prova del 14/09/09 Considerare la seguente descrizione di un campeggio: Un campeggio è descritto da nome, indirizzo, partita IVA e uno o più numeri telefonici. Ai clienti vengono offerti essenzialmente

Dettagli

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query: Basi di dati: appello 16/02/10 i consideri il seguente schema di base di dati che vuole tenere traccia delle informazioni relative ai partecipanti a gare podistiche in Lombardia CORSA (Codice, Nome, IndirizzoPartenza,

Dettagli

Versione 1.0. (DB Musei)

Versione 1.0. (DB Musei) Appunti di Informatica SQL for COOL PEOPLE Versione 1.0 Lezione 05 DB Musei) prof. Michele Salvemini 2015/2016 Sommario Impostazione della lezione... 3 pre-requisiti:... 3 Argomenti Trattati... 3 Vincoli...

Dettagli

Esercitazione Simulazione Compito

Esercitazione Simulazione Compito Esercitazione Simulazione Compito 04/12/2015 Compito del 26/05/2014 1.1 Il comando DELETE FROM Utenti WHERE alias = gino dove alias è una primary key: (a)elimina zero o una riga (b) elimina un numero imprecisato

Dettagli

GESTIONE ASSICURAZIONI AUTO

GESTIONE ASSICURAZIONI AUTO GESTIONE ASSICURAZIONI AUTO S i v o g l i o n o g e s t i r e i d a t i d i i n t e r e s s e d e l l e c o m p a g n i e d i a s s i c u r a z i o n i r a m o R C A. N e l d a t a b a s e s i d e v o

Dettagli

PROGETTAZIONE DI DATABASE Linguaggio SQL

PROGETTAZIONE DI DATABASE Linguaggio SQL PROGETTAZIONE DI DATABASE Linguaggio SQL Modello Concettuale (Modellazione del mondo reale) Modello Logico (Definizione del tipo e del formato dei dati) Modello Fisico (Implementazione fisica su supporti

Dettagli

Stringhe di caratteri

Stringhe di caratteri Domini primitivi In SQL sono disponibili alcune famiglie di domini elementari attraverso le quali è possibile definire i domini di appartenenza dei campi. Stringhe di caratteri CHARACTER [VARYING] [(NumeroCaratteri)]

Dettagli

Basi di dati: appello 21/09/12

Basi di dati: appello 21/09/12 Basi di dati: appello 21/09/12 Si consideri il seguente schema di base di dati che vuole tenere traccia degli immobili venduti da diverse agenzie dislocate su tutto il territorio nazionale: AGENZIA (Codice,

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

GESTIONE ABBONAMENTI RIVISTE

GESTIONE ABBONAMENTI RIVISTE GESTIONE ABBONAMENTI RIVISTE Si vogliono gestire, con una base di dati, le informazioni relative agli abbonamenti a riviste da parte di utenti di cui si deve tener conto della città di residenza. Gli elementi

Dettagli

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a Corso di Laurea in Informatica Basi di Dati a.a. 2012-2013 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse

Dettagli

Basi di Dati: Elementi

Basi di Dati: Elementi Basi di Dati: Elementi Docente: Prof. Pierangela Samarati Appello online - 20 Marzo 2010 Soluzioni Domanda 1) Nell ambito del modello ER illustrare le proprietà che caratterizzano le gerarchie di generalizzazione/specializzazione

Dettagli