ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Έχουµε την βάση της σχολής που αποτελείται από τους παρακάτω πίνακες.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

Εργαστήριο Βάσεων Δεδομένων

Εργαστήριο Βάσεων Δεδομένων. Triggers

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Εισαγωγή στην πληροφορική

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης

PL/SQL. Κώστας Στεφανίδης

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής

Προσοµοίωση τροχιάς σε Oracle Spatial 8i DBMS

Βάσεις Δεδομένων (Databases)


Ηλεκτρονικοί Υπολογιστές II

Το σχεσιακό μοντέλο βάσεων δεδομένων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

. Εργαστήριο Βάσεων Δεδομένων. Triggers

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΒΙΒΛΙΟ ΠΑΓΙΩΝ Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΓΙΑ ΤΟ CALCULUS ULTRA.

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

Ο ΗΓΙΕΣ ΓΙΑ ΤΟ ΚΛΕΙΣΙΜΟ ΧΡΗΣΗΣ ΣΤΟ DYNAMICS NAV INNOVERA ERP

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Κεφ 4: Προχωρημένες Εντολές SQL

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

ΕΠΛ 342 Βάσεις εδοµένων

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Οδηγίες κλεισίµατος Ισολογισµού Οικονοµικές Αναφορές

1.1 Ανάλυση απαιτήσεων του Υποσυστήματος Μητρώου Εταιρειών Μ.Μ.Ε Ανάλυση απαιτήσεων του Υποσυστήματος Ελέγχου τήρησης μη

Διαχείριση χρηστών και δικαιωμάτων

Σχεδιασμός Βάσεων Δεδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 4ο Μάθημα: SQL - Παράδειγμα. Δρ. Κωνσταντίνος Χ.

Βάσεις Περιβαλλοντικών Δεδομένων

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Τμήμα Πληροφορικής ΑΠΘ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Άσκηση 5 -Δηµιουργία ιστοσελίδων µε HTML µέρος 5 ο

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Ανοικτά Ακαδημαϊκά Μαθήματα

ΕΠΛ 342 Βάσεις εδοµένων

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου


Start/Programs/ Administrative Tools/DNS

MySQL stored procedures

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

Κεφάλαιο 8. Βασισμένος σε ρόλους έλεγχος πρόσβασης

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2)

Πτυχιακή Εργασία. Σχεσιακές Βάσεις εδοµένων, η γλώσσα SQL και Αποθηκευµένες ιαδικασίες.

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

- program p_name(input) - uses crt

Τμήμα Διοίκησης Επιχειρήσεων

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις

Ηλεκτρονικοί Υπολογιστές II

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9α: Περιορισμοί (Constraints) Εναύσματα (Triggers) Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Διαχείριση Πολιτισμικών Δεδομένων

Εκφράσεις. Τύποι, Σταθερές & Μεταβλητές. Ορισµός Μεταβλητών

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

Διάλεξη 17: Προγραμματισμός Βάσης Δεδομένων Ι. Διδάσκων: Παναγιώτης Ανδρέου

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΗΓλώσσαSQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων

ΑΠΟΘΗΚΕΥΜΕΝΕΣ ΔΙΑΔΙΚΑΣΙΕΣ

Οδηγίες για το Βιβλίο Κοστολογίου στα Γ κατηγορίας βιβλία

Ανάκτηση Δεδομένων (Information Retrieval)

Ακολουθεί η πλήρης ανάλυση της παραµετροποίησης χωρισµένη στις αντίστοιχες ενότητες µε αυτές του module Customization Tools. :

10 η Διάλεξη Python Βάσεις δεδομένων στη python

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Stored procedures, Exceptions, ιακιώµατα Γιώργος Μαρκοµανώλης

Περιεχόµενα Stored Procedures... 1 Exceptions... 1 Εντολή When... 2 ικαιώµατα... 3 GRANT... 3 ικαιώµατα REFERENCES σε στήλες... 5 ικαιώµατα σε trigger, stored procedure και όψη... 5 Roles... 6 REVOKE... 7

Stored Procedures Μπορούµε µέσα από µια stored procedure, να καλέσουµε µια άλλη διαδικασία. ηλαδή αν θέλουµε να καλέσουµε την stored procedure TEST η οποία έχει ως λίστα εισόδου την µεταβλητή mitroo και λίστα εξόδου την µεταβλητή onoma δίνουµε την εντολή: EXECUTE PROCEDURE TEST (:MITROO) RETURNING_VALUES (:ONOMA) ιαδικασία για εισαγωγή δεδοµένων σε έναν πίνακα CREATE PROCEDURE "INSERT" ( NAME CHAR(10), SURNAME CHAR(10), MITROO INTEGER, START_DATE DATE) AS begin INSERT INTO STUDENTS VALUES (:name,:surname,:mitroo,:start_date); suspend; end^ ιαγραφή stored procedure DROP PROCEDURE όνοµα; Exceptions Exception είναι ένα µήνυµα που εµφανίζεται κατά την δηµιουργία ενός λάθους στην βάση. ηµιουργία exception Παράδειγµα CREATE EXCEPTION όνοµα µήνυµα : Για την δηµιουργία µιας exception µε όνοµα no_authority και µήνυµα: εν έχετε δικαιώµατα, δίνουµε την εντολή: CREATE EXCEPTION NO_AUTHORITY εν έχετε δικαιώµατα : COMMIT; 1

Αλλαγή exception Για να αλλάζουµε το µήνυµα της exception no_authority και να έχει µήνυµα οκιµή δίνουµε την εντολή: ALTER EXCEPTION NO_AUTHORITY οκιµή ; COMMIT; ιαγραφή exception DROP EXCEPTION NO_AUTHORITY; Εντολή When Η σύνταξη της When είναι η ακόλουθη: WHEN όνοµα_exception DO κώδικας Η εντολή WHEN πρέπει να βρίσκεται µέσα στο block (block είναι η περιοχή µεταξύ ενός BEGIN και END) στο οποίο ορίζεται η exception που θέλει να χειριστεί. Παράδειγµα BEGIN IF (EXISTS(SELECT 1 FROM STUDENTS WHERE ID=:ID1)) THEN EXCEPTION TEST; Κώδικας... WHEN EXCEPTION TEST DO BEGIN Κώδικας... END END 2

ικαιώµατα GRANT Με την εντολή GRANT δίνουµε δικαιώµατα σε έναν χρήστη. Γενική σύνταξη εντολής: GRANT <δικαίωµα> ΟΝ <αντικείµενο> ΤΟ <χρήστη>; ικαίωµα SELECT INSERT UPDATE DELETE REFERENCES ALL EXECUTE ROLE Πρόσβαση Ανάγνωση δεδοµένων ηµιουργία νέων γραµµών Αλλαγή δεδοµένων ιαγραφή γραµµών Αναφορά σε ένα πρωτεύον κλειδί από ένα ξένο κλειδί. Είναι πάντα απαραίτητο για απόκτηση δικαιωµάτων σε πίνακες που περιέχουν ξένα κλειδιά. Όλα τα παραπάνω δικαιώµατα Εκτέλεση stored procedure Όλα τα δικαιώµατα σε έναν role. REVOKE Με την εντολή REVOKE αφαιρούµε δικαιώµατα από έναν χρήστη. Γενική σύνταξη εντολής: REVOKE <δικαίωµα> ΟΝ <αντικείµενο> FRΟM <χρήστη>; ROLES Ένας role είναι ένα σύνολο δικαιωµάτων, αντί να γράφουµε πολλά δικαιώµατα, βάζουµε όσα θέλουµε σε ένα role και µετά το role είναι διαθέσιµο σαν δικαίωµα για τους χρήστες. Αντικείµενο Το αντικείµενο µπορεί να είναι πίνακας, όψη, stored procedure ή role. 3

Περιορισµοί ικαιωµάτων Τα δικαιώµατα SELECT, INSERT, UPDATE και DELETE εφαρµόζονται µόνο σε αντικείµενα που είναι πίνακες ή όψεις. Το δικαίωµα REFERENCES εφαρµόζεται µόνο σε πίνακα και ειδικά σε αυτόν που αναφέρεται από ξένα κλειδιά. Το EXECUTE εφαρµόζεται µόνο σε stored procedure. Παρατήρηση: Για να δηµιουργήσουµε µια όψη πρέπει να έχουµε δικαίωµα SELECT για τους πίνακες που αποτελείται ή όψη. Χρήστες Roles σαν χρήστες: Αν σε ένα role βάλουµε δικαιώµατα τότε αυτόµατα το role έχει τις ιδιότητες ενός δικαιώµατος και µπορεί ένας χρήστης να συνδεθεί στην βάση µε αυτό το role. Όψεις σαν χρήστες: Οι όψεις χρειάζονται άδεια για την πρόσβαση στους πίνακες, τις όψεις και τις stored procedures. Triggers και procedures σαν χρήστες: Οι stored procedures και οι triggers χρειάζονται δικαιώµατα για τα αντικείµενα για τα οποία τα δηλώνουµε/ Γενική σύνταξη GRANT: GRANT <δικαιώµατα> ΟΝ [TABLE] <όνοµα_πίνακα> <όψη> <αντικείµενο> ΤΟ <χρήστη> [{WITH GRANT OPTION} {WITH ADMIN OPTION} ]; Παρατήρηση: Τα δικαιώµατα UPDATE, REFERENCES µπορούν να εφαρµοστούν και για συγκεκριµένες στήλες. Η εντολή WITH GRANT OPTION Σηµαίνει ότι ο χρήστης που αποχτάει αυτό το δικαίωµα µπορεί να το µεταβιβάσει και σε άλλους χρήστες. Παραδείγµατα Για να δηλώσουµε ότι ο χρήστης John έχει δικαιώµατα SELECT, INSERT και UPDATE στον πίνακα STUDENTS, τότε γράφουµε: GRANT SELECT, INSERT, UPDATE ON STUDENTS TO JOHN; 4

Αν θέλουµε ο χρήστης Giannis να µπορεί να κάνει update µόνο την στήλη NAME και SURNAME από τον πίνακα STUDENTS, τότε δίνουµε τηνε ντολή: GRANT UPDATE (NAME, SURNAME) ON STUDENTS TO GIANNIS; Παρατήρηση: Μπορούµε να αφαιρέσουµε το δικαίωµα του update από κάποια στήλη για τον χρήστη Giannis χωρίς να χρειαστεί να αφαιρεθεί εντελώς το Update από όλες τις στήλες. ικαιώµατα REFERENCES σε στήλες Το δικαίωµα REFERENCES χρειάζεται για να έχουµε δικαίωµα πρόσβασης σε πίνακα που περιέχει foreign key. Χρειάζεται για να µπορέσουµε να δηµιουργήσουµε ένα ξένο κλειδί σε έναν πίνακα που αναφέρεται σε πίνακα για τον οποίο δεν έχουµε δικαιώµατα πρόσβασης. Για να δώσουµε στον χρήστη JOHN το δικαίωµα να δηλώσει ένα foreign key, το οποίο αναφέρεται στο πρωτεύον κλειδί του πίνακα STUDENTS, το ID, χωρίς να έχουµε δικαίωµα πρόσβασης, τότε δίνουµε την εντολή: GRANT REFERENCES (ID) ON STUDENTS TO JOHN; ικαιώµατα σε trigger, stored procedure και όψη Όταν ένα αντικείµενο από τα trigger, stored procedure και όψη χρειάζεται δικαιώµατα για την διαχείριση ενός πίνακα ή όψης πρέπει να δώσουµε τα κατάλληλα δικαιώµατα. Μπορούµε αν θέλουµε να δώσουµε τα δικαιώµατα του πίνακα σε µια stored procedure αντί για χρήστες για λόγους ασφαλείας και να δώσουµε στον χρήστη το δικαίωµα να εκτελεί την stored procedure. Παράδειγµα Αν έχουµε την stored procedure STUD και θέλουµε να της δώσουµε το δικαίωµα να κάνει INSERT δεδοµένα στον πίνακα STUDENTS τότε δίνουµε την εντολή: ικαίωµα EXECUTE GRANT INSERT ON STUDENTS TO PROCEDURE STUD; Για να δώσουµε το δικαίωµα στον χρήστη JOHN να εκτελεί την stored procedure STUD, δίνουµε την εντολή: GRANT EXECUTE ON PROCEDURE STUD TO JOHN; Μπορούµε αντί για όνοµα χρήστη να έχουµε άλλη stored procedure, trigger, view, role, λίστα χρηστών ή την λέξη PUBLIC. 5

Παραδείγµατα GRANT INSERΤ, UPDATE ON STUDENTS TO JOHN; Για να µπορεί ο χρήστης JOHN να κάνει καταχώρηση και ενηµέρωση των στοιχείων του πίνακα STUDENTS. GRANT ALL ON STUDENTS TO JOHN; Με την παραπάνω εντολή τα δικαιώµατα SELECT, INSERT, UPDATE, DELETE και REFERENCES για τον πίνακα STUDENTS καταχωρούνται στον χρήστη JOHN. Αν θέλετε η παραπάνω εντολή να καταχωρήσει δικαιώµατα σε παραπάνω από έναν χρήστη, για παράδειγµα στους χρήστες JOHN, GIANNIS, δίνουµε την εντολή: GRANT ALL ON STUDENTS TO JOHN, GIANNIS; Ρόλοι (Roles) Για να δηµιουργήσουµε έναν ρόλο ακολουθούµε τα εξής βήµατα: 1. ηµιουργούµε ένα ρόλο. 2. Καταχωρούµε δικαιώµατα στον ρόλο. 3. Καταχωρούµε τον ρόλο σε ένα χρήστη. 4. Ορίζουµε τον ρόλο κατά την σύνδεση µε την βάση. ηµιουργία ρόλου Για να δηµιουργήσουµε ένα ρόλο µε το όνοµα TEST, δίνουµε την εντολή: CREATE ROLE TEST; COMMIT; Για να καταχωρήσουµε δικαιώµατα στον ρόλο, δίνουµε την εντολή: GRANT ALL ON STUDENTS TO TEST; Σαν να είναι ο TEST χρήστης. Έπειτα καταχωρείται τον ρόλο σε έναν χρήστη, έστω τον JOHN µε την εντολή: GRANT TEST TO JOHN {WITH ADMIN OPTION}; Η εντολή WITH ADMIN OPTION σηµαίνει ότι ο χρήστης µπορεί να µεταβιβάσει τον ρόλο και σε άλλον χρήστη. 6

ηλαδή έχουµε WITH ADMIN OPTION σε ένα ρόλο και έχουµε WITH GRANT OPTION µόνο σε πίνακα ή όψη. REVOKE Παραδείγµατα 1) REVOKE SELECT ON STUDENTS FROM JOHN; Αφαιρεί το δικαίωµα του SELECT για τον πίνακα STUDENTS από τον χρήστη JOHN. 2) REVOKE UPDATE ON STUDENTS FROM PROCEDURE STUD; Αφαιρεί το δικαίωµα της ενηµέρωσης των στοιχείων για τον πίνακα STUDENTS από την stored procedure STUD. 3) REVOKE INSERT, UPDATE ON STUDENTS FROM JOHN; Αφαιρεί το δικαίωµα του INSERT, UPDATE για τον πίνακα STUDENTS από τον χρήστη JOHN. 4) REVOKE ALL ON STUDENTS FROM JOHN; Αφαιρεί το δικαίωµα του INSERT, DELETE, UPDATE, SELECT, REFERENCES για τον πίνακα STUDENTS από τον χρήστη JOHN. 5) REVOKE EXECUTE ON PROCEDURE STUD FROM JOHN; Αφαιρεί το δικαίωµα EXECUTE για την stored procedure από τον χρήστη JOHN. 6) REVOKE INSERT, UPDATE ON STUDENTS FROM JOHN, GIANNIS; Αφαιρεί το δικαίωµα UPDATE για τον πίνακα STUDENTS από τον χρήστη JOHN, GIANNI. 7) REVOKE UPDATE ON STUDENTS FROM TEST; Αφαιρεί το δικαίωµα UPDATE για τον πίνακα STUDENTS από τον ρόλο TEST. 7

8) REVOKE TEST FROM JOHN; Αφαιρεί τον ρόλο TEST από τον χρήστη JOHN. 9) REVOKE SELECT, INSERT, UPDATE ON STUDENTS FROM PUBLIC; Αφαιρεί τα δικαιώµατα SELECT, INSERTM UPDATE για τον πίνακα STUDENTS από όλους τους χρήστες. 10) REVOKE GRANT OPTION FOR SELECT ON STUDENTS FROM JOHN; Αφαιρεί το δικαίωµα να µπορεί ο χρήστης JOHN να µεταφέρει το δικαίωµα SELECT για τον πίνακα STUDENTS σε άλλους χρήστες. 8