Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tietojen Hallintakieli | Joitakin Lisäaiheita
Edistyneet SQL-Tekniikat

bookTietojen Hallintakieli

Data Control Language (DCL) on SQL:n osa-alue, jota käytetään tietojen käyttöoikeuksien hallintaan relaatiotietokannan hallintajärjestelmässä.
DCL-komennot liittyvät pääasiassa käyttöoikeuksien myöntämiseen tai poistamiseen tietokantaobjekteille, kuten taulukoille, näkymille ja skeemoille.

DCL-komennot

Kaksi pääasiallista DCL-komentoa ovat:

  1. GRANT: Tätä komentoa käytetään tiettyjen käyttöoikeuksien myöntämiseen käyttäjille tai rooleille;

  2. REVOKE: Tätä komentoa käytetään aiemmin myönnettyjen käyttöoikeuksien poistamiseen käyttäjiltä tai rooleilta.

Käyttöoikeudet

Objektit

Toteutus

Voit myöntää käyttöoikeuksia SQL-objektille tietylle käyttäjälle seuraavalla lauseella:

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

Tietokannassa on kolme roolityyppiä, joille voit myöntää käyttöoikeuksia:

  • user: Yksittäinen tietokantakäyttäjä;
  • role: Tietokantarooli, nimetty käyttöoikeusryhmä, joka voidaan liittää käyttäjiin (esim. admin, developer, analyst);
  • PUBLIC: Erityinen avainsana, joka myöntää määritetyt käyttöoikeudet kaikille käyttäjille.

Voit myöntää roolin käyttäjälle seuraavalla lauseella:

GRANT role TO user;

Aiemmin myönnetyt käyttöoikeudet voidaan peruuttaa seuraavalla lauseella:

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

Esimerkki

Tässä on esimerkkejä siitä, miten GRANT-komentoa käytetään eri käyttöoikeuksien myöntämiseen bankaccounts- ja userlogs-tauluihin eri rooleille ja käyttäjille.

-- 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;

Nyt voimme peruuttaa joitakin myönnetyistä käyttöoikeuksista:

-- 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

Mikä käyttöoikeus sallii käyttäjän lukea tietoja taulusta?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 6

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

What is the difference between GRANT and REVOKE commands?

Can you explain what each privilege allows a user to do?

How do roles and users differ in terms of privileges?

Awesome!

Completion rate improved to 4.35

bookTietojen Hallintakieli

Pyyhkäise näyttääksesi valikon

Data Control Language (DCL) on SQL:n osa-alue, jota käytetään tietojen käyttöoikeuksien hallintaan relaatiotietokannan hallintajärjestelmässä.
DCL-komennot liittyvät pääasiassa käyttöoikeuksien myöntämiseen tai poistamiseen tietokantaobjekteille, kuten taulukoille, näkymille ja skeemoille.

DCL-komennot

Kaksi pääasiallista DCL-komentoa ovat:

  1. GRANT: Tätä komentoa käytetään tiettyjen käyttöoikeuksien myöntämiseen käyttäjille tai rooleille;

  2. REVOKE: Tätä komentoa käytetään aiemmin myönnettyjen käyttöoikeuksien poistamiseen käyttäjiltä tai rooleilta.

Käyttöoikeudet

Objektit

Toteutus

Voit myöntää käyttöoikeuksia SQL-objektille tietylle käyttäjälle seuraavalla lauseella:

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

Tietokannassa on kolme roolityyppiä, joille voit myöntää käyttöoikeuksia:

  • user: Yksittäinen tietokantakäyttäjä;
  • role: Tietokantarooli, nimetty käyttöoikeusryhmä, joka voidaan liittää käyttäjiin (esim. admin, developer, analyst);
  • PUBLIC: Erityinen avainsana, joka myöntää määritetyt käyttöoikeudet kaikille käyttäjille.

Voit myöntää roolin käyttäjälle seuraavalla lauseella:

GRANT role TO user;

Aiemmin myönnetyt käyttöoikeudet voidaan peruuttaa seuraavalla lauseella:

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

Esimerkki

Tässä on esimerkkejä siitä, miten GRANT-komentoa käytetään eri käyttöoikeuksien myöntämiseen bankaccounts- ja userlogs-tauluihin eri rooleille ja käyttäjille.

-- 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;

Nyt voimme peruuttaa joitakin myönnetyistä käyttöoikeuksista:

-- 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

Mikä käyttöoikeus sallii käyttäjän lukea tietoja taulusta?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 6
some-alt