Dalībnieka diskusija:Pipsiss

Lapas saturs netiek atbalstīts citās valodās.
Vikipēdijas lapa

Esi sveicināts Vikipēdijā!


Iesākumā lūdzam iepazīties ar svarīgāko informāciju, kas jāzina, uzsākot darbu!

Pirms pirmā raksta izveides lūdzam izlasīt lapu Raksta izveidošana un apmeklēt rakstu vedni.


Sveiks, Pipsiss. Esi sveicināts Vikipēdijā latviešu valodā.

Vikipēdija ir brīva enciklopēdija ar bezmaksas saturu, kuru var lasīt un rediģēt ikviens.


Diskusiju lapās lūgums parakstīties ar 4 tildēm (~~~~) vai rīku joslā nospiest pogu . Paldies.


Datu bāzes (angļu: Database)[labot pirmkodu]

Dati[labot pirmkodu]

Katrs noteikti ne reizi vien ir dzirdējis jēdzienu “dati”, bet varbūt nav īpaši piedomājis, ko tas īsti nozīmē. Lietojot vārdu “dati”, divi dažādi cilvēki var saprast dažādas lietas. Vispārināti uzskatīsim, ka dati ir jebkāda veida saturiska informācija, ar ko var darboties, to apstrādājot, atlasot, kārtojot, caurskatot utt. Kā datu piemēru var minēt uzņēmuma darbinieku vārdus, uzvārdus, adreses, telefonus, dzimšanas datumus. Ja mums ir savākti visi šie dati, mēs no tiem varam iegūt visdažādāko informāciju, piemēram, visu darbinieku sarakstu alfabētiskā kārtībā, kāda konkrēta darbinieka telefona numuru vai dzimšanas datumu, visus darbiniekus, kas ir dzimuši februārī.


Pēc vienota standarta elektroniskā formā apkopotus datus sauc par datu bāzi. Tā patiešām ir kā bāze, kurā stingrā kārtībā ir sagrupētas un rūpīgi uzskaitītas visas nepieciešamās lietas, ko speciāli nesēji pēc pieprasījuma var piegādāt. Lai datu bāze nebūtu tikai nekam nederīgs datu apkopojums, bet no tās varētu iegūt vajadzīgo informāciju vēlamā formā, ir izstrādātas speciālas datu bāzu vadības sistēmas (DBVS). To uzdevums ir padarīt jūsu darbu ar dažāda veida datiem vienkāršāku, ātrāku un, galvenais, ērtāku.

Lai izprastu, kas ir datu bāze, iedomājieties visparastāko kartotēku kaut vai bibliotēkas kartīšu veidā. Šādās kartītēs var būt arī ziņas par uzņēmuma vai iestādes darbiniekiem. Ja esat redzējis šāda veida kartītes, tad pamanījāt, ka tās visas ir aizpildītas pēc vienota parauga, kaut arī dati uz tām var pilnīgi atšķirties. Veidojot datu bāzi ar informāciju, ko satur kartītes, katra šīs kartītes aile atbilst datu laukam datu bāzē. Katram datu laukam ir savs nosaukums, pēc kura var iegūt atbilstošos datus no jebkuras kartītes.

Datu ieraksti[labot pirmkodu]

Katru kartotēkas (datu bāzes) kartīti ar vienu vai vairākām ailēm (datu laukiem) sauc par datu ierakstu. Visi viena datu ieraksta lauki ir savā starpā saistīti un tiek uzskatīti par vienotu veselumu. Visi vienāda formāta ieraksti (datu lauku skaits, tips, garums, informācijas veids katram laukam ir vienādi, kaut arī paši dati ir dažādi) tiek apvienoti tabulās. Tās gan nav līdzīgas elektroniskām tabulām, jo abu tabulu pamatprincipi ir dažādi.

Katra tabula apvieno tematiski vienādos ierakstus. Šādā tabulā atrast kādu interesējošu ierakstu ir nesalīdzināmi ātrāk un vienkāršāk, nekā veikt šo pašu darbību parastajā katalogā.

Tagad, kad esam izpratuši, kas ir tabulas un kā tās apvieno datu ierakstus, varam paplašināt datu bāzes jēdzienu: datu bāze apvieno savā starpā saistītas datu tabulas. Tātad datu bāze elektroniskā formā glabā savstarpēji saistītus datus, nodrošina ātru un ērtu piekļūšanu šiem datiem, to papildināšanu, mainīšanu un cita veida speciālu apstrādi. DBVS ir programmu kopums, kas to visu nodrošina.

Datu tabulas[labot pirmkodu]

Lai atrastu kādu ierakstu datu bāzē, nav nepieciešams caurskatīt visas tabulas. Daudz vienkāršāk ir uzticēt caurskatīšanu DBVS rīkiem. Bet, lai šāda meklēšana noritētu veiksmīgi, ir pareizi jādefinē atslēgas jeb jāveic indeksācija.

Katrai tabulai var definēt vismaz vienu atslēgu, ar kuras palīdzību DBVS atšķir tabulas ierakstus un atbilstoši tos sagrupē. Par atslēgu sauc speciāli iezīmētu datu lauku tabulā. Atslēgas vērtība ir lauka dati. Ja ieraksta atslēga ir unikāla, tā viennozīmīgi raksturo visu ierakstu. Tas nozīmē, ka diviem ierakstiem nav vienādu atslēgu. Tāda atslēga ir, piemēram, iedzīvotāju reģistra personas kods (vismaz tā tam vajadzētu būt), jo tas katram cilvēkam ir individuāls, un pēc tā var viennozīmīgi uzzināt, kas tas ir par cilvēku, kāds ir viņa vārds, kur viņš dzīvo utt. Šādu unikālo atslēgu sauc par primāro atslēgu. Ja kāda atslēga tiek definēta kā primārā, tad DBVS pati rūpējas par to, lai nepieļautu atslēgas laukā esošās informācijas atkārtošanos.

Kā jau minējām, datu bāzē tabulas ir savstarpēji saistītas, t.i., starp tabulām tiek nodibinātas saites, kas nosaka saistību starp tabulām. Ja, piemēram, ir trīs atsevišķas tabulas: viena satur datus par visiem uzņēmuma darbiniekiem (personas kods, vārds, uzvārds, adrese), otra - par uzņēmuma nodaļām (nodaļas kods, nosaukums, darbības sfēra), trešā - par nodaļās nodarbināto darbinieku pienākumiem (nodaļas kods, darbinieka kods, pienākums), tad, lai uzzinātu kāda pienākuma veicēja mājas adresi, pietiek izveidot saiti starp pirmo tabulu, kurā tiek glabāta informācija par darbiniekiem, un trešo tabulu, kas satur pienākumus. Šādas saites izveidošana tiek veikta caur abu tabulu kopīgajiem laukiem, šajā gadījumā tāds lauks ir darbinieka personas kods. Tagad jāatrod mūs interesējošais pienākuma ieraksts, no kura iegūstam veicēja personas kodu. Zinot šo kodu, pirmajā tabulā uzmeklējam darbinieka mājas adresi, un viss ir kārtībā.

Šādu saišu veidošana palīdz:

  • izvairīties no informācijas dublēšanas. Piemēram, tabulā par darbinieku veiktajiem pienākumiem nav nepieciešams atkārtoti glabāt visu pilno informāciju par katru darbinieku, jo šī informācija jau tiek glabāta darbinieku tabulā;
  • veikt datu vairākkārtīgas izmaiņas, jo tā kā informācija nav dublēta, šīs izmaiņas ir jāveic tikai vienu reizi;
  • samazināt nepieciešamo datora atmiņas apjomu.

Tagad sīkāk pakavēsimies pie tabulām. Tabula tiek veidota pēc šādiem principiem:

*katra tabulas kolonna atbilst datu laukam;

*katra tabulas rinda atbilst datu ierakstam.


Datu bāzē datu atlasīšana notiek nesalīdzināmi ātrāk nekā kartīšu kartotēkā, kur tas ir jāveic ar roku. Turklāt, ja vien ir pareizi norādīts atlases kritērijs un nav kļūdainu datu ievadu, tad atlases procesā nav kļūdu, t.i., tiek atlasīti tikai un vienīgi vajadzīgie ieraksti, respektīvi, nav arī liekas informācijas.


Bieži šādus pēc noteikta kritērija atlasītus datus sauc par izvilkumu (Dynaset), bet pašu kritēriju (vai kritērijus), pēc kura (kuriem) tiek veikta datu atlase, sauc par vaicājumu (Query). Vaicājumu, izmantojot saites, var attiecināt arī uz vairākām tabulām uzreiz.

Principā saites tiek veidotas viena vaicājuma ietvaros, definējot saistības starp tabulu laukiem. Lai tas būtu iespējams, veidojot tabulas, jāparedz, kuri lauki būs savstarpēji saistīti, un tādās programmās kā Microsoft Access iepriekšēja saikņu definēšana dos labākus ātrdarbības rezultātus.

Vaicājuma būtiskākā īpašība ir tā, ka tas vienmēr atbilst tabulu pašreizējam stāvoklim, jo vaicājums pēc katra pieprasījuma tiek formēts no jauna un, atšķirībā no tabulām, netiek glabāts uz diska. Mainot datus vaicājumā, automātiski tiek izmainīti dati izejas tabulā. Parasts vaicājums neveido jaunus datus, tas tikai dod ērtākas iespējas strādāt ar esošajiem datiem no tabulām.

Tātad datu bāzes pamatā ir indeksētas, savā starpā saistītas tabulas ar datiem. Lai datu ievade būtu ērtāka, drošāka un vienkāršāka, tiek izveidoti speciāli logi, ko sauc par formām, kurās izvietoti datu laukiem atbilstoši lodziņi, kur var izvadīt informāciju no datu bāzes vai, tieši otrādi, ievadīt jaunus datus.

Formas ļauj apskatīt, rediģēt un papildināt rakstus no tabulām vai to izvilkumiem. Arī datu apskatei un izdrukai tiek izmantotas formas.

ormas pamatā ir jāizmanto tabula vai vaicājums, kas ļauj strādāt ar to laukiem, taču formu atverot, mēs varam izmantot parametrus, kas atlasa mums vajadzīgos datus.

Strādājot ar formu, mēs varam atlasīt un šķirot datus. Pēc tam mēs varam arī šķirot datus formā pēc tā lauka, kurš šoreiz mums ir svarīgāks. Formas, kas bāzētas uz vaicājumiem, ir vienīgais ērtais veids, kā ievadīt un pārskatīt datus savstarpēji saistītās tabulās.

Forma atlasa mums vajadzīgos datus.


Formās var arī iekļaut formulas, ko izmantojam aprēķinātājos laukos, bet vērtību var aprēķināt no citu lauku vērtības. Forma tiek iedalīta detaļu sekcijā, galvenē (angļu:header) un pakājē (angļu:footer). Formas pakājē var ievietot agregātfunkciju, kas saskaita kādu kolonnu vai aprēķina vidējo vērtību. Modernas DBVS atļaus formā ievietot grafiku, kas veidots uz formā atlasīto datu pamata.

Arī atskaites spēj nodrošināt to pašu, ko formas. Atšķirībā no formām atskaitēs nav iespējams labot datus, un atskaites ir vairāk domātas izmantošanai drukātā veidā. Taču šie ierobežojumi rada tehniskas iespējas veikt citas manipulācijas. Atskaitēs mēs varam vairākkārtīgi grupēt datus, veikt summēšanu, procentu aprēķinus pēc grupām, apakšgrupām, protams, arī izmantot grafiskus līdzekļus.

Relāciju datu bāzes[labot pirmkodu]

Relācija ir datu struktūra, kas sastāv no virsraksta un no nesakārtotas kortežu kopas, kuras lieto vienādus datu tipus. Kad Edgars F. Kodds (Edgar F. Codd) izgudroja relāciju modeli, viņš ieviesa jēdzienu no binārās relācijas (matemātiskās relācijas) uz n-āro relāciju. Relācija ir pamatjēdziens relāciju modelī. Relācijai ir nulle vai vairāk kortežu (angļu: "tuples"). Relācijas vērtība ir relācijas instance. Relācijas mainīgais (angļu:relvar) ir mainīgais, kuram ir relācijas vērtība. Dažos kontekstos relācija nozīmē relācijas mainīgais. Citos kontekstos relācija nozīmē relācijas vērtība. Iekš SQL relāciju mainīgais tiek saukts par tabulu (angļu: "table").


Relācijas modeļa jēdziens Relācijas vērtība, kas ir piešķirta noteiktam relācijas mainīgajam, ir laik-mainīga. Lietojot Datu Definīcijas Valodas (angļu: „Data Definition Language (DDL)”, ir iespējams definēt relācijas mainīgos. Virsraksts (angļu: „heading”) ir nesakārtota kopa, kas sastāv no noteiktiem atribūtiem (kolonnām)(angļu: "columns"). Virsrakstam ir nulle vai vairāk šo atribūtu. Ķermenis (angļu: „body”) ir nesakārtota kortežu kopa, kas sastāda relācijas vērtību. Citiem vārdiem sakot, relācijas vērtība sastāv no virsraksta un ķermeņa.

Kortežs (angļu: „tuple”) ir datu struktūra, kas sastāv no nesakārtotas kopas, kas, savukārt, sastāv no nulle vai vairāk atribūtiem. Kortežu vienkāršoti sauc arī par rindu (angļu: „row”). Atribūts (kolonna) ir atribūta vārda un domēna vārda pāris. Domēns var tikt ņemts vērā no datu tipa, vai vienkārši, no tipa. Atribūtam ir atribūta vērtība, kas atbilst tā domēnam. Atribūta vērtība ir skalāra vai pat vēl sarežģītāk strukturēta vērtība. Relācijas pakāpe ir atribūtu skaits, kas atbilst virsrakstam. Relācijas vērtības pakāpe ir nulle vai cits vesels skaitlis (angļu: „integer”). N-āra relācija ir relācijas vērtība, kurā tās pakāpe ir n. Relācijas kopas lielums (no angļu: „cardinality”) ir to kortežu skaits, kas sastāda relācijas vērtību. Relācijas vērtības kopas lielums ir nulle vai cits vesels skaitlis. Relāciju vērtībā nav divu vienādu kortežu. Kandidātatslēga ir noteikta minimālā kopa, kas sastāv no viena vai vairākiem atribūtiem, kuri var unikāli identificēt relācijas vērtībai raksturīgos kortežus.

Ieteikums[labot pirmkodu]

Mūsdienu DBVS ir ērtas lietošanā, ar tām ļoti ātri var izveidot samērā sarežģītas datu bāzes, tās var skaisti profesionāli noformēt. Tomēr jāatceras, ka mēs nemaz neesam tik unikāli un pasaule ir pilna ar gatavām datu bāzu sistēmām, kas paredzētas grāmatvedībai, adresu sistēmām, personīgo finanšu uzskaitei utt. Autoru bēdīgā pieredze, kad ļoti labi izstrādāta un pārbaudīta datu bāze jāmet ārā, jo parādījusies vēl labāks firmas izstrādājums, ir spilgts apstiprinājums iepriekšteiktajam.

Ja tomēr situācija ir unikāla un ja pašiem jāveido sava datu bāzu sistēma, ieteicams to uzticēt profesionālim. Ātri izveidot sarežģītu, izskaistinātu datu bāzi ir viens, cita lieta ir nodrošināt tās darbu ar lieliem, augošiem datu apjomiem daudzlietotāju vidē. Turklāt formu un atskaišu izveidošana ir samērā ķimperīgs, ilgs process, kam nepieciešama “uzsista roka”. Vienīgā datu bāzu sistēma, ar ko neprofesionālis varētu pamēģināt veidot datu bāzi, ir Microsoft Access.

Būtu ieteicams, lai datu bāzi veidotu profesionāls programmētājs pēc klienta prasībām. Starp citu, izveidot projektu programmai un pēc tam pārbaudīt programmas atbilstību projektam ir problēma, ar ko nodarbojas pat zinātnieki teorētiskā līmenī, projektu reāli izstrādāt ir spējīgs profesionālis, pamatojoties uz interviju ar klientu.

SQL serveris[labot pirmkodu]

Datu bāzes formām un atskaitēm ir jāietver visas standarta atskaites un analīzes. Datu bāze ir jāsakārto tā, lai pie datiem varētu ērti tikt klāt ar elektronisko tabulu. Tādējādi ar Microsoft Excel, piemēram, var veidot dažādas nestandarta atskaites un datu analīzes, kuras katru reizi nepieciešamas savādākas un kuras neatmaksājas pasūtīt.

Lielas datu bāzes tīklā bieži vien tiek sadalītas pa funkcionālām daļām. Tiek izmantota klienta servera arhitektūra. Uz datora servera strādā programma DBVS serveris, kas nodrošina datu padevi pēc pieprasījuma DBVS klientiem, kas strādā ar datoriem tīklā. Visbiežāk pieprasījumi tiek veikti ar standarta pieprasījumu valodas palīdzību SQL (Structured Query Language). Tādēļ bieži vien datu bāzes serveris tiek saukts par SQL serveri.

Programma DBVS serveris nodrošina datu padevi pēc pieprasījuma DBVS klientiem.


Kamdēļ nepieciešami šādi sarežģījumi? Gadījumā, ja neizmantojam SQL serveri, bet lietojam datu bāzi tīklā, katrs pieprasījums no lielas tabulas nozīmē visas tabulas pārsūtīšanu pa tīklu. Tikai pēc tam, kad visa apskatāmā tabula pārsūtīta, uz lietotāja datora sākas datu atlase, šķirošana utt. Tabula var būt vairākus MB liela, un lietotāju skaits sasniegt vairākus desmitus. Šādā gadījumā tīkls būs pārslogots. Bet patiesībā lietotājs ir gribējis tikai viena mēneša datus par konkrētu klientu, kas kopumā ir mazāk par 1% no visas datu bāzes apjoma. SQL servera gadījumā datu bāzes klients sūta SQL pieprasījumu datu bāzes serverim. Pēc pieprasījuma serveris atlasa datus un sūta tos pa tīklu. Daudzlietotāju režīmā šī ir vienīgā iespējamā datu bāzu ideoloģija, kas strādā ar lieliem datu apjomiem.

Iespējams, ka nākotnē populāras būs objektu orientētas datu bāzes (OODB). OODB katra nākošā raksta laukā var būt cits objekts, tādējādi radot ļoti elastīgu datu struktūru. Šodienas datori ir par lēnu, lai reālā laikā spētu apkalpot šādas datu bāzes. Tādējādi OODB nekur tālāk par labaratorijām un žurnālu rakstiem pagaidām netiek.