Proiectarea bazei de date este un proces secvenţial de adaptare a cunoştinţelor şi instrumentelor disponibile pentru a reprezenta şi procesa informaţiile.
Sfera reală, sarcina specifică, descrierea fluxului de informații primite și ideile generale despre procesul de prelucrare a informațiilor se adaugă treptat la o anumită idee conceptuală despre ce este o bază de date într-un anumit caz și cum pentru a lucra cu el.
Bază de date modernă
Relațiile relaționale sunt în centrul oricărui model de informare. Soluțiile Oracle sunt echivalente cu MySQL în esență, dar sunt fundamental diferite în multe aspecte. Proiectarea bazei de date este, de asemenea, o chestiune de securitate, volum de informații și responsabilitate pentru integritatea datelor, dar acestea sunt secundare problemei de proiectare a unei baze de date eficiente, fiabile și ușor de utilizat.
Tabelele Excel nu sunt diferite de Oracle și MySQL în contextul structurilor dreptunghiulare (relaționale): coloane și rânduri=o celulă la intersecția numelui coloanei (câmpul) și indexului de selecție (rând). Dacă nu țineți cont de măsura și cantitatea de muncă manuală, atunci, datorită mijloacelor dezvoltate de combinare a celulelor pe verticală și pe orizontală, Excel este înaintea chiar și Oracle!
Excel, conform ideii sale de bază, nu „strălucește” niciodată dinamica, funcționalitatea Oracle și nu poate transfera ceva dintr-o foaie în alta „după rămășițe”. Aici Oracle este mai promițător, dar considerentele sale privind migrarea unor cantități mari de informații și combinarea pozițiilor formalizate din diverse surse lasă mult de dorit. Aici MySQL este mai promițător: nu își stabilește sarcini globale, dar își face treaba perfect.
Relațiile relaționale sunt instrumente convenabile, practice și bine stabilite, de la soluții private la nivel Excel până la volume globale Oracle, sunt folosite peste tot, la cerere și au un viitor garantat de locuri de muncă.
O bază de date modernă este formată din tabele, rânduri, coloane și indici înconjurate de funcționalități complete, instrumente suplimentare dezvoltate care iau în considerare operațiuni multiple, sarcini mari și volume uriașe.
Cunoștințele și experiența sistemelor moderne de gestionare a bazelor de date (DBMS) iau în considerare nu numai problemele de fiabilitate, fiabilitatea datelor, reglementarea accesului și problemele de securitate, dar fac și posibilă urmărirea influențelor externe negative, analizarea posibilelor atacuriși încearcă să rănească în mod intenționat.
O bază de date modernă este o bază de încredere pentru orice resursă web și aplicație locală, capacitatea de a migra informații, de a transforma și transfera date, de a intersecta și de a combina diferite vederi.
Singura condiție esențială: dezvoltator în alt calificat. Proiectarea eficientă a bazelor de date relaționale este disponibilă unui specialist și, mai des, unei echipe de specialiști și experți în domeniul de aplicare a problemei care se rezolvă.
Domeniul de aplicare, posibila soluție și obstacole
Informațiile circulă peste tot. Multe proiecte sunt conectate direct la Internet, dar factorul de a avea o reprezentare formală a datelor aici nu este mai bun decât factorul de incertitudine atunci când se creează o resursă web pentru o fabrică de oțel.
Dezvoltarea și interesul masiv pentru magazinele online nu oferă baze și oportunități de a transfera experiența creării unui magazin în crearea altuia. Factorul secret comercial creează multe obstacole în calea transferului de cunoștințe, deși, de fapt, ar trebui să separați magazinul propriu-zis de instrumentele software create pentru acest magazin.
Desigur, clientul a plătit și codul site-ului este proprietatea sa. O trăsătură caracteristică modernității: transferul de cunoștințe și dezvoltări între sarcini de același tip și domenii de aplicare aferente este imposibil și aceasta este o problemă.
Parsing este o gamă largă de aplicații pentru sistemele de gestionare a bazelor de date. În primul rând, este scanarea informațiilor de pe Internet. Este la fel de important să comparăm informațiile acumulate înbază de date și solicitările vizitatorilor web.
Analiza cuvintelor cheie implică, de asemenea, necesitatea formării unei soluții optime, dar proiectarea bazei de date pe Access poate fi mai promițătoare decât pe MS SQL Server sau Oracle.
Lista surselor de informații poate fi dinamică. Dinamica poate fi inerentă în tabelele bazei de date sursă, numele câmpurilor de tabel și regulile de apel (interogare). Proiectarea bazelor de date relaționale din mai multe surse vă obligă în mod clar să proiectați din datele sursă, și nu din organizarea optimă a informațiilor colectate.
Există două lucruri care sunt inerente oricărei baze de date:
- orientare către conținut, algoritm dinamic de generare a bazei de date în prioritate;
- orientare spre utilizare, structura bazei de date este mai importantă, iar algoritmul de utilizare a informațiilor se bazează pe aceasta.
În orice domeniu de aplicare există un model formal al fluxului de informații primite, un model de stocare a informațiilor - designul propriu-zis al bazei de date și un model (algoritm) de utilizare a datelor.
Diferiți proceduri și pași de proiectare
Elementele de bază ale designului bazei de date se împart de obicei în trei etape. Diferiți specialiști se referă la etapele muncii în moduri diferite, dar, de fapt, există trei posturi:
- planificare conceptuală;
- design logic;
- execuție tehnică.
Practica contribuie la tradițiile consacrate. Indiferent cât de complexă ar fi domeniul de aplicare și problema rezolvată. Este întotdeauna nevoie să o alegeți pe cea potrivităunelte. De exemplu, trebuie să colectați informații de la vizitatorii unei resurse web, dar trebuie să o comparați cu datele de la MS SQL Server. Resursa web este găzduită pe FreeBSD (Internet, server Apache), iar MS SQL Server într-un alt oraș este disponibil prin intermediul rețelei distribuite a companiei.
În această soluție, mai întâi trebuie să rezolvați o anumită problemă: să stabiliți schimbul de date cu serverul intern.
Execuția tehnică a unei sarcini comune va avea în mod necesar un impact în etapa inițială: este rar ca proiectarea bazei de date să se poată face de la zero. Chiar și cu tehnologia dovedită de rezolvare a problemelor, domeniul de aplicare evoluează, este întotdeauna necesar să facă ceva diferit decât era inițial intenționat.
Recent, mulți teoreticieni și practicieni operează cu entități ca date speciale. Acestea sunt abstractizări care vă permit să descrieți modelul de informații la intrare, în timpul procesării și în rezultatul final - baza de date.
Vizualizări de date și entități
Design DB prin abstracții și entități: capacitatea de a crea o imagine a informațiilor, de a defini tipurile de date și relațiile dintre ele.
De obicei, o astfel de proiectare a unui model de bază de date se termină cu un model grafic, folosind MS Visio sau instrumentele vizuale ale SGBD-ului ales. Accesul are propriul mod de a forma o imagine a informației, MySQL are propriul său mod, iar unele sisteme de management de conținut ascund cu totul baza de date, impunând dezvoltatorului un model de date prin propriile entități -obiectele sarcinii în curs de rezolvare.
O trăsătură caracteristică a multor sisteme de management al conținutului (CMS) este că fac o „aplicație” pentru un nivel de abstractizare mai mare atunci când descriu zona de informații a problemei care se rezolvă. Baza de date reală este ascunsă, CMS oferă dezvoltatorului propria idee despre imaginea informațională a lumii.
Ca urmare, etapele proiectării bazei de date se reduc la respectarea cerințelor fundamentale și la executarea pașilor propuși de creatorii unui anumit CMS. Nu este nimic rușinos în folosirea ideilor bazelor de date și a designului lor din Symfony sau Bitrix, Zend sau Yii, dar pentru dezvoltator este o „povara”.
În mod ideal, instrumentele de proiectare a bazelor de date ar trebui selectate și aplicate individual, fără opinie exterioară, dar cu aplicarea experienței și a cunoștințelor.
Ideal pentru ca un dezvoltator să fie certificat de Oracle, dar perfect acceptabil pentru ca calificările unui dezvoltator să includă informații despre ideile de informații Oracle și cunoștințe practice despre aplicațiile MySQL.
În proiectele complexe și procesarea distribuită a informațiilor, nu numai baza de date este importantă, ci și sursele de informații, ideile despre nevoile consumatorilor.
Etape sau echipă: echilibru de priorități
Cerința de consistență este de cea mai imediată importanță. Bazele proiectării bazei de date includ, de asemenea, etapizarea lucrărilor, monitorizarea rezultatelor intermediare, regândirea fiecărei etape finalizate pe baza executării următorului tip de lucrări:
- sistematic;
- phasing;
- feedback din orice moment, până la poziția de pornire.
Aceste prevederi sunt abstracte, dar prezente în orice tehnologie teoretică și practică pentru crearea unei baze de date eficiente.
Nici o tehnologie nu se dezvoltă de la sine, ci este condusă de oameni. Calificările echipei de dezvoltare sunt esențiale. Modelul de informații al bazei de date nu este doar un cadru, ci și fluxuri de informații.
Ce este mai important: grafică frumoasă în reprezentarea structurii bazei de date sau o descriere precisă a fluxurilor de informații în dinamică - o chestiune nu numai de sarcină și sfera de aplicare, ci și de opinia echipei de dezvoltare în dinamică.
Personalul este totul, dar în context: designul conceptual al unei baze de date este totul de calificare. Toți oamenii sunt unici, iar în domeniul sistemelor informaționale există și se dezvoltă reprezentări ale anumitor persoane.
Este important să construiți o echipă de dezvoltatori, nu niște pași mitici de proiectare a bazei de date sugerați de un expert autorizat. Autoritatea acestui specialist s-a format pe baza unor lucrări specifice, la un moment dat. Lucrul trebuie făcut astăzi, sarcină nouă, echipament modern, tehnologie proaspătă, …
Posibilă inversare. Există Excel și Access și date „abundente” în aceste formate din cele mai vechi timpuri, când Windows pentru Workgoups era încă în viață. Au rămas parțial datele dBase și Quattro. Astăzi aceste cuvinte au fost deja uitate, dar informațiaa rămas, este solicitat și trebuie extras și format idei noi.
Vechi și noi: echilibru de cunoștințe
Tehnologia cloud nu este ca bazele de date pe care le-a făcut Ashton-Tate. Ceea ce a cumpărat odată Oracle nu este deloc comparabil cu ceea ce face astăzi. Dar variabilele, algoritmii, funcțiile, buclele și condițiile au rămas în programare încă de la începutul anilor 80. Cu excepția cazului în care conceptul procedurii s-a scufundat în uitare și totul rămâne ca în vremurile străvechi.
Chiar și ideile moderne de programare orientată pe obiecte sunt îmbrăcate în „cătușele” sintactice și semantice clasice ale secolului trecut.
Ce trebuie făcut - programarea este inerțială, iar formalizarea informațiilor și proiectarea bazelor de date de informații este mai mult un proces decât un rezultat. Munca în etape este o condiție prealabilă pentru obținerea rezultatelor. Dar cine a numărat numărul de iterații de la etapele intermediare aproape până la începutul lucrării?
Informația este întotdeauna dinamică, nimic nu stă pe loc: în special domeniul de activitate al sarcinii și cerințele utilizatorului. Fiecare etapă de lucru finalizată vă permite să evaluați la un nou nivel ceea ce a fost deja făcut și ce rămâne de făcut.
Pentru a lua în considerare proiectarea unei structuri de bază de date ca o sarcină și a obține rezultatul final este inutil. De îndată ce baza de date va fi pusă în funcțiune, va apărea cu siguranță o nouă idee, chiar dacă instrumentul de creare a bazei de date a fost Excel „simplu” și nu un produs fantastic de puternic și versatil de la Oracle,manipulând milioane de tranzacții, sute de mii de utilizatori concurenți și terabytes de informații.
Prioritatea nu este structura bazei de date, ci formarea unei echipe calificate de specialisti, plus cerința obligatorie pentru o mai mare dinamizare a rezultatului, astfel incat la finalizarea lucrarii sa nu fie necesara contactarea dezvoltatorilor, cel puțin câteva luni.
Dezvoltare secvențială și/sau sărituri în înălțime
Windows nu este o bază de date, dar are o relicvă - registry. Fișierul hosts este pur și simplu o identificare a adreselor IP și a numelor simbolice ale mașinii locale. Dar prin acest fișier se formează fluxuri de informații din diferite domenii sau către diferite SGBD.
Este posibil să înțelegem Windows-ul cu mai multe fețe ca pe un computer sau server funcțional, dar nu va funcționa în niciun fel pentru a justifica logica versiunilor acestui produs. Nici PHP nu este o bază de date, dar argumentele dezvoltatorilor pentru ce versiunea 5 urmează imediat versiunea 7 sunt inconsistente. PHP este un instrument de acces MySQL, sintaxa sa definește modul în care se formează interogări și se obține răspunsuri din baza de date folosind dialectul SQL.
Exemple de incompatibilitate între instrumentele moderne de programare și suportul pentru baze de date au devenit norma în ultimii ani, dar aceasta nu este cea mai originală. Ce va fi în spatele versiunii de Windows 10? Care sunt perspectivele pentru Oracle Database 12c?
Informații ale dezvoltatorului-autor: „Oracle Database 11g Express Edition (Oracle Database XE) este un SGBD entry-level bazat pe codul SGBD Oracle Database 11g Release 2. Acest SGBD este gratuit pentru dezvoltare,implementare și vânzare, descărcare rapidă și ușor de administrat.”
Perspectiva unui dezvoltator utilizator: „În 2013, Oracle a lansat Oracle Database 12c (versiunea 12.1.0.1) cu beneficii cheie de costuri de stocare mai mici, disponibilitate ridicată a datelor, consolidare ușoară a bazei de date și protecție a accesului la date „”.
Practica reală: un design obiectiv, eficient și eficient de bază de date logică este disponibil doar pentru o echipă de dezvoltatori calificați. Obținerea unui rezultat de lucru nu este dificilă, este dificil să oficializezi fluxurile de informații primite și să stabilești fundamentul optim.
În lumea formelor netede din dreptunghiuri precise
Odată cu apariția programării orientate pe obiecte, serializarea datelor a luat o nouă viață. Într-adevăr, totul în jur sunt doar linii, de preferință de lungime nedeterminată. Numerele și datele sunt șiruri de caractere.
Puterea și obiectivitatea relațiilor relaționale este de netăgăduit, dar dinamica coloanelor și rândurilor le dăunează reputației? Un tabel este pur și simplu date care pot avea un antet (o listă de coloane) sau fără rânduri. Fie ca tabelul să fie doar o colecție de date, nu neapărat numite.
Setul de date poate fi eterogen și puteți găsi date cu structură diferită în el. În mod fundamental, omogenitatea datelor indică dezvoltarea domeniului de aplicare. Distribuția datelor pe tipuri și specii este un semn al unei abordări sistematice și obiective, dar este totuși recomandabil să admitem posibilitatea dinamicii structurii.
Dacă ieseproiectarea și crearea unei baze de date dincolo de structuri rigide și presupunând că un tabel este o colecție de rânduri care nu sunt neapărat de același tip și similare între ele în semantică, atunci designul bazei de date se va schimba dramatic.
Subiectul lucrării nu va fi o descriere a structurii bazei de date, ci dinamica mișcării informațiilor. Etapele de lucru vor fi împărțite în trei centre de greutate:
- flux de informații de intrare;
- transformarea și mișcarea informațiilor în baza de date;
- selectați datele de utilizat.
Nu există un concept de structură a tabelului. Nu există rânduri sau coloane. Există o abstractizare - un dat, de o anumită structură, care satisface un anumit punct al algoritmului. Mai precis, funcția de procesare a informațiilor necesită anumite informații într-o anumită cantitate.
Cerința obligatorie de recursivitate a tuturor funcțiilor de procesare a informațiilor și concentrarea pe funcții, nu pe date, vă permite să proiectați o bază de date în dinamica informațiilor acumulate și a fluxului de date de intrare, care sunt utilizate la inițiativa utilizatorului, proces sau altă funcție.
De fapt: a venit un semnal de utilizare, a fost primită o solicitare de preluare, a fost declanșat un declanșator în aplicație, iar informațiile primite, prin ceea ce era deja acolo, au oferit soluția dorită.
Cunoștințe fundamentale și construcții rigide
Cunoașterea este apanajul omului, programele sunt povara computerelor. Dezvoltatorul este liber să aplice cunoștințele așa cum consideră de cuviință într-o anumită situație. O persoană obișnuită folosește o mulțime de baze de date, fără să le acorde importanță. Cumbazele de date sunt organizate în capul unei persoane obișnuite, nimeni nu știe, dar toată lumea știe cum își conduce afacerea, unde notează ce găsește și când trebuie să le folosească.
Rezultatul muncii programatorului - la nivelul unui program din „Basic”, care preia date de pe site-ul web al unui magazin online prin ODBC, este echivalent cu un dezvoltator intitulat Oracle care face o solicitare de preluare a datelor de la Salonul de Aviație și Spațiu MAKS. Ambele rezultate „îngheață” în static din momentul în care lucrarea este finalizată. Aceasta nu este cunoștințele active pe care le folosește o persoană, acesta este secretul creării unui sistem de proiectare a bazelor de date.
Algoritmul nu poate fi remediat. Totul trebuie definit dinamic. Meritele dezvoltatorilor calificați sunt de netăgăduit, dar nu stau deloc în formele elegante de soluții de la Oracle, MySQL sau Access, care este limitat în capabilități. O altă foaie de calcul Excel poate oferi conținut dinamic și nu necesită participarea unui programator pentru un timp mai mult sau mai puțin decent după terminarea lucrărilor.
Întrebarea este cât de bine este formalizată dinamica zonei de aplicare, nu structura bazei de date.
Soluții live
Este imposibil să planificați munca în așa fel încât să legați o echipă de dezvoltatori profesioniști de o sarcină. Nu că echipa ar fi fost ofensată, dar aceasta nu este abordarea corectă.
Sarcina de a proiecta o bază de date ar trebui formulată în așa fel încât funcționalitatea dezvoltată să se îmbunătățească, să acumuleze cunoștințe și, în îndeplinirea „datoriilor” sale, să plece nu de la cod,creat de experți, dar din cunoștințele dobândite prin acest cod.