Język kontroli danych - Data control language

Języka sterowania danymi ( DCL ) jest podobna do składni komputerowy język programowania używany do kontroli dostępu do danych przechowywanych w bazie danych ( Authorization ). W szczególności jest to składnik Structured Query Language (SQL). Data Control Language jest jedną z grup logicznych w Poleceniach SQL. SQL to standardowy język systemów zarządzania relacyjnymi bazami danych. Instrukcje SQL służą do wykonywania zadań, takich jak wstawianie danych do bazy danych, usuwanie lub aktualizowanie danych w bazie danych lub pobieranie danych z bazy danych.

Chociaż systemy baz danych używają SQL, mają również własne dodatkowe, zastrzeżone rozszerzenia, które są zwykle używane tylko w ich systemie. Na przykład serwer Microsoft SQL używa języka Transact-SQL (T-SQL), który jest rozszerzeniem języka SQL. Podobnie Oracle używa PL-SQL, który jest ich własnym rozszerzeniem tylko dla nich. Jednak standardowe polecenia SQL, takie jak „Wybierz”, „Wstaw”, „Aktualizuj”, „Usuń”, „Utwórz” i „Upuść” mogą być użyte do wykonania prawie wszystkiego, co trzeba zrobić z bazą danych.

Przykłady poleceń DCL obejmują:

  • GRANT, aby zezwolić określonym użytkownikom na wykonywanie określonych zadań.
  • REVOKE, aby usunąć dostęp użytkownika do obiektu bazy danych.

Operacje, dla których uprawnienia mogą zostać nadane lub cofnięte użytkownikowi lub roli, dotyczą zarówno języka definicji danych (DDL), jak i języka manipulacji danymi (DML) i mogą obejmować CONNECT , SELECT , INSERT , UPDATE, DELETE , EXECUTE , i UŻYTKOWANIE .

Microsoft SQL Server:

Zgodnie z serwerem Microsoft SQL istnieją cztery grupy poleceń SQL. (MSSQL)

  • Język manipulacji danymi (DML)
  • Język definicji danych (DDL)
  • Język kontroli danych (DCL)
  • Język kontroli transakcji (TCL)

Polecenia DCL służą do kontroli dostępu i zarządzania uprawnieniami użytkowników w bazie danych. Dzięki nim możemy łatwo zezwolić lub odmówić użytkownikom niektórych akcji na tabelach lub rekordach (zabezpieczenia na poziomie wiersza).

Polecenia DCL to:

GRANT – możemy nadać określone uprawnienia w tabeli (i innych obiektach) określonym użytkownikom bazy danych,

DENY – blokuje określone uprawnienia dla użytkowników.

REVOKE – tym poleceniem możemy cofnąć uprawnienia od użytkowników.

Na przykład GRANT może być użyty do nadania użytkownikowi uprawnień do wykonywania operacji WYBIERANIA, WSTAWIANIA, AKTUALIZACJI i USUWANIA na określonej tabeli lub więcej niż jednej tabeli.

Za pomocą polecenia REVOKE możemy przywrócić uprawnienia do ustawień domyślnych lub cofnąć określone polecenie, takie jak aktualizacja lub usunięcie, w zależności od wymagań.

Przykład:

Przyznaj pracownikowi WYBIERZ, WSTAW, AKTUALIZUJ, USUŃ

Anuluj INSERT na pracownika do użytkownika 1

Odmów aktualizacji pracownika dla użytkownika 1

GRANT w pierwszym przypadku nadaliśmy użytkownikowi User1 uprawnienia do wykonywania operacji SELECT, INSERT, UPDATE i DELETE na tabeli o nazwie pracownicy.

REVOKE tą komendą możemy cofnąć uprawnienia do domyślnych, w tym przypadku cofamy komendę INSERT na tabeli pracowników dla użytkownika User1.

DENY to specyficzne polecenie. Możemy stwierdzić, że każdy użytkownik ma listę uprawnień, które są odmawiane lub przyznawane, więc polecenie DENY ma na celu jawne zablokowanie niektórych uprawnień do obiektów bazy danych.:

Baza danych ORACLE fb:Dipa Lolman.9

Oracle dzieli polecenia SQL na różne typy. Oni są.

  • Oświadczenia w języku definicji danych (DDL)
  • Oświadczenia języka manipulacji danymi (DML)
  • Oświadczenia o kontroli transakcji
  • Oświadczenia kontroli sesji
  • Instrukcja kontroli systemu
  • Wbudowane instrukcje SQL

Szczegółowe informacje można znaleźć w Oracle- TCL         

Instrukcje języka definicji danych (DDL) umożliwiają wykonanie następujących zadań:

  • Twórz, zmieniaj i usuwaj obiekty schematu
  • Przyznawanie i odbieranie uprawnień i ról
  • Analizuj informacje w tabeli, indeksie lub klastrze
  • Ustal opcje audytu
  • Dodaj komentarze do słownika danych

Tak więc polecenia DDL bazy danych Oracle obejmują uprawnienia nadawania i odwoływania, które są w rzeczywistości częścią języka kontroli danych w serwerze Microsoft SQL.

Składnia przyznawania i unieważniania w Oracle:

Przykład :

PRZYZNAJ WYBIERZ, WSTAW, AKTUALIZUJ, USUŃ NA db1.Pracownik DO użytkownik1;

REVOKE WYBIERZ, WSTAW, AKTUALIZUJ, USUŃ NA db1.Pracownik FROM użytkownik1;

Oświadczenia kontroli transakcji w Oracle:

Wyciągi kontroli transakcji zarządzają zmianami wprowadzanymi przez wyciągi DML. Oświadczenia kontroli transakcji to:

  • POPEŁNIAĆ
  • COFNIĘCIE
  • PUNKT ZAPISU
  • USTAW TRANSAKCJĘ
  • USTAW OGRANICZENIE

Serwer MySQL :indo

Serwer MySQL dzielą instrukcje SQL na różne typy instrukcji

  • Oświadczenia dotyczące definicji danych
  • Oświadczenia dotyczące manipulacji danymi
  • Wyciągi transakcyjne i blokujące
  • Oświadczenia dotyczące replikacji
  • Przygotowane oświadczenia
  • Składnia instrukcji złożonych
  • Oświadczenia dotyczące administrowania bazą danych
  • Oświadczenia o użyteczności

Szczegóły znajdziesz w zestawieniach transakcyjnych MySQL )

Składnia grantów i odwołań jest częścią instrukcji administrowania bazą danych – Account Management System.

Instrukcja GRANT umożliwia administratorom systemu nadawanie uprawnień i ról, które można nadać kontom i rolom użytkowników. Obowiązują te ograniczenia składni:

  • GRANT nie może łączyć nadawania zarówno uprawnień, jak i ról w tej samej instrukcji. Dana instrukcja GRANT musi przyznawać albo uprawnienia, albo role.
  • Klauzula ON rozróżnia, czy instrukcja przyznaje uprawnienia, czy role:
  • Z ON, instrukcja przyznaje przywileje
  • Bez ON, instrukcja przyznaje role.
  • Dozwolone jest przypisanie do konta zarówno uprawnień, jak i ról, ale należy używać oddzielnych instrukcji GRANT, każdy ze składnią odpowiednią do tego, co ma być przyznane.

Instrukcja REVOKE umożliwia administratorom systemu odbieranie uprawnień i ról, które można odbierać z kont użytkowników i ról.

Przykłady :

ODWOŁAJ WSTAWKĘ NA *.* Z 'jeffrey'@'localhost';

REVOKE 'role1', 'role2' FROM 'user1'@'localhost', 'user2'@'localhost';

REVOKE WYBIERZ NA świecie.* Z 'role3';

PRZYZNAJ WSZYSTKO NA db1.* 'jeffrey'@'localhost';

GRANT 'role1', 'role2' TO 'user1'@'localhost', 'user2'@'localhost';

GRANT SELECT ON world.* TO 'role3';

W PostgreSQL wykonywanie DCL jest transakcyjne i można je cofnąć.

Grant i Revoke to polecenia SQL używane do kontrolowania uprawnień nadawanych użytkownikom w bazach danych

SQLite nie ma żadnych poleceń DCL, ponieważ nie ma nazw użytkowników ani loginów. Zamiast tego SQLite zależy od uprawnień systemu plików, aby określić, kto może otwierać i uzyskiwać dostęp do bazy danych.

Zobacz też

Bibliografia