Duomenų bazės dizainas: žingsniai ir pagrindai

Turinys:

Duomenų bazės dizainas: žingsniai ir pagrindai
Duomenų bazės dizainas: žingsniai ir pagrindai
Anonim

Duomenų bazės kūrimas yra nuoseklus turimų žinių ir įrankių pritaikymo procesas informacijai pateikti ir apdoroti.

Tikroji apimtis, konkreti užduotis, gaunamo informacijos srauto aprašymas ir bendros idėjos apie informacijos apdorojimo procesą palaipsniui pridedamos prie tam tikros konceptualios idėjos, kas konkrečiu atveju yra duomenų bazė ir kaip dirbti su juo.

Šiuolaikinė duomenų bazė

Santykiniai ryšiai yra bet kurio informacijos modelio pagrindas. „Oracle“sprendimai iš esmės yra lygiaverčiai MySQL, tačiau daugeliu aspektų jie iš esmės skiriasi. Duomenų bazės kūrimas taip pat yra saugumo, informacijos apimties ir atskaitomybės už duomenų vientisumą klausimas, tačiau tai yra antraeilis dalykas, palyginti su veiksmingos, patikimos ir patogios duomenų bazės kūrimu.

duomenų bazės projektavimo žingsniai
duomenų bazės projektavimo žingsniai

Excel lentelės niekuo nesiskiria nuo Oracle ir MySQL stačiakampių (santykinių) struktūrų kontekste: stulpeliai ir eilutės=vienas langelis stulpelio pavadinimo (lauko) ir pasirinkimo indekso (eilutės) sankirtoje. Jei neatsižvelgsite į rankų darbo matmenis ir kiekį, sukurtų priemonių, skirtų vertikaliai ir horizontaliai sujungti langelius, „Excel“lenkia net „Oracle“!

Excel pagal savo pagrindinę idėją niekada „nespindi“Oracle dinamikos, funkcionalumo ir negali kažko perkelti iš vieno lapo į kitą „pagal likučius“. Čia Oracle yra perspektyvesnis, tačiau jo svarstymai dėl didelių informacijos kiekių migracijos ir formalizuotų pozicijų iš įvairių š altinių derinimo palieka daug norimų rezultatų. Čia MySQL yra perspektyvesnis: jis nenustato sau globalių užduočių, bet puikiai atlieka savo darbą.

Santykiniai ryšiai yra patogūs, praktiški ir nusistovėję įrankiai, pradedant privačiais Excel lygio sprendimais ir baigiant pasauliniais Oracle apimtimis, yra naudojami visur, yra paklausūs ir turi garantuotą ateitį su darbu.

Šiuolaikinė duomenų bazė – tai lentelės, eilutės, stulpeliai ir indeksai, apsupti visu funkcionalumu, sukurti papildomi įrankiai, kuriuose atsižvelgiama į daugybę operacijų, didelių apkrovų ir didžiulius kiekius.

Šiuolaikinių duomenų bazių valdymo sistemų (DBVS) žinios ir patirtis atsižvelgia ne tik į patikimumo, duomenų patikimumo, prieigos reguliavimo ir saugumo klausimus, bet ir leidžia sekti neigiamą išorinį poveikį, analizuoti galimas atakas.ir bando tyčia pakenkti.

Šiuolaikinė duomenų bazė yra patikimas bet kokio žiniatinklio š altinio ir vietinės programos pagrindas, galimybė perkelti informaciją, transformuoti ir perkelti duomenis, susikerta ir derinti skirtingus vaizdus.

Vienintelė esminė sąlyga: aukštos kvalifikacijos kūrėjas. Atlikti efektyvų reliacinių duomenų bazių projektavimą gali specialistas, o dažniau – sprendžiamos problemos taikymo srities specialistų ir ekspertų komanda.

Apimtis, galimas sprendimas ir kliūtys

Informacija sklinda visur. Daugelis projektų yra tiesiogiai prijungti prie interneto, tačiau formalaus duomenų pateikimo veiksnys čia nėra geresnis už neapibrėžtumo faktorių kuriant žiniatinklio š altinį plieno gamyklai.

Plėtra ir didžiulis susidomėjimas internetinėmis parduotuvėmis nesuteikia pagrindo ir galimybių vienos parduotuvės kūrimo patirties perkelti į kitos. Komercinės paslapties veiksnys sukuria daug kliūčių žinių perdavimui, nors iš tikrųjų turėtumėte atskirti tikrąją parduotuvę nuo šiai parduotuvei sukurtų programinės įrangos įrankių.

reliacinės duomenų bazės projektavimas
reliacinės duomenų bazės projektavimas

Žinoma, klientas sumokėjo, o svetainės kodas yra jo nuosavybė. Būdingas modernumo bruožas: žinių ir pokyčių perkėlimas tarp to paties tipo užduočių ir susijusių taikymo sričių yra neįmanomas ir tai yra problema.

Išanalizuoti yra daugybė duomenų bazių valdymo sistemų taikomųjų programų. Visų pirma, tai informacijos nuskaitymas iš interneto. Taip pat svarbu palyginti sukauptą informacijąduomenų bazę ir žiniatinklio lankytojų užklausas.

Raktinių žodžių analizė taip pat apima poreikį sukurti optimalų sprendimą, tačiau duomenų bazės dizainas programoje Access gali būti perspektyvesnis nei MS SQL Server ar Oracle.

Informacijos š altinių sąrašas gali būti dinamiškas. Dinamika gali būti būdinga š altinio duomenų bazių lentelėms, lentelių laukų pavadinimams ir iškvietimo (užklausos) taisyklėms. Reliacinių duomenų bazių kūrimas iš kelių š altinių aiškiai verčia kurti pagal š altinio duomenis, o ne iš optimalaus surinktos informacijos organizavimo.

Bet kuriai duomenų bazei būdingi du dalykai:

  • orientacija į turinį, pirmenybė teikiama dinaminiam duomenų bazių generavimo algoritmui;
  • naudojimo orientacija, svarbesnė duomenų bazės struktūra ir ja pagrįstas informacijos naudojimo algoritmas.

Bet kurioje taikymo srityje yra formalus gaunamos informacijos srauto modelis, informacijos saugojimo modelis – tikrasis duomenų bazės dizainas ir duomenų naudojimo modelis (algoritmas).

Įvairios procedūros ir projektavimo žingsniai

Duomenų bazės projektavimo pagrindai paprastai skirstomi į tris etapus. Skirtingi specialistai skirtingai nurodo darbo etapus, tačiau iš tikrųjų yra trys pozicijos:

  • koncepcinis planavimas;
  • loginis dizainas;
  • techninis vykdymas.

Praktika prisideda prie nusistovėjusių tradicijų. Nesvarbu, kokia sudėtinga apimtis ir sprendžiama problema. Visada reikia pasirinkti tinkamąįrankiai. Pavyzdžiui, reikia rinkti informaciją iš žiniatinklio š altinio lankytojų, bet reikia palyginti ją su duomenimis iš MS SQL Server. Žiniatinklio išteklius talpinamas FreeBSD (internetas, Apache serveris), o MS SQL Server kitame mieste pasiekiamas per įmonės paskirstytą tinklą.

duomenų bazių projektavimo pagrindai
duomenų bazių projektavimo pagrindai

Šiame sprendime pirmiausia turite išspręsti konkrečią problemą: nustatyti duomenų mainus su vidiniu serveriu.

Techninis bendros užduoties vykdymas būtinai turės įtakos pradiniam etapui: retai kada galima sukurti duomenų bazę nuo nulio. Net naudojant patikrintą problemų sprendimo technologiją, taikymo sritis tobulėja, todėl visada reikia ką nors daryti kitaip, nei buvo numatyta iš pradžių.

Pastaruoju metu daugelis teoretikų ir praktikų naudoja subjektus kaip specialius duomenis. Tai abstrakcijos, leidžiančios apibūdinti informacijos modelį įvestyje, apdorojimo metu ir galutiniame rezultate – duomenų bazėje.

Duomenų ir objektų rodiniai

DB projektavimas naudojant abstrakcijas ir esybes: galimybė sukurti informacinį vaizdą, apibrėžti duomenų tipus ir ryšius tarp jų.

Paprastai toks duomenų bazės modelio projektavimas baigiamas grafiniu modeliu, naudojant MS Visio arba pasirinktos DBVS vaizdinius įrankius. „Access“turi savo būdą formuoti informacijos vaizdą, „MySQL“turi savo, o kai kurios turinio valdymo sistemos visiškai slepia duomenų bazę, primesdamos duomenų modelį kūrėjui per savo objektus -sprendžiamos užduoties objektai.

Būdinga daugelio turinio valdymo sistemų (TVS) ypatybė yra ta, kad aprašant sprendžiamos problemos informacinę sritį, jos sukuria didesnį abstrakcijos lygį. Tikroji duomenų bazė yra paslėpta, TVS kūrėjui siūlo savo idėją apie informacinį pasaulio vaizdą.

Dėl to duomenų bazės projektavimo etapai susiaurinami iki esminių reikalavimų laikymosi ir konkrečios TVS kūrėjų pasiūlytų žingsnių vykdymo. Nėra nieko gėdingo naudoti Symfony ar Bitrix, Zend ar Yii duomenų bazių idėjas ir jų dizainą, tačiau kūrėjui tai yra „našta“.

Idealiu atveju duomenų bazių projektavimo įrankiai turėtų būti parenkami ir taikomi individualiai, be pašalinės nuomonės, tačiau naudojant patirtį ir žinias.

informacinių duomenų bazių projektavimas
informacinių duomenų bazių projektavimas

Idealiai tinka kūrėjui, turinčiam „Oracle“sertifikatą, tačiau visiškai priimtina kūrėjo kvalifikacijai, kad būtų įžvalgos apie Oracle informacines idėjas ir darbo žinios apie MySQL programas.

Sudėtinguose projektuose ir paskirstytame informacijos apdorojime svarbi ne tik duomenų bazė, bet ir informacijos, idėjų apie vartotojų poreikius š altiniai.

Etapai arba komanda: prioritetų balansas

Nuoselumo reikalavimas yra pats svarbiausias. Duomenų bazės projektavimo pagrindai taip pat apima darbų etapų išdėstymą, tarpinių rezultatų stebėjimą, kiekvieno užbaigto etapo permąstymą, remiantis tokio tipo darbų atlikimu:

  • sistemingas;
  • fazinis;
  • atsiliepimai nuo bet kurio laiko momento iki pačios pradinės padėties.

Šios nuostatos yra abstrakčios, tačiau yra bet kokiose teorinėse ir praktinėse efektyvios duomenų bazės kūrimo technologijose.

Jokios technologijos nesikuria savaime, jas skatina žmonės. Kūrimo komandos kvalifikacija yra būtina. Duomenų bazės informacinis modelis yra ne tik sistema, bet ir informacijos srautai.

Kas svarbiau: graži grafika pateikiant duomenų bazės struktūrą ar tikslus informacijos srautų aprašymas dinamikoje – tai ne tik užduoties ir apimties, bet ir kūrimo komandos nuomonės dinamikoje klausimas.

duomenų bazės struktūros projektavimas
duomenų bazės struktūros projektavimas

Personalas yra viskas, bet kontekste: konceptualus duomenų bazės dizainas yra viskas, ko reikia. Visi žmonės yra unikalūs, o informacinių sistemų srityje egzistuoja ir vystosi konkrečių žmonių reprezentacijos.

Svarbu suburti kūrėjų komandą, o ne atlikti kokius nors mitinius duomenų bazės kūrimo žingsnius, kuriuos pasiūlė autoritetingas ekspertas. Šio specialisto autoritetas susiformavo konkrečių darbų pagrindu, konkrečiu laiku. Darbą reikia atlikti šiandien, nauja užduotis, moderni įranga, naujausios technologijos, …

Galimas atvirkštinis variantas. Yra „Excel“ir „Access“bei „gausūs“šių formatų duomenys iš senų laikų, kai „Windows for Workgoups“dar gyvavo. Iš dalies liko dBase ir Quattro duomenys. Šiandien šie žodžiai jau pamiršti, bet informacijaišliko, ji yra paklausi ir ją reikia išgauti bei formuoti naujas idėjas.

Sena ir nauja: žinių balansas

Debesų technologija nepanaši į duomenų bazes, kurias darė Ashton-Tate. Tai, ką Oracle kadaise nusipirko, niekaip nepalyginama su tuo, ką jis daro šiandien. Tačiau kintamieji, algoritmai, funkcijos, kilpos ir sąlygos išliko programuojant nuo devintojo dešimtmečio pradžios. Nebent procedūros samprata nugrimzdo į užmarštį ir viskas liks taip, kaip buvo senovėje.

Net šiuolaikinės objektinio programavimo idėjos yra apvilktos klasikinėmis praeito amžiaus sintaksinėmis ir semantinėmis „pančiomis“.

Ką daryti – programavimas yra inercinis, o informacijos formalizavimas ir informacinių duomenų bazių projektavimas yra labiau procesas nei rezultatas. Inscenizuotas darbas yra būtina sąlyga norint pasiekti rezultatų. Bet kas suskaičiavo pakartojimų skaičių nuo tarpinių etapų beveik iki darbo pradžios?

Informacija visada dinamiška, niekas nestovi vietoje: ypač užduoties tema ir vartotojo reikalavimai. Kiekvienas atliktas darbo etapas leidžia nauju lygiu įvertinti, kas jau padaryta ir kas dar liko nuveikta.

loginis duomenų bazės projektavimas
loginis duomenų bazės projektavimas

Duomenų bazės struktūros kūrimą laikyti užduotimi ir gauti galutinį rezultatą beprasmiška. Vos pradėjus eksploatuoti duomenų bazę, tikrai atsiras nauja idėja, net jei duomenų bazės kūrimo įrankis buvo „paprastas“„Excel“, o ne fantastiškai galingas ir universalus „Oracle“produktas,manipuliuoti milijonais operacijų, šimtais tūkstančių vienu metu veikiančių vartotojų ir terabaitais informacijos.

Prioritetas yra ne duomenų bazės struktūra, o kvalifikuotos specialistų komandos suformavimas, plius privalomas reikalavimas didesniam rezultato dinamiškumui, kad atlikus darbus nereikėtų kreiptis kūrėjams, bent porą mėnesių.

Nuosekli plėtra ir (arba) šuoliai į aukštį

Windows nėra duomenų bazė, tačiau ji turi reliktą – registrą. Prieglobos failas yra tiesiog vietinio įrenginio IP adresų ir simbolinių pavadinimų identifikavimas. Tačiau per šį failą formuojami informacijos srautai iš skirtingų domenų arba į skirtingas DBVS.

Galima suprasti įvairiapusę „Windows“kaip veikiantį kompiuterį ar serverį, tačiau tai niekaip nepateisins šio produkto versijų logikos. PHP taip pat nėra duomenų bazė, tačiau kūrėjų argumentai, kodėl 5 versija iškart po 7 versijos, yra nenuoseklūs. PHP yra MySQL prieigos įrankis, jo sintaksė apibrėžia, kaip formuoti užklausas ir gauti atsakymus iš duomenų bazės naudojant SQL dialektą.

Šiuolaikinių programavimo įrankių ir duomenų bazių palaikymo nesuderinamumo pavyzdžiai pastaraisiais metais tapo norma, tačiau tai nėra pats originaliausias. Kas bus už „Windows 10“versijos? Kokios yra „Oracle Database 12c“perspektyvos?

Kūrėjo-autorio informacija: Oracle Database 11g Express Edition (Oracle Database XE) yra pradinio lygio DBVS, pagrįsta Oracle Database 11g Release 2 DBVS kodu. Šią DBVS galima kurti nemokamai,diegimas ir pardavimas, greitas atsisiuntimas ir paprastas administravimas.“

Naudotojo kūrėjo perspektyva: „2013 m. „Oracle“išleido „Oracle Database 12c“(12.1.0.1 versiją), kurios pagrindiniai privalumai – mažesnės saugojimo išlaidos, didelis duomenų prieinamumas, paprastas duomenų bazės konsolidavimas ir duomenų prieigos apsauga „.

Tikra praktika: objektyvus, efektyvus ir efektyvus loginės duomenų bazės dizainas yra prieinamas tik kvalifikuotų kūrėjų komandai. Gauti darbinį rezultatą nėra sunku, sunku formalizuoti gaunamus informacijos srautus ir nustatyti optimalų pagrindą.

Į lygių formų iš tikslių stačiakampių pasaulį

Dėl objektinio programavimo atsiradimo duomenų serializavimas įgavo naują gyvenimą. Iš tiesų, viskas aplink tėra linijos, geriausia neriboto ilgio. Skaičiai ir datos taip pat yra simbolių eilutės.

Santykinių santykių galia ir objektyvumas yra neabejotinas, bet ar stulpelių ir eilučių dinamika kenkia jų reputacijai? Lentelė yra tiesiog duomenys, kurie gali turėti antraštę (stulpelių sąrašą) arba be eilučių. Tegul lentelė yra tik duomenų rinkinys, nebūtinai pavadintas.

Duomenų rinkinys gali būti nevienalytis ir jame galite rasti skirtingos struktūros duomenų. Iš esmės duomenų homogeniškumas rodo apimties raidą. Duomenų pasiskirstymas pagal tipus ir rūšis yra sistemingo ir objektyvaus požiūrio požymis, tačiau vis tiek patartina pripažinti struktūros dinamikos galimybę.

Jei išvestissuprojektavus ir kuriant duomenų bazę, kuri nėra griežtų struktūrų, ir darant prielaidą, kad lentelė yra eilučių, kurios nebūtinai yra to paties tipo ir panašios viena į kitą semantika, rinkinys, duomenų bazės dizainas labai pasikeis.

Darbo tema bus ne duomenų bazės struktūros aprašymas, o informacijos judėjimo dinamika. Darbo etapai bus suskirstyti į tris svorio centrus:

  • įvesti informacijos srautą;
  • informacijos transformavimas ir judėjimas duomenų bazėje;
  • pasirinkite duomenis, kuriuos norite naudoti.

Nėra lentelės struktūros sampratos. Nėra eilučių ar stulpelių. Yra abstrakcija – tam tikros struktūros duotybė, kuri tenkina konkretų algoritmo tašką. Tiksliau, informacijos apdorojimo funkcijai reikalinga tam tikra informacija konkrečia suma.

Privalomas visų informacijos apdorojimo funkcijų rekursyvumo reikalavimas ir dėmesys funkcijoms, o ne duomenims, leidžia kurti duomenų bazę kaupiamos informacijos ir gaunamų duomenų srautų dinamikoje, kurios naudojamos vartotojo iniciatyva., procesas ar kita funkcija.

Tiesą sakant: atėjo naudojimo signalas, gauta užklausa gauti, programos paleidiklis suaktyvėjo, o gaunama informacija per tai, kas jau buvo, pateikė norimą sprendimą.

Pagrindinės žinios ir tvirtos konstrukcijos

Žinios yra žmogaus prerogatyva, programos – kompiuterių našta. Kūrėjas gali laisvai pritaikyti žinias, kaip jam atrodo tinkama konkrečioje situacijoje. Paprastas žmogus naudojasi daugybe duomenų bazių, nesureikšmindamas to. kaipduomenų bazės yra sutvarkytos paprasto žmogaus galvoje, niekas nežino, bet visi žino, kaip jis veda savo verslą, kur užsirašo ką randa ir kada reikia tuo pasinaudoti.

Programuotojo darbo rezultatas – „Basic“programos, kuri per ODBC nuskaito duomenis iš internetinės parduotuvės svetainės, lygiu prilygsta tituluotam „Oracle“kūrėjui, kuris pateikia užklausą gauti duomenis. iš MAKS Aviacijos ir kosmoso salono. Abu rezultatai „užstringa“statikoje nuo to momento, kai baigiamas darbas. Tai nėra aktyvios žinios, kuriomis žmogus naudojasi, tai yra duomenų bazės projektavimo sistemos kūrimo paslaptis.

Algoritmas negali būti pataisytas. Viskas turi būti apibrėžta dinamiškai. Kvalifikuotų kūrėjų nuopelnai yra neabejotini, tačiau jie visiškai slypi ne elegantiškose „Oracle“, „MySQL“ar ribotomis galimybėmis „Access“sprendimų formomis. Kita „Excel“skaičiuoklė gali pateikti dinamišką turinį ir nereikalauja programuotojo dalyvavimo daugiau ar mažiau padoraus laiko po darbo pabaigos.

Kyla klausimas, kaip gerai formalizuota taikymo srities dinamika, o ne duomenų bazės struktūra.

Live Solutions

Neįmanoma suplanuoti darbo taip, kad prie užduoties būtų pririšta profesionalių kūrėjų komanda. Ne todėl, kad komanda buvo įžeista, bet tai nėra teisingas požiūris.

Tiesioginiai sprendimai
Tiesioginiai sprendimai

Duomenų bazės projektavimo uždavinys turi būti suformuluotas taip, kad kuriamas funkcionalumas pats tobulėtų, kauptų žinias ir, vykdydamas savo „pareigas“, pradėtų ne nuo kodo,sukūrė ekspertai, bet iš žinių, įgytų naudojant šį kodą.

Rekomenduojamas: