Istruzioni DCL di SQL. Pag. 119 par.5

Documenti analoghi
Il linguaggio SQL: autorizzazioni

OBIETTIVI DELL'ESERCITAZIONE

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Laboratorio di Basi di dati

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

MANUALE ESSENZIALE MYSQL

SQL - Sottointerrogazioni

DATABASE PER IL WEB. Programmazione Web 1

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Corso di Basi di Dati

PROGETTAZIONE DI DATABASE Linguaggio SQL

Basi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6

Unità D3. Sicurezza nelle basi di dati. Sicurezza e concorrenza nelle basi di dati. Controllo accesso. Protezione e integrità dati

Basi di Dati. S Q L Lezione 5

MySQL. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A

Laboratorio di Basi di Dati

PHP + MySQL. Programmazione lato server. Cosa vediamo. MySQL. MySQL: comandi utili. MySQL: accesso al server. web server.

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client

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

Trigger. Basi di dati attive. Trigger: regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi

Triggers Esercitazione 1

SQL - Structured Query Language

Laboratorio di Basi di Dati

Basi di Dati: Corso di laboratorio

Operazioni scatenanti. Nozione ed uso. Sintassi. Esempio

Spiegazioni esercizio Gestione Tabella con PHP e MySQL

La parte client è invece un programma che si chiama mysql. Gli altri eseguibili (client) fondamentali sono mysqladmin, mysqldump.

Manuale SQL. Manuale SQL - 1 -

Basi di dati. SQL: Caratteristiche evolute

Basi di dati e Sistemi informativi aziendali

Per poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione

SQL Sintassi Dei Comandi

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

Laboratorio Architettura

Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale

DBMS. DataBase Management System. L. Vigliano

TEMA DI INFORMATICA. Prof.ssa Alessandra Valpiani Prof. Antonio Garavaglia Docenti di informatica presso ITIS LAGRANGE di Milano

Triggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza

MY SQL Guida MySQL di base

Programmazione lato server PHP + MySQL

Interrogazioni nidificate

Basi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger).

Linguaggio SQL: fondamenti. Basi di dati. Elena Baralis Pag. 1. Linguaggio SQL: fondamenti. Sistemi informativi. Introduzione

Interrogazioni nidificate

predefinito in Windows XP

Lavorare con MySQL Parte Prima.

Lezione 8. Metadati, Viste e Trigger

Servlet & JDBC ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Servlet: interazione con un DBMS. In Java è possibile interagire con un DBMS attraverso

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

PHP 5. Accesso a database

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema}

COG.I.T.O. Manuale tecnico

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

MySQL per amministratori di database

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

Laboratorio Architettura. Prof. Alessandra Lumini Alma Mater Studiorum - Università di Bologna

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL (STRUCTURED QUERY LANGUAGE)

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL. Storia e standard

Creazione di database in MySQL

Oracle Database 11g: Introduzione a SQL Release 2

Le Basi di Dati Attive

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf

Basi di Dati: Corso di laboratorio

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

Unix e utenti. UNIX è un SO multiutente. Singolo utente

Corso di Informatica Generale 1 IN1. Linguaggio SQL

SQL: DDL, VI, Aggiornamenti e Viste

ISTITUTO PARITARIO MICHELANGELO - RIMINI- PIANO DI LAVORO

Corso di Basi di Dati

Breve guida a PostgreSQL (versione per Linux) Gianluca Cima

Introduzione. i trigger rendono reattivo il comportamento del sistema alle sollecitazioni esterne.

Breve guida a PostgreSQL (versione per Windows) Gianluca Cima

Caratteristiche dei linguaggi per Database

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

CREARE UN SITO WEB CON IL CMS

Unità 2.1 Comandi sui database

SICUREZZA nelle BASI DI DATI

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

Structured Query Language parte 1

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Gestire MySQL tramite PHP

Il programma di gestione per il mondo della traduzione

Tecnologia delle Basi di Dati Esercitazione #4 Definizione dei trigger in Oracle

SQl come DML: Esercitazione

Elena Baralis 2007 Politecnico di Torino 1

Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF

Gestione Utenti & Permessi

Tali regole vengono attivate in modo automatico al verificarsi di specifici eventi sulla. eseguono azioni sulla base di dati stessa.

Coordinate Relative/Assolute, Nomi, Collegamenti

Progetto B. Utenti. Di conseguenza si potranno avere solo utenti di questi tipi

SQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"

SQL Manuale introduttivo

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Utenti e Permessi. Andrea Bontempi. Corsi Linux POuL

Transcript:

Istruzioni DCL di SQL Pag. 119 par.5

Comando: GRANT (Per concedere diritti su tabelle a nuovi o vecchi utenti) Dato un determinato DB è necessario predisporre e concedere i relativi diritti d accesso a determinati utenti, i quali avranno privilegi adeguati per interagire con la base di dati. L utente che può concedere i relativi diritti di accesso a determinate tabella è l amministratore della base di dati o l utente proprietario se autorizzato. Chi crea delle tabelle ne è automaticamente il proprietario, e se possiede di diritti di cessione diritti può concedere a sua volta ad altri i relativi diritti.

Comando: GRANT (Per concedere diritti su tabelle a nuovi utenti) Sintassi del comando Grand: GRANT <Elenco_Privilegi> ON <nome_db>.<tabella> TO <nome_utente> @ host IDENTIFIED BY <PASSWORD> [WITH GRANT OPTION] <Elenco_Privilegi> L elenco è costituito dall elenco dei vari componenti separati da virgola. I vari componenti sono i vari costrutti di cui si vuole dare consenso: Select Insert Update Delete Inserendo ALL PRIVILEGES o ALL si concede tutti i possibili diritti sulla/e tabelle di indicate. [WITH GRANT OPTION] Qualora si voglia concedere al nuovo utente i diritti di creare e concedere diritti ad altri utenti.

Comando: GRANT (Per concedere diritti su tabelle a nuovi utenti) Esempio: GRANT ALL PRIVILEGES ON esercizio1.* TO Rossi @ localhost IDENTIFIED BY pippo ; (vedi file 17-03-2009.txt riga 15) Si è così creato un nuovo utente di mysql che avrà pieni diritti d accesso a tutte le tabelle del DB esercizio1 L utente avrà nome Rossi e PW pippo. L utente che ha potuto concedere i diritti (che può utilizzare il comando GRAND) dovrà essere o l amministratore o il proprietario aventi poteri [WITH GRANT OPTION], del DB esercizio1

Es: Comando: GRANT (Per concedere diritti su tabelle a nuovi utenti) grant all ON prova TO "Bianchi"@"localhost" IDENTIFIED BY "pluto"; (vedi file 17-03-2009.txt riga 101) (Viene creato, se non esiste, un utente Verdi con pieni diritti su tutte le tabelle presenti) GRANT ALL ON *.* TO "Verdi"@"localhost" IDENTIFIED BY "paperino"; (vedi file 17-03-2009.txt riga 142) (Viene creato un utente, se non esiste, Verdi che ha poteri grant option su tutte le tabelle presenti) GRANT ALL ON *.* TO "Verdi"@"localhost" IDENTIFIED BY "paperino" with grant option; (vedi file 17-03-2009.txt riga 145) (Come utente Verdi è possibile creare e concedere diritti su DB e tabelle specifiche) GRANT ALL ON prova1.* TO "Gialli"@"localhost" IDENTIFIED BY "papero"; (vedi file 17-03-2009.txt riga 245)

Comando: REVOKE (Per revocare diritti su tabelle a utenti) Sintassi del comando REVOKE: REVOKE <Elenco_Privilegi> ON <nome_db>.<tabella> FROM <nome_utente> @ host [IDENTIFIED BY <PASSWORD> ] Si possono revocare anche singoli diritti elencandoli opportunamente Si possono revocare i diritti anche a più utenti contemporaneamente utilizzando il separatore di utenti, Da sottolineare che nella revoca dei diritti non si elimina l utente. Per eliminarlo definitivamente è necessario eliminare la tupla corrispondente nella tabella mysql.user con il comando delete (delete from mysql.user where User= <Nome_Utente> );

Comando: REVOKE (Per revocare diritti su tabelle a utenti) Es: REVOKE ALL ON *.* FROM "Bianchi"@"localhost" identified BY "pluto"; (vedi file 17-03-2009.txt riga 135) REVOKE ALL ON *.* FROM "Rossi"@"localhost"; (vedi file 17-03-2009.txt riga 148) (Vengono revocati tutti I diritti contemporaneamente a più utenti) REVOKE ALL ON *.* FROM "Rossi"@"localhost","Verdi"@"localhost","Bianchi"@"localhost","Gialli"@"localhost"; (vedi file 17-03-2009.txt riga 195)

Comando: REVOKE (Per revocare diritti su tabelle a utenti) Per eliminare definitivamente un utente è necessario eliminare la tupla corrispondente nella tabella mysql.user con il comando delete (delete from mysql.user where User= <Nome_Utente> ); Es: delete from mysql.user where User="Bianchi"; (vedi file 17-03-2009.txt riga 370) delete from mysql.user where User="Rossi" OR User="Gialli"; (vedi file 17-03-2009.txt riga 377)