3. DATUBĀZES JĒDZIENI

3.4. Datorbāzētu sistēmu izstrādes posmi un lietošana

2.4.1. Datubāzes izstrādes posmi

Datorbāzētas sistēmas, piemēram, jaunas datubāzes, izstrādes procesā var izdalīt šādus posmus:

  • analīze. Pirms datubāzes izstrādes ir nepieciešams definēt tai veicamos uzdevumus. Šajā posmā tiek noskaidrots, kam paredzēta datubāze, kāda informācija tiks apstrādāta u. tml. Ja eksistē līdzīgas datubāzes, tiek analizēta to darbība, piemēram, aptaujājot lietotājus par pastāvošajām problēmām;
  • projektēšana, kuras laikā tiek noteikti uzdevumu risināšanas veidi un paņēmieni, kā arī izstrādāti projekti un darbu veikšanas plāni;
  • sistēmas veidošana, kas var ietvert arī programmēšanu. Datubāzi var veidot, lietojot speciālu programmatūru vai izstrādājot jaunas datorprogrammas;
  • testēšana tiek veikta, lai pārliecinātos, ka datubāze darbojas pareizi un visas nepieciešamās funkcijas ir realizētas. Ja testēšanas laikā tiek atklātas kļūdas, var nākties atgriezties pie iepriekšējiem posmiem.
11

2.4.2. Datubāzes izstrādātāji un lietotāji

Ar datubāzes izstrādāšanu nodarbojas augsti kvalificēti speciālisti, kuriem ir zināšanas un pieredze projektu izstrādāšanā un datubāzu veidošanā.

Kad datubāze ir izveidota, sākas tās ieviešana un ekspluatācija, kurā iesaistītos cilvēkus var iedalīt divās grupās:

  • administratori, kuri paši datubāzes neveido, bet uzrauga tās un atbild par normālu datubāzes darbību ikdienā. Viņu pienākumos ietilpst, piemēram, rūpes par datu uzglabāšanas drošību, regulāra lietotāja datu dublējumkopiju veidošana, piekļuves
  • tiesību piešķiršana dažādām lietotāju grupām, datora aparatūras bojājuma seku novēršana;
  • lietotāji, kas ir apmācīti datubāzes lietošanai un veic datu ievadi, rediģēšanu un informācijas izguvi.

2.4.3. Datubāzes projekts

Kā piemērs tiks apskatīts, kā var izveidot projektu datubāzei Tūrisms, kas raksturo tūrisma firmas darbību.

Analīzes posmā var tikt definēti šādi uzdevumi:

  • datubāze paredzēta tūrisma firmas datu glabāšanai, uzskaitei, apstrādei;
  • datubāze ļauj ievadīt, apstrādāt un saglabāt informāciju par tūrisma maršrutiem un klientiem;
  • datubāze ļauj sagatavot pārskatus par maršrutiem un klientiem dažādos griezumos.

Projektēšanas posmā var noteikt, ka:

  • tiks veidotas divas tabulas ar nosaukumiem Maršruti (ziņas par maršrutiem) un Klienti (ziņas par klientiem un izvēlēto maršrutu);
  • tabulā Maršruti tiks glabāti šādi dati: brauciena mērķis – valsts, transporta veids, ilgums dienās, cena, firmas atbildīgais darbinieks par maršruta organizāciju;
  • tabulā Klienti tiks glabāti šādi dati: personas kods, uzvārds, kontakttālrunis, izbraukšanas datums, vai klients ir samaksājis par braucienu, maršruts;
  • starp tabulām tiks veidota relācija, lietojot tabulas Maršruti primārās atslēgas lauku.

Lai projektēšanas rezultāti būtu uzskatāmāki, parasti tos attēlo grafiskā veidā, lietojot ER modeli. Tas sastāv no divu veidu objektiem:

  • entītēm, kuras reprezentē tabulas un kurās tiek norādīti lauki. Entītes tiek apzīmētas kā taisnstūri ar noapaļotiem stūriem;
  • relācijām, kas attēlo attiecību starp tabulām. Grafiski relāciju attēlo kā taisni ar specifiskiem galiem, kas apzīmē saites veidu.

Datubāzes Tūrisms ER modelis izskatās šādi (tiek veidota viendaudznozīmīga relācija):

12

2.4.4. Datubāzu normalizācija

Datubāzes projektēšanas procesā tabulas ikvienam pietiekami sarežģītam uzdevumam var definēt dažādos veidos. Lai tabulas atbilstu realizējamiem uzdevumiem un tiktu novērsta datu dublēšanās, tiek veikta to vienkāršošana un optimizēšana jeb normalizācija.

Normalizācijas teorija piedāvā normālformu koncepciju. Katra normālforma ir nosacījumu kopa, kas jāapmierina datubāzei. No visām normālformām tiks aplūkotas pirmās trīs:

  • pirmā normālforma: tabulas katrs lauks ir atomārs (nav sadalāms vairākos laukos) un tabulas nesatur atkārtojošās datu grupas;
  • otrā normālforma: tabula ir pirmajā normālformā un tās ikviens lauks ir atkarīgs tikai no šīs tabulas primārās atslēgas;
  • trešā normālforma: tabula ir otrajā normālformā un visi neprimārās atslēgas lauki ir savstarpēji neatkarīgi (tabula nesatur laukus, kas iegūstami no pārējo lauku kombinācijām vai matemātiskām izteiksmēm).

Piemērs pirmās normālformas iegūšanai

Pieņemsim, ka ir izveidota šāda tabula:

13

Tabula neatbilst pirmajai normālformai, jo laukā Preces ievadīto informāciju var sadalīt sīkāk, piemēram, šādi:

14

Iegūtā tabula joprojām neatbilst pirmajai normālformai, jo tajā ir parādījušies lauki Prece1 un Prece2, kuros dati atkārtojas. Pārveidojot tabulu, var iegūt šādu rezultātu (tabula papildināta ar lauku Num_pas, kurš norāda preces numuru pasūtījumā):

15

Piemērs otrās normālformas iegūšanai

Analizējot iepriekš iegūtās tabulas atbilstību otrajai normālformai, var secināt, ka tabula tai neatbilst, jo lauki Preces un Skaits ir atkarīgi ne vien no primārās atslēgas lauka Pasutijuma_ID, bet arī no lauka Pas_num.

Lai apmierinātu otrās normālformas nosacījumus, jāveic tabulas sadalīšana (dekompozīcija) divās tabulās, iegūstot, piemēram, šādu rezultātu:

16

Piemērs trešās normālformas iegūšanai

Pieņemsim, ka ir izveidota šāda tabula. Atlaide tiek aprēķināta kā noteikts procents no cenas.

17

Tabula neatbilst trešajai normālformai, jo lauka Atlaide vērtība iegūstama no lauka Cena vērtības, lietojot matemātisku izteiksmi. Lai apmierinātu trešās normālformas nosacījumus, jāveic tabulas sadalīšana (dekompozīcija) divās tabulās, iegūstot, piemēram, šādu rezultātu:

18

Piemērs datubāzei, kas atbilst visām trim normālformām

Attēlā redzamā datubāze atbilst visām trim normālformām. Pirmās un otrās normālformas iegūšana apskatīta piemēros, un abas tabulas apmierina arī trešās normālformas prasības:

19

Prakse liecina, ka nereti, ja datu tabulas ir trešajā normālformā, tās apmierina arī augstāko normālformu prasības. Tāpēc daudzi datubāzu veidotāji aprobežojas ar datubāzu normalizāciju tikai līdz trešajai normālformai.