1/137
Looks like no tags are added yet.
Duomenu modelis
savoku, kurios gali buti naudojamos duomenu bazes strukturai apibudinti, rinkinys. Butina duomenu abstrakcijai pradeti
Duomenu bazes struktura
duomenu tipai, rysiai, apribojimai
Koncepcinis modelis
turi esybes, atributus, rysius
Esybe - realaus pasaulio objektas/savoka
Atributas - tam tikra dominanti savybe, kuri issamiau apibudinama
Rysys tarp dvieju ar daugiau esybiu
Loginis modelis
Pateikiami naudojant irasu strukturas, kartais vadinami pagristais irasais
Fizinis modelis
Kaip duomenys saugomi kompiuteryje kaip failai, pateikdami informacija: irasu formatai, irasu eiliskumas, prieigos keliai
Prieigos kelias - logine struktura, leidzianti efektyviai ieskoti konkreciu irasu
Duomenu bazes schema
naudotojui priklausanciu objektu rinkinys
Pavaizduota kiekvieno iraso tipo struktura
DB busena
duomenys tam tikru laiko momentu
Kiekviena karta iterpiant/istrinant irasa, pasikeicia busena
Vidinis lygis
turi schema, apibudina fizine DB saugojimo struktura
Aprasomos saugojimo ir prieigos keliu detales
Konceptualusis lygis
turi koncepcine schema, apraso visos duomenu bazes struktura, skirta naudotoju bendruomenei
Skiriamas demesys esybems, duomenu tipams, rysiams, naudotoju operacijoms ir apribojimams
Isorinis/Rodiniu lygis
Apima keleta isoriniu schemu/naudotoju rodiniu
Loginis nepriklausomumas
Galima keisti logine schema nepakeiciant programu
Fizinis nepriklausomumas
Galima keisti duomenu saugojimo buda nepakeiciant programu
Buferio valdymo modulis
skirtas disko skaitymui/rasymo tvarkarasciui sudaryti, turi didele itaka nasumui.
Saugomu duomenu valdymo modelis
kontroliuoja prieiga prie DBVS informacijos, saugoma diske, nesvarbu ar DB ar katologo dalis
DB vykdymo procesorius
tvarko buferiu pagrindineje atmintyje valdyma
Lygiagretumo valdymo ir atsarginiu kopiju darymo bei atkurimo moduliai
transakciju vladymo tikslais itengruotos i vykdomo DB procesoriaus darba
DBA pagalbiniu programu paskirtis
duomenu importui/eksportui
atsarginiu kopiju kurimui
duomenu atkurimui
DB stebesenai
diagnostikai ir administravimui
DDL - data definition language (duomenu apibrezimo kalba)
naduoajma apibrezti schemoms, apdoroja teiginius, identifikuoja konstrukciju aprasymus ir saugo juos DBVS kataloge
Create, alter, drop, rename
DML - data manipulation language (manipuliavimo duomenimis kalba)
Apima duomenu paieska, iterpima, istrynima, keitima.
N lygiu architektura
suskirstoma sistema i kelis sluoksnius, kiekvienas sluoksnis turi savo funkcija
Lengvesnis sistemos pletimas, geresnis paskirstymas, paprasciau administruoti
DB administratoriai
Programu irankiu diegimas,atnaujinimas. Kuria lenteles, rodinius, indeksus. Keicia DB strukturas, registruoja naudotojus ir kontroliuoja ir stebi naudotoju prieigas.
Saugumo pareigunas
Registruoja naudotojus, kontroliuoja ir stebi ju prieigia, priziuri sistemos sauguma
Programu kurejai
kuria ir diegia DB programas/aplikacijas
Projektavimas ir kurimas, ivertinimas, programu derinimas.
DB naudotojai
saveikauja su duomenu baze naudodami programas arba pagalbines programas. Duomenu ivedimas, keitimas, salinimas, ataskaitu generavimas.
DBA uzdaviniai
DB serverio irangos ivertinimas
Ideigimas pacios DB
Suplanavimas
DB atidarymas
Kuriama atsargine kopija
Uzregistruojami sistemos naudotojai
Igyvendinamas dizainas
Sukurta veikiancios DB kopija
Nasumo derinimas
Versijos atnaujinimai
Diegimas i papildomus kompiuterius
Oracle DB
Susidaro is sistemos globalios atminties ir foniniu procesu. Serverio procesai aptarnauja klientu uzklausas ir naudojasi egzemplioriaus SGA. Egzistuoja failuose.
Oracle egzempliorius
Atminties strukturu rinkinys, valdantis DB failus. Egzistuoja atmintyje ir procesuose. Valdo duomenis susietus su CDB ir PDB, aptarnauja naudotojus.
SID
Oracle sistemos identifikatorius, unikalus vietiniam egzemplioriui.
CDB ir PDB?
Apima viena ar daugiau naudotoju sukurtu PDB.Daugelio nuomininku konteinerine DB. Norint valdyti objektus reikia jungtis i sakni.
Turi savo failu rinkini, esanti bendrame CDB rinkinyje. Norint valdyti objektus reikia jungtis prie konkrecios PDB.
Paslaugos pavadinimas
Naudojamas tinklo prisijungimui prie Oracle paslaugos
DB ijungimo etapai?
Startup, nomount (neatidaro DB), mount (montuoja DB), open (paleidzia egzemplioriu ir atidaro DB)
DB isjungimo etapai?
Open
close (uzdaroma DB, nutraukiama priegia prie duomenu, egzempliorius veikia)
Dismount (atjungia DB nuo egzemplioriaus, bet jis dar veikia)
shutdown (isjungiamas egzempliorius)
DB isjungimo rezimai?
SHUTDOWN ABORT - avarinems situacijoms, kai nepavyksta kitaip isjungti. Greiciausias budas, bet gali uztrukti ilgiau atidaryti, nes turi atkurti visa egzemplioriu.
SHUTDOWN IMMEDIATE - administraciniam isjungimui. Greiciausias po ABORT. Nutraukia visas komandas ir atjungia naudotojus. Neivykdyti pakeitimai atsaukiami.
SHUTDOWN TRANSACTIONAL - neleidzia naudotojams pradeti nauju transakciju, pries isjungima palaukia kol viskas pasibaigia, gali uztrukti labai ilgai/
SHUTDOWN NORMAL - numatytas isjungimo rezimas, palaukia kol visi naudotojai atsijungs
Kam skirtas SQL PLUS ir SQL Developer?
Ijungti ir isjungti DB, vykdyti SQL uzklausas.
Su developer igauni ir GUI, galimybe narsyti objektus, redaguoti ir derinti komandas
Kas sudaro DB?
Egzempliorius + DB
DB - failai diske, egzempliorius yra SGa ir foninia procesai
Kam skirtas tnsnames.ora?
kliento failas su prisijungimo aprasais. Host ir Port turi sutapti su listener.ora
Kam skirtas listener.ora?
Serverio konfiguracijos failas, kokiu adresu ir port’u klausosi
Kokie prisijungimo metodai? kada naudojamas listener o kada tnsnames?
Vietinis OS, Easy Connest ir TNS aliasas
Vietiniame galima tik DB naudojant SID
Easy Connect jungiasi ir prie PDB tiesiogiai, veikia nuotoliu reikia service name
TNS tiesiogiai jungiasi prie PDB, gali buti nuotoliu, tinklo rysys ir service name
Listener naudojamas visiems tinklo prisijungimams, tnsnames tik su TNS vardu, vietiniam OS nereikia nei vieno
DB administravimo privilegijos?
SYSDBA - dabartine schema SYS
SYSOPER - dabartine schema PUBLIC
SYSBACKUP, SYSDG, SYSRAC - SYS
SYSKM - dabartine schema SYSKM
Kokia speciali role skirta DB administravimui?
DBA, automatiskai sukuriama, turinti dauguma DB privilegiju
DB naudotojas vs sesija?
Naudotojas yra paskyra o sesija konkretus prisijungimas. Su admin privilegija sesijos naudotojas ir schema keiciasi.
DB autentifikavimo metodai?
DB autentifikacija
OS autentifikacija
Isorinis autentifikavimas
DB administravimo naudotojai?
SYSDBA - SYS
SYSOPER - PUBLIC
SYSBACKUP, SYSDG, SYSKM, SYSRAC - savi naudotojai
DB autentifikavimas
Prisijungiama su DB naudotojo vardu ir slaptazodziu, patikrinama tapatybe DB, iprastiems naudotojams
OS autentifikavimas
DB pasitiki OS autentifikuotu naudotoju, nenurodomas vardas/slaptazodis, dazniausiai vietiniam DBA adminui
Isorinis autentifikavimas
Naudotojo tapatybe patvirtina isorine sistema, gali buti naudojamos centralizuotos sitemos: kerberos, LDAP, Active Directory
CDB
duomenu baze turinti saknini konteineri ir visos prie jos prijungtos PDB. Skirtas visoms PDB administruoti. Saknyje yra metaduomenys ir bendri naudotojai.
PDB
Pekeliama schemu ir objektu kolekcija, kuri klientui atrodo kaip atskira DB. Skirta programoms budingu duomenu saugojimui perkelimui i kita CDB, greitiems atnaujinimams.
Kuo skiriasi CDB nuo PDB?
PDB tai dalis CDB, kuri prijungiama. Atrodo kaip atskira DB, turi savo duomenu failus ir lokalius naudotojus.
Konteineris
schemu, objektu, susijusiu strukturu rinkinys, daugelio nuomininku konteineriu duomenu bazeje
pvz: CDB = MYCDB, PDB = hrpdb, salespdb
DBVS sudetis
Programine iranga susidedanti is branduolio kodo, uzklausu variklio ir duomenu zodyno
Algoritmai kurie moka valdyti atminti ir rasyti duomenis i diska.
Sasaja kuri priima naudotojo SQL teksta
Sistemos vidiniai metaduomenys, kur saugo informacija apie teises, naudotojus ir strukturas.
3 reliacinio modelio aspektai
Strukturos - apibrezti objektai saugo duomenis arba prieiga prie ju
Operacijos - veiksmai, leidziantys programoms manipuliuoti duomenimis
Vientisumas - taisykles, reglamentuojancios duomenu ir DB strukturu operacijas
Reliacineje algebroje lenteles ir iraso pavadinimai
Rysys (relation) - lentele
Eilute (tuple) - irasas
Atributas - stulpelis
RDBVS loginiu ir fiziniu operaciju pavyzdys
Programoje nurodoma kokio turinio reikia - praso darbuotojo vardo arba prideda irasa i lentele
Fizines - nustato kaip turi buti atliekama operacija. Galima naudoti indeksa, kad surastu eilutes, nuskaitytu i operatyviaja atminti ir atliktu dar kitu veiksmu pries grazindama rezultata
Schema, kokie svarbiausi objektai
Loginiu duomenu strukturu/schemos objektu rinkinys.
Lenteles, indeksai, vaizdai, sekos, PL/SQL paketai
Kokios prieigos prie duomenu prieigos kalbos naudojamos Oracle DB?
SQL, PL/SQL, Oracle Java, SODA API
Transakcija?
atominis darbo vienetas, kuri sudaro vienas arba keli SQL sakiniai. Viskas arba nieko principas. Visi arba patvirtinti arba atsaukti.
Duomenu lygiagretumas ir nuoseklumas?
Keliu naudotoju prieigos prie tu paciu duomenu. Gali sugadinti vientisuma - vienu metu keiciant ta pacia eilute.
Oracle DB visada uztikrina sakinio skaitymo nuosekluma, garantuoja kad duomenys grazinami patvirtinti ir nuoseklus vienu laiko momentu
Tipine DB serverio sudetis?
DB ir bent vienas egzempliorius
Fizines duomenu saugojimo strukturos? Kokie 3 tipu failai saugomi DB? Kokie priklauso PDB, kokie CDB?
Failai, matomi OS lygmeniu, galima perziureti OS komandomis, apima duomenu failus, kontroles failus.
Duomenu failai (DB ir schemu objektai)
Kontroles failai (metaduomenys)
Internetiniai perdarymo zurnalai (registruoja visus duomenu pakeitimus)
Kaip susijusios fizines ir logines strukturos? (lenteliu erdves ir duomenu failai)
Lenteliu erdve jungia segmentus ir fiziskai igyvendinama per viena/kelis duomenu failus. DARBUOTOJAI - segmente kuris yra erdveje USERS, o ji saugoma faile
Kokie programos architekturos tipai?
Kliento-serverio ir daugiakope (klientas jungiasi prie serverio, kuris vykdo logika ir mazina apkrova)
Kaip veikia oracle net services ir listener?
Services - sasaja tarp DB ir tinklo protokolu. Sukuria ir palaiko sesija tarp kliento ir DB serverio
Listener - tinklo procesas, priimantis kliento jungimosi uzklausas,. Jas nukreipia i DB serveri. Bendrauja tiesiogiai.
Kuo skiriasi DB nuo schemos?
DB visa duomenu baze (failai), o schema tai loginiu objektu talpykla sukuriama su naudotoju. Naudotojas identitetas o schema jo objektai
Kas yra objektu priklausomybe?
Jei objekta A nurodo i B, kai pasikeicia B, A tampa invalid ir turi perkompiliuojamas.
Procedura naudoja lenteles stulpeli, pakeitus jo tipa procedura tampa invalid.
Data block?
Maziausias saugojimo vienetas, saugo eilutes, antraste ir laisva vieta.
Extent?
Vienas ar daugiau gretimu bloku, paskirtu objektui vienu paskirstymu
Segment?
Viso objektu ekstentu rinknys
Tablespace?
Loginis segmentu konteineris, sudarytas is vieno ar daugiau duomenu failu
Data file?
Fizinis .dbf failas diske, kuriame fiziskai guli lenteliu erdves duomenys
Kokie galimi vientisumo apribojimai?
NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, REF
Kodel verta indeksuoti lenteleje raktus?
Pagreitina paieska ir JOIN, ypac stulpeliuose su WHERE/JOIN/ORDER BY, FK indeksas apsaugo nuo viso lenteles skaitymo ir uzrakinimo kai keiciamas PK
Kas yra indeksas?
Schemos objektas, gretinantis prieiga prie eiluciu. Nepriklauso nuo lenteles
Kokie indeksu tipai?
B-tree, Bitmap, Function Based, sudetinis, unikalus
Kuo skiriasi heap table ir index organised table?
Heap: eilutes be tvarkos pirmoje laisvoje vietoje, atskiras PK su ROWID, skaitant PK reikia dvigubai daugiau bloku
IOT: eilutes B-tree pagal PK, nereikia ROWID ir papildomu I/O, tinka kai duomenys tam tikra tvarka arba kartu
Kada sukuriami indeksai automatiskai?
Sukuriama ant PK ir UNIQUE apribojimu, DB stebi darbo kruvi ir kuria bei tvarko indeksus uzduotimi
Kas yra klasteris?
Lenteliu grupe su bendrais stulpeliais, kuri susijusias eilutes saugo tuose paciuose blokuose
Kokia veiksmu seka kuriamas klasteris?
CREATE CLUSTER, CREATE INDEX, CREATE TABLE
Kas yra B-tree klasteris?
Klasterio indeksas susieja rakto reiksme su bloko adresu
Kas yra Hash klasteris?
Klasterio raktas perduodamas per maisos funkcija. Atskiro klasterio indekso nera.
Naudinga kai lentele uzklausiama dazniau nei keiciama, uzklausiama naudojant lygybes salygas
Kada naudingos particijos?
Kai lenteliu talpa didesne nei 2GB, turi istoriniu duomenu ar turi buti paskirstyta ir saugoma skirtingose loginese erdvese.
Labai dideles lenteles ir indeksai isskaidomi i mazesnius ir lengviau valdomus fragmentus
Kada naudingi fragmenta (shards)?
Labai didelems lentelems keliose DB. Horizontalus skaidymas pagal rakta, kiekvienas sardas atskirame serveryje su savo CPU, atminti, disku.
Kada naudingi rodiniai?
Saugoma uzklausa, neturi duomenu ir saugyklos, saugomas tik tekstas.
Naudojama papildomam saugumui (paslepti stuleplius), duomenu sudetingumui slepti, programu izoliavimui.
Kada naudingos sekos?
Schemos objektas, is kurio keli naudotojai gali generuoti unikalius skaicius.
Pleciamas unikaliu sveiku skaiciu generatorius keliems naudotojams vienu metu, be disko I/O ir transakciju uzrakinimo
Kam naudojami sisteminiai zodynai?
Bazines lenteles (metaduomenys) ir rodiniai (apibendrina ir pateikia lenteliu duomenis)
DB juos tikrina ar objektai egzistuoja ir ar naudotojas turi teises. Keisti ji gali tik DB sistema
kokie sisteminiu zodynu tipai?
USER - naudotojo objektai
ALL - objektai prie kuriu naudotojas turi teises
DBA - visi objektai administratoriams
CDB - visi konteineriai
DML ir DDL sakiniai
DML - SELECT, INSERT, UPDATE, DELETE, MERGE, EXPLAIN PLAN
DDL - CREATE, ALTER, DROP, GRANT, REVOKE, AUDIT
Apjungimu tipai
Inner join, outer join, cartesian product
PL/SQL privalumai
Iskvietimas trumpesnis nei DML sakinys, procedura jau sukompiliuota DB, jei procedura jau SGA, DB nereikia jos parsisiusti.
Geresnis atminties paskirstymas, vientisumas, didesnis produktyvumas
Trigeris ir jo tipai?
PL/SQL arba Java kalbos programos vienetas, kuri Oracle DB iskviecia automatiskai.
Eilutes, sakinio, vietoj to, ivykiu
Eilutes trigeris
Suveikia viena karta kiekvienai eilutei. jei uzklausa nekeicia eiluciu, nesuveikia.
Sakinio trigeris
Suveikia viena karta nepriklausomai nuo eiluciu skaiciaus. Naudingas kai kodas nepriklauso nuo eiluciu
Vietoj to trigeris
Naudojamas modifikuoti rodiniams, kuriu negalima tiesiogiai keisti DML
Ivykiu trigeris
Gali sukelti tokie ivykiai kaip egzemplioriaus paleidimas ir isjungimas arba klaidu pranesimai
STARTUP, SHUTDOWN, SERVERERROR, LOGON, LOGOFF, DDL IR DML
Kokie row level trigeriai, kokias reiksmes mato? INSERT, UPDATE, DELETE
INSERT: :OLD NULL, :NEW nauja reiksme
UPDATE: OLD senos, NEW naujos
DELETE: OLD senos, NEW NULL
Kokios reiksmes nemato AFTER trigeris? NEW ar OLD
Kodel eiluciu lygio trigeris negali keisti OLD reiksmiu?
Nes tai yra senosios reiksmes jau esancios lenteleje
Kokiu atveju eiluciu lygio trigeris negali keisti NEW reiksmiu?
DELETE trigeryje nes nera nauju reiksmiu ir AFTER trigeryje nes INSERT/UPDATE jau ivykdytas ir domenys pakeisti
Inner join
dvieju ar daugiau lenteliu apjungimas, grazinama tik apjungimo salyga atitinkancios eilutes
Outer join
grazina visas eilutes, atitinkancias salyga, grazina eilutes is vienos lenteles kuriu ne viena eilute neatitinka