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

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