Datu bāzes dizains: soļi un pamati

Satura rādītājs:

Datu bāzes dizains: soļi un pamati
Datu bāzes dizains: soļi un pamati
Anonim

Datu bāzes izveide ir secīgs process pieejamo zināšanu un rīku pielāgošanai, lai attēlotu un apstrādātu informāciju.

Reālais apjoms, konkrētais uzdevums, ienākošās informācijas plūsmas apraksts un vispārīgie priekšstati par informācijas apstrādes procesu pakāpeniski tiek summēti līdz noteiktam konceptuālam priekšstatam par to, kas un kā konkrētajā gadījumā ir datubāze lai strādātu ar to.

Mūsdienu datu bāze

Attiecību attiecības ir jebkura informācijas modeļa pamatā. Oracle risinājumi pēc būtības ir līdzvērtīgi MySQL, taču daudzos aspektos tie būtiski atšķiras. Datu bāzes dizains ir arī jautājums par drošību, informācijas apjomu un atbildību par datu integritāti, taču tas ir otršķirīgs jautājums par efektīvas, uzticamas un lietotājam draudzīgas datu bāzes izveidi.

datu bāzes projektēšanas soļi
datu bāzes projektēšanas soļi

Excel tabulas neatšķiras no Oracle un MySQL taisnstūrveida (relāciju) struktūru kontekstā: kolonnas un rindas=viena šūna kolonnas nosaukuma (lauka) un atlases indeksa (rindas) krustpunktā. Ja neņem vērā roku darba apjomu un apjomu, tad, pateicoties izstrādātajiem līdzekļiem, kas ļauj apvienot šūnas vertikāli un horizontāli, Excel apsteidz pat Oracle!

Excel pēc savas pamatidejas nekad "nespīd" Oracle dinamiku, funkcionalitāti un nevar kaut ko pārnest no vienas lapas uz otru "pēc paliekām". Šeit Oracle ir daudzsološāks, taču tā apsvērumi par liela informācijas apjoma migrācijas jautājumiem un formalizētu pozīciju apvienošanu no dažādiem avotiem atstāj daudz vēlamo. Šeit MySQL ir daudzsološāks: tas neuzstāda sev globālus uzdevumus, bet lieliski veic savu darbu.

Attiecību attiecības ir ērti, praktiski un vispāratzīti rīki, sākot no privātiem Excel līmeņa risinājumiem līdz Oracle globālajiem apjomiem, tiek izmantoti visur, pieprasīti, un tiem ir garantēta darba nodrošināta nākotne.

Mūsdienīga datu bāze ir tabulas, rindas, kolonnas un indeksi, ko ieskauj pilna funkcionalitāte, izstrādāti papildu rīki, kas ņem vērā vairākas darbības, lielas slodzes un milzīgus apjomus.

Zināšanas un pieredze par mūsdienu datu bāzes pārvaldības sistēmām (DBVS) ņem vērā ne tikai uzticamības, datu uzticamības, piekļuves regulēšanas un drošības jautājumus, bet arī ļauj izsekot negatīvām ārējām ietekmēm, analizēt iespējamos uzbrukumusun mēģinājumi tīši kaitēt.

Mūsdienīga datubāze ir uzticams pamats jebkuram tīmekļa resursam un lokālai lietojumprogrammai, iespējai migrēt informāciju, pārveidot un pārsūtīt datus, krustoties un apvienot dažādus skatus.

Vienīgais būtiskais nosacījums: augsti kvalificēts izstrādātājs. Lai veiktu efektīvu relāciju datu bāzu projektēšanu, ir pieejams speciālists, bet biežāk arī speciālistu un ekspertu komanda risināmās problēmas pielietošanas jomā.

Apjoms, iespējamais risinājums un šķēršļi

Informācija cirkulē visur. Daudzi projekti ir tieši savienoti ar internetu, taču formāla datu attēlojuma faktors šeit nav labāks par nenoteiktības faktoru, veidojot tīmekļa resursu tērauda rūpnīcai.

Attīstība un masveida interese par interneta veikaliem nedod pamatu un iespējas viena veikala izveides pieredzi pārnest uz cita veikala izveidi. Komercnoslēpuma faktors rada daudzus šķēršļus zināšanu nodošanai, lai gan patiesībā jums ir jānodala faktiskais veikals no šim veikalam izveidotajiem programmatūras rīkiem.

relāciju datu bāzes dizains
relāciju datu bāzes dizains

Protams, klients maksāja, un vietnes kods ir viņa īpašums. Mūsdienībai raksturīga iezīme: zināšanu un attīstības pārnese starp viena veida uzdevumiem un saistītām pielietojuma jomām nav iespējama, un tā ir problēma.

Parsēšana ir plašs datu bāzu pārvaldības sistēmu lietojumu klāsts. Pirmkārt, tā ir informācijas skenēšana no interneta. Tikpat svarīgi ir salīdzināt tajā uzkrāto informācijudatu bāze un tīmekļa apmeklētāju pieprasījumi.

Atslēgvārdu analīze ietver arī nepieciešamību izveidot optimālu risinājumu, taču datu bāzes dizains programmā Access var būt daudzsološāks nekā MS SQL Server vai Oracle.

Informācijas avotu saraksts var būt dinamisks. Dinamika var būt raksturīga avota datu bāzes tabulām, tabulu lauku nosaukumiem un izsaukuma (vaicājuma) kārtulām. Relāciju datu bāzu izstrāde no vairākiem avotiem nepārprotami liek jums veidot no avota datiem, nevis no savāktās informācijas optimālas organizācijas.

Jebkurai datubāzei ir raksturīgas divas lietas:

  • orientācija uz saturu, dinamiskas datu bāzes ģenerēšanas algoritms prioritātē;
  • orientācija uz lietošanu, svarīgāka ir datubāzes struktūra un uz tās balstīts informācijas izmantošanas algoritms.

Jebkurā pielietojuma jomā ir formāls ienākošās informācijas plūsmas modelis, informācijas uzglabāšanas modelis - datu bāzes faktiskais dizains un datu izmantošanas modelis (algoritms).

Dažādas procedūras un dizaina soļi

Datu bāzes izveides pamati parasti iedalās trīs posmos. Dažādi speciālisti dažādos veidos atsaucas uz darba posmiem, taču patiesībā ir trīs amati:

  • konceptuālā plānošana;
  • loģisks dizains;
  • tehniskā izpilde.

Prakse veicina iedibinātās tradīcijas. Neatkarīgi no tā, cik sarežģīts ir darbības joma un risināmā problēma. Vienmēr ir nepieciešams izvēlēties pareizoinstrumenti. Piemēram, ir jāapkopo informācija no tīmekļa resursa apmeklētājiem, bet jāsalīdzina ar datiem no MS SQL Server. Tīmekļa resurss tiek mitināts uz FreeBSD (internets, Apache serveris), un MS SQL Server citā pilsētā ir pieejams, izmantojot uzņēmuma izplatīto tīklu.

datu bāzes projektēšanas pamati
datu bāzes projektēšanas pamati

Šajā risinājumā vispirms ir jāatrisina konkrēta problēma: izveidot datu apmaiņu ar iekšējo serveri.

Kopēja uzdevuma tehniskā izpilde noteikti ietekmēs sākumposmu: reti kad datu bāzes projektēšanu var veikt no nulles. Pat ar pārbaudītām problēmu risināšanas tehnoloģijām darbības joma attīstās, vienmēr ir jādara kaut kas savādāk, nekā tas sākotnēji bija paredzēts.

Pēdējā laikā daudzi teorētiķi un praktiķi izmanto entītijas kā īpašus datus. Tās ir abstrakcijas, kas ļauj aprakstīt informācijas modeli ievadē, apstrādes laikā un gala rezultātā - datu bāzē.

Datu un vienību skati

DB dizains, izmantojot abstrakcijas un entītijas: iespēja izveidot informācijas attēlu, definēt datu tipus un attiecības starp tiem.

Parasti šāda datu bāzes modeļa projektēšana beidzas ar grafisko modeli, izmantojot MS Visio vai izvēlētās DBVS vizuālos rīkus. Programmai Access ir savs veids, kā veidot informācijas attēlu, MySQL ir savs, un dažas satura pārvaldības sistēmas pilnībā slēpj datu bāzi, uzliekot izstrādātājam datu modeli, izmantojot savas entītijas -risināmā uzdevuma objekti.

Daudzu satura pārvaldības sistēmu (CMS) raksturīga iezīme ir tā, ka tās veido "lietojumprogrammu", lai iegūtu lielāku abstrakcijas līmeni, aprakstot risināmās problēmas informācijas apgabalu. Īstā datu bāze ir paslēpta, CMS piedāvā izstrādātājam savu priekšstatu par pasaules informācijas ainu.

Rezultātā datu bāzes projektēšanas posmi tiek reducēti līdz pamatprasību ievērošanai un konkrētas CMS veidotāju piedāvāto soļu izpildei. Nav nekā apkaunojoša izmantot Symfony vai Bitrix, Zend vai Yii datubāzu idejas un to dizainu, taču izstrādātājam tā ir "nasta".

Ideālā gadījumā datu bāzes projektēšanas rīki būtu jāizvēlas un jāpiemēro individuāli, bez ārēja viedokļa, bet izmantojot pieredzi un zināšanas.

informācijas datu bāzes projektēšana
informācijas datu bāzes projektēšana

Ideāli piemērots izstrādātājam, lai saņemtu Oracle sertifikātu, taču tas ir pilnīgi pieņemams izstrādātāja kvalifikācijai, lai ietvertu ieskatu Oracle informācijas idejās un darba zināšanas par MySQL lietojumprogrammām.

Sarežģītos projektos un izplatītajā informācijas apstrādē svarīga ir ne tikai datubāze, bet arī informācijas avoti, idejas par patērētāju vajadzībām.

Posmi vai komanda: prioritāšu līdzsvars

Konsekvences prasība ir vissvarīgākā. Datu bāzes projektēšanas pamati ietver arī darba posmu sakārtošanu, starprezultātu uzraudzību, katra pabeigtā posma pārdomāšanu, pamatojoties uz šāda veida darbu izpildi:

  • sistemātiski;
  • fāzēšana;
  • atsauksmes no jebkura laika brīža līdz pašai sākuma pozīcijai.

Šie noteikumi ir abstrakti, taču tie ir ietverti jebkurā teorētiskā un praktiskajā efektīvas datu bāzes izveides tehnoloģijā.

Neviena tehnoloģija neattīstās pati no sevis, tās virza cilvēki. Attīstības komandas kvalifikācija ir būtiska. Datu bāzes informācijas modelis ir ne tikai ietvars, bet arī informācijas plūsmas.

Kas ir vēl svarīgāk: skaista grafika datu bāzes struktūras attēlojumā vai precīzs informācijas plūsmu apraksts dinamikā - ne tikai uzdevuma un apjoma jautājums, bet arī izstrādes komandas viedoklis dinamikā.

datu bāzes struktūras projektēšana
datu bāzes struktūras projektēšana

Personāls ir viss, bet kontekstā: datu bāzes konceptuālais dizains ir viss kvalifikācija. Visi cilvēki ir unikāli, un informācijas sistēmu jomā pastāv un attīstās konkrētu cilvēku reprezentācijas.

Ir svarīgi izveidot izstrādātāju komandu, nevis dažus mītiskus datu bāzes projektēšanas soļus, ko ierosinājis autoritatīvs eksperts. Šī speciālista autoritāte veidojās uz konkrētu darbu pamata, noteiktā laikā. Darbs jāpadara šodien, jauns uzdevums, moderns aprīkojums, svaigas tehnoloģijas, …

Iespējams otrādi. Šajos formātos ir Excel un Access un "bagātīgi" dati no seniem laikiem, kad Windows for Workgoups vēl bija dzīvs un vesels. Daļēji palika dBase un Quattro dati. Šodien šie vārdi jau ir aizmirsti, bet informācijapalicis, tas ir pieprasīts un ir jāsekmē un jāveido jaunas idejas.

Vecais un jaunais: zināšanu līdzsvars

Mākoņu tehnoloģija nav līdzīga datubāzēm, ko darīja Eštons Teits. Tas, ko Oracle reiz iegādājās, nekādā veidā nav salīdzināms ar to, ko tas dara šodien. Taču mainīgie, algoritmi, funkcijas, cilpas un nosacījumi ir palikuši programmēšanā kopš 80. gadu sākuma. Ja vien procedūras koncepcija nav nogrimusi aizmirstībā, un viss paliek kā senos laikos.

Pat mūsdienu objektorientētās programmēšanas idejas ir ietērptas pagājušā gadsimta klasiskajās sintaktiskajās un semantiskajās "važās".

Ko darīt - programmēšana ir inerciāla, un informācijas formalizēšana un informācijas datu bāzu projektēšana ir vairāk process, nevis rezultāts. Iestudēts darbs ir priekšnoteikums rezultātu sasniegšanai. Bet kurš saskaitīja iterāciju skaitu no starpposmiem gandrīz līdz darba sākumam?

Informācija vienmēr ir dinamiska, nekas nestāv uz vietas: īpaši uzdevuma tēma un lietotāja prasības. Katrs paveiktais darba posms ļauj jaunā līmenī izvērtēt jau paveikto un vēl darāmo.

loģisks datu bāzes dizains
loģisks datu bāzes dizains

Ir veltīgi apsvērt datu bāzes struktūras izveidi kā uzdevumu un iegūt gala rezultātu. Tiklīdz datubāze tiks nodota ekspluatācijā, noteikti parādīsies jauna ideja, pat ja datu bāzes izveides rīks bija "vienkāršs" Excel, nevis fantastiski jaudīgs un daudzpusīgs Oracle produkts,manipulējot ar miljoniem darījumu, simtiem tūkstošu vienlaicīgu lietotāju un terabaitiem informācijas.

Prioritāte ir nevis datu bāzes struktūra, bet gan kvalificētas speciālistu komandas veidošana, plus obligāta prasība pēc lielāka rezultāta dinamisma, lai pēc darbu pabeigšanas nebūtu jāsazinās izstrādātājiem, vismaz pāris mēnešus.

Secīga attīstība un/vai augstlēkšana

Windows nav datubāze, bet tai ir relikts - reģistrs. Hosts fails ir vienkārši vietējās mašīnas IP adrešu un simbolisko nosaukumu identifikācija. Taču caur šo failu tiek veidotas informācijas plūsmas no dažādiem domēniem vai uz dažādām DBVS.

Ir iespējams saprast daudzpusīgo Windows kā strādājošu datoru vai serveri, taču tas nekādā veidā nedarbosies, lai attaisnotu šī produkta versiju loģiku. Arī PHP nav datubāze, taču izstrādātāju argumenti, kāpēc 5. versija uzreiz seko 7. versijai, ir pretrunīgi. PHP ir MySQL piekļuves rīks, tā sintakse nosaka, kā veidot vaicājumus un iegūt atbildes no datu bāzes, izmantojot SQL dialektu.

Mūsdienu programmēšanas rīku un datu bāzes atbalsta nesaderības piemēri pēdējos gados ir kļuvuši par normu, taču tas nav pats oriģinālākais. Kas būs aiz Windows 10 versijas? Kādas ir Oracle Database 12c izredzes?

Izstrādātāja-autora informācija: Oracle Database 11g Express Edition (Oracle Database XE) ir sākuma līmeņa DBVS, kuras pamatā ir Oracle Database 11g Release 2 DBVS kods. Šī DBVS ir bezmaksas izstrādei,izvietošana un pārdošana, ātra lejupielāde un vienkārša administrēšana.”

Lietotāja izstrādātāja skatījums: “2013. gadā Oracle izlaida Oracle Database 12c (versija 12.1.0.1) ar galvenajām priekšrocībām, proti, zemākas uzglabāšanas izmaksas, augsta datu pieejamība, viegla datu bāzes konsolidācija un datu piekļuves aizsardzība.

Reāla prakse: objektīvs, efektīvs un iedarbīgs loģiskās datu bāzes dizains ir pieejams tikai kvalificētu izstrādātāju komandai. Iegūt darba rezultātu nav grūti, ir grūti formalizēt ienākošās informācijas plūsmas un noteikt optimālo pamatu.

Uz gludu formu pasauli no precīziem taisnstūriem

Līdz ar objektorientētās programmēšanas parādīšanos datu serializācija ir ieguvusi jaunu elpu. Patiešām, viss apkārt ir tikai līnijas, vēlams ar nenoteiktu garumu. Cipari un datumi arī ir rakstzīmju virknes.

Relāciju attiecību spēks un objektivitāte ir nenoliedzama, taču vai kolonnu un rindu dinamika kaitē to reputācijai? Tabula ir vienkārši dati, kuriem var būt galvene (kolonnu saraksts) vai bez rindiņām. Ļaujiet tabulai būt tikai datu kopumam, kam nav obligāti jābūt nosauktam.

Datu kopa var būt neviendabīga, un tajā var atrast dažādas struktūras datus. Būtībā datu viendabīgums norāda uz tvēruma attīstību. Datu sadalījums pa veidiem un sugām liecina par sistemātisku un objektīvu pieeju, tomēr vēlams pieļaut struktūras dinamikas iespējamību.

Ja izvadeizstrādājot un izveidojot datubāzi, kas pārsniedz stingras struktūras, un pieņemot, ka tabula ir rindu kopums, kas ne vienmēr ir viena veida un līdzīgas savā starpā, datu bāzes dizains krasi mainīsies.

Darba priekšmets būs nevis datu bāzes struktūras apraksts, bet gan informācijas kustības dinamika. Darba posmi tiks sadalīti trīs smaguma centros:

  • ievadīt informācijas plūsmu;
  • informācijas transformācija un pārvietošana datubāzē;
  • atlasiet izmantojamos datus.

Nav tabulas struktūras koncepcijas. Nav rindu vai kolonnu. Ir abstrakcija - dota, noteiktas struktūras, kas apmierina noteiktu punktu algoritmā. Precīzāk, informācijas apstrādes funkcijai ir nepieciešama noteikta informācija noteiktā apmērā.

Obligāta prasība par visu informācijas apstrādes funkciju rekursivitāti un fokusu uz funkcijām, nevis datiem, ļauj veidot datubāzi uzkrātās informācijas un ienākošo datu plūsmas dinamikā, kas tiek izmantota pēc lietotāja iniciatīvas., process vai cita funkcija.

Patiesībā: tika saņemts lietošanas signāls, tika saņemts ielādes pieprasījums, lietojumprogrammā tika aktivizēts trigeris, un ienākošā informācija, izmantojot jau esošo, nodrošināja vēlamo risinājumu.

Fundamentālas zināšanas un stingras konstrukcijas

Zināšanas ir cilvēka prerogatīva, programmas ir datoru nasta. Izstrādātājs var brīvi pielietot zināšanas, kā viņš uzskata par piemērotu konkrētajā situācijā. Vienkāršs cilvēks izmanto daudz datubāzu, nepievēršot tam nozīmi. kādatu bāzes tiek organizētas parasta cilvēka galvā, neviens nezina, bet visi zina, kā viņš veic savu biznesu, kur viņš pieraksta, ko viņš atrod, un kad viņam tas ir jāizmanto.

Programmētāja darba rezultāts - programmas līmenī "Basic", kas izgūst datus no tiešsaistes veikala vietnes, izmantojot ODBC, ir līdzvērtīgs titulētam Oracle izstrādātājam, kurš pieprasa datu ienešanu. no MAKS Aviācijas un kosmosa salona. Abi rezultāti "sasalst" statiskā no brīža, kad darbs ir pabeigts. Šīs nav aktīvas zināšanas, ko cilvēks izmanto, tas ir datu bāzes projektēšanas sistēmas izveides noslēpums.

Algoritmu nevar labot. Viss ir jādefinē dinamiski. Kvalificētu izstrādātāju nopelni ir nenoliedzami, taču tie nebūt neslēpjas Oracle, MySQL vai Access, kas ir ierobežotas ar savām iespējām, elegantajās risinājumu formās. Cita Excel izklājlapa var nodrošināt dinamisku saturu un neprasa programmētāja līdzdalību vairāk vai mazāk pienācīgu laiku pēc darba pabeigšanas.

Jautājums ir par to, cik labi ir formalizēta lietojumprogrammu apgabala dinamika, nevis datu bāzes struktūra.

Live Solutions

Nav iespējams plānot darbu tā, lai kādam uzdevumam piesaistītu profesionālu izstrādātāju komandu. Nav tā, ka komanda būtu apvainojusies, taču tā nav pareizā pieeja.

Tiešraides risinājumi
Tiešraides risinājumi

Datu bāzes projektēšanas uzdevums jāformulē tā, lai izstrādātā funkcionalitāte pilnveidotos pati, uzkrātu zināšanas un, pildot savus “pienākumus”, sāktos nevis no koda,izveidojuši eksperti, bet no zināšanām, kas iegūtas, izmantojot šo kodu.

Ieteicams: