Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Data Control Language | Enkele Aanvullende Onderwerpen
Geavanceerde Technieken in SQL

bookData Control Language

Data Control Language (DCL) is een subset van SQL die wordt gebruikt om toegang tot gegevens in een relationeel databasebeheersysteem te beheren.
DCL-commando's richten zich voornamelijk op het verlenen of intrekken van rechten op databaseobjecten zoals tabellen, views en schema's.

DCL-commando's

De twee belangrijkste DCL-commando's zijn:

  1. GRANT: Dit commando wordt gebruikt om specifieke rechten toe te kennen aan gebruikers of rollen;

  2. REVOKE: Dit commando wordt gebruikt om eerder toegekende rechten van gebruikers of rollen te verwijderen.

Rechten

Objecten

Implementatie

Om bepaalde privileges voor een object in SQL aan een specifieke gebruiker toe te kennen, kan de volgende instructie worden gebruikt:

GRANT privileges
ON object
TO {user | role | PUBLIC};

Er zijn 3 typen rollen in een database waaraan privileges kunnen worden toegekend:

  • user: Een individuele databasegebruiker;
  • role: Een databaserol, een benoemde groep van privileges die aan gebruikers kan worden toegewezen (bijv. admin, developer, analyst);
  • PUBLIC: Een speciaal sleutelwoord dat de opgegeven privileges aan alle gebruikers toekent.

Een rol kan aan een gebruiker worden toegekend met de volgende instructie:

GRANT role TO user;

Ten slotte kunnen eerder toegekende privileges worden ingetrokken met de volgende instructie:

REVOKE privileges
ON object
FROM {user | role | PUBLIC};

Voorbeeld

Hier volgen enkele voorbeelden van het gebruik van het GRANT-commando om verschillende privileges op de tabellen bankaccounts en userlogs toe te wijzen aan verschillende rollen en gebruikers.

-- Create role
CREATE ROLE bank_manager;

-- Grant privileges to bank_manager role
GRANT SELECT, INSERT, UPDATE, DELETE ON BankAccounts TO bank_manager;
GRANT SELECT, INSERT ON UserLogs TO bank_manager;

-- Create users
CREATE USER john WITH PASSWORD 'password123';
CREATE USER jane WITH PASSWORD 'password456';

-- Assign roles to users
GRANT bank_manager TO john;
GRANT bank_manager TO jane;

Nu kunnen we enkele van de toegekende privileges intrekken:

-- Revoke privileges from bank_manager role
REVOKE UPDATE, DELETE ON BankAccounts FROM bank_manager;
REVOKE INSERT ON UserLogs FROM bank_manager;

-- Revoke bank_manager role from john
REVOKE bank_manager FROM john;
question mark

Welke privilege stelt een gebruiker in staat om gegevens uit een tabel te lezen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 6

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 4.35

bookData Control Language

Veeg om het menu te tonen

Data Control Language (DCL) is een subset van SQL die wordt gebruikt om toegang tot gegevens in een relationeel databasebeheersysteem te beheren.
DCL-commando's richten zich voornamelijk op het verlenen of intrekken van rechten op databaseobjecten zoals tabellen, views en schema's.

DCL-commando's

De twee belangrijkste DCL-commando's zijn:

  1. GRANT: Dit commando wordt gebruikt om specifieke rechten toe te kennen aan gebruikers of rollen;

  2. REVOKE: Dit commando wordt gebruikt om eerder toegekende rechten van gebruikers of rollen te verwijderen.

Rechten

Objecten

Implementatie

Om bepaalde privileges voor een object in SQL aan een specifieke gebruiker toe te kennen, kan de volgende instructie worden gebruikt:

GRANT privileges
ON object
TO {user | role | PUBLIC};

Er zijn 3 typen rollen in een database waaraan privileges kunnen worden toegekend:

  • user: Een individuele databasegebruiker;
  • role: Een databaserol, een benoemde groep van privileges die aan gebruikers kan worden toegewezen (bijv. admin, developer, analyst);
  • PUBLIC: Een speciaal sleutelwoord dat de opgegeven privileges aan alle gebruikers toekent.

Een rol kan aan een gebruiker worden toegekend met de volgende instructie:

GRANT role TO user;

Ten slotte kunnen eerder toegekende privileges worden ingetrokken met de volgende instructie:

REVOKE privileges
ON object
FROM {user | role | PUBLIC};

Voorbeeld

Hier volgen enkele voorbeelden van het gebruik van het GRANT-commando om verschillende privileges op de tabellen bankaccounts en userlogs toe te wijzen aan verschillende rollen en gebruikers.

-- Create role
CREATE ROLE bank_manager;

-- Grant privileges to bank_manager role
GRANT SELECT, INSERT, UPDATE, DELETE ON BankAccounts TO bank_manager;
GRANT SELECT, INSERT ON UserLogs TO bank_manager;

-- Create users
CREATE USER john WITH PASSWORD 'password123';
CREATE USER jane WITH PASSWORD 'password456';

-- Assign roles to users
GRANT bank_manager TO john;
GRANT bank_manager TO jane;

Nu kunnen we enkele van de toegekende privileges intrekken:

-- Revoke privileges from bank_manager role
REVOKE UPDATE, DELETE ON BankAccounts FROM bank_manager;
REVOKE INSERT ON UserLogs FROM bank_manager;

-- Revoke bank_manager role from john
REVOKE bank_manager FROM john;
question mark

Welke privilege stelt een gebruiker in staat om gegevens uit een tabel te lezen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 6
some-alt