Duomenų bazių kūrimas ir reagavimas

Download Report

Transcript Duomenų bazių kūrimas ir reagavimas

Duomenų bazių kūrimas ir
redagavimas
• Duomenų bazės kūrimas ir redagavimas.
Lentelės ir formos;
• Duomenų bazės rikiavimas ir indeksiniai failai;
• Paieškos priemonės. Užklausos;
• Informacijos atvaizdavimas. Ataskaitos;
1
Duomenų bazės kūrimas ir redagavimas
Pagrindiniai darbo su DB etapai yra šie:
 DB struktūros projektavimas;
 DB užpildymas;
 DB redagavimas.
Naujos DB kūrimas prasideda nuo bazės struktūros, t.y. bazės lentelių
struktūros ir tarpusavio ryšių projektavimo. Formuojant atskiros lentelės
struktūrą, nurodomi:
 lentelės laukų vardai;
 laukų reikšmių tipai;
 laukų pločiai.
Papildomai gali būti nurodyti ir kiti dalykai, pvz., nutylėtos laukų reikšmės, t. y.
reikšmės, kuriomis laukas užpildomas automatiškai.
2
Lentelės kūrimas
Suformavus visų
lentelių struktūrą,
nustatomi raktiniai ir
siejantys lentelių
laukai, nustatomi
ryšių, reikalingų
lentelėms susieti į
vientisą DB, tipai.
3
Laukų duomenų tipai
Tipas
Savybės ir reikšmės
Teksto (Text)
Įvairūs simbolių rinkiniai, kurie neviršija nustatyto lauko dydžio.
Didžiausias teksto lauko ilgis yra 255 simboliai. Jei lauko ilgis
nenurodomas, parenkama standartinė reikšmė 50.
Aprašymų (Memo)
Ilgi tekstai, kuriuose gali būti iki 64 000 simbolių. Šie laukai
negali būti raktai.
Skaitinis (Number)
Skaičių reikšmės, kurios gali būti skaičiavimų argumentai.
Atmainos skiriasi skaičių vaizdavimo tikslumu, leistinų reikšmių
atkarpomis ir skaičių tipais.
Skaitiklio (AutoNumber)
Automatiškai formuojamos unikalios įrašų žymėjimui skirtos
skaitinės reikšmės.
Loginis (YES/NO)
Gali turėti tik dvi reikšmes-Yes ir No.
Pinigų sumų (Currency)
Fiksuoto kablelio skaičiai, kuriuose 15 ženklų skiriama sveikajai
daliai ir 4-trupmeninei. Gali būti skaičiavimų argumentai.
Datos ir laiko
Datos ir laiko kodai, kuriems galima taikyti įvairius laiko ir datų
vaizdavimo formatus.
OLE objektų
(OLE objects)
Iliustracijos, diagramos, vaizdo įrašai ir kiti įterpimai OLE
objektai
Hipersaito (Hiperlink)
Interneto adresai arba saitai su diskuose laikomomis bylomis.
4
Skaitinių laukų atmainos
Atmaina
Didumas
Savybės
Baitas (Byte)
1 baitas
Sveikųjų skaičių atkarpa [ 0,255 ].
Sveikasis
(Integer)
2 baitai
Sveikųjų skaičių atkarpa [-32768, +32,767].
Dideli sveikieji
(Long Integer)
4 baitai
Sveikųjų skaičių atkarpa [-2147483648,
+2147483647].
Dešimtainiai
(Decimal)
12 baitų
28 ženklų tikslumo sveikieji skaičiai.
Realusis (Single)
4 baitai
Atkarpos [-3,402823E38, +3,402823E38]
slankaus kablelio skaičiai.
Dvigubo tikslumo
(Double)
8 baitai
Atkarpos [-1.79769313486231E308,
+1.79769313486231E308] slankaus kablelio
skaičiai.
Sisteminės žymės
(Replication ID)
16 baitų
Unikalių sisteminių nuorodų reikšmės.
5
Įvedimo šablonų metasimboliai
Metasimbolis
Paskirtis
0
Privalomas skaitmuo. Ženklus + ir – rašyti draudžiama.
9
Neprivalomas skaitmuo arba tarpo simbolis.
#
Neprivalomas skaitmuo, tarpo arba skaičiaus ženklo (+, -)
simbolis.
L
Privaloma raidė.
?
Neprivaloma raidė.
A
Privaloma raidė arba skaitmuo.
a
Neprivaloma raidė arba skaitmuo.
&
Privalomas bet kuris simbolis.
C
Neprivalomas bet kuris simbolis.
.,;:-/
Skirtukai, kurių paskirtį apibrėžia OS Windows pagalbinė
programa Regional Settings.
<
Tolimesni simboliai vaizduojami didžiosiomis raidėmis.
>
Tolimesni simboliai vaizduojami mažosiomis raidėmis.
\
Nurodo, kad toliau įrašyta raidė turi būti įrašoma lauke.
!
Įvedamai reikšmei simboliai užpildo šabloną iš dešinės į
kairę, pradedant nuo dešiniojo krašto.
6
Įvedimo šablonų pavyzdžiai
Šablonas
#999
>L0L 0L0
Paskirtis
Skaičius, kuriame gali būti iki 4 skaitmenų. Vietoje pirmojo
skaitmens gali būti rašomas skaičiaus ženklas arba tarpas.
Iš didžiųjų raidžių ir skaitmenų sudaromos dvi tarpu atskirtos
trijų simbolių grupės, pavyzdžiui S4G 5D8.
>L<??????
Tekstas, kuriame gali būti iki 7 raidžių. Pirma didžioji raidė
privaloma, o kitos raidės gali būti tik mažosios, pavyzdžiui
„Marta‟.
0000-9999
Brūkšneliu padalytas skaitmeninis kodas, kuriame gali būti
nuo 4 iki 8 skaitmenų. Kairioji dalis privaloma, o brūkšnelis
rašomas visada, pavyzdžiui 4444-.
\A99
Kodas iš raidės „A‟ ir dviejų skaitmenų.
!(999-9) 00 - 0000)
(___-_)__-___
(370-6) 14 - 56848
7
Lentelių ryšio diagrama
Meniu: Tools/Relationships…
8
DB redagavimas
• DB struktūros redagavimas:
– pakeisti lauko tipą, plotį;
– įterpti papildomą lauką;
– pašalinti nebereikalingą lauką.
• DB duomenų redagavimas:
– įterpti naują įrašą;
– modifikuoti visą įrašą ar atskirus jo
laukus;
– pašalinti įrašą.
DB turiniui redaguoti plačiai naudojamos formos.
9
DB formos
Forma - tai tam tikras langas, skirtas vaizduoti ir redaguoti laukų reikšmes iš
vienos ar kelių DB lentelių. Langas atitinkamai apipavidalinamas, laukų
reikšmės jame išdėstomos laisva tvarka ir vaizduojamos vartotojui patogiu
formatu. Forma - tai lyg savotiška prizmė, pro kurią žvelgiame į DB įrašus.
Formoje turi būti ir duomenų
vaizdavimo valdymo įrankiai, dar
kitaip vadinami navigacijos įrankiais. Įrankiai pateikiami kaip tam
tikri mygtukai su atitinkamais nurodymais, pvz., "pereiti prie tolesnio įrašo", "redaguoti įrašą" ir
pan. Formos naudojamos ne tik DB
redagavimui, bet ir užpildymui,
peržiūrai.
10
DB formų pavyzdžiai
11
DB formų pavyzdžiai (2)
12
Navigacijos duomenų bazėje priemonės
Dirbant su DB, vartotojui tenka nuolat "judėti" DB, t. y. pereiti nuo vieno DB
įrašo (lauko) prie kito. DBVS yra specialios navigacijos priemonės,
užtikrinančios kuo didesnį to "judėjimo" efektyvumą.
Prieš atliekant kurį nors veiksmą su
DB įrašu, būtina lokalizuoti tą įrašą,
kitaip tariant, pereiti prie jo ir jį
"suaktyvinti". Bet koks betarpiškas
veiksmas įmanomas tik su aktyvaus
įrašo duomenų elementais.
Navigacija bazėje atliekama pagal
atitinkamus nurodymus. Nurodymai
gali būti pateikti grafiniais, vizualiai
orientuotais instrumentais arba
parašytomis specialiomis instrukcijomis.
13
Navigacijos veiksmai
Vykdant navigaciją DB dažniausiai sutinkami tokie nurodymai:
• Pereiti prie nurodyto įrašo;
• Pereiti pirmyn, praleidžiant nurodytą įrašų kiekį;
• Grįžti atgal, praleidžiant nurodytą įrašų kiekį;
• Grįžti prie pirmojo įrašo;
• Pereiti prie paskutiniojo įrašo.
Navigaciją DB patogu atlikti, pasitelkus į pagalbą formas.
Navigacija DB atliekama labai efektyviai, kai naudojamas indeksų failas.
Šiuo atveju reikiamas įrašas išrenkamas pagal nurodytą reikšmę, esančią
viename iš įrašo laukų. Tas laukas turi būti indeksuotas (turi būti sukurta
atitinkama indeksų seka).
14
Duomenų bazės rikiavimas ir
indeksų failai
Labai dažnai DB įrašus reikia tam tikru būdu sutvarkyti, pvz., išdėstyti įrašus
kurio nors lauko reikšmių didėjimo tvarka. Toks išdėstymas vadinamas
rikiavimu (rūšiavimu).
DB įrašus rikiuoti galima be jokių papildomų failų, panaudojant tik DB lentelių
failus. Tačiau šiuo atveju turi būti sukuriama nauja DB kopija. O tai paprastai
yra neefektyvu - sunaudojama daug atminties ir sugaištama nemažai laiko.
Žymiai efektyvesnis rikiavimas, sukuriant papildomus specialius failus,
vadinamus indeksų failais. Toks rikiavimas dar vadinamas rikiavimu pagal
indeksuotą lauką.
Indeksuotas laukas yra tas DB laukas, pagal kurio reikšmes (duomenų
elementus) rikiuojami bazės įrašai ir kuriam sudaroma įrašų indeksų seka.
Jeigu DB turi bent vieną indeksuotą lauką, tai sakoma, kad ji yra indeksuota.
15
Indeksų seka
Indeksų seka - tai nuorodų (rodyklių – pointer) į DB įrašus,
surikiuotus pagal kurio nors lauko reikšmes, rinkinys, kuris
įtraukiamas į indeksų failą.
Įrašai gali būti rikiuojami tų reikšmių didėjimo arba mažėjimo (abėcėlės ar
atvirkščia) tvarka. Rikiuoti galima ir pagal reikšmės dalį (pvz., pagal pavardės
pirmąją raidę) ar išraiškos rezultatą. Įrašus rikiuoti galima taip pat pagal kelių
laukų reikšmes, t. y. pagal tų laukų išraiškos rezultatą.
Vienai DB, netgi atskirai lentelei, galime sudaryti daug indeksų sekų ir visas
jas saugoti indeksiniame faile. Kiekviena indeksų seka turi pavadinimą. Jis gali
sutapti su lauko vardu.
Jeigu indeksų faile yra daugiau negu viena indeksų seka, tai DB rikiuojama
pagal aktyvią tuo momentu seką. Tuo pačiu metu gali būti aktyvi ne daugiau
kaip viena indeksų seka (atskiru atveju visos sekos gali būti neaktyvios,
tuomet DB nerikiuojama).
16
Indeksų failas
Naudojant indeksų failą, į DB įrašus kreipiamasi ne tiesiogiai, bet per indeksus,
saugomus aktyvioje indeksų failo indeksų sekoje.
Rikiuojant pagal indeksuotą lauką, nereikia atlikinėti daug laiko reikalaujančių
DB įrašų kopijavimo, perstatymo operacijų. Pakanka pertvarkyti tik indeksų seką.
Indeksų seka sudaroma vieną kartą, o pertvarkoma tik tada, kai koks nors įrašas
įterpiamas, modifikuojamas arba pašalinamas.
Svarbiausias indeksų failo naudojimo privalumas tas, kad užtikrinama labai
efektyvi duomenų paieška, atranka ir atskiroje lentelėje, ir visoje DB.
17
Indeksų failo pavyzdys
Čia lentelės įrašai rikiuojami lauko „PIRKĖJO KODAS” reikšmių didėjimo tvarka
(kai kodai vienodi, atsižvelgiama į jų įvedimo tvarką).
Užsakytas kiekis
didėjančia tvarka
5
4
7
3
1
2
6
18
Paieškos priemonės
Paieška yra manipuliavimo duomenimis operacija ar operacijų seka, kurios
paskirtis - surasti konkrečius duomenis iš vienos ar kelių DB lentelių.
Paieška yra viena svarbiausių manipuliavimo duomenimis operacijų. Daugelio
kitų operacijų (įrašų modifikavimo, įterpimo, pašalinimo) neįmanoma atlikti be
šios operacijos.
Vartotojui labai aktualu atlikti paiešką greitai, patogiai, lanksčiai.
Paieškos greitis nulemia viso darbo su DB efektyvumą.
Paiešką DB galima organizuoti:
a) naudojantis grafiniais, vizualiai orientuotais instrumentais,
b) rašant instrukcijas specialia kalba.
19
Paieškos priemonės (2)
Šiuolaikinės DBVS turi labai tobulas grafines paieškos priemones.
Joms priskiriami specialūs grafiniai dizaineriai, meistrai ir meniu sistemos. Šiomis
priemonėmis vartotojas gali surasti, atrinkti bet kokius jam reikalingus duomenis
iš vienos ar kelių lentelių, taip pat vaizduoti juos norimu formatu. Vartotojui
nereikia rašyti sudėtingų komandų, sistema pati „sufleruoja” galimus
pasirinkimo variantus, tereikia tik iš jų išsirinkti tinkamą.
Antrasis būdas daugiausia naudojamas sudarant taikomąsias programas.
Paieškos instrukcijos rašomos konkrečia manipuliavimo duomenimis kalba arba
specialia užklausų kalba, iš kurių populiariausia yra SQL (Structured Query
Language – struktūrizuota užklausų kalba).
20
Paieškos priemonės (3)
Atsižvelgiant į paieškos vykdymo principą, skiriama paieška pagal įrašą ir
paieška pagal indeksą.
Pirmuoju atveju tikrinami pačios DB bazės įrašai. Jie nagrinėjami pradedant
pirmuoju, nuosekliai, t. y. ta tvarka, pagal kurią jie buvo išdėstyti užpildant DB.
Antruoju atveju nagrinėjami ne patys įrašai, o nuorodos į tuos įrašus - įrašų
indeksai, kurie įtraukiami į indeksinį failą. Pavyzdžiui, lokalizuojant pirmąjį
surikiuotos lentelės įrašą, pakanka kreiptis į pradinį indeksą indeksiniame faile.
Antruoju atveju paieška atliekama žymiai greičiau nei pirmuoju, ypač tada, kai
pasitelkiami specialūs pagreitintos paieškos algoritmai, pvz., dvejetainio
dalijimo algoritmas.
21
Užklausos
Galimos įvairios paieškos formos. Tai - atskirų įrašų (laukų) paieška, įrašų
grupių atranka, atranka su rikiavimu ir pan.
Nurodymai konkrečių duomenų paieškai paprastai išreiškiami tam tikrais
klausimais - užklausomis.
Užklausa - tai apibrėžto formato klausimas užrašomas kaip loginė išraiška
(sąlyga).
Užklausos formuluojamos tam skirta specialia kalba – SQL, kuri trumpai
aptarta ankstesnėje temoje, arba DBVS teikiamomis meniu bei grafinių
įrankių priemonėmis.
Paieškos (užklausos) rezultatai gali būti įvairiai pateikiami. Juos galima išvesti
į ekraną (laikinąjį peržiūros langą), naujai sukuriamą lentelę, ataskaitą.
Paieškos rezultatus galima išvesti ir į vadinamąją virtualiąją lentelę.
22
Virtualioji (laikinoji) lentelė
Virtualioji lentelė skiriasi nuo įprastos DB lentelės tuo, kad ji nėra fiziškai,
realiai saugoma išorinėje atmintyje.
Tai laikinai pagrindinėje atmintyje saugoma lentelė. Virtualioji lentelė yra
išvestinė lentelė, t. y. generuojama iš vienos ar kelių realių, fizinių lentelių
laukų kaip atsakymas į pateiktą užklausą.
Virtualios lentelės laukų reikšmės gaunamos tiesiog perkeliant jas iš vienos ar
kelių fizinių lentelių, be to atliekant įvairias operacijas su fizinių lentelių laukų
reikšmėmis galima gauti ir išvestines reikšmes. Laukai, sudaryti iš tokių
išvestinių reikšmių, vadinami skaičiuojamais (apskaičiuojamais) laukais.
23
Informacijos pateikimas. Ataskaitos
Ataskaita yra tam tikro formato dokumentas, kuriame atvaizduotas visos DB
ar jos atskirų dalių turinys.
Pagrindinė ataskaitos paskirtis - pateikti duomenis (rezultatus) patogioje
vartotojui formoje, t.y. taip, kad juos būtų galima lengvai analizuoti,
apibendrinti ir padaryti teisingas išvadas.
DBVS įgalina gana paprastai sukurti ataskaitą. Į ataskaitą įmanoma įtraukti
duomenis iš kelių tarpusavyje susietų lentelių, taip pat ir iš virtualiųjų lentelių.
Duomenis leidžiama įvairiai rūšiuoti, grupuoti, atlikti su jais įvairius
skaičiavimus.
Paruošta ataskaita gali būti peržiūrima kompiuterio ekrane, išsaugoma išorinėje
atmintyje kaip atskiras failas, spausdinama popieriuje.
24
Ataskaitų kūrimas
Ataskaitą galima sukurti dviem būdais:
1.
Naudojantis standartinėmis formomis;
2.
Pačiam vartotojui pasirenkant ataskaitos formą.
Pirmasis būdas gerokai apriboja vartotojo pasirinkimą, kadangi ataskaita kuriama
pagal sistemos siūlomą formatą.
Antruoju būdu vartotojas gali laisvai pasirinkti jam priimtiniausią ataskaitos
formatą. Tam tikslui skirti specialūs instrumentai - ataskaitų dizaineriai.
Kiekviena ataskaita turi tam tikrą struktūrą, į kurią privalu atsižvelgti.
Ataskaitoje išskiriamos tokios trys zonos: antraštės zona, pagrindinė zona,
pabaigos zona.
Antraštės zonoje rašoma informacija, kuri turi būti viso dokumento pradžioje. Jei
dokumentą sudaro keli puslapiai, tai nurodoma ir informacija, kuri turi būti
kiekvieno puslapio pradžioje. Pagrindinė zona apima eilutes, kurios dažniausiai
vaizduoja vieną duomenų bazės įrašą. Ataskaitos pabaigos zona analogiška
25
antraštės zonai, tik jos turinys vaizduojamas dokumento (ar puslapio) pabaigoje.
MS Access ataskaita (pvz.)
26
MS Access ataskaita (pvz., Design View)
27
Parengta pagal:
1.
Parengta pagal R.Kuto paskaitų konspektus.
2.
J.Adomaitis ir kt. Informatika I dalis Vadovėlis, L-kla “Technologija”,
Kaunas, 1999, p.p. 170 – 190.
3.
R.Baronas. Duomenų bazių sistemos (Metodinė priemonė). Vilnius:
TEV, 2002, 126 p.
4.
http://distance.ktu.lt/kursai/informatika1/8/
Dar apie tai rasite:
1.
Duomenų bazės. ECDL atstovybės Lietuvoje sertifikuota mokomoji
medžiaga, L-kla “Žara”, Vilnius, 2001, 120 p.
2.
Введение в системы баз данных. Дж. Д. Ульман, Дж. Уидом, М.,
“Лори”, 2000, 374 с.
3.
http://www.citforum.ru/database/dbguide/index.shtml
4.
http://www.citforum.ru/database/dblearn/index.shtml
28