Funkcinė priklausomybė ir reliacinės duomenų bazės

Informacija visada buvo pakankamai dinamiškapalūkanos. Programavimo kalbų, reliacinių duomenų bazių ir informacinių technologijų plėtra radikaliai pakeitė susidomėjimo turinį ir struktūrą. Pasirodė tam tikra griežta reprezentacijų sistema. Formalizavimas, tiksli matematika ir dvejetainiai santykiai tampa sėkminga ir sparčiai besikeičiančia žinių ir patirties sritimi.

Natūralus informacijos pasaulis nepakeitė savo dinamikos, o turinio ir struktūros kūrimas pakilo į naują aukštį. Jis turi lygias formas, o gamtoje nieko nėra "Stačiakampis". Informacija, žinoma, būti įformintas, tačiau ji turi dinamiškas, keičiasi ne tik duomenis ir algoritmai, jų apdorojimo, keičiasi patys ir jų taikymo sritys užduotis.

Funkcinė priklausomybė

Informacija> formalizavimas >> duomenys

Informacija konvertuojama į duomenis (duomenų modelis,informacijos struktūra, duomenų bazė ...), kaip tai supranta programuotojas. Nėra jokios garantijos, kad ši vizija yra teisinga, tačiau jei jos programa išsprendžia užduotis, tuomet duomenys buvo pateikti tinkamu būdu.

Klausimas, kaip teisingai tai buvoformalizuota informacija yra laiko klausimas. Iki šiol dinamikos samprata (savireguliavimas prie besikeičiančių naudojimo sąlygų) yra tik programavimo svajonė.

Funkcinė priklausomybė: "Teisingas sprendimas = programa (programuotojas)" ir sąlyga: "nuolatinis atitikimas problemai" galioja daugeliu atvejų, bet tik kartu. Bet tai nėra matematinis pagrindas, naudojamas kuriant duomenų bazes.

Tiesioginė deklaracija: Visada yra natūrali ir nuolatinė informacijos ir algoritmų dinamika sprendžiant problemas. Ir santykinės duomenų bazės yra dvejetainiai santykiai + griežta matematika + tikslios formalios konstrukcijos, + ...

Reliacinės duomenų bazės

Duomenys, failai ir duomenų bazės

Kaip saugomi duomenys jau seniai nesvarbi: ar tai RAM, ar išorinis įrenginys. Aparatinės įrangos komponentas pasiekė stabilų tempą ir užtikrina gerą kokybę dideliais kiekiais.

Pagrindinės saugojimo galimybės, kurios skiriasi duomenų naudojimu:

  • failai;
  • duomenų bazė.

Pirmasis yra skirtas programuotojui (ką rašyti, kokiu formatu, kaip tai padaryti, kaip skaityti ...), antrasis iš karto sukelia poreikį išmokti paprastą funkcinę priklausomybę.

Pavyzdžių ėmimo ir informacijos įrašymo greitis, kai dirbate su failais (pagrįsto dydžio, o ne astronominių), yra labai greitas, o panašių operacijų su duomenų baze greitis kartais gali būti pastebimai lėtas.

Duomenų bazės funkcinė priklausomybė

Asmeninė patirtis ir kolektyvinis intelektas

Istorijoje buvo stengiamasi pereiti prie to, kas buvo pasiektaribas, bet iki šios dienos dominuoja reliacinės duomenų bazės. Sukurtas puikus teorinis potencialas, taikymo praktika yra didelė, o kūrėjai yra aukštos kvalifikacijos.

Sąvoka "funkcinės priklausomybės kūrėjai"programuotojas įveda duomenų bazes, net jei jis neketina naudoti turtingos matematinės ir loginės sudėtingų informacinių struktūrų kūrimo, darbo su jais proceso, informacijos atrankos ir įrašymo patirties.

Net paprasčiausia atveju priklauso nuo programuotojoiš duomenų bazės logikos, ką jis pasirenka dirbti. Nėra noro sekti kanonais, galite naudoti failus, gausite daug failų ir daug asmeninės patirties. Bus išleista daug asmeninio laiko, o užduotis bus išspręsta ilgą laiką.

Funkcinių priklausomybių pavyzdžiai

Nesvarbu, kaip sunku atrodo pavyzdžiaifunkcinė priklausomybė, nebūtina pasinerti į prasmės ir logikos gelmes. Dažnai reikia pripažinti, kad kolektyvinis protas sugebėjo sukurti puikios skirtingo dydžio ir funkcionalumo duomenų bazes:

  • tvirtas "Oracle";
  • reikalauja MS SQL Server;
  • populiarus MySQL.

- puikios reliacinės duomenų bazės su gerareputacija, patogi naudoti, greita kvalifikuotų rankų. Jų naudojimas taupo laiką ir pašalina poreikį parašyti reguliarius pagalbinio kodo lapus.

Funkcinės priklausomybės sąvoka

Programavimo ir duomenų savybės

Programavimas seniai yra kažkas liganuolat perrašykite, pakartokite pirmtakų darbą, kad kažką kažką pritaikytumėte pakeistam informacijai, užduočiai ar jos naudojimo sąlygoms.

Funkcinės priklausomybės ypatumas yra,kad, kaip ir programavime, klaida gali būti labai brangi. Uždavinys yra retai paprastas. Paprastai, formuojant informaciją, gaunamas sudėtingas duomenų pateikimas. Paprastai išskiriami jų elementai, tada jie susiejami raktais su tam tikrais santykiais, tada sudaromi lentelių formavimo algoritmai, užklausos, informacijos paieškos algoritmai.

Dažnai svarbu susieti su kodavimu. Ne visi duomenų bazės pasiūlyti mobilieji sprendimai dažnai gali susidurti su tuo, kaip gerai sureguliuota MySQL, ant kurių yra keliolika duomenų bazes, aukštos kokybės ir stabilų darbo, verčia kūrėjas padaryti vienuoliktą bazę, panašią į jau ten.

Yra kartų, kai bendras naudojimasis priegloba riboja PHP funkcionalumą ir palieka įspaudą programavimo prieigai prie duomenų bazės.

Šiuolaikiniame programavime atsakomybė už programos algoritmą yra lygiavertė atsakomybei už duomenų modelio kūrimą. Viskas turėtų veikti, bet ne visada būtina pasinerti į teorijos džiungles.

Duomenų funkcinių priklausomybių savybės

DB: paprasta priklausomybė nuo duomenų

Visų pirma, duomenų bazės samprata yra ir duomenų bazėduomenų bazių valdymo sistema (pvz., "MySQL") ir kai kurios informacijos struktūros, atspindinčios užduoties duomenis ir jų tarpusavio santykius. Viena "MySQL" duomenų bazė "patobulina" bet kokį informacinių struktūrų skaičių įvairiose taikymo srityse. Viena "Oracle" duomenų bazė gali suteikti didelės įmonės ar banko informacijos procesus, stebėti aukščiausio lygio saugumą ir duomenų saugumą, esančius įvairiuose kompiuteriuose, esančiuose skirtingose ​​skirtingų instrumentų aplinkoje.

Paprastai manoma, kad santykiai yra pagrindiniai reliaciniame modelyje. Elementarus ryšys yra stulpelių su vardais ir eilučių su reikšmėmis rinkinys. Klasikinis "Stačiakampis" (lentelė) - paprasta ir veiksminga pažanga. Duomenų bazės sudėtingumas ir funkcinė priklausomybė prasideda nuo Stačiakampiai pradėti tarpusavyje santykius.

Kiekvieno stulpelio pavadinimas kiekvienoje lentelėje turi būti unikalus užduoties kontekste. Tie patys duomenys negali būti dviejų lentelių. Žinokite sąvokų reikšmę:

  • "Identifikuoti subjektus";
  • "Pašalinti iš darbo";
  • "Nustatyti santykius";
  • "Siekiant užtikrinti patikimumą".

- elementariai reikia naudoti duomenų bazę ir sukurti konkretaus užduoties duomenų modelį.

Bet kurios iš šių sąvokų pažeidimas - mažas algoritmo efektyvumas, lėtas duomenų išieškojimas, duomenų praradimas ir kiti rūpesčiai.

Funkcinės priklausomybės bruožas

Funkcinė priklausomybė: logika ir prasmė

Negalite skaityti apie santykius, apie kąfunkcija yra argumentų rinkinio atitikimas reikšmių rinkiniui, o funkcija yra ne tik formulė ar grafika, bet ji gali būti nurodyta vertybių rinkiniu - lentelė.

Ne visada, bet tai nepažeidžia funkcinės priklausomybės, nes:

F (x1, x2, ..., xN) = (y1, y2, ..., yN).

Bet būtinai supraskite, kad įvestis yra lentelė,Į produkciją taip pat yra lentelė arba konkretus sprendimas. Paprastai funkcinė priklausomybė nustato sąsajų logiką tarp lentelių, užklausų, privilegijų, aktyvuotojų, saugomų procedūrų ir kitų duomenų bazių komponentų (komponentų).

Paprastai lentelės paverčiamos viena į kitą, tadarezultatas. Tačiau funkcinės priklausomybės naudojimas neapsiriboja tokia idėja. Programuotojas sukuria paveikslo duomenimis, domeno modelis, informacinės struktūros atstovavimo ... nesvarbu, kaip jį pavadinti, bet jei jis dirba tam tikrą duomenų bazę, ji turi būti pagrįsta jo logika, atsižvelgti į jos prasmė ir tarmės vartojamos kalbos, kaip taisyklė, SQL.

Galima teigti, kad funkcinės savybėsDuomenų bazių priklausomybės yra prieinamos per vartoto SQL kalbos dialektą. Tačiau tai yra daug svarbiau suprasti: po visų vystymosi kliūčių išgyveno ne tiek daug duomenų bazių, bet yra daug šios kalbos dialektų ir vidinių konstrukcijų ypatybių bazėse.

Funkcinės priklausomybės naudojimas

Apie seną seną "Excel"

Kai kompiuteris pasirodė teigiamoje pusėje, pasaulis tuoj pat pasidalijo programuotojai ir vartotojai. Paprastai pirmasis naudojimas:

  • PHP, Perl, JavaScript, C ++, Delphi.
  • MySQL, Oracle, MS SQL Server, Visual FoxPro.

Antrasis:

  • Žodis
  • Excel.

Kai kurie vartotojai sugeba padaryti savo (be programuotojų pagalbos) Word duomenų bazė - nekilnojamojo nesąmonė.

"Excel" naudotojų patirtis kuriant duomenų bazes yra praktiška ir įdomi. Svarbu, kad "Excel" savaime būtų funkcionalus, spalvingas ir praktiškas.

Tikslinė idėja, apibrėžta funkcinės sąvokos apibrėžtispriklausomybės yra vizualios ir prieinamos, tačiau kiekvienai duomenų bazei yra niuansų. Kiekvienas turi savo "veidą", bet viską nuo "Excel" iki "Oracle" manipuliuoja paprasti kvadratai, tai yra, lentelės.

Jei manome, kad "Excel" nėra duomenų bazėduomenys, tačiau daugelis vartotojai (ne Kūrėjai) ji yra naudojama, ir "Oracle" - tai sudėtinga ir galinga pasiekti didelį komanda kūrėjams yra duomenų bazių srityje, ji tampa natūralus prisipažinti - duomenų bazėje yra tam tikro programuotojas (komanda) į konkrečią problemą ir atstovavimas jos tirpalas.

Kokia yra funkcinė priklausomybė, su kuo, kur, kodėl ... akivaizdžiai tik autorius ar jų kolektyvas.

Apie kur vyksta santykiniai santykiai

Mokslinė ir techninė pažanga yra labai skausmingaprocedūra, o kartais žiaurus. Jei prisimenate, kur prasidėjo duomenų, kas * DBF, abu firminiai kibernetika, tada įsimylėjo su kompiuterių mokslo ir pradėjo organizuoti kliūtis aukštųjų technologijų judėjimo šalies lygmeniu, tampa aišku, kodėl reliacinės duomenų bazės yra labai atkaklus ir gera. Kodėl klasikinio stiliaus iki šios dienos gyva programavimo ir Objektinis programavimas tiesiog vertinami, bet dar nepriėmė.

Nesvarbu, koks gražus funkcinė priklausomybė matematikos kontekste:

Autoriaus pavyzdys nėra paveikslėlis

Tai nėra dvejetainiai santykiai, tiksliau, tai yra pasiteisinimaspersvarstykite idėją užmegzti ryšius tarp daugybės požymių, tiriant "vieno-daugelio", "daug į daugelį", "daug į daugelį" arba daugelį apskritai, o ypač vieną.

Galite sugalvoti puikųnustatyti. Tai matematikos logika, ir ji yra griežta! Informacija yra pati matematika, speciali. Tai gali būti tik formalumas pasakyti su labai dideliu nenaudai.

Galite formalizuoti personalo departamento darbą,parašykite ACS aliejaus gamybai ar pieno gamybai, duonai, pasirinkite didelę "Google", "Yandex" ar "rambler" bazę, bet rezultatas visada bus statinis ir kiekvieną kartą tas pats!

Jei funkcinė priklausomybė yra griežta logikair matematika = pagrindas duomenų bazėms, tada kokia dinamika mes galime kalbėti apie. Bet koks sprendimas bus oficialus, bet koks oficialus duomenų modelis + griežtas algoritmas = tikslus ir nedviprasmiškas sprendimas. Bet kokios programos informacija ir apimtis visada keičiasi.

Pavyzdžio paieškos variklis to patiesPaieškos frazė negali būti vienoda per valandą ar dvi dienas ir, žinoma, per dieną - jei paieškos frazė nurodo informacijos lauką, kuriame nuolat keičiasi svetainių, išteklių, žinių ir kitų elementų skaičius.

Apie strings ir objektus

Net jei programa yra grynai matematinė ir jos duomenų bazėje net nereikia galvoti apie dinamiką, visada yra eilučių. Ir linija turi ilgį. Ir tai yra begalinis negali būti. Tai gali būti net kintamasis, kintamasis tik sąlyginai. Be to, nors iš jų matematinį ir dvejetainiu-biurokratijos duomenų nustato formalumų daug, ir šis greitis + kokybės mėginių ėmimo ir duomenų apdorojimo.

Ir jei tam tikri numerių duomenų bazės laukai, ypač tikri, pridedami prie apribojimų: skaitmenų skaičius, raidės "e" buvimas, atstovybės formatas yra visur trumpesnis ir mes visada svarbūs duomenų bazės funkcinių priklausomybių savybės: sąlygiškai kintamo ilgio eilutės su binariniais formalumais ir griežtais matematiniais apribojimais.

Jei pakeisite toną ir klausysite pulsądinamika, tada viskas gali būti dažoma ant objektų. Pirmame apytiksle lentelės stulpelio pavadinime yra objektas, pavadinimų sąrašas taip pat yra objektas, lentelė yra trumpesnė yra antraštės objektas ir antraštėje yra stulpelių pavadinimai. Ir kepurės gali būti ne visi ...

Bet lentelėje gali būti eilučių. Ir eilutė gali turėti vertes. Ir kodėl jie visada turėtų būti tokio paties skaičiaus. Visas kvadratinis stalas - tai yra ypatinga ir dažniausiai privati.

Apie strings ir objektus

Jei atstovaujate visas konstrukcijas duomenų bazėjeobjektams, tuomet galbūt nereikės kurti griežtų dvejetainių santykių. Tai yra natūrali ir reali reikšmė, jei tik dėl objektyvios (vienareikšmiškai nemetalinės) logikos, atspindinčios informacijos dinamiką ir aplinką, kurioje egzistuoja problemos.

Susijusios naujienos