![]() |

RĪGAS
TEHNISKĀ UNIVERSITĀTE
ASTF
1. praktiskais darbs
Lielas datu bāzes
Galvenās DBVS Oracle 7
sastāvdaļas
1.kurss, grupa I DMD0 - 1
Izpildīja :
Olga
Pieņema :
doc. P. Rusakovs
Atzīme
|
Datums
|
Paraksts
|
|
|
|
Rīga,1998
Saturs
Galvenās DBVS Oracle 7 sastāvdaļas................................................................................................................. 5
Administratīvie utiliti:......................................................................................................................................... 5
Datu bāzes definēšanas piemērs....................................................................................................................... 8
Atmiņas aprēķins tabulām................................................................................................................................... 13
Secinājumi.............................................................................................................................................................. 15
Galvenās DBVS Oracle 7 sastāvdaļas.
Administratīvie utiliti:
Administratīvie utiliti – tie ir
pielikumi, kurus izmanto datu bāzes administrators lai vaditu DBVS.
1)
SQL*DBA
- Oracle 7 utilits, kuru izmanto administrātors vispārējām
administrativām operacijām: palaist un apturēt Oracle 7 instanci, izpildīt SQL
vaicājumus. SQL*DBA piedava grafisko lietotaju interfeisu, kuru var izmantot
datu bāzes palaišanai un apstāšanai, modificēšanu izveidosanai un tabultelpas
(roll back segmentu) dzēšanai. Kā arī ir pieprasījumu interaktīvais logs, kurā
var izveidot speciālus pieprasijumus. SQL*DBA izmanto paplašinātu standartu
ANSI/ISO komandu komplektu. Šīs komandas izpildas ar SQL*DBA interfeisa menu
palīdzību. Biezi izmantotas administratīvas komandas ir pieejamas SQL*DBA menū,
komandus, kuras nav bieži izmantotas var uztaisīt (uzgriezt) SQL*DBA ieejas
logā un tās izpildas. Menu komandas var izvelēt ar peles vai tastatūras
palidzibu.
SQL*DBA itilitā ir integreti dazi
manitori, ar kurus palidzību administratori var noverot datu bazes razīgumu un
apskatit statistīku par sistemas izmantosanu.
SQL*DBA lietotaju interfeiss ietver
sevi galveno rindu:
File Edit Session
Instance Storage Log
Backup Security Monitor
Help
Att. 1
ar šīs rindas palīdzību var izpildīt vairākas administratīvas operācijas.
Ievadlogs lauj realizet specialus SQL
pieprasijumus. Ievadlogs parada menu operāciju un ievadloga komandu visu
izvadāmo informāciju.
2) SQL*PLUS - tas utilits ir analogs SQL*DBA utilitam un ar šo utilitu
var veikt tās pašas operācijas ( eksistē komandrindas režīms).
3)
SQL*LOADER
- tas ir utilits, kuru izmanto kā lietotaji,
tā ari administrātori lai ieladēt datu bazes tabulās datus no ārējiem failiem.
SQL*Loader ļauj izmantot operacionālo
sistēmu vai ierakstu vadības sistēmu, lai piekļūt datu failiem, izmantot
kontrolfailus, kurus izmanto IBM DB2 ielādes utilits (load utility), ieskaitot
tos, kuri tika radīti ar IBM DTX utilitu, ielādēt datus no diska vai no lentas,
ar SQL komandu palīdzību darboties ar datu laukiem pirms tie tiek ierakstīti
tabulās.
4)
EXPORT/IMPORT utiliti.
Oracle 7 datu bāzes palaišanai un
nolodēšanai no dati bāzēm, Oracle 7 administrātori izmanto Import un Export
utiliti. Export ļauj norakstīt informaciju no Oracle 7 datu bāzi failā OS.
Import ļauj nolasīt datus no ārējiem failiem (Export failiem) Oracle 7 datu
bazē atpakaļ. Export utilitu var izmantot datu bāzes papildkopiju izveidošanai,
kas ļauj uzlabot atjaunošanas iespējus.
Exporta izmantošana:
·
User – tiek eksportēti visi datu bāzes objekti, kuriem
lietotajs ir īpašnieks;
·
Table – tiek eksportētas visas vai noteiktas tabulas, kuram
lietotajs ir ipasnieks;
·
Full Database – tiek eksportēti visi datu bāzes objekti.
FullDatabase
paņēmiens ietver sevī ari tris eksporta veidus:
·
Incremental (daļējs);
·
Cumulative (uzkrāts);
·
Complete
(pilnīgs).
Incremental Exports:
Tikai tos datus, kuri bija izmainīti
pēc pēdējas Incremental Export eksportešanas.
Piemēram, ja ir tabulas A, B un C, un
tikai A tabulas informācija tika modificēta pēc pēdējas Incremental Export
eksportešanas , tad tiek eksportētas tikai informāciju izmaiņas no tabulas A.
Cumulative Exports:
Tikai tos datu bāzes datus, kuri bija
izmainīti pec pēdējas Cumulative Export eksportešanas. Piedava ierobežotu eksporta
veidu, tadu ka vienu reizi nedeļā, saīsina visu informāciju, kuru satur
Incremental Export .
Piemēram, ja ir tabulas A, B un C, un
tikai A un B tabulas informācija tika modificēta pēc pēdējas Cumulative Export
eksportešanas , tad tiek eksportētas tikai informāciju izmaiņas no tabulas A un
no tabulas B.
Complete Exports:
Tiek eksportēti visi datu bāzes dati.
Piedava tādu ierobezotu eksporta veidu, kā vienu reizi mēnesī, un eksporte
visus datu bazes datus.
Importa izmantošana:
Importa utilits ļauj nolasīt datus no
operacionālās sistēmas failiem un ierakstīt tos datu bāzē (šiem failiem jābūt
export/import formatā).
Var transportēt Export failus,
izmantojot Import utilitu jāizvēla jebkuru režīmu:
·
tabulas;
·
visu datu bāzi;
·
datu bāzes objektus, kuriem lietotājs ir īpašnieks.
5) Database Manager
- Tas ir utilits, kuru nav Personālajā
Oracle for Windows 95 . Daļa no
funkcijām tiek veikta automātiski: datu bāze tiek palaista automātiski, kad mēs
ieejam SQL*PLUS vai Novigatora nospiežam attiecīgas ikonas. Palaist vai apturēt
datu bazi var arī zem Start izvēlnes Windows vidē. Bet daļa no funkcijām netiek
realizēta.
6)
Object Manager
- tas ir utilits, kuru nav Personalajā
Oracle for Windows 95 . Object Manager utilita funkcijas ir iebūvētas
Novigatorā:
·
Objektu veidošana;
·
Objektu likvidēšana;
·
Informācijas izvadīšana par objektiem.
7) User Manager
- tas ir utilits, kuru nav Personalajā
Oracle for Windows 95 . Visas funkcijas, kuras jāpilda šim utilitam, ir
iebūvetas Navigatorā. Piemēram:
·
Lietotaju un lomu radīšana;
·
Lomu un tiesību piešķiršana.
8) Session Manager - tas ir utilits, kuru nav Personalajā Oracle for Windows 95 . Ar Personal Oracle 7 var strādāt tikai viens
lietotājs.
Datu bāzes definēšanas piemērs.
Datu bāzes izveidošana notiek ar
sekojošu SQL komandu Create Database,
bet mūsu gadījumā tā kā lietotājam nav piešķirtas nepieciesamas tiesības
(SYSDBA), tas nav iespējams izdarīt. Bet mēs varam izveidot pārējos objektus
esošajā lokālajā datu bāzē.
Lai izveidotu tabultelpu Telpa1
(jāizmanto SQL*PLUS), kura tiek glabāta failā
”Dati_1” ar izmēru desmit Mbaiti.
Visi ekstenti ar desmit kilobaitus lieli. Tabultelpas izveidošana notiek ar
šādu SQL komandu:
Create Tablespase Telpa1
Datafile ”Dati_1” size 10 M
Default Storage
(initial 10K
next 10K
Pctincrease
0
Minextents
1
Maxextents
121);
Tabulu izveidošanai var izmantot kā SQL*PLUS, tā arī
Navigatoru. Lai izveidotu četras saistītas tabulas SQL*PLUS jāizmanto sekojošu komandu:
1.
Create Table Firmas
(Firm_Num number(4) not null primary
key,
Adress char(25) not null,
Talrunis number(10),
Fax number(10),
Veikalu_sk number(4) not null,
Noliktavas_sk number(4) not null,
Piegadat_sk number(4) not null,
Foreign key (Firm_Num) references
Veikali on delete cascade,
Foreign key (Firm_Num) references
Noliktavas on delete cascade,
Foreign key (Firm_Num) references
Piegadataji on delete cascade)
Pctfree 20
Pctused 40
Tablespace Telpa1
Storage
(Initial 70
Next 70
Maxextents 10
Pctincrease 0);
2.
Create Table Veikali
(Veik_Num number(4) not null primary
key,
Veik_Nos char(20) not null,
Preces_Nos char(20) not null,
Num_Firm number(4),
Unique (Num_Firm)
Pctfree 20
Pctused 40
Tablespace Telpa1
Storage
(Initial 40
Next 40
Maxextents 11
Pctincrease 0);
3.
Create Table Noliktavas
(Noliktav_Num number(4) not null
primary key,
Adress char(20) not null,
Veik_Num number(4),
Num_Firm number(4),
Unique (Num_Firm)
Pctfree 20
Pctused 40
Tablespace Telpa1
Storage
(Initial 50
Next 50
Maxextents 7
Pctincrease 0);
4.
Create Table Piegadataji
(Piegadat_Num number(4) not null
primary key,
Piegadat_Nos char(20) not null,
Preces_Nos char(20) not null,
Adress char(20) not null,
Num_Firm number(4),
Unique (Num_Firm)
Pctfree 20
Pctused 40
Tablespace Telpa1
Storage
(Initial 40
Next 40
Maxextents 10
Pctincrease 0);
Navigatora grafiskais interfeiss
atvieglo tabulas izveidošanu, tāpēc ka nav jāraksta garus komandus un gandriz
viss notiek automātiski.
Tabulu rādīšana ar Navigator / Create Table palīdzību:
![]() |
![]() |
Att.2. Tabula Firmas.
Att.3 Tabulas
Firmas ieraksti.
![]() |
![]() |
Att. 4 Tabula Veikali.
![]() |
Att. 5 Tabulas Veikali ieraksti.
Att. 5 Tabula Piegadataji.
![]() |
![]() |
Att.6. Tabulas piegadataji ieraksti.
![]() |
![]() |
Att.7. Tabulas noliktavas ieraksti.
Att.8.
Visas četras tabulas Novigatorā.
Atmiņas aprēķins tabulām.
Tabula Firmas.
a)
Block header=(57+23)+(4+2R)=80+(4+2R) bytes
b)
Brīva vieta blokā=(2048-(80+(4+2R))-((2048-80)*(20/100)=
=(1964-2R)-(1968*0,2)=1964-2R-393=1571-2R bytes;
c) Cik vietas vienā rindā nepieciešams mainīgaiem=(2+25+10+10+2+2+2)
=53 bytes;
d)
Vidējais rindas garums=3+(1*7)+(3*0)+53=63 bytes;
e)
Vidējais rindu skaits blokā:
R=(1571-2R)/63
63R=1571-2R
65R=1571
R=
24 rindas blokā
f)
Bloku skaits tabulā=5/24 = 0,21 ;
g)
Baitu skaits tabulā=0,21*2048= 430 bytes.
Tabula Veikali.
a)
Block header=(57+23)+(4+2R)=80+(4+2R) bytes
b)
Brīva vieta blokā=(2048-(80+(4+2R))-((2048-80)*(20/100)=
=(1964-2R)-(1968*0,2)=1964-2R-393=1571-2R bytes
c) Cik vietas vienā rindā nepieciešams
mainīgaiem=(2+20+20+2) =44 bytes;
h)
Vidējais rindas garums=3+(1*4)+(3*0)+44=51 bytes;
i)
Vidējais rindu skaits blokā:
R=(1571-2R)/51
51R=1571-2R
53R=1571
R=
30 rindas blokā;
j)
Bloku skaits tabulā=5/30 = 0,17 ;
k)
Baitu skaits tabulā=0,17*2048= 348 bytes.
Tabula Noliktavas.
a)
Block header=(57+23)+(4+2R)=80+(4+2R) bytes;
b)
Brīva vieta blokā=(2048-(80+(4+2R))-((2048-80)*(20/100)=
=(1964-2R)-(1968*0,2)=1964-2R-393=1571-2R bytes
c) Cik vietas vienā rindā nepieciešams mainīgaiem=(2+20+2+2)
=26 bytes;
d)
Vidējais rindas garums=3+(1*4)+(3*0)+26=33 bytes;
e)
Vidējais rindu skaits blokā:
R=(1571-2R)/33
33R=1571-2R
35R=1571
R=
45 rindas blokā;
f)
Bloku skaits tabulā=5/45 = 0,11 ;
g)
Baitu skaits tabulā=0,11*2048= 225 bytes.
Tabula Piegadataji.
a)
Block header=(57+23)+(4+2R)=80+(4+2R) bytes;
b)
Brīva vieta blokā=(2048-(80+(4+2R))-((2048-80)*(20/100)=
=(1964-2R)-(1968*0,2)=1964-2R-393=1571-2R bytes
c) Cik vietas vienā rindā nepieciešams mainīgaiem:
(2+20+20+20+2) =64 bytes;
h)
Vidējais rindas garums=3+(1*5)+(3*0)+64=72 bytes;
i)
Vidējais rindu skaits blokā:
R=(1571-2R)/72
72R=1571-2R
74R=1571
R=
21 rindas blokā;
j)
Bloku skaits tabulā=5/21 = 0,24 ;
k)
Baitu skaits tabulā=0,24*2048= 491 bytes.
Secinājumi.
Dotas
laboratorijas darbas izpildīšana notiek ar Novigator un SQL*PLUS palīdzību.
Salidzinot abus interfeisus varam atzīmēt, kā SQL*PLUS interfeiss tiek realizēts
komandrindas režīmā. Lietotājs ievada komandu un pēc tam notiek paziņojumu
izvadīšana par to, ka komanda tika izpildīta vai pazinojums par kļūdu. Bet ja
lietotājs strādā ar Novigatoru, tad ir grafiskais interfeiss. Kaut arī
grafiskais interfeiss ir daudz ērtāks, jo tajā ir logi, kuros ērti attēlot un
uztvert informāciju, un ir daudz izvēlņu, tomēr tīri funkcionālie trūkumi un
ierobežojumi spiež lietotāju izmantot SQL*PLUS.
Nav komentāru:
Ierakstīt komentāru