Apraksts:
Š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.Darbs:
SATURS1. 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 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 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
[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



Komentāri