Cum se creează un model de date relațional

Ați fost desemnat crearea unui model de date de afaceri? Trebuie să construiți o bază de date relațională care să dețină terabytes de date?

pași

1
Nu vă îngrijorați încă de mese. Evident, sunt crearea unei baze de date, precum și bazele de date (cel puțin relaționale) sunt compuse în principal din tabele, care, la rândul lor, sunt compuse din rânduri și coloane (înregistrări atribute pentru cei care cunosc).
  • 2
    Aveți grijă de relațiile dintre entități. Primul dvs. obiectiv este să faceți o hartă a relațiilor pe care vor avea diferite obiecte comerciale. Este partea lui modelare logică Modelul fizic este implementarea practică. Nu confunda sau combina cele două.
  • Cerințele sunt dificil de realizat și dureros. Un analist de afaceri talentat în acele momente ar fi un dar din ceruri.
  • 3
    Pregătiți-vă să faceți un război singur, dedicându-vă numai standardizării calității. Cele mai multe baze de date sunt o risipă, deoarece designerii lor sunt leneși și Vreau doar să obțină ceva. Acesta poate fi întotdeauna fixat mai târziu. Da, desigur.
  • 4
    După ce vine timpul să scrieți tabelele, concentrați-vă pe căutările și tipurile de tabele (coduri poștale, stări, categorii de produse etc.).). Veți avea nevoie de ele pentru relații de chei externe în tabele adevărat. În plus, vă va oferi o preîncălzire înainte de a ajunge la mesele centrale de tranzacționare.
  • 5
    Ca regulă generală: nu stocați date care pot fi deduse din alte câmpuri. Dacă știți data nașterii și data de începere, veți cunoaște și vârsta la data de începere - nu includeți această vârstă în tabel.
  • 6
    Nu NULL. Valoarea NULL (nulă) reprezintă un atribut nedefinit al unei identități. Dacă o entitate poate avea un anumit atribut sau nu, atunci trebuie să fie manipulată de o filă încrucișată.
  • 7
    Valorile contradictorii NULL sunt utile în sine pentru a identifica atributele care nu au fost încă finalizate de utilizatori. Acest lucru este util în special atunci când un utilizator trebuie să selecteze o valoare predeterminată pentru a determina aplicarea regulilor de afaceri corespunzătoare. In cazul in care 2, cum ați proiecta un tabel de adrese în care Adresa1 Adresa2 a fost finalizată și nu a fost necesară, dar dacă au fost finalizate Adresa2 ar trebui să fie conforme cu normele comerciale în domeniu? Sigur, ai putea să faci implicit un spațiu gol, dar e mai bine decât să știi că utilizatorul nu a editat câmpul? Încercați un al treilea formular standard într-o direcție internațională ... probabil, se poate face, dar ia act de complexitatea procesului de restructurare a datelor într-un mod semnificativ.
  • 8


    NULL / rOT NULL Verificați forumurile bazei de date și veți vedea că este un subiect popular în care există apărători ai avantajelor și dezavantajelor fiecăruia.
  • Cu toate acestea, toată lumea este de acord că nu trebuie să permiteți valorile NULL în variabilele cheie. Acestea sunt câmpurile care sunt folosite pentru a identifica o singură înregistrare, cum ar fi numărul de identificare al clientului.
  • Școala NULL spune că trebuie să utilizați în mod liber valorile NULL în celelalte câmpuri. De exemplu, nu este obligatoriu ca clienții să aibă un telefon mobil sau să vă dea numărul. Folosind o valoare NULL și nimic mai mult decât NULL este cel mai eficient mod de a înregistra că nu există un telefon mobil disponibil.
  • Dacă este cu adevărat important să se știe de ce există o valoare, cel mai bine este de a introduce o nouă variabilă care indică motivul, în loc de a introduce un loc de lux pentru a stoca numărul de telefon mobil de cod. Evitați adăugarea de domenii, cum ar fi faptul că, pentru că a) clientul nu este obligat să vă spun de ce nu-ți dă numărul său de telefon mobil, nici nu este o întrebare bună, și nici nu va spune în mod spontan motiv, și b) nimeni nu trebuie să se uite doar din cauza a). variabilele lipsă numai deșeuri de timp.
  • Fii atent cu variabilele da / ro (boolean), deoarece, în general, ele nu pot conține un NULL. Prin urmare, acestea conțin de obicei informații inutile, cum ar fi fie el a fost republican, fie a refuzat să răspundă.
  • 9
    Familiarizați-vă cu mesele încrucișate (de la mulți la mulți). Tu le va folosi peste tot, dacă faci lucrurile bine. Un exemplu ar fi o bază de date a unei școli în care există o tabelă pentru profesori și o altă tabelă pentru studenți. Elevii au mai mult de un cadru didactic, iar profesorii au mai mult de un elev, astfel încât traversează masa, în afară de cele ale „profesorilor“ și „studenților“, el ar avea două coloane cu chei străine îndreptate la două. Cheia primară ar fi combinația celor doi.
  • 10
    Folosește o convenție bună pentru nume. Plasați facturile într-un tabel numit factură. Produsele intră produs. Ar fi o masă traversată Factura produsului, sau productFacture, în funcție de tabelul care reprezintă adevăratul centru al relației.
  • 11
    Dacă intenționați să replicați sau să trimiteți înregistrări, încercați să le configurați în timp ce le dezvoltați pentru a vedea cum funcționează.
  • 12
    Sindicatele interne sunt foarte bune, dar probabil există și multe declarații ale UNIUNII EXTERNE EXTERNE cu care ar putea colabora. Obișnuiți-vă cu diferitele declarații ale sindicatelor (cu excepția UNION).
  • 13
    Dacă aveți de-a face cu o cerere moștenită, construiți-vă schema independent de asta (nici măcar nu te uiți la ea). Concentrați-vă pe regulile și relațiile de afaceri pe care încercați să le executați, dar ați putea fi distrasi atenți dacă vă uitați la modul în care cineva a stabilit-o. Consultați pasul # 4.
  • 14
    Este dificil să migrați dintr-un sistem de moștenire la un model mai strictă, cu o normalizare adecvată, dar poate fi ușor simplificat dacă se utilizează tabele temporare pentru import. În plus, păstrează fișiere cu privire la codurile de mostenire, astfel încât utilizatorii să le poată căuta.
  • sfaturi

    • Nu vă așteptați ca replicările, înregistrările sau reflecțiile să funcționeze atunci când mergeți la producție. Dezvoltați și testați de la început. Faceți-o parte din aplicația dvs.
    • Există cazuri extrem de specifice în care va trebui să de-normalizați tabelele din motive de performanță. Dar acest lucru este ușor de făcut - se concentrează pe partea greu, care este de a crea o normalizare corectă.
    • Flexibilitatea și puterea unui model relațional sunt surprinzătoare în comparație cu structurile plate.
    • Pe măsură ce definiți relațiile absolute, o modalitate bună de a primi întrebări de la participanții reticenți este de a formula lucruri precum Deci este absolut adevărat că nu poate fi decât un singur client pe o singură factură? Întrebările de acest gen tind să provoace un răspuns la oameni.
    • În ceea ce privește relațiile entităților, de exemplu, un client ar putea avea mai multe numere de telefon. De asemenea, clientul poate avea numeroase contacte, fiecare dintre ele având numere de telefon. Dar o factură poate fi asociată numai unui client. Există un reprezentant al contului care poate fi atribuit unui client, cu excepția cazurilor în care există două, etc. Acestea sunt tipurile de lucruri pe care trebuie să le definiți înainte de a scrie orice linie de cod sql.
    • Lăsați-l s în afara numelor de tabel (tabelul factură) - se înțelege că, deoarece este o bază de date, există, probabil, mai multe facturi înăuntru.
    • Copiile de rezervă sunt, de asemenea, importante în curs de dezvoltare. Asigurați-vă că faceți una cel puțin în fiecare noapte. Verificați-le în fiecare săptămână pentru a vă asigura că nu pierdeți luni de lucru (și, probabil, și jobul dvs.) în cazul în care există un defect masiv de hardware.

    avertismente

    • Dacă încercați să salvați codul (valori NULL tabele pentru motive greșite, denormalized), vor exista consecințe directe și reale (orfani, a compromite integritatea datelor, sindicatele care nu funcționează, etc.).
    • Modelarea datelor este o abilitate critică și există foarte puțini oameni care construiesc corect bazele de date relaționale.
    • Nu salvați codul deoarece este mai ușor pentru dvs. Dacă vor ceva inutil, ar fi trebuit să angajeze pe altcineva.
    • Dacă nu se normalizează corect, rapoartele făcute din baza de date vor fi total incorecte, iar șeful dvs. va fi foarte supărat.
    Distribuiți pe rețelele sociale:

    înrudit
    Cum să ștergeți copiile de rezervă WhatsApp pe AndroidCum să ștergeți copiile de rezervă WhatsApp pe Android
    Cum se creează interogări de acțiune în Microsoft AccessCum se creează interogări de acțiune în Microsoft Access
    Cum se creează tabele dinamice în ExcelCum se creează tabele dinamice în Excel
    Cum se creează o bază de date OpenOffice.orgCum se creează o bază de date OpenOffice.org
    Cum se creează o bază de date de inventar în AccessCum se creează o bază de date de inventar în Access
    Cum se creează o bază de date în MySQLCum se creează o bază de date în MySQL
    Cum se creează o bază de date în SQL ServerCum se creează o bază de date în SQL Server
    Cum se creează o bază de date în phpMyAdminCum se creează o bază de date în phpMyAdmin
    Cum de a desena o diagramă E R cu managerul de baze de date MySQLCum de a desena o diagramă E R cu managerul de baze de date MySQL
    Cum se execută o interogare în MS Access 2007Cum se execută o interogare în MS Access 2007
    » » Cum se creează un model de date relațional

    © 2011—2020 ertare.com