მთავარი განსხვავება გრანტსა და გაუქმებას შორის არის ის, რომ გრანტი მომხმარებელს ანიჭებს პრივილეგიას, ხოლო გაუქმება იბრუნებს მომხმარებლისთვის მინიჭებულ პრივილეგიას.
SQL უზრუნველყოფს მომხმარებლისთვის ავტორიზაციის სხვადასხვა დონეს. მინიჭება და გაუქმება ორი ასეთი ბრძანებაა. Grant ბრძანება იძლევა მომხმარებლისთვის ავტორიზაციის მინიჭებას, ხოლო revoke ბრძანება საშუალებას იძლევა ავტორიზაციის დონის ამოღება მომხმარებლისგან.
რა არის გრანტი?
DBMS არის სისტემური პროგრამა მონაცემთა ბაზების შესაქმნელად და მართვისთვის. გარდა ამისა, SQL ან სტრუქტურირებული შეკითხვის ენა არის ენა, რომელიც ამუშავებს მონაცემთა ბაზებს. ამიტომ, ის საშუალებას იძლევა მონაცემთა ბაზაში ჩასმა, მოდიფიცირება და მოძიება. ასევე არსებობს სხვადასხვა კატეგორიები SQL-ში, როგორიცაა DDL, DML და DCL. მონაცემთა განმარტების ენა (DDL) საშუალებას გაძლევთ შექმნათ და რესტრუქტურიზდეთ მონაცემთა ბაზის ობიექტები. შექმნა, შეცვლა, ჩამოშვება არის რამდენიმე DDL ბრძანება. მონაცემთა მანიპულირების ენა (DML) საშუალებას აძლევს მონაცემთა ბაზაში ოპერაციულ მონაცემებს. შერჩევა, ჩასმა, განახლება და წაშლა არის DML ბრძანებების რამდენიმე მაგალითი. მონაცემთა კონტროლის ენა (DCL) საშუალებას გაძლევთ გააკონტროლოთ წვდომა მონაცემთა ბაზაში. მინიჭება და გაუქმება არის ორი DCL ბრძანება, რომელიც უზრუნველყოფს მონაცემთა ბაზის უსაფრთხოებას.
სურათი 01: SQL მონაცემთა ბაზა
გრანტის ბრძანება უზრუნველყოფს მომხმარებლებისთვის წვდომას ან პრივილეგიებს მონაცემთა ბაზის ობიექტებზე. სინტაქსი ასეთია.
grantprivilege_name ობიექტის_სახელზე
-ს {username}-ისთვის [გრანტის ვარიანტი];
ზემოაღნიშნულის მიხედვით, პრივილეგიის_სახელი არის მომხმარებლისთვის მინიჭებული წვდომის უფლება ან პრივილეგია. ობიექტი_სახელი არის მონაცემთა ბაზის ობიექტის სახელი. ეს შეიძლება იყოს ცხრილი, ხედი და ა.შ. მომხმარებლის სახელი არის მომხმარებლის სახელი, რომელსაც აქვს წვდომის უფლება. საგრანტო ვარიანტი არჩევითია. ეს საშუალებას აძლევს მომხმარებლებს უზრუნველყონ წვდომის უფლებები სხვა მომხმარებლებისთვის.
ბრძანება ცხრილის შექმნის ნებართვის მინიჭების შესახებ შემდეგია.
გრანტი შექმნა ცხრილი მომხმარებლის სახელისთვის
ბრძანება გრანდიოზული ნებართვის შესახებ ცხრილის ჩამოგდების შესახებ შემდეგია.
გაცემის ცხრილი მომხმარებლის სახელზე
ეს არის რამდენიმე SQL განაცხადი გრანტის ბრძანებით.
რა არის გაუქმება?
გაუქმების ბრძანება ართმევს მომხმარებლებს წვდომის უფლებებს ან პრივილეგიებს მონაცემთა ბაზის ობიექტზე. სინტაქსი ასეთია.
revoke privilege_name on object_name
მომხმარებლის სახელიდან
შემდეგი არის კონკრეტული მომხმარებლისგან ცხრილების შექმნის პრივილეგიის აღების მაგალითი.
გაუქმება ცხრილის შექმნა მომხმარებლის სახელიდან
მოკლედ, მოცემული ორი განცხადება ასახავს გრანტის გამოყენებას და გაუქმებას. ქვემოთ მოცემული განცხადება სტუდენტის მაგიდაზე არჩევის პრივილეგიას ანიჭებს user1-ს.
სტუდენტის არჩევა მომხმარებლისთვის1
ქვემოთ მოცემული განცხადება, გაუუქმეთ არჩევის პრივილეგია სტუდენტის მაგიდაზე მომხმარებლის1-ისგან.
გაუქმება სტუდენტზე არჩევა მომხმარებლის1-დან
რა განსხვავებაა გრანტსა და გაუქმებას შორის?
გრანტი წინააღმდეგ გაუქმება |
|
grant არის DCL ბრძანება, რომელიც საშუალებას აძლევს მომხმარებლებს უზრუნველყოს პრივილეგიები მონაცემთა ბაზის ობიექტებზე. | revoke არის DCL ბრძანება, რომელიც საშუალებას იძლევა დაიბრუნოს მომხმარებლისთვის მინიჭებული ნებართვა. |
დეცენტრალიზებულ კონტროლში | |
გრანტი უფრო ადვილია. | გაუქმება რთულია. |
გამოყენება | |
ნებას აძლევს მომხმარებლებს წვდომის უფლებების მინიჭებას. | საშუალებას აძლევს მომხმარებლებს წაშალოს წვდომის უფლებები. |
შეჯამება – გრანტი წინააღმდეგ გაუქმება
გრანტი და გაუქმება არის ორი აუცილებელი DCL ბრძანება. DCL არის SQL-ის ქვეკატეგორია. განსხვავება გრანტსა და გაუქმებას შორის არის ის, რომ გრანტი ანიჭებს მომხმარებელს პრივილეგიას, ხოლო გაუქმება იბრუნებს მომხმარებლის მიერ მინიჭებულ პრივილეგიას.