1 / 47

Università degli studi di Catania Facoltà di Medicina

Università degli studi di Catania Facoltà di Medicina Tecnici di Radiologia Medica per immagini e Radioterapia Elaborazione dati informatici. Elaborazione dati informatici. Prof Ing Gaetano La Rosa email: info@glrstudio.com Parte terza. Clausola INTO.

Download Presentation

Università degli studi di Catania Facoltà di Medicina

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Università degli studi di Catania Facoltà di Medicina Tecnici di Radiologia Medica per immagini e Radioterapia Elaborazione dati informatici Prof Ing Gaetano La Rosa

  2. Elaborazione dati informatici Prof Ing Gaetano La Rosa email: info@glrstudio.com Parte terza Prof Ing Gaetano La Rosa

  3. Clausola INTO • Visualizzare tutti i dati per il personale con qualifica dirigente dall’archivio personale SELECT * FROM Personale WHERE Funzione=“dirigente” Prof Ing Gaetano La Rosa

  4. Clausola INTO • La precedente SELECT permette di estrarre dei dati dall’archivio personale senza che questi vengano memorizzati. • Se desideriamo creare una nuova tabella contenente i dati estrapolati usiamo la clausola INTO con il nome della tabella che dvrà contenere i nuovi dati: SELECT * INTO manager FROM Personale WHERE Funzione=“dirigente” Prof Ing Gaetano La Rosa

  5. Comandi per la sicurezza • Nel caso di DB con accessi multipli alle tabelle l’amministratore può specificare per i vari utenti le singole autorizzazioni: • GRANT permesso  concessione di permesso • REVOKE permesso  revoca permesso ON e TO si utilizzano per specificare rispettivamente su quale archivio si opera e a quale utente (utenti) si desidera attribuire o revocare il permesso Prof Ing Gaetano La Rosa

  6. Comandi per la sicurezza Permessi: ALTER: aggiunta, rimozione colonne e tipi di dati DELETE: rimozione righe tabelle INDEX: creazione indici INSERT: inserimento nuove righe Prof Ing Gaetano La Rosa

  7. Comandi per la sicurezza Permessi: SELECT: ricerca nelle tabelle SELECT (campo1, campo2): ricerca ammessa ai soli campi indicati UPDATE: modifica valori contenuti nelle tabelle UPDATE (campo1, campo2): modifica dati tabelle limitati ai soli campi indicati ALL: tutti i precedenti permessi Prof Ing Gaetano La Rosa

  8. Comandi per la sicurezza • Concedere il diritto di modifica agli utenti ut1 e ut2 GRANT UPDATE ON Personale TO ut1, ut2 Prof Ing Gaetano La Rosa

  9. Comandi per la sicurezza • Rimuovere il diritto di creazione indici agli utenti ut3 e ut4 REVOKE INDEX ON Personale TO ut3, ut4 Prof Ing Gaetano La Rosa

  10. Viste • Mediante l’utilizzo di viste è possibile consentire ad un utente una visione parziale del DB • Le viste rappresentano delle finestre dinamiche sul DB: ogni modifica ai dati sulla tabella primaria è disponibile attraverso la vista, analogamente ogni modifica effettuata sui dati della vista si riflette sui dati della tabella primaria. Prof Ing Gaetano La Rosa

  11. Viste • Le viste vengono realizzate con SELECT all’interno di CREATE VIEW Creare una vista di nome imp contenente i solo dati degli impiegati: CREATE VIEW imp AS SELECT * FROM personale WHERE Funzione=“impiegato”; Prof Ing Gaetano La Rosa

  12. Viste L’amministratore con GRANT può concedere il diritto di accesso alla vista creata GRANT SELECT ON imp TO user Prof Ing Gaetano La Rosa

  13. Viste • Per rimuovere una vista si utilizza DROP VIEW DROP VIEW imp; Prof Ing Gaetano La Rosa

  14. Integrità dei dati • LOCK TABLE: limitare accesso ai dati • UNLOCK TABLE: ripristino accesso ai dati • RECOVER TABLE: recupero di una tabella da una tabella di sicurezza in caso di interruzione anomala del processo corrente Prof Ing Gaetano La Rosa

  15. Integrità dei dati • CHECK TABLE: controllo corrispondenza di una tabella con i suoi indici • REPAIR TABLE: ricostruzione indici tabella qualora il CHECK TABLE non sia andato a buon fine. Prof Ing Gaetano La Rosa

  16. Gestione transazioni • Una transazione è una serie di operazioni eseguite sul DB che devono essere eseguite in modo completo affinchè l’elaborazione sia considerata corretta. • Per avviare una transazione: • BEGIN TRANSACTION Il comando permette di effettuare le modifiche richieste bloccandone la modifica ad altri utenti Prof Ing Gaetano La Rosa

  17. Gestione transazioni • Al termine delle modifiche, se le operazioni hanno prodotto i risultati desiderati si termina la transazione con COMMIT, in caso contrario con ROLLBACK si ripristina il DB allo stato precedente l’inizio del BEGIN TRANSACTION. Prof Ing Gaetano La Rosa

  18. Gestione transazioni • Esempio transazione per accettazione ordini clienti Le modifiche sul DB modificheranno i dati delle tabelle con operazioni di scarico del magazzino. Se però dopo le operazioni richieste le quantità risultano negative non sarà possibile soddisfare gli ordini e pertanto bisognerà annullare le richieste inserite (ROLLBACK) . Se tutto è ok con COMMIT confermiamo il buon esito della transazione. Prof Ing Gaetano La Rosa

  19. Esempio attività sportiva • Organizzare la base dati per le attività sportive studentesche. Si consideri che • Gli studenti possono partecipare a una o più manifestazioni • Per ogni attività sportiva le scuole individuano un professore con funzione • Ogni professore segue una sola attività sportiva • Ogni attività sportiva è seguita da più professori di scuole diverse Prof Ing Gaetano La Rosa

  20. Definire il modello del DB e rappresentare in SQL le seguenti interrogazioni: • Numero di studenti partecipanti ad una determinata attività sportiva • Elenco anagrafico degli allenatori di una attività sportiva • Elenco delle scuole (denominazione) con il numero di studenti che partecipano • Elenco delle scuole (denomin, telef, indirizzo) che hanno almeno uno studente che partecipa ad una determinata attività sportiva • Elenco allenatori (cognome e nome) e scuole (denominazione) di appartenenza in ordine alfabetico • Numero degli studenti di una determinata scuola che partecipano a ciascuna delle manifestazioni sportive. Prof Ing Gaetano La Rosa

  21. RISOLUZIONE • Definizione entità – relazioni • Modello E/R Prof Ing Gaetano La Rosa

  22. Modello E/R – entità- relazioni iscrizione N 1 studente istituto 1 N Partecipazione Presta servizio N N allenamento 1 N manifestazione professore Prof Ing Gaetano La Rosa

  23. RISOLUZIONE • Definizione attributi (con formato e dimensione) Prof Ing Gaetano La Rosa

  24. Modello E/R - attributi Denominazione, Indirizzo, telefono cogn, nome, nascita, classe Frequenza N 1 studente istituto CodIst 1 N CodStud Partecipazione Presta servizio CodProf CodMani N N allenamento 1 N manifestazione professore Cogn, nome, Titolo Descr, luogo, datainizio Prof Ing Gaetano La Rosa

  25. RISOLUZIONE • Eliminazione relazioni N-N con aggiunta nuove entità Prof Ing Gaetano La Rosa

  26. Modello E/R – elim N-N Denominazione, Indirizzo, telefono cogn, nome, nascita, classe Frequenza N 1 studente istituto CodIst 1 1 CodStud Data_iscr N Presta servizio Iscrizione_gara N CodProf CodMani N 1 allenamento 1 N manifestazione professore Cogn, nome, Titolo Descr, luogo, datainizio Prof Ing Gaetano La Rosa

  27. RISOLUZIONE • Eliminazione relazioni 1-N Prof Ing Gaetano La Rosa

  28. Modello E/R – elim 1-N Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodProf CodMani CodMani manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst

  29. RISOLUZIONE • Interrogazioni SQL Prof Ing Gaetano La Rosa

  30. Numero di studenti partecipanti ad una determinata attività sportiva Prof Ing Gaetano La Rosa

  31. Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodProf CodMani CodMani manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst

  32. Numero di studenti partecipanti ad una determinata attività sportiva SELECT COUNT (*) FROM manifestazione, iscrizione_gara WHERE manifestazione.codMani=iscrizione_gara.CodMani AND Descr=[inserire attività sportiva] Prof Ing Gaetano La Rosa

  33. Elenco anagrafico degli allenatori di una attività sportiva Prof Ing Gaetano La Rosa

  34. Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodProf CodMani CodMani manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst

  35. Elenco anagrafico degli allenatori di una attività sportiva SELECT cogn, nome FROM professore, manifestazione WHERE professore.CodMani= manifestazione.CodMani AND Descr=[indicare attività sportiva] ORDER BY cogn, nome; Prof Ing Gaetano La Rosa

  36. Elenco delle scuole (denominazione) con il numero di studenti che partecipano Prof Ing Gaetano La Rosa

  37. Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodProf CodMani CodMani manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst

  38. Elenco delle scuole (denominazione) con il numero di studenti che partecipano SELECT denominazione, COUNT(DISTINCT CodStud) FROM istituto, studente WHERE istituto.CodIst=studente.CodIst GROUP BY Denominazione; Prof Ing Gaetano La Rosa

  39. Elenco delle scuole (denomin, telef, indirizzo) che hanno almeno uno studente che partecipa ad una determinata attività sportiva Prof Ing Gaetano La Rosa

  40. Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodProf CodMani CodMani manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst

  41. Elenco delle scuole (denomin, telef, indirizzo) che hanno almeno uno studente che partecipa ad una determinata attività sportiva SELECT denominazione, telef, indirizzo FROM istituto, manifestazione, studente, iscrizione_gara WHERE Manifestazione.CodMani= Iscrizione_gara.CodMani AND Studente.CodStud=iscrizione_gara.Codstud AND Studente.CodIst=Istituto.CodIst AND Descr=[inserire attività sportiva] Group BY Denominazione, telef, indirizzo HAVING COUNT (*) >0; Prof Ing Gaetano La Rosa

  42. Elenco allenatori (cognome e nome) e scuole (denominazione) di appartenenza in ordine alfabetico Prof Ing Gaetano La Rosa

  43. Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodProf CodMani CodMani manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst

  44. Elenco allenatori (cognome e nome) e scuole (denominazione) di appartenenza in ordine alfabetico SELECT cogn, nome, denominazione FROM professore, istituto WHERE professore.CodIst=istituto.CodIst ORDER BY cogn, nome; Prof Ing Gaetano La Rosa

  45. Numero degli studenti di una determinata scuola che partecipano a ciascuna delle manifestazioni sportive. Prof Ing Gaetano La Rosa

  46. Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodProf CodMani CodMani manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst

  47. Numero degli studenti di una determinata scuola che partecipano a ciascuna delle manifestazioni sportive. SELECT Descr, COUNT(*) FROM manifestazione, istituto, iscrizione_gara, studente WHERE manifestazione.Codmani=iscrizione_gara.Codmani AND studente.CodIst=istituto.CodIst AND studente.CodStud=iscrizione_gara.CodStud AND Denominazione=[inserire istituto] GROUP BY Descr; Prof Ing Gaetano La Rosa

More Related