

RĪGAS TEHNISKĀ UNIVERSITĀTE ASTF
Lietišķo datorsistēmu institūts
Lielas
datu bāzes
2. praktiskais darbs
“Oracle
lietotāja definēšanas salīdzinoša analīze“
1.kurss, grupa I DMD0 - 1
Izpildīja : Nikolajs
Negerišs
Pieņēma : doc. Eiduks
Atzīme
|
Datums
|
Parakts
|
|
|
|
Rīga, 1999/2000
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............................................................................................................................ 16
1. 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 lietasJ. 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 apskatī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

[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 ]

[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šķīrt 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"J. 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 piešķ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 <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".
Nav komentāru:
Ierakstīt komentāru