602SQL-Úplná dokumentace Index  

Práva k jednotlivým záznamům tabulky

K jednotlivým záznamům v určité tabulce lze přidělovat tato (globální) práva:

  1. právo číst (select) hodnoty všech nebo některých sloupců;
  2. právo přepisovat (update) hodnoty všech nebo některých sloupců;
  3. právo rušit (delete) záznamy;
  4. právo poskytovat (grant) svá práva dalším uživatelům.

Kromě toho lze i nastavovat obdobná práva k tabulce jako celku (včetně práva vkládat záznamy).

Na možnost nastavovat práva po záznamech je nutné pamatovat již při vytváření tabulky. V dialogovém okně Vlastnosti tabulky v návrháři tabulek je nutné zatrhnout čtverec Přidělovat práva k jednotlivým záznamům. Vytváříte-li tabulku SQL příkazem CREATE TABLE, musíte v záhlaví uvést příznak REC_PRIVILS.

Interaktivní nastavování práv

Práva k jednotlivým záznamům se nastavují z libovolného formuláře do tabulky. V něm vyberete zvolený záznam a stisknete klávesu F11 nebo odpovídající příkaz z menu Data - tím otevřete dialog pro nastavování práv, v němž oproti běžnému dialogu pro nastavování práv k datům přibyly sloupce Záznamové přidělené a Záznamové efektivní. Pomocí tlačítek Přidat záznamu a Odebrat záznamu máte možnost změnit vybranému subjektu práv jeho práva k tomuto záznamu (sloupec Záznamové přidělené).

Ve sloupci Záznamové efektivní jsou vidět práva k vybranému záznamu. Na tato práva se skládají globální práva k celé tabulce i práva přidělená k záznamu, a to jak práva přidělená zvolenému subjektu, tak i práva přidělená skupinám, do nichž náleží, a rolím, které hraje.

Důsledkem tohoto širokého skládání práv je, že nelze odebrat efektivní právo subjektu k záznamu, pokud:

Poslední řádky gridu nazvané ...- společné specifikují, jaká práva se automaticky přidělí skupině EVERYBODY pro každý nově vložený záznam. Nastavení v těchto řádcích je nezávislé na subjektu zvoleném v horní části dialogu. Nastavení se provádí tlačítky Přidat a Odebrat.

Programová manipulace s právy

Práva se nastavují a zjišťují zde uvedenými postupy v jazyce SQL.