sql >> Databasteknik >  >> RDS >> Database

Vad gör en databasdesigner?

En databasdesigners jobb är att översätta kundens affärskrav till en datamodell som inte bara lagrar affärsdata korrekt utan också stödjer processerna som använder data.

En databasdesigner, ibland kallad databasarkitekt eller dataansvarig, är ansvarig för att utforma databaserna i en organisation. Han/hon utvärderar noggrant affärskraven och utarbetar datamodellerna. Därefter sker inledande diskussioner med företaget för att validera förståelsen av data och affärsprocesser. En databasdesigners jobb inkluderar också att förbereda stödjande dokumentation när du bygger den fysiska databasen.

Vad är datamodellering?

Datamodellering är en process där en databasdesigner skapar en datamodell som stöder hans/hennes applikation. Dess syfte är att representera hur databasobjekt interagerar och hur de löser affärsproblem.

En datamodell beskriver strukturen för data i databastabellerna och relationerna mellan dem. Den representeras av en serie ER-diagram som innehåller de viktigaste enheterna, deras attribut och relationerna mellan enheterna. Det är mycket viktigt att bygga rätt datamodell från början.

Datamodellering måste också beakta flexibilitet. Ingen datamodell är någonsin huggen i sten även efter att databasen har distribuerats. En datamodell måste anpassas över tid för att spegla nya data och nya krav. Det är därför det är viktigt att ta hänsyn till flexibilitet när du designar den.

Datamodellering hjälper dig att översätta affärskraven till tekniska krav för att enklare bygga den fysiska databasen. Det hjälper dig också att hitta potentiella prestandaproblem med frågor innan du ens skapar databasen. Av alla dessa skäl är datamodellering mycket viktig.

Typer av datamodeller

När du bygger en ny databas tar ditt arbete som databasdesigner dig igenom minst tre stora faser. En datamodell går igenom en evolutionär process utgående från en konceptuell datamodell. Den utökas sedan till en logisk datamodell. Detta i sin tur utökas ytterligare till en fysisk datamodell, senare implementerad med SQL-skript.

Varje typ av datamodell är designad för att interagera med olika typer av intressenter. Vi kommer kortfattat att beskriva och förklara användningen av dessa datamodeller nedan. Om du vill ha en mer djupgående förklaring, ta en titt på den här artikeln.

Konceptuell datamodell

Den konceptuella datamodellen är den första datamodellen vi bygger. I en konceptuell datamodell definieras huvudenheterna, vanligtvis med hjälp av ER-diagram. Det är också då de huvudsakliga intressenterna från affärssidan deltar.

En konceptuell datamodell hjälper till att identifiera och definiera den initiala omfattningen av affärsproblemet, de enheter som är involverade i att lösa problemet och hur de interagerar. Dessa enheter är generiska representationer av begrepp som order, butik och anställd.

Relationerna mellan dessa entiteter representeras vanligtvis med linjer som länkar samman de entiteter som interagerar i den verkliga världen. Så, som ett exempel, bör beställnings-, butiks- och anställningsenheter ha relationer som länkar mellan dem.

Logisk datamodell

Den logiska datamodellen bygger på den konceptuella datamodellen. Normaliseringstekniker som 3NF (den tredje normala formen) tillämpas. Vi säkerställer att alla relationer mellan enheter är representerade i vår datamodell. Detta steg är nyckelskillnaden mellan de konceptuella och de logiska datamodellerna.

Physical Data Model

Den fysiska datamodellen är den slutliga och mest detaljerade versionen av vår datamodell. I det här steget definierar vi alla tabeller i vår applikation. Vi definierar också relationerna mellan tabeller, ställer in deras kardinalitet, omvandlar entitetsattribut till kolumner och väljer eller definierar datatyper för varje kolumn. Vi ser till att ställa in standardvärden eller begränsningar för kolumnvärden, begränsningar mellan tabeller och ange sammanställningar.

När en fysisk datamodell väl är designad bygger vi vanligtvis en uppsättning SQL-skript som definierar denna struktur för att skapa vår databas. Istället för att bara skriva allt för hand är det mycket bättre att använda ett databasmodelleringsverktyg som Vertabelo Database Modeler.

Databasdesignerns jobb

En databasdesigners uppgifter är inte begränsade till teknisk utveckling och diagramdesign. En vanlig dag innebär att titta på eftersläpningen av affärskrav och se om något har förändrats.

En dag i en databasdesigners liv

När det sker förändringar analyserar databasdesignern kraven och möter verksamheten för att klargöra konsekvenserna av förändringarna på datamodellen och databasen. Efter dessa förtydliganden uppdaterar databasdesignern modellen med ändringarna. Detta kan sträcka sig från att bara ändra en enskild datatyp till att omdesigna entitetsrelationer och tillämpa normalisering om förändringen har större inverkan.

Om det finns ett prestandamått som måste uppfyllas kan databasdesignern behöva hitta och specificera index som ska skapas. Om det finns en ETL-process som ska kartläggas kan han/hon specificera vilka lagrade procedurer som utför datatransformationen.

En databasdesigner måste överväga konsekvenserna av ändringarna på underhållsuppgifter på databasen, som säkerhetskopiering, återställning och loggsändning. Om ändringar är stora måste databasdesignern diskutera med databasadministrationsteamet eller med utvecklingsteamet som övervakar databasen. Ett annat ansvar för designern är att definiera och underhålla dataordboken för databasen.

Risker och problem som en databasdesigner möter

Som med alla jobb är vissa problem förutsägbara så att du kan ha en plan skissad. Men det finns problem som du inte kan förutse, och en databasdesigners jobb är inget undantag.

En av de mest riskabla sakerna en databasdesigner kan göra är att göra antaganden. Detta kan orsaka oväntade problem senare i projektet. När du är osäker är det bäst att förtydliga med verksamheten snarare än att gå vidare. Jag har sett det hända många gånger, både för mig själv och mina kollegor.

Vi kan göra små antaganden om datatyper eller mängden data för en specifik tabell. Om vi ​​har fel kan detta dock påverka den fysiska datamodellen och orsaka en hel del omarbetning för att uppfylla målprestandamåtten.

Ett annat problem är att anta att du har täckt allt och att det aldrig kommer att bli fel. Problem uppstår vanligtvis i slutet av ett projekt när allt redan är distribuerat.

Vissa scenarier kräver justeringar, även efter att din databas redan är distribuerad. Detta kan bero på en ökning av lagrad data, förändringar i affärskrav eller behov av nya rapporter. Dessa händelser påverkar inte bara dina tabeller utan även dina databasobjekt, dina index, eventuellt datatyper, relationer och många andra saker.

Fördelar och nackdelar med att vara en databasdesigner

Som med alla jobb finns det för- och nackdelar beroende på hur du ser på saker, vad du trivs med och hur du vill leva.

Fördelen är att du alltid hittar intressanta affärssammanhang att kartlägga till en datamodell och bygga in i en databas. Det är ett bra jobb för människor som kan fokusera och som gillar att lösa svåra problem. Det är ett jättebra jobb om du gillar att kommunicera och lösa tekniska problem och om du kan och är nyfiken på att förstå både affärsmässiga och tekniska sammanhang.

Som med alla svåra färdigheter är lönen ganska bra. Om du arbetar med projekt med kunder från stora företag kan affärsresor vara en bonus om du gillar att resa och träffa nya människor i nya miljöer.

Nackdelarna är inte många enligt mig. Men för vissa människor är några av de saker som nämns i fördelarna faktiskt nackdelar. Om du föredrar att fokusera djupt på ditt arbete och minimera kommunikationen eller om du inte kan eller vill resa på grund av familjebegränsningar, kan det hända att jobbet som databasdesigner inte passar dig.

Bli en databasdesigner!

Med viss teknisk expertis inom området, viss programmeringsbakgrund och öppenhet för kommunikation, tror jag att alla kan ha en databasdesigners karriär även om du inte markerar alla rutorna. De idealiska kompetenskraven för att vara en databasdesigner listas kort nedan.

  • Datamodellering och normaliseringstekniker.
  • Kunskap om databasfrågor och prestandajustering.
  • Interna databaser som är specifika för den databasmotor som krävs av kunden.
  • Kunskap om ETL-processer.
  • Kunskap om business intelligence och rapportering.
  • Kunskaper om allmän mjukvaruarkitektur och design.
  • Projektledningsförmåga.
  • God kommunikationsförmåga.

Funderar du på att bli databasdesigner? Om du märker att du kryssar av några föremål i listan ovan, tveka inte – vi har din rygg! Oavsett om du söker ditt första jobb som databasdesigner eller bara vill bli bekant med de viktigaste ämnena för rollen, har vi satt upp en lista med intervjufrågor relaterade till databasmodellering.

Har du precis börjat med databasmodellering? Det är viktigt att ha ett verktyg som Vertabelo Database Modeler för att hjälpa dig med att designa, dela och versionera dina datamodeller.

Vi hoppas att du gillade artikeln! Bläddra gärna runt för mer information om databasernas fantastiska värld.


  1. Skillnader mellan MySql och MySqli i PHP

  2. Tankar om SQL Server 2019 Editions

  3. Oracle Managed ODP.NET kan inte hitta tnsnames.ora

  4. Hur man startar, startar om, kontrollerar status och stoppar MySQL-server