Jazyk pro kontrolu dat - Data control language
Bylo navrženo, že Koncept: Jazyk řízení dat být sloučeny do tohoto článku. (Diskutujte) Navrhováno od září 2020. |
tento článek potřebuje další citace pro ověření.Červenec 2016) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
A jazyk kontroly dat (DCL) je syntaxe podobná počítači programovací jazyk slouží k řízení přístupu k datům uloženým v databázi (Oprávnění ). Jedná se zejména o součást strukturovaný dotazovací jazyk (SQL). Data Control Language je jednou z logických skupin v příkazech SQL. SQL[1] je standardní jazyk pro systémy správy relačních databází. Příkazy SQL se používají k provádění úkolů, jako je vkládání dat do databáze, mazání nebo aktualizace dat v databázi nebo načítání dat z databáze.
Ačkoli databázové systémy používají SQL, mají také své vlastní další proprietární rozšíření, které se obvykle používají pouze v jejich systému. Například server Microsoft SQL používá Transact-SQL (T-SQL), což je rozšíření SQL. Podobně Oracle používá PL-SQL, což je jejich proprietární rozšíření pouze pro ně. Standardní příkazy SQL, jako jsou „Vybrat“, „Vložit“, „Aktualizovat“, „Odstranit“, „Vytvořit“ a „Pustit“, lze však použít k dosažení téměř všeho, co člověk s databází potřebuje.
Mezi příklady příkazů DCL patří:
- GRANT umožnit zadaným uživatelům provádět zadané úkoly.
- ZRUŠIT odebrat přístup uživatele k databázovému objektu.
Operace, pro které mohou být udělena nebo zrušena oprávnění uživateli nebo roli, platí pro oba Jazyk definice dat (DDL) a Jazyk pro manipulaci s daty (DML) a může zahrnovat PŘIPOJIT, VYBRAT, VLOŽIT, AKTUALIZACE, VYMAZAT, VYKONAT, a POUŽÍVÁNÍ.
Microsoft SQL Server:
Podle serveru Microsoft SQL existují čtyři skupiny příkazů SQL. (MSSQL)
- Jazyk pro manipulaci s daty (DML)
- Data Definition Language (DDL)
- Data Control Language (DCL[2])
- Transaction Control Language (TCL)
Příkazy DCL se používají pro řízení přístupu a správu oprávnění pro uživatele v databázi. S nimi můžeme snadno povolit nebo zakázat některé akce pro uživatele na tabulkách nebo záznamech (zabezpečení na úrovni řádků).
Příkazy DCL jsou:
GRANT - Můžeme určitým uživatelům databáze udělit určitá oprávnění (a dalším objektům),
DENY - zakáže určitá oprávnění od uživatelů.
REVOKE - tímto příkazem můžeme vzít zpět povolení od uživatelů.
Například GRANT lze použít k udělení oprávnění uživateli provádět SELECT, INSERT, UPDATE a DELETE na konkrétní tabulce nebo na více než jedné tabulce.
S příkazem REVOKE můžeme vzít zpět oprávnění na výchozí nebo zrušit konkrétní příkaz, jako je aktualizace nebo odstranění na základě požadavků.
Příklad:
Udělit SELECT, INSERT, UPDATE, DELETE na zaměstnance uživateli 1
Odvolání INSERT u zaměstnance uživateli 1
Odepřít aktualizaci na zaměstnance uživateli1
GRANT v prvním případě jsme udělili oprávnění uživateli User1 k provádění VÝBĚRU, VLOŽENÍ, AKTUALIZACE a ODSTRANĚNÍ v tabulce s názvem zaměstnanci.
REVOKE s tímto příkazem můžeme vzít zpět oprávnění na výchozí, v tomto případě vezmeme zpět příkaz INSERT na zaměstnance tabulky pro uživatele User1.
DENY je specifický příkaz. Můžeme dojít k závěru, že každý uživatel má seznam oprávnění, která jsou odepřena nebo udělena, takže příkaz DENY je tu, aby vám výslovně zakázal některá oprávnění k databázovým objektům .:
Věštec rozdělit příkazy SQL na různé typy. Oni jsou.
- Příkazy jazyka Data Definition Language (DDL)
- Příkazy jazyka Data Manipulation Language (DML)
- Prohlášení o kontrole transakcí
- Prohlášení o řízení relace
- Prohlášení o ovládání systému
- Vložené příkazy SQL
Příkazy jazyka DDL (Data Definition Language) vám umožňují provádět tyto úkoly:
- Vytvářejte, upravujte a pusťte objekty schématu
- Udělujte a odvolávejte oprávnění a role
- Analyzujte informace o tabulce, indexu nebo klastru
- Zavést možnosti auditu
- Přidejte komentáře do datového slovníku
Příkazy Oracle Database DDL tedy zahrnují Grant a zrušit oprávnění, která je ve skutečnosti součástí Data Control Language na serveru Microsoft SQL.
Syntaxe pro udělení a zrušení v Oracle:
Příklad:
UDĚLIT VÝBĚR, VLOŽIT, AKTUALIZOVAT, ODSTRANIT ZAP1. Zaměstnanec TO user1;
ODSTRÁNIT VÝBĚR, VLOŽIT, AKTUALIZOVAT, ODSTRANIT ZAP1. Zaměstnanec OD uživatele1;
Prohlášení o kontrole transakcí v Oracle:
Výkazy řízení transakcí spravují změny provedené příkazy DML. Prohlášení o kontrole transakcí jsou:
- SPÁCHAT
- ROLLBACK
- SAVEPOINT
- NASTAVTE TRANSAKCI
- NASTAVTE OMEZENÍ
MySQL server rozdělují příkazy SQL na různé typy příkazů
- Prohlášení o definici dat
- Prohlášení o manipulaci s daty
- Transakční a blokovací prohlášení
- Prohlášení o replikaci
- Připravená prohlášení
- Syntaxe složených příkazů
- Prohlášení o správě databáze
- Prohlášení o užitku
Podrobnosti viz Transakční příkazy MySQL[4])
Syntaxe grantu a odvolání jsou součástí systému Database Administration commandsàAccount Management System.
Příkaz GRANT umožňuje správcům systému udělovat oprávnění a role, které lze udělit uživatelským účtům a rolím. Platí tato omezení syntaxe:
- GRANT nemůže kombinovat udělení oprávnění a rolí ve stejném prohlášení. Daný příkaz GRANT musí udělit oprávnění nebo role.
- Klauzule ON rozlišuje, zda prohlášení uděluje oprávnění nebo role:
- Pokud je ZAPNUTO, příkaz uděluje oprávnění
- Bez ZAPNUTO prohlášení uděluje role.
- Je povoleno přidělit účtu oprávnění i role, ale musíte použít samostatné příkazy GRANT, každý se syntaxí odpovídající tomu, co má být uděleno.
Příkaz REVOKE umožňuje správcům systému zrušit oprávnění a role, které lze zrušit z uživatelských účtů a rolí.
Příklady:
ODVOLAT VLOŽIT ZAPNUTO *. * Z 'jeffrey' @ 'localhost';
REVOKE 'role1', 'role2' FROM 'user1' @ 'localhost', 'user2' @ 'localhost';
ODVOZTE VÝBĚR NA SVĚTĚ. * Z 'role3';
GRANTOVAT VŠE NA db1. * TO 'jeffrey' @ 'localhost';
GRANT 'role1', 'role2' TO 'user1' @ 'localhost', 'user2' @ 'localhost';
GRANTOVÝ VÝBĚR NA svět. * TO 'role3';
v PostgreSQL, provádění DCL je transakční a lze je vrátit zpět.
Grant a Zrušit jsou příkazy SQL, které se používají k řízení oprávnění udělených uživatelům v databázích
SQLite nemá žádné příkazy DCL, protože nemá uživatelská jména ani přihlášení. Namísto, SQLite záleží na oprávnění systému souborů definovat, kdo může otevřít databázi a přistupovat k ní.[5]
Viz také
Reference
- ^ „Norma SQL - ISO / IEC 9075: 2016 (ANSI X3.135) - blog ANSI“. Blog ANSI. 2018-10-05. Citováno 2020-09-19.
- ^ „TechNet Wiki“. social.technet.microsoft.com. Citováno 2020-09-19.
- ^ "Referenční příručka k jazyku SQL v databázi". docs.oracle.com. Citováno 2020-09-19.
- ^ „MySQL :: MySQL 8.0 Reference Manual :: 13.7.1 Statement Management Statement“. dev.mysql.com. Citováno 2020-09-19.
- ^ Kreibich, J.A., 2010. Pomocí SQLite, O'Reilly.
Tento databáze související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |
Tento programovací jazyk související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |