Funkcionalna ovisnost i relacijske baze podataka

Informacije su oduvijek imale odgovarajući dinamički interes. Razvoj programskih jezika relacijskih baza podataka i informacijskih tehnologija radikalno je promijenio sadržaj i strukturu interesa. Postojao je određeni strogi sustav reprezentacija. Formalizacija, precizna matematika i binarni odnosi postali su uspješno i brzo razvijajuće polje znanja i iskustva. Prirodni svijet informacija nije promijenio svoju dinamiku i, razvijajući sadržaj i strukturu, porastao je na novu visinu. Ima glatki oblik, koji u prirodi ne postoji ništa "pravokutno". Informacije, naravno, podliježu formalizaciji, ali imaju dinamiku, mijenjaju se ne samo podaci i algoritmi njihove obrade, već se i sami zadaci i njihova područja primjene mijenjaju.


Informacije & gt; formalizacija podataka

Informacije se pretvaraju u podatke (podatkovni model, informacijska struktura baze podataka) kako ih programer vidi. Nema jamstva da je ta vizija ispravna, ali ako je njezin program riješio zadatak, onda su podaci vjerojatno ispravno predstavljeni. Pitanje koliko dobro su formalizirane informacije - pitanje je vremena. Do sada, koncept dinamike (samo-prilagođavanje promjenjivim uvjetima korištenja) - samo je san programiranja. Funkcionalna ovisnost: "ispravno rješenje = program (programer)" i uvjet: "kontinuirana usklađenost" vrijedi u većini slučajeva, ali samo zajednički. Ali to nije matematička osnova koja se koristi pri stvaranju baza podataka.


Izravnotvrdnja: prirodna i kontinuirana dinamika informacija i algoritama za rješavanje problema uvijek. Relacijske baze podataka su binarni odnosi + stroga matematika + točne formalne konstrukcije, +

Podaci, datoteke i baze podataka

Kako su podaci pohranjeni odavno su irelevantni: je li riječ o RAM-u ili vanjskom uređaju. Hardverska komponenta postigla je stabilan tempo razvoja i osigurava dobru kvalitetu u velikim količinama. Opcije glavne memorije razlikuju se u opcijama korištenja podataka:
  • datoteke;
  • baza podataka.
  • Prvi je posvećen programeru (za snimanje, u kojem formatu, kako to raditi, kako čitati), drugi odmah donosi potrebu za poznavanjem jednostavne funkcionalne ovisnosti. Brzina uzorkovanja i snimanja informacija pri radu s datotekama (razumna veličina, ne astronomska) je vrlo brza, a brzina sličnih operacija s bazom podataka ponekad može biti primjetno spora.

    Osobno iskustvo i kolektivni um

    U povijesti su nastojali doći do granica, ali relacijske baze podataka su još uvijek dominantne. Akumulirani veliki teorijski potencijal, praksa primjene je opsežna, a programeri - visoko kvalificirani. Koncept funkcionalne ovisnosti programere baza podataka nametnut programer, čak i ako on ne namjerava koristiti bogatu matematičko i logično iskustvo izgradnje složenih informacijskih struktura, procesa rada s njima, uzorkovanja i snimanja informacija. Čak iu najjednostavnijem slučaju, programer ovisi o logici baze podataka koju je odabrao za rad.Nema želje slijediti kanone, možete koristiti datoteke, dobiti mnogo datoteka i mnogo osobnih iskustava. Bit će potrebno puno osobnog vremena i zadatak će biti riješen dugo vremena.
    Bez obzira na to koliko komplicirani primjeri funkcionalne ovisnosti mogu izgledati, nije nužno uroniti u dubine značenja i logike. Često se mora priznati da je kolektivni um bio u stanju stvoriti izvrsne baze podataka različite veličine i funkcionalnosti:
  • čvrsti Oracle;
  • zahtjevan MS SQL Server;
  • je popularan MySQL.
  • - izvrsne relacijske baze podataka s dobrom reputacijom, jednostavnih za korištenje, brzim telefonima. Njihova primjena štedi vrijeme i eliminira potrebu za pisanjem alternativnih listova pomoćnog koda.

    Značajke programiranja i podataka

    U programiranju već duže vrijeme, bolest ima nešto što treba stalno mijenjati, ponoviti rad prethodnika, prilagoditi nešto novoj informaciji, zadatku ili uvjetima njegove uporabe. Značajka funkcionalne ovisnosti je da, kao iu programiranju, pogreška može biti vrlo skupa. Zadatak je rijetko jednostavan. Obično, tijekom formalizacije informacija, rezultirajuća složena prezentacija podataka. Obično se dodjeljuju njihovi elementi, a zatim se povezuju ključevima u određenim odnosima, zatim se formiraju algoritmi za formiranje tablica, zahtjeva, algoritama informacijskog uzorkovanja. Kodiranje je često vrlo važno. Ne nude sve baze podataka mobilna rješenja, a često se možete suočiti s time koliko je MySQL dobro podešen, na štoPostoje deseci baza podataka, savršeno i stabilno radeći, što prisiljava programera da napravi jedanaestu bazu sličnu onoj koja već postoji. Postoje slučajevi gdje opći hosting ograničava funkcionalnost PHP-a i to nameće udarac u programiranje pristupa bazi podataka. U suvremenom programiranju odgovornost za programski algoritam odgovara odgovornosti za kreiranje podatkovnog modela. Sve bi trebalo raditi, ali ne treba uvijek biti uronjeno u blato teorije.

    DB: jednostavna ovisnost podataka

    Prije svega, koncept baze podataka je baza podataka kao sustav za upravljanje bazom podataka (na primjer, MySQL), kao i određena informacijska struktura koja odražava podatke o zadacima i komunikaciju između njih , Jedna MySQL baza podataka "drži" se onoliko koliko želite informacijske strukture u različitim područjima primjene. Jedna Oracle baza podataka može pružiti informacije velikoj tvrtki ili banci, nadzirati sigurnost i sigurnost podataka na najvišoj razini, na temelju različitih računala na različitim udaljenostima u različitim alatnim trakama.
    Vjeruje se da je odnos temeljni u relacijskom modelu. Osnovni odnos je skup stupaca s imenima i redovima s vrijednostima. Klasični "pravokutnik" (tablica) je jednostavno i učinkovito postizanje napretka. Složenost i funkcionalna ovisnost baze podataka počinje kada "pravokutnici" počnu ulaziti u međusobne odnose. Ime svakog stupca u svakoj tablici treba biti jedinstveno u kontekstu zadatka. Jedno i isto ne može biti u dvojetablice. Upoznajte značenje pojmova:
  • "odredite suštinu";
  • "eliminirati suvišnost";
  • "popraviti odnos";
  • "osigurati sigurnost".
  • je osnovna potreba za korištenjem baze podataka i izgradnje modela podataka za određeni zadatak. Kršenje svakog od ovih pojmova je niska učinkovitost algoritma, sporo uzorkovanje podataka, gubitak podataka i drugi problemi.

    Funkcionalna ovisnost: logika i značenje

    Ne možete čitati o odnosima tuple, da je funkcija podudarnost skupa argumenata s skupom vrijednosti, a funkcija nije samo formula ili graf, ali se može dati skupom vrijednosti - tablica. Nije potrebno, ali ne sprječava prikaz funkcionalne ovisnosti: F (x1 x2, xN) = (y1 y2, yN). Ali budite sigurni da razumijete da je ulaz - tablica, izlaz je također tablica ili određeno rješenje. Obično, funkcionalna ovisnost uspostavlja logiku veza između tablica, upita, povlastica, okidača, pohranjenih procedura i drugih trenutaka (komponenti) baze podataka. Tipično, tablice se pretvaraju jedna u jednu, a zatim u rezultat. No, uporaba funkcionalne ovisnosti nije ograničena na takvu ideju. Programer sam gradi svoju prezentaciju slike podataka, model domene, informacijska struktura nije bitna kako je nazvati, ali ako radi na određenoj bazi podataka, trebala bi se temeljiti na svojoj logici, uzeti u obzir njezin sadržaj i dijalektski jezik, koji se obično koristi SQL , Može se tvrditi da svojstva funkcionalnogOvisnosti o bazi podataka dostupne su preko dijalekta SQL jezika. No mnogo je važnije razumjeti: nakon svih razvojnih perverzija, ne preživljava mnogo baza podataka, ali dijalekti tog jezika su mnogobrojni i značajke unutarnjih struktura u bazama.

    O starom dobrom Excelu

    Kada se računalo pokazalo na pozitivnoj strani, svijet se odmah podijelio na programere i korisnike. U pravilu prve koriste:
  • PHP, Perl, javascript, C ++, Delphi.
  • MySQL, Oracle, MS SQL Server, Visual FoxPro.
  • Drugo:
  • Riječ.
  • Excel.
  • Neki korisnici mudro rade vlastitu (bez pomoći programera) u bazi podataka programa Word - prava glupost. Iskustvo korisnika u Excelu za izradu baza podataka je praktično i zanimljivo. Važno je da je sam Excel funkcionalan, šaren i praktičan. Ideja tablice, koja definira pojam funkcionalne ovisnosti, očita je i dostupna, ali u svakoj bazi podataka postoje nijanse. U svakom od svojih "lica", ali svi Excel u Oracle manipulirati jednostavnih kvadrata, to jest, tablice. Ako uzmemo u obzir da Excel uopće nije baza podataka, ali je mnogi korisnici (ne programeri) koriste točno, a Oracle je složeno i snažno postignuće velikog tima programera u području baze podataka, postaje prirodno priznati da je baza podataka reprezentativna određeni programer (tim) o određenom zadatku i njegovom rješenju. Što je funkcionalna ovisnost s onim što, gdje, zašto, očito, samo autor ili tim.

    O tome gdje se odvijaju relacijski odnosi

    Znanstveni i tehnološki napredak - vrlo bolan postupak, a ponekad i okrutan. Ako se sjećašOno što je počelo s bazama podataka, kao što je * .dbf, kao branded kibernetika, a zatim se zaljubio u računalnu znanost i počeo ometati kretanje visoke tehnologije na razini zemlje, postaje jasno zašto su relacijske baze podataka tako žive i lijepe. Zašto je klasični stil programiranja još uvijek živ, a objektno orijentirano programiranje jednostavno vrednuje, ali ne vlada. Bez obzira na to koliko bi funkcionalna ovisnost u kontekstu matematike bila:
    Ovo nije binarni odnos, ili bolje rečeno, to je prilika da se promisli ideja uspostavljanja odnosa između mnoštva atributa, da se istraži veza između "jedan na mnogo", "mnogo na jedan", "mnogo na mnoge" ili "mnogi zajedno, ali neki posebno" , Varijante odnosa mogu smisliti mnogo. To je matematika s logikom i stroga! Informacija je vaša matematika, posebna. U njemu se formalnosti mogu reći samo s vrlo velikim minusom. Možete formalizirati rad kadrovskog odjela, napisati automatizirani sustav kontrole za proizvodnju nafte ili proizvodnju mlijeka, kruha, na uzorku u ogromnoj bazi goga, yandexa ili rambergera, ali rezultat će uvijek biti statičan i svaki put je isti! Ako je funkcionalna ovisnost = stroga logika i matematika = baza za baze podataka, onda što dinamika može biti jezik. Svaka odluka bit će formalna, bilo koji formalni model podataka + jasan algoritam = precizno i ​​nedvosmisleno rješenje. Informacije i područja primjene uvijek se mijenjaju. Uzorkovanje tražilice na istoj frazi za pretraživanje ne može biti jedno te isto u sat ili dva i,jedinstveno, u jednom danu - ako se izraz za pretraživanje odnosi na polje informacija, broj stranica, resursa, znanja i drugih elemenata se stalno mijenja.

    O nizovima i objektima

    Čak i ako je program čisto matematički i njegova baza podataka uopće ne razmišlja o dinamici, uvijek postoje linije. A linije su duge. I ne može biti beskonačna. Ne može čak biti varijabla, samo uvjetno varijabilna. Između ostalog, svaka baza podataka sa svojim matematičkim i binarno-birokratskim aparatom nameće mnogo formalnosti, a to je brzina + kvaliteta uzorkovanja i obrade informacija. A ako se ta ili druga polja u bazi brojeva, pogotovo onih stvarnih, dodaju ograničenja: broj znamenki, prisutnost slova "e", format prezentacije - kraći svugdje, i uvijek imaju važna svojstva funkcionalnih ovisnosti baze podataka: linije uvjetne varijabilne duljine s masom binarnih formalnosti i stroga matematička ograničenja. Ako promijenite ton i slušate puls zvučnika, sve se može naslikati na objektima. U prvoj aproksimaciji, naziv stupca u tablici je objekt, popis imena - također objekt, kraća tablica je objekt zaglavlja iu njemu su nazivi stupaca u zaglavlju. I zaglavlja svibanj ne biti na sve Ali u tablici može biti redaka. I linija može biti od vrijednosti. I zašto bi uvijek trebali biti isti broj. Puna kvadratna tablica je nesreća, au većini slučajeva privatna.
    Ako pošaljete sve strukture u objektima baze podataka, možda nećete morati graditi strogi binarni odnos. To je prirodno i stvarnoznačenje barem zato što se temelji na objektivnoj (nedvosmisleno ne-matematičkoj) logici koja odražava dinamiku informacija i okruženje u kojem postoje zadaci.

    Povezane publikacije