2. SQL-KEEL ANDMEBAASIADMINISTRAATORI JAOKS




2.1. Andmebaasiadministraator ja SQL-keel




Enamik tänapäeval kasutatavaid andmebaasisiüsteeme on n.n. SQL-andmebaasid. See tähendab seda, et andmebaasi mootoriga suhtlemiseks kasutatakse SQL-keelt (Structured Query Language). Vaatamata selle keele „petlikule“ nimele, mis väidab, et tegemist on päringukeelega sisaldab ta oluliselt rohkem kui ainult päringute tegemise vahendeid. Nii on ju selle keelega võimalik andmestruktuure kirjeldada ja andmetega manipuleerida. Samuti moodustab ühe osa SQL-keelest korralduste kogum, millega andmebaasiadministraatorid saavad luua kasutajaid, anda neile õigus ja häälestada ka konkreetse andmebaasi parameetreid. Loomulikult kuulub administraatori „tööriista kotti“ ka SQL-keele see osa, mis võimaldab luua ja muuta andmebaasistruktuure, kuid seda osa SQL-keelest käsitletakse „Andmebaasialuste“ kursuse raames.



SQL - Structured Query Language


2.2. Andmebaasi kasutajad




Kuna suur osa andmebaasi administraatori tööst on seotud kasutajate ja nende õiguste haldamisega, siis anname kõigepealt ülevaate erinevatest kasutajate gruppidest andmebaasides. Kohati võib tunduda siin kirjeldatu juba varem kirjeldatu kordamisena, Nii see ongi, kuid kirjelduste struktuur on eelnevalt kirjeldatust oluliselt erinev ja kannab endas hoopis teistsugust tähendust.



Erinevad kasutajate grupid


2.2.1. Andmebaasi administraatorid (Database Administrator – DBA)




Igal andmebaasil on vähemalt üks andmebaasiadministraator (DBA). Kui andmebaasid on suured ja kasutajaid on palju siis on vaja ka rohkem DBA-sid. Sellisel juhul on grupp DBA-sid, kes jagab vastutust ja kelledest tavaliselt üks on teiste juht.



DBA

Andmebaasiadministraatori vastutuspiirkond hõlmab järgmisi tegevusi:



DBA ülesanded


Andmebaasiserveri ja töövahendite installeerimine



Tarkvara installeerimine


Veaparanduste (bug  fix, patch, PTF) ja uute versioonide (upgrade) turule tuleku jälgimine



Veaparanduste ja uuenduste paigaldamine


Mälu eraldamine andmebaasile ja  tulevikus vaja minevate mälumahtude hindamine



Mälu eraldamine


Primaarsete andmebaasistruktuuride loomine (tablespace) – aluseks on süsteemi arendajatelt saadud informatsioon



Mälueralduste tegemine


Tabelite, vaadete, indeksite seoste jms. loomine andmebaasi – aluseks on süsteemi arendajatelt saadud informatsioon.



Andmestruktuuride loomine


Andmestruktuuride jm modifitseerimine – aluseks on süsteemi arendajatelt saadud informatsioon



Andmestruktuuride muutmine


Kasutajate registreerimine ja süsteemi turvalisuse tagamine



Kasutajate haldamine


Tagama litsentsitingimuste täitmise jälgimine



Litsentsitingimuste jälgimine


Andmebaasile juurdepääsu juhtimine ja monitoorimine



Juurdepääsu haldamine


Andmebaasi jõudluse monitoorimine ja optimiseerimine



Jõudluse haldamine


Andmete varundamise planeerimine ja läbiviimine (backup)



Andmete varundamine


Andmete taastamine (recovery)



Andmete taastamine


Andmete arhiveerimine ja arhiveeritud andmete säilimise tagamine



Andmete arhiveerimine


Enesetäiendamine



Enesetäiendamine


2.2.2. Turvaadministraator (Security Officer)




Mõningatel juhtudel on andmebaasidel spetsiifilised andmebaasi administraatorid – turvaadministraatorid. Turvaadministraator on piiratud õigustega administraator, kelle õigused on piiratud kasutajate haldamise (lisamine, kustutamine) ja kasutajatele andmebaasi kasutamiseks õiguste andmise ja muutmise tegevustega. Seda kasutatakse siis, kui baasis on palju kasutajaid. Kui süsteemis on kasv või üks turvaadministraator, siis on kogu süsteemsete õiguste jagamine turvaadministraatorite käes ja teistel DBA-de vastutuspiirkond sellesse valdkonda ei laiene.

 

 

Kasutajate õiguste haldamine

Tihti on turvaadministraatorid regionaalsed või struktuurilised – st vastutavad kas mingis konkreetses geograafilises piirkonnas töötavatele kasutajatele antud õiguste adekvaatsuses eest või siis mingi konkreetse ettevõtte struktuuriüksuses töötavatele andmebaasi kasutajatele antud õiguste adekvaatsuse eest.



Regionaalsed turvaadministraatorid


2.2.3. Andmebaaside kavandajad (Database designers)




Andmebaaside kavandajad loovad andmemudeleid (database models). Nende vastutuspiirkond on määratud järgmiste tegevustega:



Tarkvaraarendaja ülesanded


Andmestruktuuride kavandamine



Andmebaaside kavandamine


Andmebaaside mäluvajaduste planeerimine



Mäluvajaduste kalkuleerimin


Andmebaasistruktuuride muudatuste kavandamine



Muudatuste kavandamine


Informatsiooni edastamine andmebaasi administraatorile



Info edastamine

Paljusid tegevusi teevad tarkvara arendajad koostöös andmebaasiadministraatoritega





2.2.4. Tarkvaraarendajad (Application Developers)




Tarkvaraarendajad loovad ja rakendavad andmebaasiprogramme (database applications). Nende vastutuspiirkond on määratud järgmiste tegevustega:



Tarkvaraarendaja


Andmebaasirakenduste (Database Application) loomine (Development)



Rakenduste loomine


Arendus-aegne rakenduste häälestamine/parameetriseerimine



Rakenduste häälestamine


Rakenduste turvatasemete määramine ja seda tagavate vahendite loomine



Turvatasemete loomine

Viimast kahte tegevust teevad tarkvara arendajad koostöös andmebaasiadministraatoritega



Koostöö


2.2.5. Rakenduste administraatorid (Application Administrators)




Rakenduse administraatoreid nimetatakse ka operaatoriteks. Igal rakendusel peab olema oma administraator. Mitmel rakendusel võib olla administraatoriks sama inimene. Kui andmebaasi administraator tagab andmebaasi füüsilise toimimise (et kõik tehnilised komponendid oleksid olemas ja toimiksid koos), siis rakenduse administraator tagab rakenduse korrektse loogilise toimimise – et kõik protsessid töötaksid koos ja annaksid õige tulemuse ja et kasutajad saaksid seda rakendust kasutada just ettenähtud kohas ja ettenähtud viisil.



Kasutatavuse administreerimine


2.2.6. Andmebaasi kasutajad (Database User)




Andmebaasikasutajad suhtlevad andmebaasiga kas rakenduste või andmebaasi utiliitide kaudu. Andmebaasi kasutaja vastutus on kaetud järgmiste tegevustega:



Andmete kasutamine


Andmete lisamine, uuendamine ja kustutamine, nendes piirides, mis konkreetsele kasutajale on lubatud



Andmetega manipuleerimine


Raportite genereerimine, nendes piirides, mis temale on lubatud



Andmete pärimine andmebaasist


Andmete edastamine väljapoole andmebaasi so. Andmete välja võtmine andmebaasist mingile andmekandjale (paber, CD, DVD, FlashDisk, fail) ja edastamine sellistesse kohtadesse ja isikutele, kelle puudub ligipääs sellele andmebaasile, kes/mis ei ole ise suutelised andmeid konkreetsest baasist saama.



Andmete edastamine


2.3. Õiguste jagamise ja tagamine andmebaasides (ORACLE näitel)




Kasutajate õiguste haldamise andmebaasides võib jagada neljaks grupiks: kasutajate loomine ja „hävitamine“, kasutajagruppide loomine ja „hävitamine“, lkasutajatele ja kasutajagruppidele ressursi õiguste andmine ja ära võtmine ning kasutajatele ning kasutaja gruppidele süsteemsete õiguste andmine ja ära võtmine.



Kasutajaõiguste haldamise iseloom


2.3.1. Kasutajate loomine ja „hävitamine“




Andmebaasi õigusi andmebaasis toimimiseks saab anda ainult andmebaasi kasutajale. Seega on kellegi andmebaasi kasutajaõiguste andmise esimeseks sammuks uue kasutaja loomine andmebaasi. Seda tehakse olenemata andmebaasijuhtumise süsteemist.



Andmebaasi kasutaja

Koos kasutaja loomisega antakse kasutajale tavaliselt kohe ka mõned baasõigused, mida tulevikus antavate õigustega laiendatakse või õiguste piiramisega kitsendatakse.



Baasõigused ja nende laiendamine

Oracle 11.2 SQL-keeles on andmebaasi kasutaja loomise lause CREATE USER:



Kasutaja loomine

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_8003.htm#sthref5461



Süntaksi kirjeldus ORACLE veebis



CREATE USER lihtsustatud süntaks

Kasutaja nimi “user” peab olema unikaalne ja see on 1-30 sümbolit pikk ja vastav Oracle nime moodustamise standardile.



Nime kuju

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/sql_elements008.htm



Nime standardi kirjeldus ORACLE veebis

Samad reeglid  kehtivad võtmesõna (“password”) moodustamise kohta.



Võtmesõna kuju

Kõige lihtsam CREATE USER-lause on:



NÄIDE


CREATE USER mart IDENTIFiED BY kolla;




Siin “mart” on kasutaja nimi ja “kolla” tema võtmesõna (password). Ülejäänud lisad kirjeldavad juba  täiendavaid piiranguid:




Süntaksi diagrammis kirjeldatud ülejäänud keelekonstruktsioonid kirjeldavad võimalikke täiendavaid piiranguid.



Süntaksi selgitused

DEFAULT TABLESPACE – määrab andmebaasi tablespace, kuhu tehakse kasutaja poolt loodud andmestruktuurid, kui kasutaja enne tabeli loomist ei määra, millisesse tablespace'sse ta soovib tabeli luua.. Kui see on määramata, siis tehakse need tablespace'sse SYSTEM



DEFAULT TABLESPACE

TEMPORARY TABLESPACE – määrab andmebaasi tablespace, kuhu tehakse kasutaja poolt loodud ajutised andmestruktuurid. Kui see on määramata, siis tehakse need tablespace'sse SYSTEM.



TEMPORARY TABLESPACE

QUOTA – piirab (M –megabaitides, K- kilobaitides), kui palju mingis konkreetses tablespace's antud kasutajale “ruumi” eraldatakse.



QUOTA

PROFILE – profile on “eelkirjeldatud” piirangute komplekt, mis on salvestatud andmebaasi mingi nime all.  Antud korraldus määrab loodavale kasutajale kõik antud komplektiga määratud piirangud.



PROFILE

PASSWORD EXPIRE – määrab, et kasutaja peab esimesel andmebaasi sisse logimisel, pärast selle kasutaja loomist, muutma oma võtmesõna.



PASSWORD EXPIRE

ACCOUNT – kas luuakse avatud või suletud kasutaja.



ACCOUNT

Kasutaja saab baasist ka kustutada. Selleks kasutatakse käsku DROP USER:



Kasutaja „hävitamine“

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9008.htm#SQLRF01811



Süntaksi kirjeldus ORACLE veebis








DROP USER süntaks

Kui lisada fraas CASCADE, kustutatakse enne kasutaja kustutamist baasist ära ka kõik tema poolt loodud andmestruktuurid



CASCADE

Kasutaja kustutamiseks baasist jättes baasis alles kõik tema loodud andmestruktuurid, tuleb Oracle 9i versioonis kirjutada SQL-korraldus:



NÄIDE


DROP USER mart;




Olemasoleva kasutaja parameetrite muutmiseks kasutatakse käsku ALTER USER. Selle käsu kirjelduse  leiab aadressil:



Kasutaja õiguste muutmine

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_4003.htm#SQLRF01103



Süntaksi kirjeldus ORACLE veebis

Igas andmebaasis on alati vähemalt üks selline kasutaja, kelle nimi on määratud. See kasutaja on süsteemiadministraator. Selle kasutaja nime ei saa muuta ega seda kasutajat ei saa kustutada. Erinevates andmebaasisüsteemides on tema nimi erinev. Näiteks Centura SQLBases on süsteemiadministraatori nimi “SYSADM”, SyBase-s “ ja SQLServer-is “sa” ja ORACLE’s “SYSTEM”.



Eeldefineeritud kasutaja

Süsteemiadministraator on eriline kasutaja – temal on kõik õigused kõikidele andmebaasis olevatele struktuuridele – olenemata sellest, kes need loonud on või kelle omad need parasjagu on! Tema võib kasutada andmebaasi kõiki struktuure, muuta iga kasutaja privileege ja ka neile kuuluvate andmestruktuuride omandust.



Süsteemiadministraator


2.3.2. Kasutajagruppide (rollide) loomine ja „hävitamine“




Väga tülikas on spetsifitseerida õigusi igale kasutajale eraldi. Lisaks sellele on see veel ka mõttetu – kasutajad on nii või teisiti päris suurte gruppide kaupa samade õigustega. Seepärast on enamikes andmebaasisüsteemides kas mõiste “kasutajagrupp” või “roll”. Need mõisted on täiesti identsed ja lihtsalt erinevates baasides kasutatakse erinevat mõistet.



Rollid andmebaasis

Oracle kasutab mõistet “roll”. Rolli loomiseks baasi on käsk CREATE ROLE:



Uue rolli loomine

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_6012.htm#SQLRF01311



Süntaksi kirjeldus ORACLE veebis





CREATE ROLE lihtsustatud süntaks

Rolli nimi on baasi ulatuses unikaalne ja sisaldab 1-30 sümbolit ja vastav Oracle nime moodustamise standardile.




http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/sql_elements008.htm#i27570



Nime standardi kirjeldus ORACLE veebis

Rolli lisamiseks serverile, tuleb Oracle 11.2 versioonis kirjutada SQL-korraldus:



NÄIDE


CREATE ROLE tudeng;




Kui kasutaja loomise korraldusele lisada fraas NOT IDENTIFIED, siis saavad kõik kasutajad, kellega on antud rolli õigused seotud, õigusi kasutada, ilma spetsiaalset võtmesõna esitamata. Kui on lisatud IDENTIFIED BY fraas, siis antud rolli õiguste kasutusele võtmiseks peab kasutaja määrama rolli ja võtmesõna.



NOT IDENTIFIED

EXTERNALLY fraas määrab et õigusi grupile kontrollitakse lokaalse töökoha operatsioonisüsteemi õiguste süsteemist.



EXTERNALLY

GLOBALLY fraas määrab, et õigusi rollile kontrollitakse globaalsest directory serverist.



GLOBALLY

Rolli saab baasist ka kustutada. Selleks kasutatakse käsku DROP ROLE:



Rolli „hävitamine“





DROP ROLE süntaksi kirjeldus

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_8029.htm#SQLRF01530



DROP ROLE süntaksi kirjeldus ORACLE veebis

Rolli kustutamiseks baasist jättes baasis alles kõik tema loodud andmestruktuurid, tuleb Oracle 11.2 versioonis kirjutada SQL-korraldus:



NÄIDE


DROP ROLE tudeng;




Kui roll baasist kustutada kaotavad kõik antud rolliga seotud kasutajad selle rolliga seotud õigused.



Õiguste kadu


2.3.3. Eelkirjeldatud (predefined) rollid




Igas andmebaasisüsteemis on teatav hulk eelkirjeldatud rolle. Sellisteks rollideks on näiteks süsteemiadministraator ja andmebaasiadministraator. Erinevatel andmebaasisüsteemidel on need rollid erinevad. Siiski on nendeks (olenemata rollide konkreetsetest nimedest erinevates baasides) tavaliselt “database administrator” (süsteemi administraator), “user” (lihtkasutaja) ja “recovery manager” (andmebaasi kindluskoopiate ja taaste korraldaja)



Eelkirjeldatud rolli tähendus

Oracle täielik eelkirjeldatud rollide loend on tabelis nr. 11-1 aadressil:



ORACLE eelkirjeldatud rollid

http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/admusers.htm



Eelkirjeldatud rollide kirjeldused ORACLE veebis


2.3.4. Süsteemsed õigused




Süsteemseteks õigusteks nimetatakse õigusi teostada baasis mingeid toiminguid. Süsteemseid õigusi saab anda kas kasutajale või rollile. Rollile antud õigused saab hiljem volitada komplektina kasutajatele või teistele rollidele. Seda nimetatakse õiguste jagamiseks kaskaadina (CASCADE).



Õigused teha toiminguid

Oracle 11.2 SQL-keeles on süsteemsete õiguste andmise käsu süntaks järgmine:



Süsteemsete õiguste andmine

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9013.htm#SQLRF01603



Süntaksi kirjeldus ORACLE veebis





GRANT korralduse süntaks

Esimene grupp kirjeldab, millised privileegid antakse – kas mõni (loend) süsteemseid (system_privilege) privileege, rolliga määratud privileegid (role) või kõikvõimalikud privileegid (ALL PRIVILEGES). Teine grupp määrab loendi rollidest ja kasutajatest (user, role), kellele need privileegid antakse või võtmesõna PUBLIC, mis tähendab, et määratud õigused antakse kõigile kasutajatele – nii nendele kes on juba olemas, kui ka nendele kes luuakse tulevikus.




Kui määratud on (IDENTIFIED BY) password, siis saavad neid õigusi kasutada ainult need, kes teavad passwordi.




IDENTIFIED BY

Kui lisatud on fraas WITH ADMIN OPTION, siis antaks määratud kasutajatele õigus ka administraatorina õigusi edasi anda.



WITH ADMIN OPTION

Näiteks on Oracle's sagedamini antavateks privileegideks privileegid:




Enam antavad privileegid

CREATE SESSION

-

õigus logida andmebaasi sisse (registreeruda  andmebaasi kasutamiseks)




CREATE SESSION

CREATE PROCEDURE

-

õigus luua uusi andmebaasiprotseduure , muuta ja kustutada enda loodud protseduure



CREATE PROCEDURE

EXECUTE ANY PROCEDURE

-

õigus käivitada kõiki protseduure olenemata nende omanikust



EXECUTE ANY PROCEDURE

CREATE TABLE

-

luua andmebaasi uusi tabeleid aj muuta ning kustutada oma loodud andmestruktuure



CREATE TABLE

CREATE VIEW

-

luua andmebaasi uusi vaateid, ning muuta ning kustutada enda loodud vaateid



CREATE VIEW

Näiteks loome rolli “student” ja anname sellele tudengi jaoks andmebaaside praktikumis vajalikud süsteemsed õigused:



NÄIDE

CREATE ROLE student;



Rolli loomine

GRANT AUDIT SYSTEM, CREATE PROCEDURE, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE PUBLIC SYNONYM, CREATE TABLE, SELECT ANY TABLE, CREATE TRIGGER, CREATE TYPE, CREATE VIEW TO student;




Rollile privileegide andmine

Ja nüüd anname selle rolli õigused kasutajale ”mart”:





GRANT student TO mart;




Rolli õiguste andmine kasutajale

Täielik loend “system_privilege”-sid on tabelis nr.18-1 aadressil :



Süsteemsete õiguste loend

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9013.htm#SQLRF01603



Süstemsete õiguste kirjeldused ORACLE veebis

Õiguste andmine võib tähendada ka õiguste ära võtmist. Täpselt nii nagu GRANT käsuga saab anda süsteemseid õigusi, saab neid ära võtta REVOKE-käsuga:



Õiguste „andmine“ õiguste ära võtmise teel

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9020.htm#SQLRF01609



REVOKE korralduse süntaksi kirjeldus ORACLE veebis





REVOKE korralduse süntaks

Võtame näiteks rollilt “student” ära õiguse luua SEQUENCE-sid:




NÄIDE

REVOKE CREATE SEQUENCE FROM student;




ÄRA VÕTTA SAAB AINULT NEID ÕIGUSI, MIS VAREM ON ANTUD. NEID ÕIGUSI MIDA POLE ANTUD EI SAA KA ÄRA VÕTTA!



TÄHELEPANU!


2.3.5. Õigused objektide kasutamiseks (object rights)




Lisaks üldistele süsteemsetele õigustele saab igale kasutajale anda õigusi ka teiste kasutajate poolt loodud andmebaasistruktuuride (andmebaasiobjektide) kasutamiseks. Selliseid õigusi saab anda kas objektide omanik (looja ise) või andmebaasiadministraatori õigustes isik või isik kellele on antud objektile õigused koos õiguste edasiandmise õigusega



Õigused objektide kasutamiseks

Objekti/ressursi kasutamise õiguse määramiseks tuleb määrata õigus (õigused), mis antakse ja seejärel objekt millele õigused antakse ja seejärel see (need) kellele õigus (õigused) antakse. Õiguse saajaks võib olla nii kasutaja kui roll.



Õigus, selle andja ja õiguse saaja

Enda loodud objektide/ piiramatu kasutamise õigus on vaikimisi igal objekti loojal. Ise asi on see, kas kasutajal on mingeid (süsteemseid) õigusi objektide loomiseks.



Enda loodud objektide piiramatu kasutamise õigus

Oracle 11.2-s näeb käsk GRANT objekti/i õiguste määramisel välja järgmine:




http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9013.htm#SQLRF01603



GRANT korralduse süntaks ORACLE veebis





GRANT korralduse süntaks

Esimeses grupis määratakse ära privileeg (või kõik privileegid – ALL PRIVILEGES) ja objekti komponendid (näiteks tabeli veerud) , millele antud õigusi rakendatakse. Seejärel määratakse ära andmebaasi objekt (schema.object – näiteks tabel), mille komponentidele õigusi määratakse. Seejärel määratakse loend rollidest ja kasutajatest (user, role), kellele need privileegid antakse või võtmesõna PUBLIC, mis tähendab, et määratud õigused antakse kõigile kasutajatele– nii nendele kes on juba olemas, kui ka nendele kes luuakse tulevikus.




Kui lisatakse fraas “WITH GRANT OPTION”, siis on nendel kasutajatel või rollidel, kellele õigus antakse, neid õigusi teistele kasutajatele edasi volitada.



WITH GRANT OPTION

WITH HIERARHCHY OPTIONS fraasi lisamine garanteerib kirjeldatud õigused ka määratud objektide kohta kirjeldatud alamobjektidele (tabelite korral näiteks ka kõigile antud tabelile kirjeldatud VIEW-dele).



WITH HIERARCHY OPTIONS

Objektile antavateks privileegideks on näiteks: DELETE, INSERT, UPDATE või SELECT, mis annavad näiteks õiguse tabelist kustutada kirjeid, lisada sinna uusi kirjeid, uuendada sela olevate kirjete andmeid ja vaadata tabelis olevaid andmeid.



DELETE, INSERT, UPDATE, SELECT

Anname näiteks kasutajale “mart” ja rollile “student” õiguse vaadata tabeli RASPEL.ISIK (kasutaja RASPEL poolt loodud tabel ISIK) veerge “ID”, “NIMI”, “PERENIMI” ja “PALK”. Uuendada lubame ainult veerge “NIMI” ja “PERENIMI”:



NÄIDE

GRANT SELECT (ID, NIMI, PERENIMI, PALK), UPDATE (NIMI, PERENIMI) RASPEL.ISIK  TO mart, student;




Täielik loend “object_privilege”-sid on tabelis nr. 18-2 aadressil:



Objekti õiguste loend

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9013.htm#SQLRF01603



Objekti õiguste loend ORACLE veebis

Objekti kasutamiseks „õiguste andmine“ võib tähendada ka õiguste ära võtmist. Täpselt nii nagu GRANT käsuga saab anda objektikasutamise  õigusi, saab neid ära võtta REVOKE-käsuga.



Õiguste andmine“ võib tähendada ka nende ära võtmist

http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9020.htm#SQLRF01609



REVOKE käsu süntaksi kirjeldus ORACLE veebis





REVOKE käsu sünkats

Võtame näiteks rollilt student ära õigused näha tabelis RASPEL.ISIK veeru PALK väärtusi:




NÄIDE

REVOKE SELECT (PALK) RASPEL.ISIK FROM student CASCADE CONSTRAINT;





ÄRA VÕTTA SAAB AINULT NEID ÕIGUSI, MIS VAREM ON ANTUD. NEID ÕIGUSI MIDA POLE ANTUD EI SAA KA ÄRA VÕTTA!



TÄHELEPANU!


2.4. Kasutajate autoriseerimine




Kasutaja baasisisse logimiseks on igal andmebaasisüsteemil CONNECT käsk. Kuigi selle süntaks võib olla erinev on sisu üks – kasutaja esitab oma kasutajanime, salasõna ja võib olla veel mingeid juhtandmeid, baas kontrollib nende vastavust enda registreeritud kasutajate omadega ja vastava nimega ning salasõnaga registreeritud kasutaja olemasolul käivitab seansi.



CONNECT-korraldus

Oracle 11.2 süntaksi järgi on CONNECT-käsu süntaks järgmine




CONN[ECT] { logon | / } [AS {SYSOPER|SYSDBA}]



CONNECT-korralduse süntaks

kus logon on järgmine kombinatsioon:

username/password[@database]




/ - tähistab vaikimisi login-i, kus login parameetrid võetakse lokaalsest operatsioonisüsteemist.



Logimine operatsioonisüsteemi parameetritega

http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/dba003.htm#ADMIN12477



CONNECT-korralduse kirjeldus ORACLE veebis

Kui kasutajal on SYSOPER või SYSDBA privileegid, siis saab ta baasi logida kas neid privileege kasutades või mitte. Kui vastavaid fraase mitte kasutada logitakse kasutaja baasi kui tavaline kasutaja, kellel on kõik temale antud õigused.



SYSOPER ja SYSDBA

Paljudel juhtudel ei ole vaja seda käsku kasutada, kuna programmidele on “ehitatud külge” login-aken, kus on väljad kasutaja nime, võtmesõna ja andmebaasi nime sisestamiseks.



LOGIN-aken


ÜLESANNE



ÜLESANNE

Leidke siin konspektis toodud andmebaasisüsteemi ORACLE käskude vasted andmebaasisüsteemis SQLBase. Andmebaasisüsteemi SQLBase SQL-keele juhendi leiate SIIT.




See ülesanne aitab teil ennast ettevalmistada harjutusülesannete lahendamiseks.



OLULINE !!!!