Databasmodellering har en del vetenskap, lite konst, många tekniker och en hel del allmän visdom. Alla bra databasmodellerare studerar mycket, övar mycket, odlar kreativitet och utvecklar interpersonella färdigheter.
Vägen till att bli en databasdesigner kan tyckas svår. Men om du tycker om att arbeta med data, ge struktur där det till synes inte finns och hjälpa människor att hitta dolda sanningar i informationsströmmar, kommer du definitivt att tycka att resan är njutbar.
Vad är datamodellering?
Först till kvarn. Låt oss vara tydliga med vad datamodellering är. Datamodellering är processen att skapa en konceptuell representation av informationen som ska finnas i en databas. Resultatet av denna process är en datamodell, med dataobjekt (de enheter för vilka informationen ska lagras), associationerna eller relationerna mellan dem och de regler eller begränsningar som styr informationen i databasen.
Den person som ansvarar för datamodellering är databasdesignern, även om modellering ofta hör till databasingenjörens eller arkitektens ansvar. Databasdesignerns jobb är inte begränsat till att bara rita diagram utan inkluderar att granska krav – antingen genom att läsa dokumentation eller intervjua användare – och sedan skapa en datamodell som passar dessa krav. Det är därför du behöver datamodellering.
När en datamodell väl har skapats måste designern stödja den modellen och gå igenom dess utveckling och livscykel. Detta innebär ett nära samarbete med programmerare, analytiker och alla andra som behöver använda modellen. Det innebär också att acceptera förfrågningar om ändringar av modellen, ta emot förslag för att förbättra den eller anpassa den till nya behov.
Steg mot en databasdesigners karriär
Rom byggdes inte på en dag, och du kommer inte att bli en databasdesigner över en natt. För att komma i mål måste du följa en rad steg. Det börjar med att ta en examen, sedan fördjupa vissa specifika kunskaper, lära sig att använda verktyg, bli certifierad, bli expert på vissa specifika färdigheter, och slutligen lära sig färdigheter som är indirekt relaterade till den aktivitet du vill utföra – den så kallade "mjuka" Kompetens. Men låt oss ta dem ett steg i taget.
1. Få en examen
Den första viktiga milstolpen i en databasdesigners karriär är att få en examen. Associerade och kandidatexamensprogram är den bästa vägen för dem som vill få en inledande förståelse för databasdesign och mjukvaruutveckling. Associerade utbildningsprogram täcker specifika aspekter av databasdesign och programvara samtidigt som de erbjuder mer allmän utbildning och affärskurser. Kandidatprogram erbjuder ännu fler affärsrelaterade kurser och kan förbereda akademiker för fler ledande befattningar inom området datavetenskap eller mjukvaruutveckling.
Den mest uppenbara skillnaden mellan de två typerna av grader (förutom kostnaden) är den tid det tar att tjäna var och en. För en heltidsstudent tar ett associerat program vanligtvis två år. Ett kandidatprogram, å andra sidan, tar vanligtvis fyra år för en heltidsstudent. Självklart kommer de fyra åren av kandidatprogrammet att tillåta dig att lära dig mycket mer än du skulle göra i ett associerat program.
Du kan ta en kort kurs i databasdesign. Men korta kurser kräver vanligtvis att du har vissa förkunskaper i olika aspekter av datavetenskap. Det finns också kurser för personer som inte är datorvana. Vertabelo Academy har ett brett utbud av sådana kurser speciellt utformade för icke-IT-personer.
Du har också möjligheten, om du är tillräckligt disciplinerad, att lära dig på egen hand utan att ta en examen eller kurs. Det finns många val i databasdesignböcker du kan läsa. Tänk bara på att när det gäller att förbereda ditt CV, kommer det inte att hjälpa dig att nämna att du har läst den eller den boken om design. Däremot hjälper det att ha en examen eller åtminstone ett intyg om att du har gått en kurs.
2. Fördjupa dina kunskaper
När du har skaffat dig nödvändig kunskap om databasdesign, konsolidera och förstärk den med verklig övning. Teorin du lär dig i en kurs eller en examen, även tillsammans med de övningar du får lösa, ger dig bara en uppfattning om de problem du möter i ditt arbete som databasdesigner. Denna ytterligare kunskap förbereder dig för övrigt bättre för när du måste gå på en anställningsintervju för en databasdesignertjänst. Följande är de färdigheter du behöver behärska för att bli en databasdesigner.
Normalisering, nycklar och designerns instinkt
Oavsett om du har tagit en examen eller en kurs eller bara läst en bok, kommer du utan tvekan att ha lärt dig något om första, andra och tredje normala form. Men för att förstärka din kunskap, titta på olika entitetsrelationsdiagram (jag antar att du redan vet vad ERD är och vad de används för) och analysera dem för att se om de är normaliserade. Du bör kunna avgöra i vilken normal form de är.
I detta diagram representeras samma enheter på två olika sätt. Kan du snabbt se i vilken normal form tabellen till vänster är och i vilken form schemat till höger är?
Jag rekommenderar också att studera de problem ett schema utan normalisering kan orsaka. Du kan jämföra utrymmet som upptas av ett icke-normaliserat schema och ett normaliserat schema av samma data för att se skillnaderna – med tabellerna fyllda med en rimlig mängd data, så klart. Eller så kan du försöka köra frågor på icke-normaliserade tabeller för att se inkonsekvenserna som visas.
Det finns ett par saker du lär dig med övning. För det första bör du aldrig lämna ett bord utan en primärnyckel. För det andra, när två tabeller är relaterade, bör du definiera en främmande nyckel som associerar de inblandade fälten i båda tabellerna. Om du glömmer dessa tips blir du påmind när du hittar dubbletter av rader i en tabell eller föräldralösa element i master-detalj-relationer, och det ger dig mardrömmar.
På tal om nycklar, du har förmodligen hört talas om naturliga nycklar och surrogatnycklar. Tills du har mycket erfarenhet måste du ta dig tid att tänka på vilken typ av nyckel du ger till varje bord du skapar. När du väl har gjort några dussin ERD:er kommer du att ha utvecklat designerns instinkt att skapa scheman i den tredje normala formen utan ansträngning, med rätt relationer och den bästa nyckeln för varje tabell.
Datalager:dimensioner, mått, schemamodeller och andra koncept
Databasdesignkoncept lärs vanligtvis ut med transaktionsbehandling i åtanke. Men idag sysslar designers alltmer med databaser för analytisk bearbetning. Dessa databaser är kända som datalager och har vissa designidéer och tekniker som skiljer sig från konventionella databaser.
Datalager byggs med den traditionella relationsmodellen, men med flera nya tilläggskoncept. Till exempel representerar vissa fält dimensioner, medan vissa representerar mått. Vissa tabeller samlar fakta, medan andra grupperar dimensioner. Specifika designmodeller för datalagerscheman finns nu, som stjärna, snöflinga och galax.
Slutligen introducerar datalager en teknik som kallas denormalisering. Till skillnad från vad du kanske tror, betyder denormalisering inte att vända några tidigare försök till normalisering. För att förstå vad denormalisering används för, se det som en teknik för att introducera redundans i tabelldesigner för att förenkla frågor och datavisualisering.
3. Välj dina verktyg
Utöver de teoretiska kunskaper dina studier ger dig och den praktiska kunskap din erfarenhet ger dig, måste du behärska verktygen för databasdesign. Databasdesignerns verktyg är de som hjälper dig med uppgiften att skapa datamodeller.
Sanningen är att bra designers kan göra sitt jobb utan något annat verktyg än penna och papper. Men för att vara effektiva och utföra sina uppgifter på kortast möjliga tid måste de använda verktyg som hjälper dem att bli mer effektiva.
De verktyg som sparar mest tid för databasdesignern är ERD-designverktygen, såsom Vertabelo.com-plattformen. Dessa verktyg förenklar databasdesigners jobb med att rita diagram, automatisera skapandet av SQL-skript och generera diagram från befintliga databaser.
Ett annat grundläggande verktyg för varje databasdesigner är SQL-språket. DDL (data definition language) krävs för att skapa eller ändra scheman, men för att vara en databasdesigner måste du också veta hur man skriver SQL-frågor för att få information från en databas.
Det finns andra användbara verktyg för databasdesignern, såsom övervaknings- och profileringsverktyg och programmeringsspråk för dataanalys och databasadministratörer. Om du känner till dessa verktyg kan du lägga upp dem på ett mervärde till ditt CV.
4. Bli certifierad
Vi har pratat om att behärska verktyg, men hur bevisar du i ditt CV att du vet hur man skriver SQL eller att du vet hur man använder något ERD-designverktyg? Du gör det genom att ta specifika kurser, ta prov och bli certifierad.
Det finns i princip två typer av certifieringar:de som visar att du behärskar ett visst verktyg och de som visar att du har en viss skicklighet. Båda tillför värde när de visas på ditt CV.
Företag som utvecklar verktygen erbjuder ofta utbildningsprogram och när du genomför ett av dessa utbildningar får du ett certifikat som bevis på att du behärskar verktyget. Dessa certifieringar är ofta gratis. De är intresserade av att certifiera många yrkesverksamma i användningen av deras verktyg, så det ligger i deras bästa intresse att träna dig att använda dem utan att debitera dig (mycket) för det.
Certifieringar i en viss färdighet – som till exempel SQL-programmering, NoSQL-databashantering eller ETL-processdesign – är ofta dyra, men de tillför ett stort värde till ditt CV, främst för att de räddar intervjuare från att behöva utvärdera om du verkligen vet hur du gör ditt jobb. Forskarutbildningskurser är ett lämpligt alternativ om du redan har en examen.
5. Gå hela vägen
Du har redan studerat och lärt dig materialen för att bli en databasdesigner. Du har fördjupat dina kunskaper. Du har gått kurser och fått certifieringar. Vad saknar du för att bli databasdesigner? Att veta hur man gör nyckeluppgifter och att kunna utföra dem från början till slut.
Modellera en databas
Du kanske vet hur man ritar en ERD, men att modellera en databas innebär mer än så. För att vara en databasdesigner måste du kunna gå från att kartlägga och analysera krav till att generera och exekvera skript för att omvandla diagram till fungerande databaser.
Skriva komplexa frågor i SQL
Det handlar inte bara om att en fråga returnerar den data som den ska returnera, utan också att den returneras så snabbt som möjligt. Att veta hur man skriver SQL-frågor innebär att man tänker med samma logik som databasmotorn för att samla in den begärda informationen och leverera den med minimal ansträngning.
Optimera prestanda
Att optimera databasprestanda inkluderar att skapa en lämplig design och övervaka databasaktiviteter för att upptäcka operationer som försämrar prestandan. Det innebär också att veta hur man felsöker prestandaproblem, oavsett om det är att skapa index, designa om schemat eller informera DBA om potentiella problem med databasmotoroptimering.
Säkra en databas
Även om att tilldela behörigheter och privilegier på databasobjekt normalt inte är databasdesigners jobb, kan han eller hon identifiera ansvarsområden i sina konstruktioner som gör det lättare för en administratör att korrekt tilldela behörigheter till varje databasanvändare.
6. Skaffa mjuka färdigheter
Detta sista steg förbises ofta i en databasdesigners karriär, men lämna inte detta oadresserat. I många situationer är de mjuka färdigheter som nämns nedan lika viktiga, om inte mer så, än traditionella tekniska färdigheter och kunskaper, a.k.a. de hårda färdigheterna.
Affärskunnighet
Designers med affärsmannaskap kan bättre tolka och ge rätt dimension till varje krav de får, och det leder till bättre designbeslut. Något så enkelt som att bestämma sig för om man ska använda en naturlig nyckel eller en surrogatnyckel för ett bord kan vara viktigt för verksamheten; Att anpassa dina beslut till affärsmålen är nyckeln till framgången för ditt arbete.
Kommunikation och mellanmänskliga färdigheter
Att skapa en bra design är bara en del av jobbet. Efter att ha skapat och fulländat din modell måste du kunna presentera den, förklara den och hjälpa alla som behöver arbeta med den. Du måste också acceptera att varje design kan förbättras, så var beredd på att ta emot förslag och kritik. Generellt sett är du som designer en del av ett team. Att vara en användbar del av laget innebär att vara en lagspelare som alltid tänker på nyttan för laget.
Slutlinjen:Ett databasdesignerjobb
Om du har gjort alla dessa saker, modellerar du förmodligen redan databaser som ett proffs och har många historier att berätta. Kommentarsutrymmet nedan är till för att du ska dela med dig av användbara råd och roliga historier, och för att du ska kunna bidra till att berika våra liv som databasdesigner.