Oracle lietotāja definēšanas salidzinoša analīze

SATURS

1. IEVADS. 3
2. ORACLE VIDE. 4
2.1. LIETOTĀJA IZVEIDOŠANA. 4
2.2. TIESĪBU PIEŠĶIRŠANA LIETOTĀJAM. 8
3. MS ACCESS VIDE. 11
3.1. LIETOTĀJA IZVEIDOŠANA. 11
3.2. LIETOTĀJU TIESĪBAS. 12
4. REZUMĒ. 14
5. SECINĀJUMI. 15
6. LITERATŪRAS SARAKSTS. 161. IEVADS.
Šajā darbā es mēģināšu salīdzināt divu datu bāžu vadības sistēmu lietotāju pārvaldības aspektus. Darba veikšanai es izmantošu Oracle8 un MS Access DB vadības sistēmas. Darba gaitā es gribētu parādīt ne tikai tas iespējas, bet arī apskatīšu tas kopējus elementus un atšķirības. Oracle8 vidē lietotāju pārvaldībai es izmantošu SQL valodu un MS Access vidē izmantošu iekšējus rīkus. Katrai videi noteikti būs savas priekšrocības un trūkumi. Darba beigumā es plānoju veltīt salīdzinošai analīzei atsevišķo nodalījumu.
Darba gaitā būs izpētītas tādas lietas, kā lietotāja definēšana un tiesību piešķiršana. Kopumā tas veido lietotāja pārvaldību. Priekš kam tas ir vajadzīgs? Nu mēģināšu izteikt savas domas. Ja datu bāze tiek domāta kādai “iekšējai” izmantošanai, kuras datus izmantos kādiem privātiem mērķiem, (piemēram mājas bibliotēka, videokasešu katalogs), tad parasti nav nekādas jēgas sarežģīt darba procesu, veikt kaut kādus pasākumus drošuma nodrošināšanai ( nesajauciet ar drošību; drošums ir tieši tas, kas ir pētīts šajā darbā, bet drošības jēdziens ir saistīts ar kaut ko citu: kļūda dinamiskā atmiņa organizēšanā, nepareizi datu tipi, viss pārējais, kas var traucēt programmas darbību).
Bet ir izveidotas sarežģītākā sistēma (slimnīcas pacientu reģistrēšana) un ir nepieciešams pasargāt datus no “ārējiem traucējumiem”, tad ir lietderīgi kaut kādā veidā paslēpt datus no cita rokām. Un tad sāk veidot speciālus mehānismus. Nu piemēram var uzstādīt paroli uz datu bāzi. Šo paroli zinis tikai tie cilvēki, kuri strādā ar šo datu bāzi.
Reālajā dzīve bieži ir nepieciešams sadalīt darbu ar datu bāzi tā, lai darbiniekiem būtu dažādi darba veidi, iespējas, privilēģijas. Piemēram ir izveidota datu bāze, kurā glabāsies informācija par darbinieku algām. Datu bāzē ir nepieciešams ievadīt jaunus datus un modificēt esošus. Tad ja visiem, kam ir pieejama šī datu bāze varēs veikt sev derīgas izmaiņas (palielināt sev algu, izdalīt prēmiju par īpašam attiecībām ar šefa sekretāri un tml.). Bet tā kā šīs te izmaiņas ir jāveic tikai darbinieku pārvaldniekam, bet pārējiem dot iespēju tikai apskatīt šos datus (lai pārliecinātos, ka mana alga ir lielāk nekā citam), ir nepieciešami citi mehānismi. Šī mehānismu sauc par privilēģijām vai tiesībām, kuras piešķir katram datu bāzes lietotājam. Lai atšķirtu lietotājus, izmanto lietotāju vārdus. Pie tam, lai izvairītos no nesankcionētas pieejas, aiz katra lietotāja vārda nostiprina paroli, kuru (labvēlīgajā gadījuma) zina tikai viens lietotājs. Un tālāk ar speciāliem rīkiem piešķir tiesības lietotājiem. Kā būs redzams tālāk, šie rīki ir dažādi.
Darba sākumā būs apskatītas lietotāja definēšanas un tiesību piešķiršanas iespējas Oracle8 vidē. Pēc tam tādas pašas iespējas būs izpētītas MS Access vidē. Tajā laikā arī būs jau atzīmētas raksturīgas atšķirības starp Oracle8 un MS Access sistēmām. Atšķirības es atzīmēšu ar biezu (Bold) fontu, lai tās varētu vieglāk ievērot.
Ja jūs esat nolasījis līdz šiem vārdiem, tas nozīmē, ka jums ir lielas izturēšanas iespējas. Diemžēl man nebija laika zīmēt attēlus, kuri uzlabotu jūsu garastāvokli. Laboratorijas darba lasīšana un pārbaude ir ļoti skumja lieta, skumjāk nekā tas rakstīšana. Lasīt katrā darbā vienu un to pašu ir vēl skumjāk. Es ceru, ka man nav taisnība un manā darbā jūs redzēsiet kaut ko jaunu.2. ORACLE VIDE.
2.1. LIETOTĀJA IZVEIDOŠANA.
Tā, kā lietotāju pārvaldībai es izmantošu SQL, tad tālāk seko dažādas komandas, klauzulas un citas smērējošas lietas. Es, protams, parādīšu pēc iespējas plašāku lietotāja definīciju, nekā ierakstīts konspektā. Šeit un tālāk visus SQL rezervētus vārdus es rakstīšu ar lielajiem burtiem (lieli cipari neskaitās) un ar mazajiem burtiem tiek atzīmētas lietotāja ievadīti parametri. Kvadrātiekavās ir atzīmēti neobligātie parametri un ar | zīmi ir parādīta opciju izvēle. Nākoša burtu kopa kalpo lietotāja definēšanai. Tas ir paņemta no Oracle8 helpa:

CREATE USER user IDENTIFIED
BY password | EXTERNALLY | GLOBALLY AS ‘external_name’
[ DEFAULT TABLESPACE tablespace ]
[ TEMPORARY TABLESPACE tablespace ]
[ QUOTA UNLIMITED | integer [ K | M ] ON tablespace ]
[ PROFILE profile ]
[ DEFAULT ROLE role | NONE | ALL [ EXCEPT role1, role2 … ] ]
[ PASSWORD EXPIRE ]
[ ACCOUNT LOCK | UNLOCK ];

Es pats nekad nespētu iedomāties, ka tāda vienkārša lieta, kā lietotāja definēšana, varētu būt tik sarežģīta. Bet nu centīšos tikt galā ar visiem šiem burtiem, cipariem. Parametru aprakstu es noformēšu tabulas veidā.

user vārds lietotājam, kuru konstruē.
IDENTIFIED norāda, kā sistēma identificē lietotāju.
BY password lietotāja identificēšana notiks ar paroles palīdzību.
EXTERNALLY norāda, kā lietotāja identificēšana notiek ar starpa sistēmu (piem. operetājsistēmu).
GLOBALLY AS ‘external_name’ norāda, kā lietotāja identificēšana notiek ar Oracle Security Service (Orakla Drošuma Serviss (ODS)) palīdzību, kur ‘external_name’ ir ODS X.509 vārds, kurš identificē lietotāju.
DEFAULT TABLESPACE norāda “pēc noklusēšanas” tabulu telpu lietotāja veidojamiem objektiem. Ja šī opcija nebūs norādīta, tad tas būs SYSTEM tabulu telpa.
TEMPORARY TABLESPACE Identificē tabulu telpu lietotāja laika segmentiem. Pēc noklusēšanas ir uzstādīta SYSTEM tabulu telpa.
QUOTA Dod iespēju lietotājam izdalīt atmiņu tabulu telpā. Vērtību norāda baitos. Šīs ierobežojums noteic maksimālu atmiņas apjomu, kuru lietotājs var izmantot tabulu telpā. Var arī izmantot burtus K vai M, lai noradītu tas vērtību kilobaitos vai megabaitos.
Var atzīmēt, ka vienā CREATE USER komandā var norādīt vairākas QUOTA opcijas vairākām tabulu telpām.
UNLIMITED ļauj lietotājam neierobežot tabulas telpas pieejamu atmiņas apgabālu
PROFILE norāda profailu veidotam lietotājam. Profails ierobežo datu bāzes resursu apjomu, kuru var lietot lietotājs. Pēc noklusēšanas būs izveidots DEFAULT profails.
PASSWORD EXPIRE
lietotājam paroli ir jāmaina katru reizi, pirms ielādēt datu bāzi.
ACCOUNT LOCK bloķē lietotāja pieeju datu bāzei.
ACCOUNT UNLOCK atjauno lietotāja pieeju datu bāzei.

Lai izveidotu objektu vai laika (temporary) segmentu, lietotājam ir nepieciešams norādīt atmiņas lauku tabulu telpās. Lai noradītu atmiņas apjomu tabulu telpai izmantojiet opciju QUOTA. Atšķirībā no citām opcijām, šī opciju var norādīt vairākas reizes atsevišķam tabulu telpām.
Lietotāja definēšanas gaitā viņam var uzrādīt lomu (lomas), kuras būs piešķirtas lietotājam pēc izveidošanas. Var piešķirt visas esošas lomas uzreiz, noradot DEFAULT ROLE ALL.
Jebkurā gadījumā pēc lietotāja definēšanas, tam ir jāpiešķir vismaz tiesības pievienoties datu bāzei ( CREATE SESSION ).
Tagad neliels piemērs, pēc es turpināšu lietotāja definēšanas tēmu.

CREATE USER sidney
IDENTIFIED BY carton
DEFAULT TABLESPACE cases_ts
QUOTA 10M ON cases_ts
QUOTA 5M ON temp_ts
QUOTA 5M ON system
PROFILE engineer
PASSWORD EXPIRE;

Šajā piemērā lietotājam Sidney ir šādi raksturojumi:

• parole CARTON
• pievienota tabulu telpa CASES_TS ar izdalītu atmiņu 10 Mb objekta segmentam
• pievienota laika tabulu telpa TEMP_TS ar izdalītu atmiņu 5 Mb izmērā
• arī ir nodrošināta pieeja SYSTEM tabulu telpai 5 Mb robežās
• ierobežojumi uz datu bāzes resursiem tiek glabāti failā ENGINEER
• šim lietotājam nāksies mainīt savu paroli katru reizi, kad pievienojas datu bāzei.

Tagad apsk…atīsim resursu ierobežojumu failus (PROFILE). Profails satur ierobežojumu kopu uz datu bāzes resursiem. Tos ir jāizveido pirms lietotāja definēšanas. Lai izveidotu šo failu ievada komandu CREATE PROFILE, kuras sintakse ir parādīta tālāk:

CREATE PROFILE profile_name LIMIT
[SESSIONS_PER_USER
[CPU_PER_SESSION
[CPU_PER_CALL
[CONNECT_TIME
[IDLE TIME integer | UNLIMITED | DEFAULT ]
[LOGICAL_READS_PER_SESSION
[LOGICAL_READS_PER_CALL
[COMPOSITE LIMIT

[PRIVATE_SGA integer [ K | M ] | UNLIMITED | DEFAULT ]
[FAILD_LOGIN_ATTEMPTS
[PASSWORD_LIFE_TIME
[PASSWORD_REUSE_TIME integer | UNLIMITED | DEFAULT ]
[PASSWORD_REUSE_MAX
[PASSWORD_LOCK_TIME
[PASSWORD_GRACE_TIME
[PASSWORD_VERIFY_FUNCTION function | NULL | DEFAULT ];

CREATE PROFILE komandas opciju apraksts.

profile ierobežojuma faila nosaukums.
SESSIONS_PER_USER paralēlo pievienošanu skaits datu bāzei.
CPU_PER_SESSION ierobežo izdalītu pievienošanai laiku procesoram. To izmēra 0.01 sekundēs.
CPU_PER_CALL ierobežo izdalītu procesora laiku izsaukumam.
CONNECT_TIME ierobežo kopēju pievienošanas laiku (minutēs)
IDLE_TIME ierobežo laiku, kurā sistēma atrodas pasīvā stāvoklī (minutēs).
LOGICAL_READS_PER_SESSION ierobežo datu bloku skaitu, nolasītu vienas pievienošanas gaitā. Saskaitā gan no atmiņas, gan no diska nolasītus blokus.
LOGICAL_READS_PER_CALL specificē bloku skaitu, nolasītu vienas SQL komandas izpildes gaitā.
PRIVATE_SGA specificē atmiņas lauku, kuru izdala sistēmas globālajā laukā(SGA). Izskaitļo baitos. Šo opciju izmanto tikai daudzavotu arhitektūrās.
FAILED_LOGIN_ATTEMPTS specificē pievienošanas mēģinājumu skaitu pirms bloķēt datu bāzi.
PASSWORD_LIFE_TIME paroles “dzīves” laiks dienās. Ja parole nebija mainīta, tad tas lietotājs tiek nodzēsts.
PASSWORD_REUSE_TIME specificē dienu skaitu, kad ir jāmaina paroli.
PASSWORD_REUSE_MAX specificē paroles izmaiņu skaitu pirms paroli var atkārtoti izmantot.
PASSWORD_LOCK_TIME specificē dienu skaitu, pēc kurām parole būs bloķēta, ja parole bija ievadīta nepareizi noteiktu reižu skaitu.
PASSWORD_GRACE_TIME dienu skaits, kuru laikā parādās brīdinājums, lai izmainītu paroli. Pie tam šajā periodā, var izmantot savu paroli,bet pēc tam tas būs dzēsts
PASSWORD_VERIFY_FUNCTION ļauj izmantot savu paroles PL/SQL funkciju.
function paroles pārbaudes funkcija.
NULL Norāda, ka parole nebūs pieprasīta vispār.
DEFAULT ignorē šo opciju.
COMPOSITE_LIMIT specificē kopēju resursu summu ieskaitot CPU_PER_SESSION, CONNECT_TIME, LOGICAL_ READS_PER_SESSION un PRIVATE_SGA
UNLIMITED norāda, ka lietotājs var izmantot doto resursu neierobežoti
DEFAULT nolasa resursa ierobežojumu no noklusēta faila.

Kā parametrus vairākām opcijām var norādīt ar skaitļus x/y veidā, kur 1 = diena. Piemēram 1 stunda = 1/24, 1 minūte = 1/1440 un tml.

Bet kā Oracle sistēma izmanto šos ierobežojumus? Resursu ierobežojumi strādā sekojošā veidā:

• Ja lietotājs izlietos CONNECT_TIME vai IDLE_TIME ierobežojumus, tad sistēma atgriežas pie tekošās tranzakcijas sākumam un iziet no datu bāzes. Nākošajā pievienošanas reizē būs izdots paziņojums par kļūdu.
• Ja lietotājs mēģinās izpildīt operāciju, kura izlietos citus resursus, tad operācija nebūs izpildīta, tranzakcija būs atgriezta uz operācijas sākumu un būs izdots atbilstošais brīdinājums. Pēc tam lietotājam ir jābeidz pievienošana.
• Ja lietotājs mēģinās izpildīt operāciju, kura izlietos vienkārša izsauciena resursus, tad operācija nebūs izpildīta, atgriezies uz operācijas sākumu un būs izdots atbilstošais brīdinājums, atstājot tekošo transakciju spēkā.

Tālāk neliels piemērs ierobežojuma faila definēšanai:

CREATE PROFILE system_manager
LIMIT SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL 3000
CONNECT_TIME 45
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL 1000

Ja pēc tam failu system_manager piešķīr…t lietotājam, tam būs sekojošie ierobežojumi:

• Lietotājam var būt neierobežots paralēlu pieslēgumu skaits.
• Katrā pieslēgumā izdalīts procesora laiks ir neierobežots.
• Vienkāršam izsaucienam nedrīkst ilgst vairāk, nekā 30 sekundes.
• Vienam pieslēgumam nedrīkst ilgst vairāk, nekā 45 minutes.
• Bloku skaits, nolasīts viena pieslēguma gaitā, tiek paņēmts no faila “pēc noklusēšanas”.
• Viena izsaukumā nedrīkst būt nolasīti vairāk, ka 1000 datu bloki.

Tātad viena daļa, kas attiecās pie lietotāju pārvaldības Oracle vidē ir pabeigta. Kā ir redzams tas nemaz nav tik vienkārša lieta. Tālāk ir jādefinē lietotāja tiesības.2.2. TIESĪBU PIEŠĶIRŠANA LIETOTĀJAM.
Visas Oracle lietotāju privilēģijas ir sadalītas divās grupās: sistēmas privilēģijas un objektu privilēģijas. Sistēmas privilēģijas ļauj lietotājam veikt konkrētas darbības, kas saistītas ar sistēmu, kā arī mainīt datu bāzes struktūru. DBA privilēģijas ļauj manipulēt ar visiem objektiem, kas atrodas datu bāzē. Dažas no tam ir:

Sistēmas privilēģija Atļautās operācijas
CREATE USER Veidot citus lietotājus
DROP USER Izmest citus lietotājus
DROP ANY TABLE Izmest tabulu no jebkuras shēmas
BACKUP ANY TABLE Atjaunot jebkuru tabulu jebkurā shēmā ar Export utilīti

Vienkāršam lietotājam jābūt pieejamām nepieciešamām privilēģijām, kas ļauj veikt paredzētos uzdevumus, parasti veidot un manipulēt ar objektiem savā shēmā, piemēram:

Sistēmas privilēģija Atļautās operācijas
CREATE SESSION pievienoties datu bāzei
CREATE TABLE izveidot tabulas savā shēmā
CREATE SEQUENCE izveidot secības savā shēmā
CREATE VIEW izveidot skatus savā shēmā
CREATE TABLESPACE izveidot tabulu telpas savā shēmā
CREATE TRIGGER izveidot trigerus savā shēmā
CREATE PROCEDURE izveidot procedūras savā shēmā

Lai piešķirtu sistēmas privilēģiju izmanto šādu GRANT komandas formu:

GRANT system_priv | role
TO user | role | PUBLIC
[ WITH ADMIN OPTION];

Šeit role ir loma, “kuru spēlēs lietotājs”. Loma ir sistēmas un objektu privilēģiju kolekcija, ko kā vienu veselu var piešķirt atsevišķiem lietotājiem, vai citām lomām.
Ja būs uzstādīta opcija with admin option, tad lietotājs, kuram ir piešķirtas tās privilēģijas, var tos piešķirt citam lietotājam.
Objektu privilēģijas ir privilēģijas, kuras attiecās uz konkrētu objektu. Tie varētu būt sekojošie:

Privilēģija Objekts
SELECT Dati tabulā vai skatījumā
INSERT Rindas tabulā vai skatījumā
UPDATE Rindas vai noteiktas kolonnas tabulā vai skatījumā
DELETE Rindas no tabulas vai skatījuma
ALTER Tabulas kolonu definīcijas
INDEX Tabulas indekss
REFERENCES Atsauces uz tabulu, kas nosaukta tabulas vai kolonas ierobežojumos
ALL Viss iepriekšminētais
Objektu tiesību piešķīršanai Orakulā izmanto sekojošo GRANT komandas formu:

GRANT object_priv [column1, [column2] …] | ALL
ON user.object TO user | role | PUBLIC;

Privilēģijas ISERT, UPDATE un REFERENCES var piešķirt ne tikai tabulai vai skatījumam, bet arī atsevišķām tas kolonām. Tad INSERT privilēģijas kolonu sarakstā obligāti jābūt primārai atslēgai.

Objektu privilēģijas var piešķīrt kā lietotājiem, tā arī lomām. Starp citu par lomām. Pirms piešķirt lomai privilēģijas vai citu lomu, tā ir jāizveido. Šīm nolūkam izmanto komandu CREATE ROLE:

CREATE ROLE role
NOT IDENTIFIED | IDENTIFIED EXTERNALLY | BY password | GLOBALLY;

Veidojot lomu, tai var piešķīrt identificēšanas paņēmienu.
Vairākas lomas ir jau definētas Oracle8 vidē. Tie ir:

•CONNECT
•RESOURCE
•DBA
•EXP_FULL_DATABASE
•IMP_FULL_DATABASE
•DELETE_CATALOG_ROLE
•EXECUTE_CATALOG_ROLE
•SELECT_CATALOG_ROLE

Šīs lomas jau var izmantot.
Piešķirot privilēģijas, lietotājam uzreiz var piešķīrt vairākas privilēģijas. Tādā gadījumā lietotājs var izvēlāties darba gaitā vajadzīgu lomu ar sekojošo komandu:

SET ROLE role [IDENTIFIED BY password] |
NONE | ALL [EXCEPT role1, role2…];

Šeit password ir lomas parole, kuras varētu arī nebūt. Uzreiz var piešķirt vairākas lomas.
Lai vispār nodzēstu lomu, izmantojiet komandu DROP ROLE role.

Nevajadzīgas lomas vai privilēģijas var atsavināt ar komandu REVOKE. Tas forma arī ir atkarīga no privilēģiju tipa. Lai atsavinātu sistēmas privilēģiju, izmanto šādu komandas formu:

REVOKE system_priv | role FROM user | role | PUBLIC;

Komanda REVOKE objekta privilēģijām izskatās savādāk:

REVOKE object_priv | ALL ON user.object FROM user | role | PUBLIC
[ CASCADE CONSTRAINTS ];

Tiesību piešķīršanas piemēri.

GRANT dba TO nicka WITH ADMIN OPTION;

GRANT SELECT, DELATE, INSERT (publ_id, nosaukums, lpp_skaits) ON nicka.publikacijas TO scott;

Sintaktiski viss ir pareizi, bet parasti privilēģiju DELETE pi…ešķir ļoti rēti. Lai izlabotu kļūdu, izmantosim komandu REVOKE:

REVOKE DELETE ON nicka.publikacijas FROM scott;

Lai piešķirtu vajadzīgas privilēģijas vajadzīgiem lietotājiem, ir ērti izveidot lomu, kurā būs vajadzīgas objektu privilēģijas:

CREATE ROLE Bibliotekars NOT IDENTIFIED;

Es gribu, lai bibliotekārs varētu lasīt datus un ievadīt jaunus par publikācijām un autoriem:

GRANT SELECT, INSERT (publ_id, nosaukums, lpp_skaits, tips, zanrs, izdevnieciba) ON nicka.publ TO Bibliotekars;

GRANT SELECT, INSERT ON nicka.autori TO Bibliotekars;

Tagad es varu piešķirt lomu Bibliotekars jebkuram lietotājam:

GRANT Bibliotekars TO DBA;
GRANT Bibliotekars TO Scott;
………

Es skatos ir laiks pabeigt par Oracle. Tagad apskatīsim, kā šādas lietas ir organizētas MS Access vidē.3. MS ACCESS VIDE.
3.1. LIETOTĀJA IZVEIDOŠANA.
Lai definētu lietotāju MS Access datu bāzei, izvēlas tās iekšējo rīku User And Group Accounts, kuru var atrast, sekojot ceļam:
MS Access -> Tools -> Security ->User And Group Accounts:

Šajā formā jauno lietotāju izveido vienkārši nospiežot taustiņu New. Pie tam būs piedāvāts ievadīt tikai lietotāja vārda un personālu identifikātoru. MS Access-ā nav lietotāja lomu, bet ir lietotāju grupas. Atšķirībā no lomam, kuras piešķīra lietotājiem, šeit lietotājus piešķir grupai. Lai izveidotu jaunu grupu, vienkārši pārejiet uz Groups lappusi un atkal nospiežiet taustiņu New. Būs jāievada tādi paši dati, kā lietotājam.
Ja ir nepieciešams ievietot lietotāju kādā grupā atgriežas lappusē Users, kuras centrā ir divi logi:
 Avaliable Groups (visas iespējamas grupas);
 Member Of (grupas, kurās ir tekošais lietotājs);
Ar taustiņiem Add>> un <<Remove var viegli pārvietot grupas, piešķirot lietotāju jaunai grupai vai noņemot no esošas. Protams tas ir vieglāk, nekā rakstīt gārus izteikumus, staigāt pa helpiem un meklēt vajadzīgas opcijas, komandu konstrukcijas un tml. Paroli lietotājam var uzstādīt Change Logon Password. Clik un viss: ievadi jaunus datus. Vienkārši. Nevajag rūpēties par datu bāzes resursiem, veidot speciālus failus, pēc tam veidojot lietotāju ir jāatceras vajadzīga faila nosaukumu – gars un skumjš process. Bet, tomēr, no tā drošums MS Access nekļūs labāk. Oracle vidē var sīkāk sadalīt datu bāzes resursus, noteikt drošu pasākumus (paroles maiņa) un tā tālāk. No šī puses Oracle ir elastīgāks, nekā MS Access. Bet no citas puses lietotāju definēšana MS Access vidē ir ļoti triviāla lieta pateicoties pārdomātai lietotāja saskarnei.3.2. LIETOTĀJU TIESĪBAS.
Lietotāju definēšana MS Access vidē ir triviālā lieta. Tik pat triviāla ir tiesību piešķīršana. Šī nolukām Access-ā eksistē rīks User and Group Permissions. Ceļš:
MS Access -> Tools -> Security -> User and Group Permissions.

Šajā formā atkal viss ir uzskatams un ērti taisīts. Var ērti izvelēties lietotāju, grupu, datu bāzes objektu (tabula, pieprasījums, forma utt.). Šeit gan lietotājam, gan grupai var piešķīrt sistēmas (kreisajā pusē) un objektu (labajā pusē) tiesības. Tā kā šeit atšķiras terminoloģija es došu katras privilēģijas īsu aprakstu:

– Open/Run (Atvēršana/Palaišana) – tiesība atvērt datu bāzi, formu, atskaiti vai palaist makrosu.
Pieejamības objekti:
a) datu bāzes;
b) formas;
c) atskaites;
d) makrosi.
– Read Design (Makētu lasīšana) – tiesība apskatīt objektus konstruktor režīmā.
Pieejamības objekti:
a) tabulas;
b) pieprasījumi;
c) formas;
d) atskaites;
e) makrosi;
f) moduli.
– Modify Design (Makētu izmainīšana) – tiesība apskatīt, izmainīt un dzest objektus konstruktor režīmā.
Pieejamības objekti:
a) tabulas;
b) pieprasījumi;
c) formas;
d) atskaites;
e) makrosi;
f) moduli.

– Administer (Administrātors) – tiek nodrošināta pilna pieejamība pie objektiem un datiem, iekļaujot pieejamības tiesību piešķiršanas iespēju.
– Read Data (Datu lasīšana) – datu apskatīšanas tiesība.
Pieejamības objekti:
a) tabulas;
b) pieprasījumi.

– Update Data(Datu izmainīšana) – tiesība apskatīt un izmainīt datus bez ielikšanas un dzēšanas.
Pieejamības objekti:
a) tabulas;
b) pieprasījumi.
– Insert Data (Datu ielikšana) – tiesība apskatīt un realizēt datu ielikšanu bez izmainīšanas un dzēšanas iespējām.
Pieejamības objekti:
a) tabulas;
b) pieprasījumi.
– Delete Data (Datu dzēšana) – tiesība apskatīt un dzest datus.
Pieejamības objekti:
a) tabulas;
b) pieprasījumi.
– Exclusive (Monopoles pieejamība) – datu bāzes atvēršana monopoles režīmā.
Pieejamības objekti:
datu bāzes.

DAŽAS TIESĪBAS, PIEMĒRAM, UPDATE DATA , KAS PAREDZĒTAS TABULĀM, IEKĻAUT SEVĪ ARĪ TĀDUS PIEEJAMĪBAS TIESĪBAS, KĀ READ DATA UN READ DESIGN, TĀ KĀ ŠAS TIESĪBAS IR NEPIECIEŠAMAS DATU IZMAINĪŠANAI TABULĀ. TIESĪBAS ADMINISTER (ADMINISTRĀTORS) IZMANTOŠANA AUTOMĀTISKI NOSAKA VISAS IEPRIEKŠ MINĒTU TIESĪBU ESAMĪBU.
Tas ir ērti, jo norādot zemāku tiesību, uzreiz izvēlas visas tiesības, kas ir augšā.
MS Access-ā vispār nav vērts aprakstīt katru detaļu, jo viss ir acu priekšā, viss ir skaidrs un uzskatams.4. REZUMĒ.
Tagad var izdarīt vairākus secinājumus par abām sistēmām.

Oracle8 vides priekšrocības:
 Elastīgāk;
 Vairāk iespēju gan definējot lietotājus, gan piešķirot tiesības;
 Objekta tiesības var norādīt arī uz atsevišķam kolonam. Ja vēl atzīmēt, ka Oracle vidē eksistē tādas lietas, kā skatījumi, var pārliecināties, ka paši drošuma aspekti ir labi pārdomati;
 Tiesības var apvienot lomās;

Oracle8 vides trūkumi:
 Nav automatizēta rīka lietotāju pārvaldībai (starp citu Oracle7 versijai ir ļoti līdzīgs rīks, kuru sauca Personal Oracle7 Navigators un ar to palīdzību arī var ērtāk veidot lomas, lietotājus un citas lietas);

MS Access97 vides priekšrocības:
 Ērta saskarne ;
 Vienkāršas un sapratīgas formas;
 Datu apjoms ievades procesā ir minimāls;
 Var uzstādīt paroli uz visu datu bāzi ar rīku Set DataBase Password;

MS Access97 vides trūkumi:
 Nepietiekošais drošums.

Beigu beigās var secināt, ka Oracle vide noteikti labāk der nopietniem projektiem ar lielu datu bāzi, vairākiem lietotājiem, kuri pie tam vēl “spēlēs dažādas lomas”. MS Access ir vairāk orientēts uz nelielu lietotāju skaitu. Drošuma aspekti ir vāji attīstīti. Bet tomēr MS Access ļoti derētu nelielām datu bāzēm, kuru lietotāju skaits ir minimāls.5. SECINĀJUMI.
Šajā darbā bijā pētītas divu DB vadības sistēmu lietotāju pārvaldības iespējas. Laikam Oraklam es pievērsu lielāku uzmanību, nekā MS Access-am. Mūsu kurss saucas lielas datu bāzes un līdz ar to nav nekādas jēgas maģistrantiem un inženieriem rādīt, kā mēs protam strādāt ar MS Access. Ir jāorientējas uz progresīvām tehnoloģijām un risinājumiem. Darba veikšanas procesā es izmantoju Oracle8 SQL*Plus rīku. Protams, tas nav labākais variants, piešķirot vairākas tiesības vairākiem lietotājiem.
Darba gaitā es arī apskatīju Personal Oracle7 Navigator. Ar šī rīka palīdzību var ērti piešķirt lietotājam jaunas lomas (līdzīgi, ka MS Access ar grupām) un privilēģijas, var arī modificēt paroli. Bet visumā es neiedomājos lietotāja pārvaldību Oracle vidē kā rutīnu darbu. Visgrūtāk būs sākumā pareizi sadalīt privilēģijas pa lomām. Pēc tam var viegli piešķirt izveidota lomas konkrētam lietotājam vai visiem lietotājiem uzreiz.

6. Literatūras saraksts.

1. Джудит С. Боуман, Сандра Л. Эмерсон, Марси Дарновски “Практическое руководство по SQL” – Киев  Москва, “Диалектика”, 1997 – 320 lpp.

2. “Datu bažu pieprasījuma valoda SQL” – Latvija, © SIA DataPro, 1999. – 160 lpp.

3. Lekciju konspekts priekšmetā “Datu Bāžu vadības sistēmas”, 1998.

4. Lekciju konspekts priekšmetā “Lielas datu bāzes”.