Databasdesign. Bästa praxis

I väntan på början av nästa flöde med hastigheten "Databas" Vi har förberett ett litet författarmaterial med viktiga tips för att utforma en databas. Vi hoppas att detta material kommer att vara användbart för dig.

Databasdesign. Bästa praxis

Databaser finns överallt: från de enklaste bloggarna och katalogerna till pålitliga informationssystem och stora sociala nätverk. Om databasen är enkel eller komplex är inte så viktigt eftersom det är viktigt att designa den korrekt. När en databas utformas tanklöst och utan en klar förståelse för syftet är den inte bara ineffektiv, utan vidare arbete med databasen blir en verklig plåga, en ogenomtränglig skog för användarna. Här är några databasdesigntips som hjälper dig att skapa en användbar och lättanvänd produkt.

1. Bestäm vad tabellen är till för och vad dess struktur är

Databasdesign. Bästa praxis

Idag hjälper utvecklingsmetoder som Scrum eller RAD (Rapid Application Development) IT-team att snabbt utveckla databaser. Men i jakten på tiden är frestelsen mycket stor att dyka rakt in i att bygga en bas, vagt föreställa sig vad själva målet är, vad slutresultatet ska bli.
 
Det är som om teamet är fokuserat på effektivt och snabbt arbete, men det här är en hägring. Ju längre och snabbare du dyker ner i djupet av projektet, desto mer tid tar det att identifiera och ändra fel i databasdesignen.

Så det första du behöver bestämma dig för är att definiera syftet med din databas. Vilken typ av applikation utvecklas databasen för? Kommer användaren bara att arbeta med poster och behöver vara uppmärksam på transaktioner, eller är han mer intresserad av dataanalys? Var ska basen placeras ut? Kommer det att spåra kundbeteende eller helt enkelt hantera kundrelationer? 

Ju snabbare designteamet svarar på dessa frågor, desto smidigare blir databasdesignprocessen.

2. Vilken data ska jag välja för lagring?

Databasdesign. Bästa praxis

Planera framåt. Tankar om vad webbplatsen eller systemet som databasen designas för kommer att göra i framtiden. Det är viktigt att gå längre än de enkla kraven i de tekniska specifikationerna. Börja bara inte tänka på alla möjliga typer av data som en användare någonsin kommer att lagra. Fundera istället på om användare kommer att kunna skriva inlägg, ladda upp dokument eller bilder eller utbyta meddelanden. Om så är fallet måste du tilldela utrymme för dem i databasen.

Arbeta med teamet, avdelningen eller organisationen för vilken designbasen kommer att stödjas i framtiden. Kommunicera med människor på olika nivåer, från kundtjänstspecialister till avdelningschefer. På så sätt får du med hjälp av feedback en tydlig bild av företagets krav. 

Oundvikligen kommer användarnas behov inom samma avdelning att komma i konflikt. Om du stöter på detta, var inte rädd för att lita på din egen erfarenhet och hitta en kompromiss som passar alla parter och tillfredsställer databasens slutmål. Var säker: i framtiden kommer du att få +100500 i karma och ett berg av kakor.

3. Modellera data med försiktighet

Databasdesign. Bästa praxis

Det finns flera viktiga punkter att vara uppmärksam på när man modellerar data. Som vi sa tidigare bestämmer syftet med databasen vilka metoder som ska användas vid modellering. Om vi ​​designar en databas för online-postbehandling (OLTP), med andra ord för att skapa, redigera och ta bort poster, använder vi transaktionsmodellering. Om databasen måste vara relationell är det bäst att använda flerdimensionell modellering.

Under modellering byggs konceptuella (CDM), fysiska (PDM) och logiska (LDM) datamodeller. 

Konceptuella modeller beskriver entiteter och de typer av data de inkluderar, samt relationerna mellan dem. Dela upp din data i logiska bitar – det gör livet mycket enklare.
Huvudsaken är måttlighet, överdriv inte.

Om en entitet är mycket svår att klassificera i ett ord eller en fras, är det dags att använda subtyper (underordnade entiteter).

Om en entitet leder sitt eget liv, har attribut som beskriver dess beteende och dess utseende, såväl som relationer med andra objekt, kan du säkert använda inte bara en undertyp utan också en supertyp (förälder). 

Om du försummar denna regel kommer andra utvecklare att bli förvirrade i din modell och inte helt förstå data och reglerna för hur man samlar in den.

Konceptuella modeller implementeras med hjälp av logiska. Dessa modeller är som en färdplan för fysisk databasdesign. I den logiska modellen identifieras affärsdataenheter, datatyper bestäms och statusen för regelnyckeln bestäms som styr relationerna mellan data.

Därefter jämförs den logiska datamodellen med den förvalda DBMS-plattformen (databashanteringssystem) och en fysisk modell erhålls. Den beskriver hur data lagras fysiskt.

4. Använd rätt datatyper

Databasdesign. Bästa praxis

Att använda fel datatyp kan resultera i mindre exakta data, svårigheter att sammanfoga tabeller, svårigheter att synkronisera attribut och uppsvällda filstorlekar.
För att säkerställa informationsintegritet måste ett attribut endast innehålla datatyper som är acceptabla för det. Om ålder skrivs in i databasen, se till att kolumnen lagrar heltal med maximalt 3 siffror.

Skapa ett minimum av tomma kolumner med ett NULL-värde. Om du skapar alla kolumner som NULL är detta ett stort misstag. Om du behöver en tom kolumn för att utföra en specifik affärsfunktion, när informationen är okänd eller ännu inte är meningsfull, skapa den gärna. När allt kommer omkring kan vi inte fylla i kolumnerna "Dödsdatum" eller "Uppsägningsdatum" i förväg; vi är inte prediktorer som pekar med fingrar mot himlen :-).

De flesta modelleringsprogram (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) data låter dig skapa prototyper av dataregioner. Detta säkerställer inte bara korrekt datatyp, applikationslogik och bra prestanda, utan också att värdet krävs.

5. Gå naturligt

Databasdesign. Bästa praxis

När du bestämmer vilken kolumn i en tabell som ska användas som nyckel, överväg alltid vilka fält användaren kan redigera. Välj dem aldrig som nyckel - en dålig idé. Allt kan hända, men du måste se till att det är unikt.

Det är bäst att använda en naturlig, eller affärsnyckel. Det har en semantisk betydelse, så du slipper duplicering i databasen. 

Om inte företagsnyckeln är unik (förnamn, efternamn, position) och upprepas i olika rader i tabellen eller måste ändras, ska den genererade konstgjorda nyckeln anges som primärnyckel.

6. Normalisera med måtta

Databasdesign. Bästa praxis

För att effektivt organisera data i en databas måste du följa en uppsättning riktlinjer och normalisera databasen. Det finns fem normala former att följa.
Med normalisering undviker du redundans och säkerställer integriteten hos de data som används i din applikation eller webbplats.

Som alltid ska allt vara med måtta, även normalisering. Om det finns för många tabeller i databasen med samma unika nycklar, så har du dragits med och övernormaliserat databasen. Överdriven normalisering påverkar databasens prestanda negativt.

7. Testa tidigt, testa ofta

Databasdesign. Bästa praxis

Testplan och korrekt testning bör vara en del av databasdesign.

Det bästa sättet att testa din databas är genom kontinuerlig integration. Simulera en "dag i en databas liv"-scenario och kontrollera om alla kantärenden hanteras och vilka användarinteraktioner som är sannolika. Ju tidigare du hittar buggar, desto mer sparar du både tid och pengar.

Det här är bara sju tips som du kan använda för att designa en databas för fantastisk produktivitet och effektivitet. Om du följer dem slipper du mest huvudvärk i framtiden. Dessa tips är bara toppen av ett isberg inom databasmodellering. Det finns ett stort antal life hacks. Vilka använder du?

Källa: will.com

Lägg en kommentar