Aanbevolen, 2024

Editor'S Choice

Verschil tussen Grant en Revoke

In SQL worden de DCL-opdrachten gebruikt voor het toewijzen van de verschillende autorisaties aan de gebruiker, dit type autorisaties staat bekend als privilege. Grant en Revoke-opdrachten zijn de DCL-opdrachten. De GRANT-opdracht wordt gebruikt voor het verlenen van de autorisatie aan de gebruikers, terwijl de opdracht REVOKE wordt gebruikt voor het intrekken van de autorisatie. Selecteren, invoegen, bijwerken en verwijderen zijn enkele van de rechten die zijn opgenomen in SQL-standaarden.

Vergelijkingstabel

Basis voor vergelijkingVerlenenIntrekken
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 isToekenning is eenvoudiger.Intrekken is vrij complex om uit te voeren.
Syntaxisverlenen
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

  1. Het Grant-commando verleent de rechten aan de gebruiker terwijl de opdracht Intrekken de rechten van de gebruiker intrekt.
  2. 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.

Top