Vergelijkingstabel
Basis voor vergelijking | Verlenen | Intrekken |
---|---|---|
basis- | Grant-opdracht wordt gebruikt om de rechten aan de gebruikers te geven. | Intrekkingsopdracht wordt gebruikt om de rechten van de gebruikers weg te nemen. |
Wanneer de besturing gedecentraliseerd is | Toekenning is eenvoudiger. | Intrekken is vrij complex om uit te voeren. |
Syntaxis | verlenen op naar ; | intrekken op van ; |
Definitie van Grant
De databasebeheerder definieert de GRANT- opdracht in SQL voor het verlenen van toegang of rechten aan de gebruikers van de database. Drie belangrijke componenten die betrokken zijn bij de autorisatie zijn de gebruikers, privileges / s (bewerkingen) en een databaseobject. De gebruiker is degene die de uitvoering van het applicatieprogramma start. Bewerkingen zijn de component die is ingebed in een toepassingsprogramma. De bewerkingen worden uitgevoerd op databaseobjecten zoals relatie- of weergavenaam.
SYNTAX of GRANT Commando:
verlenen
op
naar ;
Hier kan de privilegenlijst bestaan uit het selecteren, invoegen, bijwerken en verwijderen van bewerkingen of combinaties daarvan. Deze drie aspecten van de opdracht worden gecontroleerd door autorisatiecontrole voordat u doorgaat.
Wanneer een eigenaarrekening A1 van de relatie (tabel) R machtiging verleent aan een andere account A2 op R, dan heeft de rekening A2 toegang tot de relatie R en is bevoegd om de rechten aan een andere account op R. te geven. Als de A1 de rechten herroept van A2 op R1 worden vervolgens alle rechten die A2 propageert automatisch ingetrokken door het systeem. Dit is hoe de rechten op tabellen kunnen worden verspreid. Dus een DBMS die propagatie toestaat, zou de privileges moeten volgen die worden toegekend, zodat de privileges gemakkelijk kunnen worden ingetrokken.
Laten we een voorbeeld nemen om het toekennen van privileges te illustreren. We hebben twee schema's voor de tabellen Faculteit en Afdeling en rekeningen A1 en A2.
SUBSIDIE SELECTEREN, INVOEGEN, UPDATEN IN FACULTEIT, AFDELING NAAR A1, A2;
In het bovenstaande voorbeeld kunnen de rekening A1 en A2 de selectie-, invoeg- en update-bewerkingen uitvoeren op de werknemers- en afdelingsstabel.
Definitie van Revoke
De opdracht REVOKE in SQL is gedefinieerd om de verleende rechten (autorisaties) van de gebruiker van de database weg te nemen. Degene die bevoegd is om de rechten in te trekken, is de databasebeheerder.
SYNTAX van REVOKE Command:
intrekken
op
van ;
De opdracht lijkt op de opdracht grant, behalve het trefwoord 'revoke' en 'from'. Bij een gegeven opdracht worden de bewerkingen die zijn opgenomen in het recht, geannuleerd voor de specifieke gebruiker of rollijst. Intrekken wordt ingewikkeld wanneer privileges worden doorgegeven van de ene gebruiker naar de andere.
Laten we het soortgelijke voorbeeld nemen om de intrekking van privileges te illustreren.
REVOKE INSERT, UPDATE OP FACULTEIT, AFDELING VANAF A1, A2;
In het bovenstaande voorbeeld worden de A1- en A2-accounts uit hun rechten verwijderd en mogen ze geen invoeg- en update-bewerkingen uitvoeren op de werknemers- en afdelingsstabel.
Belangrijkste verschillen tussen Grant en Revoke
- Het Grant-commando verleent de rechten aan de gebruiker terwijl de opdracht Intrekken de rechten van de gebruiker intrekt.
- In het gecentraliseerde systeem kunnen de DCL-opdrachten GRANT en REVOKE eenvoudig worden uitgevoerd. Wanneer de besturing gedecentraliseerd is, zijn de vragen flexibeler maar complexer. GRANT-opdracht is gemakkelijk in de omgang, maar in het geval van REVOKE-opdracht is het op een recursieve manier.
Conclusie
De GRANT-opdracht geeft de rechten of toegang tot de gebruikers van de database-objecten. Aan de andere kant wordt de opdracht REVOKE gebruikt voor het verwijderen van de rechten of privileges van de gebruikers op de database-objecten.