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 noskaidroti tādi jautājumi kā, piemēram, kam paredzēta datubāze, kāda informācija tiks apstrādāta u.tml. Ja eksistē līdzīgas datubāzes, tad tiek analizēta to darbību, 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. Datubāzes testēšana, lai pārliecinātos, ka tā darbojas pareizi un visas nepieciešamās funkcijas ir realizētas. Ja testēšanas laikā tiek atklātas kļūdas, tad, iespējams, ka jāatgriežas pie iepriekšējiem posmiem.


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

Ar datu bā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 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, datu uzglabāšanas drošības nodrošināšana, 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, kuri 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 notiks 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. ER modelis ir sastāv no divu veidu objektiem:

  • entītitātēm, kas reprezentē tabulas un kurās tiek norādīti lauki. Entītitā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):

1M5L_02_41_01

2.4.4. Datubāzu normalizācija

Datu bāzes projektēšanas procesā tabulas ikvienam pietiekami sarežģītam uzdevumam var definēt dažādos veidos. Lai tabulas atbilstu realizējamiem uzdevumiem, 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 ne primā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ēram, tiek izveidota šāda tabula:








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





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 Pasutitas_preces, kurš norāda preces numuru pasūtījumā):





Iegūtā tabula atbilst pirmajai normālformai, jo:

  • neviens lauks nav sadalāms vairākos laukos;
  • nav vairāki dažādi lauki, kuros atkārtojas vienādi dati.

Analizējot 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 Pasutitas_preces.

Lai apmierinātu otrās normālformas nosacījumus, jāveic tabulas sadalīšana (dekompozīcija) vairākās tabulās, starp kurām izveido attiecības, iegūstot, piemēram, šādu rezultātu (dažas tabulas ir papildinātas ar jauniem laukiem):







Iegūtā datubāze atbilst arī trešajai normālformai, jo neviena tabula nesatur laukus, kas iegūstami no pārējo lauku kombinācijām vai matemātiskām izteiksmēm.