Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
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 Parte terza Prof Ing Gaetano La Rosa
3
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
Viste Per rimuovere una vista si utilizza DROP VIEW DROP VIEW imp; Prof Ing Gaetano La Rosa
14
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
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 CodMani N CodProf N allenamento 1 N manifestazione professore Cogn, nome, Titolo Descr, luogo, datainizio Prof Ing Gaetano La Rosa
25
Prof Ing Gaetano La Rosa
RISOLUZIONE Eliminazione relazioni N-N con aggiunta nuove entità Prof Ing Gaetano La Rosa
26
Prof Ing Gaetano La Rosa
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 CodMani CodProf N 1 allenamento 1 N manifestazione professore Cogn, nome, Titolo Descr, luogo, datainizio Prof Ing Gaetano La Rosa
27
Prof Ing Gaetano La Rosa
RISOLUZIONE Eliminazione relazioni 1-N Prof Ing Gaetano La Rosa
28
Prof Ing Gaetano La Rosa
Modello E/R – elim 1-N Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodMani CodMani CodProf manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst
29
Prof Ing Gaetano La Rosa
RISOLUZIONE Interrogazioni SQL Prof Ing Gaetano La Rosa
30
Prof Ing Gaetano La Rosa
Numero di studenti partecipanti ad una determinata attività sportiva Prof Ing Gaetano La Rosa
31
Prof Ing Gaetano La Rosa
Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodMani CodMani CodProf 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
Prof Ing Gaetano La Rosa
Elenco anagrafico degli allenatori di una attività sportiva Prof Ing Gaetano La Rosa
34
Prof Ing Gaetano La Rosa
Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodMani CodMani CodProf 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
Prof Ing Gaetano La Rosa
Elenco delle scuole (denominazione) con il numero di studenti che partecipano Prof Ing Gaetano La Rosa
37
Prof Ing Gaetano La Rosa
Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodMani CodMani CodProf manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst
38
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
Elenco delle scuole (denomin, telef, indirizzo) che hanno almeno uno studente che partecipa ad una determinata attività sportiva Prof Ing Gaetano La Rosa
40
Prof Ing Gaetano La Rosa
Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodMani CodMani CodProf manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst
41
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
Elenco allenatori (cognome e nome) e scuole (denominazione) di appartenenza in ordine alfabetico Prof Ing Gaetano La Rosa
43
Prof Ing Gaetano La Rosa
Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodMani CodMani CodProf manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst
44
Prof Ing Gaetano La Rosa
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
Prof Ing Gaetano La Rosa
Numero degli studenti di una determinata scuola che partecipano a ciascuna delle manifestazioni sportive. Prof Ing Gaetano La Rosa
46
Prof Ing Gaetano La Rosa
Modello E/R Denominazione, Indirizzo, telefono cogn, nome, nascita, classe CodStud studente istituto CodIst CodIst Data_iscr CodStud Iscrizione_gara CodMani CodMani CodMani CodProf manifestazione professore Cogn, nome Descr, luogo, datainizio Prof Ing Gaetano La Rosa CodIst
47
Prof Ing Gaetano La Rosa
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.