Dependența funcțională și bazele de date relaționale

Informația a avut întotdeauna un interes dinamic adecvat. Dezvoltarea limbajelor de programare, a bazelor de date relaționale și a tehnologiilor informaționale a schimbat radical conținutul și structura de interes. Un anumit sistem strict de reprezentări a luat amploare. Formalizarea, matematica precisa si relatiile binare au devenit un domeniu de succes si dezvoltare rapida a cunoasterii si a experientei.

Lumea naturală a informațiilor nu și-a schimbat dinamica și, dezvoltând conținutul și structura, a ajuns la o înălțime nouă. Are forme netede, iar în natură nu există nimic „Dreptunghiular“. Informația, desigur, se pretează la formalizare, dar are dinamică, nu numai date și algoritmi pentru schimbarea lor de procesare, sarcini în sine și domeniile lor de aplicare se schimbă.

Dependența funcțională

Informație> formalizare> date

Informațiile se transformă în date (model de date, structura de informații, databasehellip-) așa cum o vede programatorul. Nu există nici o garanție că această viziune este corectă, dar dacă programul său rezolvă sarcina prezentată, atunci datele au fost prezentate într-un mod adecvat.

Problema cât de corectă a fost formalizată informația este o chestiune de timp. Până în prezent, conceptul de dinamică (adaptarea de sine la schimbarea condițiilor de utilizare) este doar un vis al programării.

Dependența funcțională: "soluția corectă = program (programator)" și condiția: "corespondența continuă cu problema" sunt valabile în majoritatea cazurilor, dar numai împreună. Dar aceasta nu este baza matematică folosită la crearea bazelor de date.

Declarație directă: dinamica naturală și continuă a informațiilor și algoritmilor pentru rezolvarea problemelor este întotdeauna întotdeauna. A baze de date relaționale aceasta este relații binare + Matematică strictă + construcții formale precise, + ...

Baze de date relaționale

Datele, fișierele și bazele de date

Modul în care sunt stocate datele a fost de mult neimportant: fie că este vorba de un RAM sau de un dispozitiv extern. Componenta hardware a atins un ritm constant de dezvoltare și oferă o bună calitate în volume mari.

Principalele opțiuni de stocare, care diferă în ceea ce privește utilizarea datelor:

  • fișiere;
  • bază de date.

Primul este rezervat programatorului (ce scrie, în ce format, cum se face, cum se citește), al doilea aduce imediat necesitatea de a cunoaște o dependență funcțională simplă.

Viteza de prelevare a probelor și de înregistrare a informațiilor atunci când se lucrează cu fișiere (de mărime rezonabilă, nu astronomică) este foarte rapidă, iar viteza operațiilor similare cu baza de date poate fi, uneori, considerabil lentă.

Dependența funcțională a bazei de date

Experiența personală și inteligența colectivă

În istorie au fost încercări de depășire a limitelor, dar până în prezent există domenii de relaționare. Se acumulează un mare potențial teoretic, practica aplicării este extinsă, iar dezvoltatorii sunt foarte calificați.

Noțiunea de dependență funcțională a dezvoltatorilor de baze de date impune un programator, chiar dacă el nu intenționează să folosească bogăția de experiență matematică-logică a construi structuri complexe de informații, procese, lucrul cu ei, prelevare de probe și de înregistrare a informațiilor.

Chiar și în cel mai simplu caz, programatorul depinde de logica bazei de date, indiferent de ce alege să lucreze. Nu există dorință de a urma canoanele, puteți folosi fișiere, veți obține multe fișiere și o mulțime de experiență personală. O mulțime de timp personal va fi cheltuit și sarcina va fi rezolvată într-o perioadă lungă de timp.

Exemple de dependențe funcționale

Indiferent cât de complexă păreau exemplele dependenței funcționale, nu este necesar să se scufunde în profunzimea sensului și a logicii. Adesea trebuie recunoscut faptul că mintea colectivă a reușit să creeze baze de date excelente de mărime și funcționalitate diferite:

- baze de date relaționale excelente cu o bună reputație, ușor de utilizat, rapid în mâini cu pricepere. Utilizarea acestora economisește timp și elimină nevoia de a scrie foi regulate de cod auxiliar.

Conceptul de dependență funcțională

Caracteristici de programare și date

În programarea a fost mult timp o boala care este in mod constant rescris, se repetă lucrarea predecesorilor, care într-un fel ceva să se adapteze la modificarea informațiilor, sarcina, sau condițiile de utilizare a acestuia.

Particularitatea dependenței funcționale este că, la fel ca în programare, eroarea poate fi foarte costisitoare. Sarcina este rareori simplă. De obicei, în timpul formalizării informațiilor, se obține o reprezentare complexă a datelor. De obicei, elementele lor sunt separate, apoi sunt legate prin chei la anumite relații, apoi sunt stabilite algoritmi pentru formarea de tabele, interogări, algoritmi pentru recuperarea informațiilor.

Este adesea important să se lege de codificare. Nu toate bazele de date oferă soluții mobile pot fi de multe ori se confruntă cu cât de bine pus la punct MySQL, pe care se află o duzină de baze de date, de lucru excelente și stabil, forțând dezvoltator pentru a face baza al unsprezecelea similare cu cele deja acolo.

Există momente în care gazdele partajate restricționează funcționalitatea PHP și acest lucru lasă o amprentă asupra programării accesului la baza de date.

În responsabilitatea de programare astăzi pentru algoritmul echivalent programului de responsabilitate pentru crearea unui model de date. Totul ar trebui să funcționeze, dar nu este întotdeauna necesar să se arunce în jungla teoriei.

Proprietățile dependențelor funcționale ale bazei de date

DB: o simplă dependență de date

În primul rând, conceptul de bază de date este de asemenea o bază de date ca sistem de management bază de date (De exemplu, MySQL), iar unele structuri de informații care reflectă obiectele de date și relațiile dintre ele. O bază de date MySQL «hold» pe sine cât mai multe structuri de informare pentru diverse aplicații. O bază de date Oracle poate oferi procese de informații ale unei companii mari sau banca pentru a controla integritatea securității și a datelor la cel mai înalt nivel, fiind amplasat pe un set de calculatoare care sunt la distanțe diferite, în diferite medii de scule.

În general, se crede că relația este fundamentală în modelul relațional. O relație elementară este un set de coloane cu nume și rânduri cu valori. clasic „Dreptunghi“ (tabel) - progres simplu și eficient. Complexitatea și dependența funcțională a bazei de date începe când „dreptunghiuri“ începe să intre într-o relație între ele.

Numele fiecărei coloane din fiecare tabel trebuie să fie unic în contextul sarcinii. Aceleași date nu pot fi în două tabele. Cunoașteți semnificația conceptelor:

  • "Identificați entitățile";
  • "Eliminați redundanța";
  • "Relații de remediere";
  • "Pentru a asigura fiabilitatea."

- o nevoie elementară de a utiliza baza de date și de a construi un model de date pentru o anumită sarcină.



Încălcarea oricărora dintre aceste concepte - eficiența scăzută a algoritmului, recuperarea lentă a datelor, pierderea datelor și alte probleme.

Caracteristica dependenței funcționale

Dependența funcțională: logică și semnificație

Nu puteți citi despre tuplele de relații, despre faptul că funcția - un set de argumente set de valori și a funcției de potrivire - nu este doar o formulă sau program, dar poate fi dat un set de valori - tabel.

Nu neapărat, dar nu face rău pentru a reprezenta dependența funcțională ca:

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

Dar este necesar să înțelegem că există un tabel la intrare, la ieșire există, de asemenea, un tabel sau o soluție specifică. De obicei, dependența funcțională stabilește o logică de relații între tabele, interogări, privilegii, declanșatoare, proceduri stocate și alte componente (componente) ale bazei de date.

De obicei, tabelele sunt convertite între ele, apoi rezultatul. Dar folosirea dependenței funcționale nu se limitează doar la o astfel de idee. Programatorul construiește reprezentarea datelor de imagine, modelul de domeniu, informații strukturyhellip- indiferent de modul în care se numește, dar în cazul în care funcționează pentru o bază de date specifice, trebuie să se bazeze pe logica sa, să ia în considerare sensul și dialect al limbii folosite sau, de regulă, SQL.

Se poate argumenta că proprietățile dependențelor funcționale ale bazei de date sunt accesibile prin dialectul limbajului SQL folosit. Dar este mult mai important să înțelegem: după toate vicisitudinile dezvoltării, nu au supraviețuit atât de multe baze de date, dar există multe dialecte ale acestei limbi și trăsăturile construcțiilor interne din baze.

Utilizarea dependenței funcționale

Despre vechiul Excel vechi

Când calculatorul sa prezentat pe partea pozitivă, lumea sa împărțit imediat în programatori și utilizatori. De regulă, prima utilizare:

  • PHP, Perl, jаvascript, C ++, Delphi.
  • MySQL, Oracle, MS SQL Server, Visual FoxPro.

Al doilea:

  • Cuvânt.
  • Excel.

Unii utilizatori reușesc să facă independent (fără ajutorul programatorilor) în baza de date Word - un real nonsens.

Experiența utilizatorilor din Excel pentru crearea de baze de date este practică și interesantă. Este important ca Excel, în sine, să fie funcțional, colorat și practic.

O idee tabulară, a definit noțiunea de dependență funcțională vizuală și accesibilă, dar există nuanțe pentru fiecare bază de date. Fiecare are propria sa "față", dar totul de la Excel la Oracle este manipulat de simple pătrate, adică de tabele.

Dacă luăm în considerare faptul că Excel - aceasta nu este o bază de date, dar mulți, utilizatori (nu dezvoltatorii) este atât de folosit, iar Oracle - este complex și puternic pentru a realiza o echipa mare de dezvoltatori este în domeniul bazelor de date, devine firesc să admită - baza de date este o reprezentare un programator (echipa) specific pentru o sarcină specifică și soluția sa.

Care este dependența funcțională, cu ceea ce, unde, de ce, de ce nu este evident decât autorul sau colectivul acestora.

Despre locul în care se desfășoară relația relațională

Progresul științific și tehnologic este o procedură foarte dureroasă și, uneori, crudă. Dacă vă amintiți în cazul în care a început baza de date, ceea ce * .dbf, ambele cibernetica de marcă, apoi a căzut în dragoste cu știința calculatoarelor și a început să aranjeze obstacole în calea circulației high-tech la nivel de țară, devine clar de ce baze de date relaționale sunt atât de tenace și de bună. De ce stilul clasic de programare este încă viu, iar programarea orientată pe obiecte este pur și simplu evaluată, dar nu se pronunță încă.

Nu contează cât de frumoasă dependența funcțională în contextul matematicii:

Exemplul autorului nu este o imagine

Aceasta nu este o relație binară, mai precis, este o ocazie de a regândi ideea de a stabili relații între o multitudine de atribute, care investighează unul la mulți, multi-la-mulți, multi-la-mulți, sau mulți, în general, și unul în special.

Puteți veni cu o mare varietate de relații. Aceasta este o matematică cu logică și este strictă! Informația este propria ei matematică, specială. În ea, este posibil să vorbim despre formalitate doar cu un minus foarte mare.

Puteți formaliza activitatea departamentului de personal, scrie ACS pentru extracția petrolului sau a producției de lapte, pâine, face o selecție într-o bază mare de Google, Yandex si Rambler, dar rezultatul va fi întotdeauna statice, iar fiecare punct în timp este la fel!

Dacă dependența funcțională = logica strictă și matematica = baza pentru bazele de date, atunci ce dinamică putem vorbi despre. Orice decizie va fi formală, orice model formal de date + algoritm strict = o soluție exactă și lipsită de ambiguitate. Informațiile și domeniul de aplicare al oricărui program se schimbă mereu.

motor de căutare de probă, pe aceeași expresie de căutare nu poate fi la fel după o oră sau două, și, în mod clar, într-o zi - în cazul în care expresia de căutare se referă la zona de informații în care o serie de site-uri, resurse, cunoștințe, și alte elemente sunt în continuă schimbare .

Despre șiruri și obiecte

Chiar dacă programul este pur matematic, iar baza sa de date nu se gândește nici măcar la dinamică, există întotdeauna linii. Și linia are o lungime. Și nu poate fi infinit. Nu poate fi chiar o variabilă, ci doar o variabilă condiționată. Printre altele, orice bază de date cu aparatele sale matematice și binar-birocratice impune o mulțime de formalități și aceasta este viteza + calitatea eșantionării și procesarea informațiilor.

Și dacă unele câmpuri din baza de date a numerelor, mai ales cele reale, se adaugă constrângerilor: numărul de cifre, prezența literei "e", formatul reprezentării este mai scurt peste tot și avem întotdeauna importanță proprietățile dependențelor funcționale ale bazei de date: rânduri de lungime variabilă condițional, cu o masă de formalități binare și constrângeri matematice stricte.

Dacă schimbați tonul și ascultați pulsul dinamicii, atunci totul poate fi vopsit pe obiecte. În prima aproximare, numele coloanei din tabel este un obiect, lista de nume este de asemenea un obiect, tabela este mai scurtă este obiectul antetului și există numele coloanelor din antet. Capacele nu pot fi deloc ...

Dar în tabel pot exista linii. Și șirul poate avea valori. Și de ce ar trebui să fie întotdeauna același număr. Masă pătrată complet - aceasta este o particularitate și, în majoritatea cazurilor, una privată.

Despre șiruri și obiecte

Dacă reprezentați toate construcțiile din baza de date cu obiecte, atunci probabil că nu trebuie să construiți relații binare stricte. În acest sens există un sens natural și real, chiar dacă este vorba de o logică obiectivă (neambiguu-ne-matematică) care reflectă dinamica informației și mediul în care există probleme.

Distribuiți pe rețelele sociale:

înrudit
MySQL este ceea ce și unde se aplică?MySQL este ceea ce și unde se aplică?
Care sunt datele? Tipuri de dateCare sunt datele? Tipuri de date
Lista limbajelor de programare. Limbi de programare de nivel scăzut și înaltLista limbajelor de programare. Limbi de programare de nivel scăzut și înalt
Bazele de date sunt relaționale. Conceptul de bază de date relaționalăBazele de date sunt relaționale. Conceptul de bază de date relațională
DB este ... Tipuri și proprietăți ale bazei de dateDB este ... Tipuri și proprietăți ale bazei de date
Care sunt cele mai frecvente în practică bazele de date?Care sunt cele mai frecvente în practică bazele de date?
Teoria și definiția informaticiiTeoria și definiția informaticii
Tehnologii pentru crearea site-urilor web: revizuire și noi tendințeTehnologii pentru crearea site-urilor web: revizuire și noi tendințe
Sistem de gestionare a bazelor de date (DBMS): clasificare, definiție și funcțiiSistem de gestionare a bazelor de date (DBMS): clasificare, definiție și funcții
"Sisteme intelectuale în sfera umanitară": conținutul disciplinei și domeniul aplicării…"Sisteme intelectuale în sfera umanitară": conținutul disciplinei și domeniul aplicării…
» » Dependența funcțională și bazele de date relaționale