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
SQL-optimointi ja kyselyominaisuudet

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 ensisijaisesti käyttöoikeuksien myöntämiseen tai poistamiseen tietokantaobjekteista, kuten tauluista, näkymistä ja skeemoista.

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

Käyttöoikeuksien myöntämiseksi tietylle käyttäjälle SQL:ssä voidaan käyttää seuraavaa komentoa:

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

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

  • user: yksittäinen tietokannan käyttäjä;
  • role: tietokantarooli, nimetty käyttöoikeusryhmä, joka voidaan liittää käyttäjiin (esim. admin, developer, analyst);
  • PUBLIC: erityisavainsana, joka myöntää määritetyt käyttöoikeudet kaikille käyttäjille.

Rooli voidaan myöntää käyttäjälle seuraavalla komennolla:

GRANT role TO user;

Aiemmin myönnetyt käyttöoikeudet voidaan poistaa seuraavalla komennolla:

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 5

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain the difference between GRANT and REVOKE with examples?

What are some best practices for managing privileges in a database?

How do roles and users differ when assigning privileges?

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 ensisijaisesti käyttöoikeuksien myöntämiseen tai poistamiseen tietokantaobjekteista, kuten tauluista, näkymistä ja skeemoista.

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

Käyttöoikeuksien myöntämiseksi tietylle käyttäjälle SQL:ssä voidaan käyttää seuraavaa komentoa:

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

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

  • user: yksittäinen tietokannan käyttäjä;
  • role: tietokantarooli, nimetty käyttöoikeusryhmä, joka voidaan liittää käyttäjiin (esim. admin, developer, analyst);
  • PUBLIC: erityisavainsana, joka myöntää määritetyt käyttöoikeudet kaikille käyttäjille.

Rooli voidaan myöntää käyttäjälle seuraavalla komennolla:

GRANT role TO user;

Aiemmin myönnetyt käyttöoikeudet voidaan poistaa seuraavalla komennolla:

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 5
some-alt