Datubāze

Tabulas

Datubāzes tabula izskata ziņā ir līdzīga izklājlapai, kurā dati tiek glabāti rindās un kolonnās. Rezultātā ir diezgan viegli importēt izklājlapu datubāzes tabulā. Galvenā atšķirība starp datu glabāšanu izklājlapā un datu glabāšanu datubāzē ir veids, kā dati tiek organizēti.
Lai datubāze būtu pēc iespējas elastīgāka, datiem jābūt organizētiem tabulās tā, lai nerastos datu redundance. Piemēram, ja glabājat informāciju par darbiniekiem, katrs darbinieks jāievada tikai vienu reizi tabulā, kas iestatīta datu glabāšanai par darbiniekiem. Dati par produktiem tiks glabāti citā tabulā, un dati par filiālēm — vēl citā. Šāds process tiek saukts par normalizēšanu.
Katra rinda tabulā tiek uzskatīta par ierakstu. Ierakstos tiek glabātas individuālās informācijas daļas. Katrs ieraksts sastāv no viena vai vairākiem laukiem. Lauki atbilst tabulas kolonnām. Piemēram, iespējams, jums ir tabula ar nosaukumu "Employees", kuras katrā ierakstā (rindā) ir informācija par atsevišķu darbinieku un katrā laukā (kolonnā) ir cita veida informācija, piemēram, vārds, uzvārds, adrese utt. Laukos jābūt norādītam konkrētam datu tipam, vai tas ir teksts, datums vai laiks, skaitlis vai kāds cits tips.
Cits ierakstu un lauku aprakstīšanas veids ir bibliotēkas vecā stila kartīšu kataloga vizualizācija. Katra kartīte plauktā atbilst ierakstam datubāzē. Katra informācijas daļa individuālā kartītē (autors, nosaukums utt.) atbilst laukam datubāzē.

Formas

Formas dažkārt tiek sauktas par "datu ievades ekrāniem". Tās ir interfeisi, kurus izmanto, lai strādātu ar datiem, un tajās bieži ir komandpogas, kas izpilda dažādas komandas. Datubāzi var izveidot, neizmantojot formas vienkāršai datu rediģēšanai tabulas datu lapās. Tomēr lielākā daļa datubāzu lietotāju dod priekšroku formu lietošanai, lai skatītu, ievadītu un rediģētu datus tabulās.
Formas nodrošina viegli izmantojamu formātu, lai strādātu ar datiem, un tām var arī pievienot funkcionālus elementus, piemēram, komandpogas. Var programmēt pogas, lai noteiktu, kādi dati tiek rādīti formā, atvērtu citas formas vai atskaites vai veiktu virkni citu uzdevumu. Piemēram, jums var būt forma ar nosaukumu "Klienta forma", kurā strādājat ar klientu datiem. Klientu formai var būt poga, kas atver pasūtījuma formu, kurā varat ievadīt šī klienta jauno pasūtījumu.
Formas ļauj arī kontrolēt, kā lietotāji mijiedarbojas ar datubāzes datiem. Piemēram, var izveidot formu, kas rāda tikai noteiktus laukus un ļauj veikt tikai noteiktas darbības. Tas palīdz aizsargāt datus un nodrošināt, ka dati tiek pareizi ievadīti.

Atskaites

Atskaites tiek izmantotas datu apkopošanai un rādīšanai tabulās. Atskaite parasti atbild uz konkrētu jautājumu, piemēram, "Cik daudz naudas šogad esam saņēmuši no katra klienta?" vai "Kādās pilsētās atrodas mūsu klienti?". Katra atskaite var būt formatēta tā, lai rādītu informāciju pēc iespējas salasāmākā veidā.
Atskaiti var palaist jebkurā laikā, un tā vienmēr atspoguļos pašreizējos datubāzes datus. Atskaites parasti tiek formatētas, lai tās izdrukātu, bet tās var arī skatīt ekrānā, eksportēt uz citām programmām vai nosūtīt e-pasta ziņojumā.

Vaicājumi

Vaicājumi ir viena no galvenajām datubāzes daļām, kas var veikt daudz dažādu funkciju. Visbiežāk izmantotā funkcija ir noteiktu datu izgūšana no tabulām. Nepieciešamie dati parasti ir izkaisīti vairākās tabulās, bet vaicājumi ļauj tos skatīt vienā datu lapā. Tā kā parasti nav nepieciešams skatīt visus ierakstus vienlaikus, vaicājumi arī ļauj pievienot kritērijus, kas no ierakstiem "izfiltrē" tikai jums vajadzīgos datus. Vaicājumi bieži noder kā formu un atskaišu ierakstu avots.
Noteikti vaicājumi ir "atjaunināmi", kas nozīmē, ka datus pamatā esošajās tabulās var rediģēt ar vaicājuma datu lapas palīdzību. Ja strādājat atjaunināmā vaicājumā, atcerieties, ka izmaiņas patiesībā tiek veiktas tabulās, nevis tikai vaicājuma datu lapā.
Vaicājumiem ir divi paveidi: atlases vaicājumi un darbības vaicājumi. Atlases vaicājums vienkārši izgūst datus un padara tos pieejamus lietošanai. Vaicājuma rezultātus var skatīt ekrānā, izdrukāt vai ielīmēt starpliktuvē. Vai arī vaicājuma izvadi var izmantot kā formas vai atskaites ierakstu avotu.
Darbības vaicājums, kā jau to norāda nosaukums, izpilda uzdevumu ar datiem. Darbības vaicājumus var izmantot, lai izveidotu jaunas tabulas, pievienotu datus esošajām tabulām, atjauninātu vai dzēstu datus.

Makro

Makro programmā Access var tikt uzskatīti par vienkāršotu programmēšanas valodu, kuru var izmantot, lai datubāzei pievienotu funkcionalitāti. Piemēram, komandpogai formā makro var pievienot, lai tas tiktu palaists, kad tiek nospiesta poga. Makro satur darbības, kas veic uzdevumus, piemēram, atver atskaiti, palaiž vaicājumu vai aizver datubāzi. Lielākā daļa datubāzes darbības, kuras tiek veiktas manuāli, var tikt automatizētas, izmantojot makro, tāpēc tie var lieliski ietaupīt laiku.

Moduļi

Moduļi, tāpat kā makro, ir objekti, kurus var izmantot, lai datubāzēm pievienotu funkcionalitāti. Ja izveidojat makro programmā Access, izvēloties no makro darbību saraksta, moduļi tiek rakstīti programmēšanas valodāVisual Basic for Applications (VBA). Modulis ir deklarāciju, priekšrakstu un procedūru kolekcija, kas tiek glabāti kopā kā vienums. Modulis var būt vai nu klases modulis, vai standarta modulis. Klases moduļi tiek pievienoti formām vai atskaitēm, un tajos parasti ir procedūras, kas raksturīgas formai vai atskaitei, kam tās pievienotas. Standarta moduļos ir galvenās procedūras, kas nav saistītas ne ar vienu citu objektu. Standarta moduļi ir uzskaitīti navigācijas rūtī sadaļā Moduļi, turpretī klases moduļi netiek uzskaitīti.

Vēsture

Datubāzes jēdziens
Datubāzes koncepcija ir attīstījusies jau kopš 1960. gada, lai atvieglotu pieaugošās grūtībās, projektēšanas, būvniecības un uzturēšanas kompleksu informācijas sistēmās (parasti ar daudziem vienlaicīgi gala lietotājiem, un ar lielu datu apjomu.) Tā ir attīstījusies līdz ar attīstību Datubāzes pārvaldības sistēmu (DBPS), kas ļauj efektīvi regulēt datubāzēs. Lai gan termini datubāze un DBPS definē dažādas organizācijas, tās ir nedalāmas: Datubāzes rekvizītus nosaka DBPS un otrādi. Oksforda angļu vārdnīca citē 1962. gada tehnisko ziņojumu, kā pirmie izmantojot terminu "datubāze". Ar progresu tehnoloģijas jomās piemēram, procesoros, datora atmiņā, datu uzglabāšanas vietās. un datortīklos, ar to izmēriem, iespējām un datubāzu un to DBPS sniegumi ir pieauguši ar lēcienu. Jau gadu desmitiem tas ir maz ticams, ka sarežģītu informācijas sistēmu var būvēt efektīvi bez pienācīga datubāzu atbalsta DBPS.
Nav plaši atzīta, precīza definīcija priekš DBPS. Tomēr sistēmai, nepieciešams nodrošināt ievērojamu funkcionalitāti, lai to varētu kvalificēt kā DBPS. Tādējādi tā atbalsta datu vākšanai ir ievērotas lietojamības prasības, lai varētu kvalificēt tās kā datubāzes.
Jēdziens "datubāze" nonāca apritē vienlaikus ar tiešās piekļuves datu nesējiem 1960. gadu vidū. Jēdziens apzīmēja atšķirības no iepriekš lietotājiem risinājumiem, atļaujot datu interaktīvu koplietošanu ikdienas pakešapstrādes (secīgas datu apstrādes) vietā.
Pirmajās datubāzu sistēmās produktivitāte bija pirmajā vietā, tomēr jau tolaik bija skaidrs, ka ir arī citi apsvērumi, kuriem jāpievērš uzmanība. Viens no galvenajiem uzdevumiem bija panākt datu neatkarību no lietotņu darbības, lai ar tiem pašiem datiem varētu strādāt arī citas lietotnes. Pirmā datubāzu sistēmu paaudze bija navigācijas lietotnes, kuras piekļuva datiem sekojot norādēm no viena ieraksta uz nākamo. Divi izplatītākie datu modeļi tolaik bija hierarhiskais modelis, kuru optimizēja IBM IMS sistēma, un Codasyl modelis, kuru integrēja dažādos produktos, piemēram IDMS.
Relāciju modeli pirmo reizi ierosināja Edgars F. Codds 1970. gadā. Jaunais uzstādījums bija, ka lietotnēm datus vajadzētu meklēt pēc satura, nevis norādēm. Tas tika uzskatīts par nepieciešamu, lai varētu papildināt datubāzes saturu, katru reizi nepārrakstot lietotnes kodu. Relāciju sistēmas uzstādīja augstas prasības skaitļošanas jaudām, tāpēc tikai 1980. gadu vidū, kad datoraparatūra bija pietiekami attīstījusies, tās varēja sākt plaši pielietot. Neskatoties uz to, jau 1990. gadu sākumā, visur, kur bija nepieciešamība pēc lielapjoma datu apstrādes, tika izmantota tieši relāciju sistēma. Savu dominanci tā ir saglabājusi līdz šodienai (2011) ar specifiskiem izņēmumiem, kur šāda sistēma nav lietderīga. Vadošā relāciju datubāzu programmēšanas valoda ir SQL, kas kalpo par piemēru arī cietiem datubāzu modeļiem.
Tā kā relāciju modelis liek uzsvaru uz ierakstu meklēšanu nevis navigāciju starp tiem, tas nepadara relācijas starp dažādām entītijām skaidrā norāžu formā, bet tā vietā izmanto primārās un ārējās atslēgas. Tas ir labs pamats vaicājumvalodai, tomēr tas nav īpaši piemērots modelēšanas valodai. Šī iemesla dēļ entītiju relāciju modelis, kas radās 1976, gadā, ieguva popularitāti datubāzu dizainos. Kopš 1970. gada datubāzu tehnoloģijas attīstās kopā ar datoru tehnoloģijām, kas piedāvā arvien lielākas skaitļošanas jaudas un atmiņas apjomus par zemāku cenu. Tas ir ļāvis izveidot arvien lielāka apjoma datubāzes, vienlaikus palielināt to noslodzi.

Datubāzu pārvaldības sistēma

Programmatūru, kas radīta, lai pārvaldītu vispārējas nozīmes datubāzes, sauc par datubāzu pārvaldības sistēmām jeb DBPS (angļu: "Database management system (DBMS)"). Iespējamas ir dažādas programmatūras arhitektūras: mazām datubāzēm visa funkcionalitāte ir ietverta vienā programmā, savukārt lielākās datubāzēs gandrīz vienmēr izmanto klienta-servera arhitektūru. Datubāzu pārvaldības sistēmas sastāv no programmatūras, kas operē ar datubāzēm, nodrošinot atmiņas, drošības, piekļuves, dublēšanas un citas iespējas. Datubāzu pārvaldības sistēma var tik klasificēta balstoties uz datubāzes modeli, kuru tā atbalsta, piemēram, relāciju modeli vai XML, datoru tipa, kuru tā atbalsta, piemēram, servera klastera vai mobilā telefona, vaicājumvalodas piekļuves, piemēram, SQL vai XQuery, veiktspēju, piemēram maksimuma skalas vai maksimālā ātruma vai citiem rādītājiem. Dažas datubāzu pārvaldības sistēmas ietver sevī vairāk nekā vienu no šiem klasifikācijas punktiem, piemēram, vairākas vaicājumvalodas. Gandrīz visās datubāzu programmatūrās ir iebūvēts Open Database Connectivity (ODBC) draiveris, kas ļauj datubāzē integrēt citas datubāzes. DBPS priekšgala sistēma (klients) atbild par datu ievadīšanu, pieprasīšanu un pārskatīšanu. Aizmugures sistēma (serveris) ir programmu kopums, kas kontrolē datu glabāšanu un atbild uz priekšgala sistēmas pieprasījumiem. Meklēšanu un kārtošanu parasti veic serveris. Eksistē ļoti dažādi datubāzu īstenojumu, sākot no vienkāršākajiem ar vienkāršām tabulām, kas katra tiek glabāta savā datnē, līdz pat ļoti lielām datubāzēm ar miljoniem ierakstu, kuri tiek glabāti daudzos datu nesējos. Starp DBPS ir lielas atšķirības — tās var ietvert vai neietvert datu pareizuma pārbaudes, datu integritātes un konsistences nodrošināšanu, tās var spēt vienlaicīgi strādāt ar tikai vienu procesu, bet ir arī sistēmas, kas ļauj lielam lietotāju reizē mainīt datus, novēršot konfliktsituācijas.
Komponenti DBVS

Lielākā daļa DBVS, sākot ar 2009. gadu ir īstenotas relāciju modelī. Citas DBVS sistēmas, piemēram, objektu DBVS, piedāvā īpašās iezīmes ar lielākām specializācijas prasībām. To sastāvdaļas, ir līdzīgas, bet ne identiskas.
RDBMS sastāvdaļas

Sublanguages​​-Relācija DBVS (RDBMS) ietver datu definīcijas valodas (DDL), lai noteiktu datubāzes struktūru, datu kontroles valodu (DCL), lai noteiktu drošības, piekļuves kontroles un datu manipulācijas valodu (DML) attiecībā uz pieprasījumiem un datu atjaunošanu. Interfeiss ir draiveru kodu bibliotēkas, kas nodrošina metodes, lai sagatavotu pārskatus, izpildītu pārskatus, izsauktu rezultātus utt. Kā piemērus var minēt ODBC, JDBC, MySQL / PHP, FireBird / Python.
SQL motors — Šis komponents interpretē un izpilda DDL, DCL un BDL pārskati. Tas ietver trīs galvenās sastāvdaļas (kompilators, pilnveidotājs un izpildītājs).
Relāciju motors — Relāciju objektu, piemēram, tabulu, indekss, un atsauces integritātes ierobežojumi tiek ieviesti ar šo komponentu.
Uzglabāšanas motors — Šis komponents saglabā un nolasa datus no sekundārās glabātuves, kā arī pārvalda darījumu saistības un atcelšanas, dublējumus un atjaunošanas.

Darbības datubāze

Šīs datubāzes glabā detalizētu informāciju par organizācijas vai uzņēmuma darbību. Parasti tās tiek sakārtotas pēc priekšmeta, apstrādā relatīvi daudz izmaiņu un darbību. Pamatā visas lielās pasaules organizācijas izmanto šāda veida datubāzi. Kā piemēru var minēt klientu datubāzes, kas reģistrē kontaktinformāciju, kredīt informāciju un demogrāfisko informāciju par uzņēmuma klientiem. Darbinieku datubāzes glabā informāciju par algām, slodzēm, izglītību un citu informāciju par darbiniekiem. Uzņēmuma resursu datubāzes, kas glabā informāciju par produktiem, to pieejamību un sastāvdaļām vai arī finanšu datubāzes, kas seko līdzi uzņēmuma naudas plūsmai.

Datu noliktavas

Datu noliktavas glabā mūsdienu datus no darbību datubāzēm un bieži arī no ārējiem avotiem, ka piemēram tirgus izpētes uzņēmumiem. Bieži ienākošie dati no darbību datubāzēm tiek pārveidoti — apkopoti, pārklasificēti un padarīti anonīmi. Šie dati tad ir pieejami menedžeriem un citiem galalietotājiem kuriem parasti nav pieejas darbības datiem. Pamata datu noliktavas sastāvdaļas ir datu saņemšana un analizēšana, pārveidošana, ielāde un pārvaldīšana lai tā varētu tikt izmantota tālāk.

Analītiskā datubāze

Analītiķi var strādāt ar datu noliktavām, vai arī izveidot atsevišķu analītisko datubāzi priekš tiešsaistes analītiskās apstrādes. Piemēram, uzņēmums var izvilkt pārdošanas datus no datu noliktavas lai analizētu reklāmas efektivitāti un cita veida pārdošanas paaugstināšanu apkopojošā līmenī.

Dalītās datubāzes

Šīs ir datubāzes priekš vietējām darba grupām vai departamentiem reģionālajos birojos, filiālēs, ražotņu vai citās darba vietās. Tās var saturēt daļu no parastās darbību datubāzes un lietotāju datubāzes kā arī datus, kuri tiek lietoti tikai vietēji.

Gala lietotāju datubāze

Šīs datubāzes sastāv no galalietotāja paša izveidotiem datiem. Par piemēru var minēt datubāzi dažādu dokumentu glabāšanai izklājlapu formā, lejuplādēto failu glabāšanu vai arī personīgo datubāzi pastmarku kolekcijas uzturēšanai.

Ārējās datubāzes

Šīs datubāzes izmanto lai glabātu datus no vairākām organizācijām vai nu brīvi vai arī kā abonentiem. Kā piemēru var minēt interneta filmu datubāzi.

Hipermēdiju datubāze

Globālo tīmekli var uztvert kā datubāzi, tādu kas izkaisīta pa miljoniem datoru. Tīmekļa pārlūkprogrammas apstrādā šos datu pa vienai lappusei kamēr tīmekļa rāpuļi un cita līdzīga programmatūra veido datubāzei ekvivalentus indeksus, lai atbalstītu meklējumus un citas aktivitātes.

Pēc-relāciju datubāzes modeļi

Produkti, kas tiek piedāvāti kā vispārīgāki datu modeļi nekā relāciju modeļi, reizēm tiek klasificēti par pēc-relāciju modeļiem. Alternatīvi termini sevī ietver "hibrīdu datubāze", "objekt-uzlabotas RDBMS" u. c. Datu modelis šādos produktos ietver relācijas, bet nevadās pēc E. F.Codd's Informācijas Principa, kas paredz, ka visa informācija datubāzē jānovirza relāciju vērtībās un ne kā savādāk.
Daži no šiem relāciju modeļa paplašinājumiem integrē no tehnoloģijām, kas datē relāciju modeli. Piemēram, tie pieļauj orientēta grafa attēlošanu ar kokiem mezglos.
Daži pēc-relāciju produkti paplašina relāciju sistēmas ar ne-relāciju pazīmēm. Daži tai pat vietā pievieno relāciju pazīmes pēc-relāciju sistēmām. Paradoksāli, ka tas ļauj produktiem, kas ir vēsturiski relācijai nepiemēroti, kā PICK un MUMPS, veidot ticamu prasību būt relācijai piemēroti.

Objektu datubāzes modeļi

Pēdējos gados, objektorientētā paradigma ir piemērota tādās jomās kā inženierzinātnes un telpisko datubāzes, telekomunikācijas un dažādās zinātnes jomās. Gada objektorientētā programmēšana un datubāzu tehnoloģija, sarecējums rezultātā šo jauno datubāzi. Šīm datubāzēm mēģinājums, lai datubāzi pasaulē un lietojumprogrammu programmēšanas pasaulē ciešāk kopā, jo īpaši nodrošinot, ka datubāze izmanto tāda paša veida sistēmas lietojumprogrammu. Šis mērķis ir novērst gaisa (dažreiz saukta pretestība nesakritība), konvertējot informācijas apmaiņu starp savu pārstāvību datubāzē (piemēram, kā rindas tabulu), un tās pārstāvniecību lietojumprogrammu (parasti kā objekti.) Tajā pašā laikā, objektu datubāzes mēģinot ieviest galvenās idejas no objekta plānošanu, piemēram, iekapsulēšanu un polimorfisms, pasaulē datubāzes.
No šiem veidiem daudzi ir izmēģināti lai glabātu objektus datubāzē. Daži produkti pieiet problēmai no lietotņu programmēšanas puses, padarot, objektus, kurus manipulē programma, patstāvīgus. Tādēļ arī parasti nepieciešams papildus izmantot speciālu pieprasījumu valodu, jo parastās programmēšanas valodas nepiedāvā valodas līmeņa funkcijas, lai atrastu informāciju datubāzēs pēc tās satura. Citi pieiet problēmai no datubāzes puses, nosakot objektorientētu datu modeli priekš datubāzes un izveidojot datubāzes programmēšanas valodu, kas ļauto datubāzi gan programmēt, gan apstrādāt tradicionālos pieprasījumu veidus.
Gala lietotāja datubāze
Šī datubāze sastāv no datiem, kurus izstrādājis gala lietotājs. Piemēram, dokumentu kolekcijas, izklājlapas, prezentācijas, multivide un citi dokumenti. Vairāki produkti eksistē, kas atbalsta šādas datubāzes. Daži no tiem ir daudz vienkāršāki nekā pilntiesīgas datubāzes, bet daudz vienkāršāku lietojamību, piemēram, neatbalsta funkciju, ka vairāki lietotāji var strādāt ar to pašu datubāzi, ar pamata programmēšanas iespējām un salīdzinoši mazu iespēju klāstu. Tas nenozīmē, ka pilntiesīgas datubāzes nevar izmatot tiem pašiem mērķiem, ja vien tās piedāvā tās pašas vienkāršās fukcijas parastajam lietotājam. Šeit galvenais ir noteikt robežas meklējumu iespējām, kvalitātei un aizsardzībai, ko šīs datubāzes spēj piedāvāt.

Indeksēšana

Indeksācija ir veids, lai uzlabotu datubāzes veiktspēju. Daudzu veidu indeksa kopīga īpašuma, kas tās novērš vajadzību pārbaudīt katru ierakstu, braucot vaicājumu. Lielās datubāzēs, tas var mazināt pieprasījumu, laiks, izmaksas, ko kārtām. Visvienkāršākais veids indekss ir sakārtots vērtību sarakstu, kurus var meklēt, izmantojot bināro meklēšanu ar blakus atsaucoties uz vietu, kad, līdzīgi indeksu aizmugurē grāmatu. Paši dati var būt vairāki indeksi (darbinieku datubāzi varētu indeksēt pēc uzvārda un īre datumu.)
Indeksi ietekmēt veiktspēju, bet ne rezultātu. Datubāzes dizaineri var pievienot vai noņemt indeksi bez izmaiņām piemērojot loģikas, samazinot uzturēšanas izmaksas, jo datubāze aug un datubāzes izmantošanas attīstību.
Ņemot vērā īpaši vaicājumu, DBVS "vaicājumu optimizētāju ir atbildīga par izstrādāt visefektīvāko stratēģiju, lai atrastu atbilstošu datu. Pilnveidotājs izlemj, kura indeksu vai indeksu, lai izmantotu, kā apvienot datus no dažādām datubāzes, kā sniegt datus secībā pieprasīta, u. c.
Indeksu var paātrināt piekļuvi datiem, bet tie patērē vietu datubāzē, un ir jāatjaunina katru reizi, kad dati ir mainīti. Indeksu tāpēc var paātrināt piekļuvi datiem, bet lēns datu uzturēšanu. Šie divi īpašības nosaka, vai konkrētā indeksa ir vērts izmaksas.

Konfidencialitāte

Likumi un noteikumi regulē informācijas publiskošanu no dažām datubāzēm,piemēram, aizsargājot medicīnisko vēsturi, vadītāju uzskaites, tālruņa žurnālus utt. Latvijā Fizisko personu datu aizsardzības likums nosaka, kāda informācija nav pieļaujama publiskošanai un izplatīšanai.