Data Control Language (DCL)

Veita, endurnýja og hafna gagnagrunnsleyfi

The Data Control Language (DCL) er undirhópur Structured Query Language (SQL) og gerir gagnagrunnstjórnendum kleift að stilla öryggisaðgang að samskiptareglum. Það viðbót við Data Definition Language (DDL), sem er notað til að bæta við og eyða gagnagrunni hlutum og Data Manipulation Language (DML) notað til að sækja, setja inn og breyta innihaldi gagnagrunns.

DCL er einfaldasta af SQL undirflokkum , þar sem það samanstendur af aðeins þrjú skipanir: GRANT, REVOKE og DENY. Samanlagt veita þessar þrjár skipanir stjórnendur sveigjanleika til að setja og fjarlægja gagnagrunnsheimildir á afar kornalegu hátt.

Bæti heimildir með GRANT stjórn

GRANT stjórnin er notuð af stjórnendum til að bæta við nýjum heimildum gagnagrunns notanda . Það hefur mjög einfalt setningafræði, skilgreint sem hér segir:

GRANT [forréttindi] á [mótmæla] til [notandi] [með möguleika á möguleika]

Hér er umfjöllun um hverja breytu sem þú getur framboð með þessari stjórn:

Segjum til dæmis að þú viljir veita notandanum Joe möguleika á að sækja upplýsingar frá starfsmannatöflunni í gagnagrunni sem kallast HR. Þú gætir notað eftirfarandi SQL skipun:

GRANT SELECT ON HR.employees TO Joe

Joe mun nú hafa getu til að sækja upplýsingar frá starfsmannaborðinu. Hann mun hins vegar ekki geta veitt öðrum notendum heimild til að sækja upplýsingar frá því borði vegna þess að þú hafir ekki meðfylgjandi ákvæði GRÖFURVALS í GRANT yfirlýsingunni.

Afturköllun gagnasafns

REVOKE stjórnin er notuð til að fjarlægja aðgang að gagnagrunni frá notanda sem áður hefur fengið slíkan aðgang. Samheitiið fyrir þessa skipun er skilgreint sem hér segir:

REVOKE [veita möguleika fyrir] [leyfi] ON [mótmæla] FRÁ [notandi] [CASCADE]

Hér er umfjöllun um breytur fyrir REVOKE stjórn:

Til dæmis, eftirfarandi skipun afturkalla leyfi veitt til Joe í fyrra dæmi:

ENDURNÝJA SELECT ON HR.employees FROM Joe

Vafalaust neitað aðgangur að gagnagrunninum

The DENY stjórnin er notuð til að koma í veg fyrir að notandi fái sérstakt leyfi. Þetta er gagnlegt þegar notandi er meðlimur í hlutverki eða hópi sem hefur fengið leyfi og þú vilt koma í veg fyrir að einstaklingur noti erfingja leyfisins með því að skapa undanþágu. Samheitiið fyrir þessa stjórn er sem hér segir:

Neita [leyfi] á [mótmæla] til [notandi]

Breytur fyrir kommandann DENY eru eins og þær sem notaðar eru fyrir GRANT skipunina.

Til dæmis, ef þú vilt tryggja að Matthew myndi aldrei fá hæfileika til að eyða upplýsingum úr starfsmannatöflunni skaltu gefa út eftirfarandi skipun:

Neita að eyða á HR.starfsmönnum til Matteusar