Andmebaasi disain: sammud ja põhitõed

Sisukord:

Andmebaasi disain: sammud ja põhitõed
Andmebaasi disain: sammud ja põhitõed
Anonim

Andmebaasi kujundamine on järjestikune protsess olemasolevate teadmiste ja tööriistade kohandamiseks teabe esitamiseks ja töötlemiseks.

Tegelik ulatus, konkreetne ülesanne, sissetuleva infovoo kirjeldus ja üldised ideed infotöötlusprotsessi kohta liidetakse järk-järgult teatud kontseptuaalseks ettekujutuseks sellest, mis on andmebaas konkreetsel juhul ja kuidas sellega töötada.

Kaasaegne andmebaas

Suhtesuhted on iga teabemudeli keskmes. Oracle'i lahendused on oma olemuselt samaväärsed MySQL-iga, kuid on mitmes aspektis põhimõtteliselt erinevad. Andmebaasi kujundamine on seotud ka turvalisuse, teabemahu ja andmete terviklikkuse eest vastutusega, kuid need on tõhusa, usaldusväärse ja kasutajasõbraliku andmebaasi kujundamise küsimuses teisejärgulised.

andmebaasi kujundamise etapid
andmebaasi kujundamise etapid

Exceli tabelid ei erine ristkülikukujuliste (relatsiooniliste) struktuuride kontekstis Oracle'ist ja MySQL-ist: veerud ja read=üks lahter veeru nime (välja) ja valikuindeksi (rea) ristumiskohas. Kui te ei võta arvesse käsitsi töö suurust ja hulka, siis tänu välja töötatud vahenditele lahtrite vertikaalseks ja horisontaalseks kombineerimiseks edestab Excel isegi Oracle'i!

Excel oma põhiidee kohaselt ei "hiilga" kunagi Oracle'i dünaamikat, funktsionaalsust ega saa midagi "jääkide järgi" ühelt lehelt teisele üle kanda. Siin on Oracle paljulubavam, kuid selle kaalutlused suurte teabehulkade migreerimise ja erinevatest allikatest pärit formaliseeritud seisukohtade kombineerimise küsimustes jätavad soovida. Siin on MySQL paljulubavam: see ei sea endale globaalseid ülesandeid, kuid teeb oma tööd suurepäraselt.

Suhtesuhted on mugavad, praktilised ja väljakujunenud tööriistad privaatsetest Exceli tasemel lahendustest kuni Oracle'i globaalsete mahtudeni, neid kasutatakse kõikjal, nõutult ja neil on tagatud töökohaga tulevik.

Kaasaegne andmebaas on tabelid, read, veerud ja indeksid, mis on ümbritsetud täieliku funktsionaalsusega, välja töötatud lisatööriistadega, mis võtavad arvesse mitmeid toiminguid, suuri koormusi ja suuri mahtusid.

Kaasaegsete andmebaasihaldussüsteemide (DBMS) teadmised ja kogemused ei võta arvesse mitte ainult töökindluse, andmete usaldusväärsuse, juurdepääsu reguleerimise ja turvalisuse küsimusi, vaid võimaldavad jälgida ka negatiivseid välismõjusid, analüüsida võimalikke ründeidja üritab tahtlikult kahjustada.

Kaasaegne andmebaas on usaldusväärne alus mis tahes veebiressursile ja kohalikule rakendusele, võimalusele migreerida teavet, teisendada ja edastada andmeid, ristuda ja kombineerida erinevaid vaateid.

Ainus oluline tingimus: kõrgelt kvalifitseeritud arendaja. Relatsiooniandmebaaside tõhusa kujundamise teostab spetsialist, sagedamini aga ka spetsialistide ja ekspertide meeskond lahendatava probleemi rakendusvaldkonnas.

Ulatus, võimalik lahendus ja takistused

Teave liigub kõikjal. Paljud projektid on otse Internetiga ühendatud, kuid siin ei ole formaalse andmeesituse tegur parem kui määramatuse tegur terasetehase jaoks veebiressursi loomisel.

Areng ja tohutu huvi veebipoodide vastu ei anna alust ja võimalusi ühe poe loomise kogemuse ülekandmiseks teise loomisesse. Ärisaladuse tegur loob palju takistusi teadmiste edasiandmisel, kuigi tegelikult peaksite eraldama tegeliku poe selle poe jaoks loodud tarkvaratööriistadest.

relatsioonilise andmebaasi kujundamine
relatsioonilise andmebaasi kujundamine

Muidugi klient maksis ja saidi kood on tema omand. Modernsusele iseloomulik tunnus: teadmiste ja arengute ülekandmine sama tüüpi ülesannete ja seotud rakendusvaldkondade vahel on võimatu ja see on probleem.

Parsimine on lai valik rakendusi andmebaasihaldussüsteemide jaoks. Esiteks on see Internetist teabe skannimine. Sama oluline on võrrelda kogutud teavetandmebaasi ja veebikülastajate päringuid.

Märksõnade analüüs hõlmab ka vajadust luua optimaalne lahendus, kuid andmebaasi kujundus Accessis võib olla paljulubavam kui MS SQL Serveris või Oracle'is.

Teabeallikate loend võib olla dünaamiline. Dünaamika võib olla omane lähteandmebaasi tabelitele, tabeliväljade nimedele ja kõne (päringu) reeglitele. Mitmest allikast relatsiooniandmebaaside kujundamine sunnib selgelt kujundama lähteandmete, mitte kogutud teabe optimaalse korralduse alusel.

Igale andmebaasile on omane kaks asja:

  • orienteerumine sisule, dünaamiline andmebaasi genereerimise algoritm prioriteediks;
  • kasutamisele orienteeritus, andmebaasi struktuur on olulisem ja sellel põhineb ka info kasutamise algoritm.

Igas rakendusvaldkonnas on sissetuleva teabevoo formaalne mudel, teabe salvestamise mudel - andmebaasi tegelik ülesehitus ja andmete kasutamise mudel (algoritm).

Erinevad protseduurid ja disainietapid

Andmebaasi kujundamise põhitõed jagunevad tavaliselt kolmeks etapiks. Erinevad spetsialistid viitavad tööetappidele erineval viisil, kuid tegelikult on ametikohti kolm:

  • kontseptuaalne planeerimine;
  • loogiline disain;
  • tehniline teostus.

Praktika aitab kaasa väljakujunenud traditsioonidele. Olenemata sellest, kui keeruline ulatus ja lahendatav probleem on. Alati tuleb valida õigetööriistad. Näiteks peate koguma teavet veebiressursi külastajatelt, kuid peate seda võrdlema MS SQL Serveri andmetega. Veebiressurssi majutatakse FreeBSD-s (Internet, Apache server) ja teises linnas asuv MS SQL Server on saadaval ettevõtte hajutatud võrgu kaudu.

andmebaasi kujundamise põhialused
andmebaasi kujundamise põhialused

Selle lahenduse puhul peate esm alt lahendama konkreetse probleemi: looma andmevahetuse sisemise serveriga.

Ühise ülesande tehniline täitmine avaldab tingimata mõju algetapile: harva saab andmebaasi kujundada nullist. Isegi tõestatud probleemide lahendamise tehnoloogia puhul on ulatus arenev, alati tuleb teha midagi teisiti, kui see algselt ette nähtud.

Viimasel ajal kasutavad paljud teoreetikud ja praktikud üksustega eriandmetena. Need on abstraktsioonid, mis võimaldavad teil kirjeldada teabe mudelit sisendis, töötlemise ajal ja lõpptulemuses - andmebaasis.

Andmete ja olemi vaated

DB kujundamine abstraktsioonide ja olemite kaudu: võimalus luua infopilti, määratleda andmetüüpe ja nendevahelisi seoseid.

Tavaliselt lõpeb selline andmebaasimudeli kujundamine graafilise mudeliga, kasutades MS Visiot või valitud DBMS-i visuaalseid tööriistu. Accessil on oma viis teabepildi moodustamiseks, MySQL-il oma ja mõned sisuhaldussüsteemid peidavad andmebaasi üldse, kehtestades arendajale andmemudeli oma olemite kaudu -lahendatava ülesande objektid.

Paljude sisuhaldussüsteemide (CMS) iseloomulik tunnus on see, et lahendatava probleemi teabeala kirjeldamisel loovad need suurema abstraktsioonitaseme "rakenduse". Tegelik andmebaas on peidetud, CMS pakub arendajale oma ettekujutust maailma infopildist.

Selle tulemusena taanduvad andmebaasi kujundamise etapid põhinõuete järgimisele ja konkreetse CMS-i loojate pakutud sammude täitmisele. Symfony või Bitrixi, Zendi või Yii andmebaaside ideede ja nende disaini kasutamises pole midagi häbiväärset, kuid arendaja jaoks on see "koorem".

Ideaalis tuleks andmebaasi kujundamise tööriistu valida ja rakendada individuaalselt, ilma välise arvamuseta, kuid kogemusi ja teadmisi kasutades.

infobaasi kujundamine
infobaasi kujundamine

Ideaalne arendajale, kellel on Oracle'i sertifikaat, kuid see on täiesti vastuvõetav arendaja kvalifikatsiooni jaoks, et hõlmata teadmisi Oracle'i teabeideedest ja tööteadmisi MySQL-i rakendustest.

Keeruliste projektide ja hajutatud teabetöötluse puhul pole oluline mitte ainult andmebaas, vaid ka teabeallikad, ideed tarbijate vajaduste kohta.

Etapid või meeskond: prioriteetide tasakaal

Järjepidevuse nõue on kõige vahetum. Andmebaasi kujundamise põhitõdedeks on ka tööde etapiviisilisus, vahetulemuste jälgimine, iga läbitud etapi ümbermõtestamine lähtuv alt järgmist tüüpi tööde teostamisest:

  • süstemaatiline;
  • faasimine;
  • tagasiside mis tahes ajahetkest kuni päris alguspositsioonini.

Need sätted on abstraktsed, kuid esinevad igas teoreetilises ja praktilises tõhusa andmebaasi loomise tehnoloogias.

Ükski tehnoloogia ei arene iseenesest, seda juhivad inimesed. Arendusmeeskonna kvalifikatsioon on hädavajalik. Andmebaasi teabemudel pole mitte ainult raamistik, vaid ka teabevood.

Mis on tähtsam: ilus graafika andmebaasi struktuuri esituses või täpne infovoogude kirjeldus dünaamikas – see pole mitte ainult ülesande ja ulatuse küsimus, vaid ka arendusmeeskonna arvamus dünaamikas.

andmebaasi struktuuri kujundamine
andmebaasi struktuuri kujundamine

Personal on kõik, kuid kontekstis: andmebaasi kontseptuaalne ülesehitus on kõik kvalifikatsioon. Kõik inimesed on ainulaadsed ja infosüsteemide valdkonnas eksisteerivad ja arenevad konkreetsete inimeste esindused.

Oluline on moodustada arendajate meeskond, mitte autoriteetse eksperdi soovitatud müütilised andmebaasi kujundamise sammud. Selle spetsialisti autoriteet kujunes konkreetsete tööde põhjal, kindlal ajal. Tööd on vaja teha täna, uus ülesanne, kaasaegne tehnika, värske tehnika, …

Võimalik vastupidine. Nendes vormingutes on Excel ja Access ning "külluslikud" andmed iidsetest aegadest, kui Windows for Workgoups veel elas ja terve. Osaliselt jäid dBase ja Quattro andmed. Tänaseks on need sõnad juba ununenud, aga teavejäi, see on nõutud ja vajab väljavõtmist ja uute ideede kujundamist.

Vana ja uus: teadmiste tasakaal

Pilvetehnoloogia ei sarnane andmebaasidele, mida Ashton-Tate tegi. See, mida Oracle kunagi ostis, ei ole kuidagi võrreldav sellega, mida ta praegu teeb. Kuid muutujad, algoritmid, funktsioonid, tsüklid ja tingimused on programmeerimisse jäänud alates 80ndate algusest. Kui just protseduuri kontseptsioon ei ole unustusehõlma vajunud ja kõik jääb nii, nagu vanasti.

Isegi tänapäevased objektorienteeritud programmeerimise ideed on kaetud eelmise sajandi klassikaliste süntaktiliste ja semantiliste "köidikutega".

Mida teha – programmeerimine on inertsiaalne ning info vormistamine ja infoandmebaaside kujundamine on pigem protsess kui tulemus. Lavatöö on tulemuste saavutamise eelduseks. Aga kes luges iteratsioonide arvu vaheetappidest peaaegu töö alguseni?

Teave on alati dünaamiline, miski ei seisa paigal: eriti ülesande teemavaldkond ja kasutajanõuded. Iga lõpetatud tööetapp võimaldab uuel tasemel hinnata, mis on juba tehtud ja mis on veel tegemata.

loogiline andmebaasi disain
loogiline andmebaasi disain

Andmebaasistruktuuri kujundamise kui ülesande kaalumine ja lõpptulemuse saamine on mõttetu. Niipea kui andmebaas kasutusele võetakse, tekib kindlasti uus idee, isegi kui andmebaasi loomise tööriist oli "lihtne" Excel, mitte aga fantastiliselt võimas ja mitmekülgne Oracle'i toode,miljonite tehingute, sadade tuhandete samaaegsete kasutajate ja terabaitide teabe manipuleerimine.

Prioriteediks ei ole andmebaasi struktuur, vaid kvalifitseeritud spetsialistide meeskonna moodustamine, millele lisandub kohustuslik nõue tulemuse suurema dünaamilisuse järele, et töö lõpetamisel ei oleks vaja ühendust võtta arendajatele vähem alt paar kuud.

Järjestusareng ja/või kõrgushüpped

Windows ei ole andmebaas, kuid sellel on reliikvia – register. Hostifail on lihts alt kohaliku masina IP-aadresside ja sümboolsete nimede tunnus. Kuid selle faili kaudu moodustuvad teabevood erinevatest domeenidest või erinevatesse DBMS-idesse.

On võimalik mõista mitmekülgset Windowsi kui töötavat arvutit või serverit, kuid see ei tööta mingil viisil, et õigustada selle toote versioonide loogikat. PHP pole ka andmebaas, kuid arendajate argumendid, miks 5. versioon järgneb kohe versioonile 7, on vastuolulised. PHP on MySQL-i juurdepääsutööriist, selle süntaks määrab, kuidas moodustada päringuid ja saada andmebaasist vastuseid SQL-i dialekti kasutades.

Näited tänapäevaste programmeerimisvahendite ja andmebaasi toe ühildumatusest on viimastel aastatel muutunud normiks, kuid see pole kõige originaalsem. Mis on Windows 10 versiooni taga? Millised on Oracle Database 12c väljavaated?

Teave arendaja-autori kohta: Oracle Database 11g Express Edition (Oracle Database XE) on algtaseme DBMS, mis põhineb Oracle Database 11g Release 2 DBMS-i koodil. See DBMS on arendamiseks tasuta,juurutamine ja müük, kiire allalaadimine ja lihtne haldamine.”

Kasutaja arendaja vaatenurk: "2013. aastal andis Oracle välja Oracle Database 12c (versioon 12.1.0.1), mille peamised eelised on madalamad salvestuskulud, andmete kõrge kättesaadavus, lihtne andmebaasi konsolideerimine ja andmetele juurdepääsu kaitse "".

Tegelik praktika: objektiivne, tõhus ja tõhus loogiline andmebaasikujundus on saadaval ainult kvalifitseeritud arendajate meeskonnale. Töötulemuse saamine pole keeruline, raske on sissetulevaid infovoogusid vormistada ja optimaalset vundamenti määrata.

Täpsete ristkülikute sujuvate kujundite maailma

Objektorienteeritud programmeerimise tulekuga on andmete serialiseerimine saanud uue hingamise. Tõepoolest, kõik ümberringi on vaid jooned, eelistatav alt määramata pikkusega. Numbrid ja kuupäevad on samuti märgistringid.

Suhtesuhete jõud ja objektiivsus on vaieldamatu, kuid kas veergude ja ridade dünaamika kahjustab nende mainet? Tabel on lihts alt andmed, millel võib olla päis (veergude loend) või mitte ühtegi rida. Olgu tabel lihts alt andmete kogum, millel pole tingimata nime.

Andmete kogum võib olla heterogeenne ja se alt võib leida erineva struktuuriga andmeid. Põhimõtteliselt näitab andmete homogeensus ulatuse arengut. Andmete jaotus liikide ja liikide kaupa on süstemaatilise ja objektiivse lähenemise märk, kuid siiski on soovitatav möönda struktuuridünaamika võimalust.

Kui väljundandmebaasi kavandamine ja loomine väljaspool jäikaid struktuure ning eeldada, et tabel on rida ridu, mis ei pruugi olla sama tüüpi ja semantika poolest sarnased, muutub andmebaasi kujundus dramaatiliselt.

Töö teemaks ei saa olema andmebaasi struktuuri kirjeldus, vaid info liikumise dünaamika. Tööetapid jagatakse kolmeks raskuskeskmeks:

  • sisesta teabevoog;
  • teabe teisendamine ja liikumine andmebaasis;
  • valige kasutatavad andmed.

Tabeli struktuuri kontseptsioon puudub. Ei ole ridu ega veerge. On abstraktsioon – antud, kindla struktuuriga, mis rahuldab algoritmi kindla punkti. Täpsem alt nõuab teabetöötlusfunktsioon teatud teavet kindlas koguses.

Kõigi infotöötlusfunktsioonide rekursiivsuse ja funktsioonidele, mitte andmetele keskendumise kohustuslik nõue võimaldab kujundada andmebaasi kogutud teabe ja sissetuleva andmevoo dünaamikas, mida kasutatakse kasutaja algatusel, protsess või muu funktsioon.

Tegelikult: saabus kasutussignaal, võeti vastu laadimistaotlus, rakenduses käivitus päästik ja sissetulev teave juba olemasoleva kaudu andis soovitud lahenduse.

Fundamentaalsed teadmised ja jäigad konstruktsioonid

Teadmised on inimese eesõigus, programmid on arvutite koorem. Arendaja võib vab alt rakendada teadmisi nii, nagu ta konkreetses olukorras sobivaks peab. Tavainimene kasutab palju andmebaase, tähtsustamata seda. kuidasandmebaasid on organiseeritud tavalise inimese peas, keegi ei tea, aga kõik teavad, kuidas ta oma äri ajab, kuhu ta leitu üles kirjutab ja millal seda kasutada on vaja.

Programmeerija töö tulemus - programmi tasemel "Basic", mis hangib ODBC kaudu veebipoe veebisaidilt andmeid, on samaväärne tiitliga Oracle'i arendajaga, kes esitab andmete toomise taotluse MAKSi lennu- ja kosmosesalongist. Mõlemad tulemused "külmuvad" staatiliselt alates töö lõpetamise hetkest. See ei ole aktiivne teadmine, mida inimene kasutab, see on andmebaasi kujundamise süsteemi loomise saladus.

Algoritmi ei saa parandada. Kõik tuleb dünaamiliselt määratleda. Kvalifitseeritud arendajate eelised on vaieldamatud, kuid need ei seisne sugugi Oracle'i, MySQL-i või Accessi elegantsetes lahendustes, mille võimalused on piiratud. Teine Exceli tabel võib pakkuda dünaamilist sisu ja ei nõua programmeerija osalemist enam-vähem korraliku aja jooksul pärast töö lõpetamist.

Küsimus on selles, kui hästi on vormistatud rakendusala dünaamika, mitte andmebaasi struktuur.

Reaalajas lahendused

Tööd on võimatu planeerida nii, et professionaalsete arendajate meeskond oleks ülesandega seotud. Mitte et meeskond oleks solvunud, aga see pole õige lähenemine.

Reaalajas lahendused
Reaalajas lahendused

Andmebaasi kujundamise ülesanne tuleks sõnastada nii, et väljatöötatav funktsionaalsus ennast täiendaks, koguks teadmisi ja ei lähtuks oma "ülesannete" täitmisel mitte koodist,loodud ekspertide poolt, kuid selle koodi kaudu omandatud teadmiste põhjal.

Soovitan: