datu bāzes struktūru definēšana

RĪGAS TEHNISKĀ UNIVERSITĀTE

Datorzinātnes un informācijas tehnoloģijas fakultāte
II kurss 14.grupa

1. praktiskais darbs mācību priekšmetā
“Datu bāzu vadības sistēmas”

Datu bāzes struktūru definēšana

Izstrādāja: Jurijs Grigorjevs
Pārbaudīja: doc. Jānis Eiduks
Apl. numurs: 001RDB242

2001. / 2002. mācību gads
ANOTĀCIJA

Praktiskajā darbā ir aprakstīti visi datu bāzes datu tipi, ka arī lauku, saišu un tabulu īpašības un tika doti šo tipu praktiskie piemēri. Darbā dota visa nepieciešama informācija lai izveidotu savu datu bāzi ar pamatelementiem.
Darbā tika lietota Microsoft Access 2000 DBVS. Darba izstrādes gaitā tika izveidota datu bāze un tas viss pēc soļiem tika aprakstīts un paskaidrots ar grafiskiem attēlojumiem.
Praktiskā darba pārskata apjoms: 16. lpp. izklāsta teksta, 15 attēli un literatūras saraksts.

SATURS

1. Uzdevuma nostādne………………………………………………….……………….4
2. Algoritma apraksts……………………………………………………………………5
3. Datu bāzes apraksts…………………………………………………………………..7
3.1 Lauku tipi…………………………………………………….…………………..7
3.2 Lauku īpašības……………………………………………….…………………..8
3.3 Tabulu aizpildīšana……………………………………………….…………….10
3.4 Saites starp tabulām……………………………………………….……………12
3.5 Tabulu īpašības…………………………………………………….……………14
SECINĀJUMI………………………………………………………………………..….15
LITERATŪRA………………………………………………………………….……….16

1. Uzdevuma nostādne.

Lietojot Datu Bāzes Vadības Sistēmu Microsoft Access, realizēt sekojošās prasības:

1.) Izveidot 3 tabulas tā, lai divas no tām būtu saistītas ar saiti Viens-Ar-Vairākiem (One-To-Many) un divas ar saiti Vairāki-Ar-Vairākiem (Many-To-Many). Izpildot otro daļu, ir jāizveido vēl viena papildtabula.

2.) Paskaidrot un ar piemēriem aprakstīt visus iespējamus lauku tipus.

3.) Raksturot lauku īpašības.

4.) Raksturot ar piemēriem saišu īpašības.

5.) Raksturot tabulu īpašības. Kādi ir noteikumi starp diviem laukiem.

2. Algoritma apraksts.

Sākumā ir jāpalaiž Microsoft Access, mūsu gadījumā tas ir Microsoft Access 2000. Pēc DBVS palaišanas lietotājam tiks piedāvāta izvēlne, kurā jāizvēlas tālākas darbības (1. att).
1. att Sākumizvēlne
Tā kā mums vēl nav datu bāzes, mums būs jāizveido jauna DB un tāpēc izvēlāmies “Blank Access database”. Pēc tam ir jānorada faila vārds, kur tiks saglabāta izveidota DB.
Ja visas iepriekšējas darbības bija veiksmīgas, tad paradīsies logs ar izveidotu DB.

2. att Izveidota DB

Tikai tagad var ķerties pie uzdoto prasību realizēšanas. Tātad ir jāizveido trīs pamattabulas, kurām jāpiemīt sekojošās īpašības:
– pirmajai un otrai tabulai jābūt saitei Viens-Ar-Vairākiem (One-To-Many);
– otrai un trešajai tabulai jābūt saitei Vairāki-Ar-Vairākiem (Many-To-Many).
Lai realizētu otro prasību izveidosim vēl vienu tabulu, papildtabulu, kurai būs 2 saites One-To-Many; viena ar otro un viena ar trešo tabulu. Izveidojot tabulas nav jāaizmirst par tabulu jēgu, jo, piemēram, ja tas ir tabula, kur glabās visi studenti ar atbilstošu studenta apliecību, tad ir jāparedz, ka tāds parametrs kā Apl_Numurs nevar atkārtoties un tāpēc var kalpot par dotās tabulas atslēglauku.
Šajā darbā tiks izveidotas trīs pamattabulas:
1. ‘Pasniedzeji’ – tabula, kur glabāsies visa atbilstoša informācija par katru pasniedzēju. Tabulā ir sekojošie lauki: ‘Pasniedzejs’, ‘Prieksmets’, ‘Instituts’, ‘Universitate’;
2. ‘Pilsetas’ – tabulā glabāsies informācija par pilsētām, no kurienes tika atbraukuši studenti. Tabula satur sekojošus laukus: ‘Pilseta’, ‘Index’, ‘Valsts’.
3. ‘Students’ – tabula, kur glabāsies visi dati par studentiem. Tabulā ir sekojošie lauki: ‘Students’, ‘Kurs’, ‘Grupa’, ‘Apl_Numurs’ un ‘Pilseta’.

Kad tas veiksmīgi tiks realizēts, ir jāizveido augstāk minētas saites un DB ir gatava lietošanai.
3. Datu bāzes apraksts.

3.1 Lauku tipi.

Lai izveidotu tabulu nospiedīsim ‘Design’. Pēc nospiešanas paradīsies forma, kurā ir jāieraksta visus laukus, no kuriem sastāvēs tabula. Te būs jāapraksta katra lauka datu tipus, ka arī jādefinē ierakstīto lauku īpašības.
Ierakstīsim tabulā jauno lauku ‘students’. Laukā ‘Data type’ jāizvēlas dotā lauka datu tipu.

3. att Visi iespējamie lauku data tipi

Apskatīsim visus iespējamus data tipus:
• Text – alfabetiski-cipariskais datu tips; tas nozīmē, ka šāda tipa mainīgā var ierakstīt gan ciparus, gan burtus, ka arī jebkurus simbolus (piemērs: ‘Jānis Ozols2002!’). Lauka garums līdz 255 baitiem.
• Memo – alfabetiski-cipariskie dati – teikumi, rindkopas, teksti. Tas pats kas Text tikai Memo datu tipam ir lielāks lielums (piemērs: ‘Jānis Ozols2002!’), līdz 64 000 baitiem.
• Number – cipariskie dati; iespējamai tikai skaitli; no lauka īpašības būs atkarīgs vai datu tips būs integer, byte utt (piem.: ‘23’). Var aizņemt 1, 2, 4, 8, vai 12 baitus (16 – replikācijas kodam).
• Date/Time – datums un laiks (piem.: ‘2:24:00’). Lielums 8 baiti.
• Currency – dati par naudas summām, kuras glabās ar četrām zīmēm pēc komata (piem.:’0,10ls’). Lielums 8 baiti.
• AutoNumber – unikālais garš veselais, kuru ģenerē Access katra jauna ieraksta izveidošanas procesā (piem.: ‘6’). Lielums 4 baiti (16 – replikācijas kodam).
• Yes/No – loģiskie dati. Lielums 1 bits. Piem.: nozīmē ‘Yes’.
• Objekta OLE lauks – attēli, diagrammas un citi ActiveX objekti no Windows pielikumiem. Lielums līdz 1Gb( giga baits).
• Hyperlink – adreses norāde (ceļš) uz dokumentu vai failu, kurš atrodas WWW, intranetā, lokālajā tīklā (LAN) vai uz lokālā datorā (piem.:’www.delfi.lv/’). Lielums līdz 2048 simboliem.

Lauka tipu jāizvēlas atbilstoši konkrētam laukam, piem., ja laukā glabāsies studenta vārds un uzvārds, tad jāizvēlas data tipu Text, ja studenta kurss – Number (byte).

3.2 Lauku īpašības

Lai izmainītu kāda lauka īpašības ir jāaktivizē kāda atribūta rindiņu. Apakša var redzēt izvelēta atribūta lauka īpašības. Lauka īpašības atrodas divos ielikumos: General (Pamatīpašības, 4. att) un Lookup (Ielikšana, 5. att).
4. att General 5. att Lookup

Tagad apskatīsim visus konfigurējamus parametrus.
General.

Field Size – lauka izmērs. Atkarīgi no izvēlēta lauka tipa, šajā ailītē parādīsies iespējamās vērtības.
Text – lauka izmērs var būt no 0 līdz 255 (simboliem) liels, pēc noklusēšanas stāv 50 simboli.
Number – var būt vairākas iespējas:
1 – Byte – glabā veselus skaitļus no 0 līdz 255 un aizņem 1 baitu atmiņas.
2 – Integer – saglabā veselus skaitļus no –32 768 līdz +32 767 un aizņem 2 baiti atmiņas.
3 – Long Integer – saglabā veselus skaitļus no –2 147 483 648 līdz +2 147 483 647 un aizņem 4 baiti atmiņas.
4 – Single – saglabā skaitļus ar precizitāti līdz 7 zīmīgajām cipariem diapazonā no –3,41038 līdz +3,41038 un aizņem 4 baiti atmiņas.
5 – Double – saglabā skaitļus ar precizitāti līdz 15 zīmīgajām cipariem diapazonā no –1,79710308 līdz +1,79710308 un aizņem 8 baiti atmiņas.
6 – Replication ID – 16-baitu kods GUID (Globally Unique Identifier). Vispārīgā gadījumā šim lauka izmēram jābūt pielietotam tikai datu bāzēs, kurus vada replikāciju dispečers.
7 – Decimal – saglabā decimālas vērtības ar noradītu precizitāti diapazonā no –1028 līdz +1028 un aizņem 12 baiti. Pēc noklusēšanas precizitāte vienāda ar 18, bet skala – 0.
Format – katram datu tipa savas vērtības.
Text, MEMO lauks – var izveidot speciālus formātus datu attēlošanai.
Number (izslēdzot Replication ID), Currency, AutoNumber – var būt vairākas iespējas:
General Number – formāts, kurš tiek uzstādīts pēc noklusēšanas.
Currency – naudas vienības simbols un 2 decimālas zīmes.
Euro – Euro naudas vienības simbols un 2 decimālas zīmes.
Fixed – minimums 1 cipars līdz komatam un 2 decimālas zīmes.
Standart – 2 decimālas zīmes un grupu šķiras atdalītāji.
Percent – vērtība tiek reizināta ar 100 un tiek attēlota ar 2 decimālām zīmēm un procenta simbolu (%).
Scientific – eksponentieraksts (piem., skaitlis 1.05106 tiek attēlots kā 1.05E+06).
Date/Time – var būt vairākas iespējas:
General Date – tiek uzstādīts pēc noklusēšanas (piem., 15/04/02 17:30:10).
Long Date – piem., Trešdien, 15 marts 2002 g.
Medium Date – piem., 15-feb-01.
Short Date – piem., 15/04/02.
Long Time – piem., 17:30:21.
Medium Time – piem., 05:30 PM.
Short Time – piem., 17:30.
Logic (Yes/No) – Yes/No tiek uzstādīts pēc noklusēšanas; vēl var būt True/False un On/Off.
Decimal Places – te tiek uzstādīts zīmju skaits, kuras tiek attēlotas pēc komata. Šī īpašība tiek uzstādīta tikai Number (izslēdzot Replication ID), Currency un AutoNumber datu tipiem.
Input Mask – ļauj izveidot masku, kuru lietotājs ieraudzīs lauka aizpildīšanas laikā. Īpašība tiek uzstādīta tikai Text, Number (izslēdzot Replication ID), Currency un Date/Time datu tipiem. Piem. /__/__/__ – datuma ievadei.
Caption – šeit var noteikt saturīgāku lauka nosaukumu, kuru Access izvadīs vadīšanas formu elementos un atskaišu virsrakstos (nosaukums var saturēt atstarpes).
Default Value – te var noteikt lauka vērtību pēc noklusēšanas.
Validation Rule – var uzdot izteiksmi, ar kuru Access salīdzinās laukā ievadīto vērtību. Piem., izteiksme ‘man’ or ‘woman’. Tātad laukā ievadītai vērtībai jābūt vai ‘man’ vai ‘woman’.
Validation Text – te var uzdot paziņojumu, kuru Access attēlos gadījuma, kad netiks ievērota Validation Rule.
Required – tas nozīme, ka laukam obligāti jābūt ievadītam vai tā vērtība var būt null.
Allow Zero Length – Text un MEMO lauka datu tipiem var atļaut tukšu rindu ievadi.
Indexed – lauka indeksēšana paātrina pieeju saglabātiem datiem.
Unicode Compression – Text un MEMO lauka datu tipiem. Pēc noklusēšanas jaunām tabulām šai īpašībai vērtība ir Yes. Tas nozīme, ka visi simboli, pirmais baits kuru Unicode kodēšanā ir vienāds ar 0, tiks saspiesti līdz vienam baitam saglabāšanas laikā.

Lookup.

Display Control – uzdot elementa vadīšanas tipu, pielietojamo pēc noklusēšanas dota lauka attēlošanai formās, atskaitēs un objektos tabulu režīmos (iespējamas vērtības: Text Box, List Box un Combo Box).
Row Source Type – ja iepriekšējai īpašībai tika uzstādīta vērtība List Box vai Combo Box, tad šī īpašība ļauj uzdot datu avota tipu.
Row Source – te var uzdot datu avotu. Tas ir atkarīgs no datu avota tipa.
Bound Column – noradītas kolonas vērtība tiek lietota kā vadības elementa vērtība.
Column Count – jāievada kolonu skaits, no datu avota.
Colums Heads – Yes uzstādīšanas gadījumā uzstādītas vērtības Caption tiek izvadītas kā List Box kolonu virsraksti.
Column Widths – jāievada kolonu platumu, atdalot tos ar ‘;’.
List Rows – ja tiek lietots Combo Box, tad šī vērtība noradīs cik rindas tiks attēlotas sarakstā.
List Width – ja tiek lietots Combo Box, tad šī vērtība noradīs uz attēlotas sarakstā rindas garumu.
Limit To List – Yes uzstādīšanas gadījumā, laukā var ierakstīt tikai vērtību no saraksta.

Mūsu datu bāzē, piem., lauku Kurs attēlošanai lietosim Combo Box, jo kursu ir noteikts skaits, un par datu avotu kalpos papildtabula. Bet studenta vārda uzvārda ievadei – Edit Box.

3.3 Tabulu aizpildīšana.

Tā kā tika nodefinētas visas vajadzīgas tabulas, vajadzīgie lauki un aprakstītas atbilstošās īpašības, var ķerties datu ievadei, tabulu aizpildīšanai.
Tika izveidotas 3 pamattabulas (Pasniedzeji, Pilsetas un Students), ka arī viena tabula Combo Box lauku aizpildīšanai (tabula satur atribūtus: Kurs un Grupa) un vēl viena tabula būs jāizveido (Prieks_Stud), many-to-many tabulu saites realizēšanai (sk. tālāk).

6. att Tabula ‘Pasniedzeji’

7. att Tabula ‘Pilsetas’

8. att Tabula ‘Students’

9. att Papildtabula ‘kursi’

Par nākošo tabulu jau bija minēts, ka ar tās palīdzību būs iespējams realizēt tabulu saiti many-to-many.

10. att Papildtabula ‘Prieks_Stud’

3.4 Saites starp tabulām

Tagad, kad tika izveidotas tabulas mēs varam saistīt tās, izveidojot saites starp tām, jo tas palīdzēs atskaišu un formu izveidošanā. Lai to izpildītu ir jāaktivizē Relationships izvēlnē Tools. Atvērsies logs, kurā ir jādefinē visas tabulas, kurām tiks izveidotas saites.

11. att Tabulas saišu definēšanai

Saites tiks definētas četrām tabulām: Pasniedzeji, Pilsetas, Prieks_Stud, Students. Tagad paradījas četras tabulas. Ir divas iespējas kā definēt saites starp tām. Pirmais, ar peles palīdzību, uzspiežot uz kādas tabulas kāda lauka un atlaižot vaļā tikai uz citas tabulas lauka tiks tiks atvērts logs Edit Relationships tabulu definēšanai.

12. att Logs saišu definēšanai

Un otrais paņēmiens kā dabūt šo logu: ir jānospiež Edit Relationship… izvēlnē Relationships. Ja vēl netika definētas saites, tad ir jānospiež Create New… Parādīsies logs, kurā ir jāizvēlas divi lauki no divām tabulām, ar kuru palīdzību tiks izveidota saite starp izvelētām tabulām.
Lai nodrošinātu atsauksmju veseluma noteikuma ievērošanu, izvēlēsim parametru Enforce Referential Integrety (ievērot atsauksmju veselumu). Parametrs Cascade Update Related Fields – nozīme ka izmainot pirmtabulas atsauces lauka vērtību, vērtība izmainās arī attiecīgajos pakārtotās tabulas rakstu laukos. Parametrs Cascade Delete Related Records nozīmē, ka nodzēšot rakstus galvenajā tabulā nodzēš visus piesaistīto tabulu attiecīgos ierakstus.
Saites var definēt vēl piesaistīšanas tipu (Join Type). Ja nospiest pogu Join Type.., parādīsies logs ar trim iespējām.

13. att Logs Join Properties

1: ieskaitot tikai tos ierakstus, kur piesaistītie lauki no abām tabulām ir identiski.
2: ieskaitot visus ierakstus no tabulas ‘Pilsetas’ un tikai tos ierakstus no tabulas ‘Students’, kur piesaistītie lauki ir identiski.
3: ieskaitot visus ierakstus no tabulas ‘Students’ un tikai tos ierakstus no tabulas ‘Pilsetas’, kur piesaistītie lauki ir identiski.

Kad saite tika pilnīgi definēta ir jānospiež Create saites izveidošanai.
Pēc visu saišu izveidošanas tie izskatīsies tā kā parādīts 14. attēlā.

14. att Izveidotas saites

3.5 Tabulu īpašības.

Sekojošās īpašības attiecas tabulai un visiem tabulas laukiem. Logu, kur aprakstītas visas tabulu īpašības varam iegūt sekojoši: ir jāizvēlas tabula un ir jānospiež poga Design (ieraudzīsim visus tabulas laukus un to īpašības, no kā sastāv tabula), ierakstos, kur apraksta tabulas ierakstus ir jānospiež labā peles taustiņa un jāizvēlas Properties. Parādīsies logs Table Properties.

15. att Logs Table Properties

Description – šajā lauka brīvā tekstā var aprakstīt tabulu, tas nozīmi vai ierakstīt vēl kādu papildinformāciju.
Validation Rule – šajā laukā var aprakstīt ierobežojumus ievadītiem datiem, lai viņi atbilstu kaut kādam kritērijam.
Validation Text – kļūdas paziņojums, kurš tiks izvadīts, ja ievadītie dati neatbilst kritērijam.
Filter – varam noteikt filtru, kurš darbosies visā tabulā.
Order by –norāda elementu šķirošanas secību tabulā.

SECINĀJUMI.

Tā šī bija mana pirmā tikšana ar Microsoft Access un datu bāzu izveidošanu, varu secināt, ka šai DBVS diezgan draudzīgs interfeiss un viss ir pietiekami saprotams, lai izveidotu savu pirmo datu bāzi un izpildīt pirmo praktisko darbu.
Šajā praktiskajā darbā iemācījos izveidot tabulas, definēt saites starp tām, kā arī sīkās uzzināju par pielietojamiem datu tipiem un lauku īpašām, kas ļaus man nākotnē izveidot produktīvākus datu bāzes un racionālāk izlietot resursus.
Par grūtāku šajā darbā uzskatu datu bāzes projektēšanu, kaut arī tas nesastādīja lielus problēmu.
LITERATŪRA.

– “Microsoft Access 2000” Джон Вейскас – издательство «Москва» .
– “Lekciju konspekts”- doc. Eiduks 2002 – RTU.