Databasis ontwerp. Beste praktyke

In afwagting van die begin van die volgende vloei teen die tempo "Databasis" Ons het 'n klein skrywer se materiaal voorberei met belangrike wenke vir die ontwerp van 'n databasis. Ons hoop dat hierdie materiaal vir u nuttig sal wees.

Databasis ontwerp. Beste praktyke

Databasisse is oral: van die eenvoudigste blogs en dopgehou tot betroubare inligtingstelsels en groot sosiale netwerke. Of die databasis eenvoudig of kompleks is, is nie so belangrik nie aangesien dit belangrik is om dit korrek te ontwerp. Wanneer 'n databasis onnadenkend en sonder 'n duidelike begrip van die doel ontwerp word, is dit nie net ondoeltreffend nie, maar verdere werk met die databasis sal 'n ware kwelling wees, 'n ondeurdringbare woud vir gebruikers. Hier is 'n paar databasisontwerpwenke wat jou sal help om 'n nuttige en maklik-om-te-gebruik produk te skep.

1. Bepaal waarvoor die tabel is en wat die struktuur daarvan is

Databasis ontwerp. Beste praktyke

Vandag help ontwikkelingsmetodes soos Scrum of RAD (Rapid Application Development) IT-spanne om databasisse vinnig te ontwikkel. In die strewe na tyd is die versoeking egter baie groot om reguit in die bou van 'n basis te duik, vaagweg te verbeel wat die doel self is, wat die finale resultate moet wees.
 
Dit is asof die span gefokus is op doeltreffende, vinnige werk, maar dit is 'n lugspieëling. Hoe verder en vinniger jy in die diepte van die projek duik, hoe meer tyd sal dit neem om foute in die databasisontwerp te identifiseer en te verander.

Die eerste ding wat u dus moet besluit, is om die doel van u databasis te definieer. Vir watter tipe toepassing word die databasis ontwikkel? Sal die gebruiker net met rekords werk en moet aandag gee aan transaksies, of stel hy meer belang in data-analise? Waar moet die basis ontplooi word? Sal dit kliëntgedrag naspoor of bloot klanteverhoudings bestuur? 

Hoe gouer die ontwerpspan hierdie vrae beantwoord, hoe gladder sal die databasisontwerpproses wees.

2. Watter data moet ek kies vir berging?

Databasis ontwerp. Beste praktyke

Beplan vooruit. Gedagtes oor wat die webwerf of stelsel waarvoor die databasis ontwerp word, in die toekoms sal doen. Dit is belangrik om verder te gaan as die eenvoudige vereistes van die tegniese spesifikasies. Moet asseblief net nie begin dink aan al die moontlike tipes data wat 'n gebruiker ooit sal stoor nie. Dink eerder daaraan of gebruikers plasings sal kan skryf, dokumente of foto's kan oplaai of boodskappe sal kan uitruil. As dit die geval is, moet jy spasie vir hulle in die databasis toewys.

Werk saam met die span, departement of organisasie waarvoor die ontwerpbasis in die toekoms ondersteun sal word. Kommunikeer met mense op verskillende vlakke, van kliëntediensspesialiste tot departementshoofde. Op hierdie manier, met behulp van terugvoer, sal jy 'n duidelike idee kry van die maatskappy se vereistes. 

Die behoeftes van gebruikers binne selfs dieselfde departement sal onvermydelik bots. As jy dit teëkom, moenie bang wees om op jou eie ervaring staat te maak en 'n kompromie te vind wat by alle partye pas en die uiteindelike doelwit van die databasis bevredig nie. Wees verseker: in die toekoms sal jy +100500 in karma en 'n berg koekies ontvang.

3. Model data met sorg

Databasis ontwerp. Beste praktyke

Daar is verskeie sleutelpunte waaraan aandag gegee moet word wanneer data gemodelleer word. Soos ons vroeër gesê het, bepaal die doel van die databasis watter metodes om in modellering te gebruik. As ons 'n databasis vir aanlyn rekordverwerking (OLTP) ontwerp, met ander woorde vir die skep, redigeer en uitvee van rekords, gebruik ons ​​transaksiemodellering. As die databasis relasioneel moet wees, is dit die beste om multidimensionele modellering te gebruik.

Tydens modellering word konseptuele (CDM), fisiese (PDM) en logiese (LDM) datamodelle gebou. 

Konseptuele modelle beskryf entiteite en die tipe data wat dit insluit, asook die verwantskappe tussen hulle. Verdeel jou data in logiese stukke – dit maak die lewe baie makliker.
Die belangrikste ding is moderering, moenie dit oordoen nie.

As 'n entiteit baie moeilik is om in een woord of frase te klassifiseer, dan is dit tyd om subtipes (kinderentiteite) te gebruik.

As 'n entiteit sy eie lewe lei, eienskappe het wat sy gedrag en sy voorkoms beskryf, sowel as verhoudings met ander voorwerpe, dan kan jy veilig nie net 'n subtipe gebruik nie, maar ook 'n supertipe (ouer entiteit). 

As jy hierdie reël verwaarloos, sal ander ontwikkelaars verward raak in jou model en sal hulle nie die data en die reëls vir hoe om dit in te samel ten volle verstaan ​​nie.

Konseptuele modelle word geïmplementeer deur logiese modelle te gebruik. Hierdie modelle is soos 'n padkaart vir fisiese databasisontwerp. In die logiese model word besigheidsdata-entiteite geïdentifiseer, datatipes word bepaal en die status van die reëlsleutel word bepaal wat die verhoudings tussen data beheer.

Dan word die Logiese Data Model vergelyk met die vooraf geselekteerde DBMS (databasisbestuurstelsel) platform en 'n Fisiese Model word verkry. Dit beskryf hoe data fisies gestoor word.

4. Gebruik die regte datatipes

Databasis ontwerp. Beste praktyke

Die gebruik van die verkeerde datatipe kan lei tot minder akkurate data, probleme om tabelle aan te sluit, probleme met sinkronisering van eienskappe en opgeblase lêergroottes.
Om inligtingintegriteit te verseker, moet 'n kenmerk slegs datatipes bevat wat daarvoor aanvaarbaar is. As ouderdom in die databasis ingevoer word, maak seker dat die kolom heelgetalle van 'n maksimum van 3 syfers stoor.

Skep 'n minimum leë kolomme met 'n NULL-waarde. As jy alle kolomme as NULL skep, is dit 'n groot fout. As jy 'n leë kolom nodig het om 'n spesifieke besigheidsfunksie uit te voer, wanneer die data onbekend is of nog nie sin maak nie, skep dit dan gerus. Ons kan immers nie die kolomme “Datum van dood” of “Datum van ontslag” vooraf invul nie; ons is nie voorspellers wat ons vingers na die lug wys nie :-).

Die meeste modelleringsagteware (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) data laat jou toe om prototipes van datastreke te skep. Dit verseker nie net die korrekte datatipe, toepassingslogika en goeie werkverrigting nie, maar ook dat die waarde vereis word.

5. Gaan natuurlik

Databasis ontwerp. Beste praktyke

Wanneer jy besluit watter kolom in 'n tabel om as 'n sleutel te gebruik, oorweeg altyd watter velde die gebruiker kan wysig. Moet hulle nooit as 'n sleutel kies nie - 'n slegte idee. Enigiets kan gebeur, maar jy moet verseker dat dit uniek is.

Dit is die beste om 'n natuurlike, of besigheids, sleutel te gebruik. Dit het 'n semantiese betekenis, so jy sal duplisering in die databasis vermy. 

Tensy die besigheidsleutel uniek is (voornaam, van, posisie) en in verskillende rye van die tabel herhaal word of dit moet verander, dan moet die gegenereerde kunsmatige sleutel as die primêre sleutel aangewys word.

6. Normaliseer in moderering

Databasis ontwerp. Beste praktyke

Om data effektief in 'n databasis te organiseer, moet jy 'n stel riglyne volg en die databasis normaliseer. Daar is vyf normale vorms om te volg.
Met normalisering vermy u oortolligheid en verseker u die integriteit van die data wat in u toepassing of webwerf gebruik word.

Soos altyd moet alles in moderering wees, selfs normalisering. As daar te veel tabelle in die databasis is met dieselfde unieke sleutels, dan het jy meegevoer geraak en die databasis oorgenormaliseer. Oormatige normalisering beïnvloed databasiswerkverrigting negatief.

7. Toets vroeg, toets gereeld

Databasis ontwerp. Beste praktyke

Toetsplan en behoorlike toetsing moet deel wees van databasisontwerp.

Die beste manier om jou databasis te toets, is deur voortdurende integrasie. Simuleer 'n "dag in die lewe van 'n databasis" scenario en kyk of alle randsake hanteer word en watter gebruikerinteraksies waarskynlik is. Hoe gouer jy foute vind, hoe meer sal jy tyd en geld bespaar.

Hierdie is net sewe wenke wat jy kan gebruik om 'n groot produktiwiteit en doeltreffendheid databasis te ontwerp. As jy hulle volg, sal jy die meeste hoofpyne in die toekoms vermy. Hierdie wenke is net die punt van die ysberg in databasismodellering. Daar is 'n groot aantal life hacks. Watter een gebruik jy?

Bron: will.com

Voeg 'n opmerking