sql >> Database teknologi >  >> RDS >> Database

Sådan bliver du databasedesigner

Databasemodellering har noget videnskab, noget kunst, en masse teknikker og en hel del generel visdom. Alle gode databasemodellere studerer meget, øver meget, dyrker kreativitet og udvikler interpersonelle færdigheder.

Vejen til at blive databasedesigner kan virke besværlig. Men hvis du kan lide at arbejde med data, give struktur, hvor der tilsyneladende ikke er nogen, og hjælpe folk med at finde skjulte sandheder i bølger af information, vil du helt sikkert finde rejsen fornøjelig.

Hvad er datamodellering?

Første ting først. Lad os være klar over, hvad datamodellering er. Datamodellering er processen med at skabe en konceptuel repræsentation af den information, der skal være indeholdt i en database. Resultatet af denne proces er en datamodel med dataobjekter (de enheder, for hvilke oplysninger skal lagres), associationerne eller relationerne mellem dem og de regler eller begrænsninger, der styrer informationen i databasen.

Den person, der er ansvarlig for datamodellering, er databasedesigneren, selvom modellering ofte er blandt databaseingeniørens eller arkitektens ansvar. Databasedesignerens job er ikke begrænset til blot at tegne diagrammer, men omfatter gennemgang af krav - enten ved at læse dokumentation eller interviewe brugere - og derefter oprette en datamodel, der passer til disse krav. Det er derfor, du har brug for datamodellering.

Når først en datamodel er skabt, skal designeren understøtte denne model og gennemgå dens udvikling og livscyklus. Det betyder at arbejde tæt sammen med programmører, analytikere og alle andre, der skal bruge modellen. Det betyder også at acceptere anmodninger om ændringer af modellen, tage imod forslag til forbedring af den eller tilpasse den til nye behov.

Trin mod en databasedesigners karriere

Rom blev ikke bygget på en dag, og du bliver ikke databasedesigner fra den ene dag til den anden. For at komme i mål skal du følge en række trin. Det starter med at få en grad, derefter uddybe noget specifik viden, lære at bruge værktøjer, blive certificeret, blive ekspert i bestemte specifikke færdigheder og til sidst lære færdigheder indirekte relateret til den aktivitet, du ønsker at udføre – den såkaldte "bløde" færdigheder. Men lad os tage dem et skridt ad gangen.

1. Optjening af en grad

Den første vigtige milepæl i enhver databasedesigners karriere er at få en grad. Associerede og bacheloruddannelser er den bedste vej for dem, der ønsker at få en indledende forståelse af databasedesign og softwareudvikling. Associerede uddannelser dækker specifikke aspekter af databasedesign og software, mens de tilbyder mere generelle uddannelses- og forretningskurser. Bacheloruddannelser tilbyder endnu flere erhvervsrelaterede kurser og kan forberede kandidater til flere ledende stillinger inden for datalogi eller softwareudvikling.

Den mest åbenlyse forskel mellem de to typer grader (udover omkostningerne) er den tid, det tager at tjene hver. For en fuldtidsstuderende tager en associeret uddannelse normalt to år. En bacheloruddannelse tager derimod normalt fire år for en fuldtidsstuderende. Det er klart, at de fire år af bacheloruddannelsen giver dig mulighed for at lære meget mere, end du ville gøre på en associeret uddannelse.

Du kan tage et kort kursus i databasedesign. Men korte kurser kræver typisk, at du har en vis forhåndsviden inden for forskellige aspekter af datalogi. Der er også kurser designet til folk, der ikke er computerkyndige. Vertabelo Academy har en bred vifte af sådanne kurser specielt designet til ikke-it-folk.

Du har også mulighed for, hvis du er disciplineret nok, at lære på egen hånd uden at tage en uddannelse eller et kursus. Der er mange valgmuligheder i databasedesignbøger, du kan læse. Bare husk på, at når det kommer til at forberede dit CV, vil det ikke hjælpe dig meget at nævne, at du har læst denne eller hin bog om design. I modsætning hertil hjælper det at have en grad eller i det mindste et certifikat på, at du har taget et kursus.

2. Uddyb din viden

Når du har tilegnet dig den nødvendige viden om databasedesign, konsolider og forstærk den med reel praksis. Den teori, du lærer i et kursus eller en uddannelse, selv sammen med de øvelser, du får til at løse, giver dig kun en idé om de problemer, du møder i dit arbejde som databasedesigner. Denne ekstra viden forbereder dig i øvrigt bedre på, når du skal til jobsamtale til en databasedesignerstilling. Følgende er de færdigheder, du skal mestre for at blive databasedesigner.

Normalisering, nøgler og designerens instinkt

Uanset om du har taget en uddannelse eller et kursus eller bare har læst en bog, vil du uden tvivl have lært noget om første, anden og tredje normalform. Men for at styrke din viden skal du se på forskellige entitets-forholdsdiagrammer (jeg antager, at du allerede ved, hvad ERD'er er, og hvad de bruges til) og analysere dem for at se, om de er normaliserede. Du bør være i stand til at bestemme, i hvilken normal form de er.

I dette diagram er de samme enheder repræsenteret på to forskellige måder. Kan du med et øjeblik se, i hvilken normal form tabellen til venstre er, og i hvilken form skemaet til højre er?

Jeg anbefaler også at studere de problemer et skema uden normalisering kan forårsage. Du kan sammenligne pladsen optaget af et ikke-normaliseret skema og et normaliseret skema af de samme data for at se forskellene - med tabellerne udfyldt med en rimelig mængde data, naturligvis. Eller du kan prøve at køre forespørgsler på ikke-normaliserede tabeller for at se de uoverensstemmelser, der vises.

Der er et par ting, du lærer med øvelse. For det første bør du aldrig forlade et bord uden en primær nøgle. For det andet, når to tabeller er relaterede, bør du definere en fremmednøgle, der forbinder de involverede felter i begge tabeller. Hvis du glemmer disse tips, bliver du mindet om, når du finder duplikerede rækker i en tabel eller forældreløse elementer i master-detalje-forhold, og det giver dig mareridt.

Når vi taler om nøgler, har du sikkert hørt om naturlige nøgler og surrogatnøgler. Indtil du har en masse erfaring, skal du tage dig tid til at tænke over, hvilken type nøgle du giver til hvert bord, du laver. Når du har lavet et par dusin ERD'er, har du udviklet designerens instinkt til at skabe skemaer i den tredje normale form uden besvær med de korrekte relationer og den bedste nøgle til hver tabel.

Datavarehuse:Dimensioner, mål, skemamodeller og andre koncepter

Databasedesignkoncepter undervises normalt med transaktionsbehandling i tankerne. Men i dag beskæftiger designere sig i stigende grad med databaser til analytisk behandling. Disse databaser er kendt som datavarehuse og har nogle designideer og -teknikker, der adskiller sig fra konventionelle databaser.

Datavarehuse er bygget efter den traditionelle relationsmodel, men med flere nye ekstra koncepter. For eksempel repræsenterer nogle felter dimensioner, mens nogle repræsenterer mål. Nogle tabeller indsamler fakta, mens andre grupperer dimensioner. Der findes nu specifikke designmodeller for datavarehusskemaer, såsom stjerne, snefnug og galakse.

Endelig introducerer datavarehuse en teknik kaldet denormalisering. I modsætning til hvad du måske tror, ​​betyder denormalisering ikke at vende tidligere forsøg på normalisering. For at forstå, hvad denormalisering bruges til, skal du tænke på det som en teknik til at introducere redundans i tabeldesign for at forenkle forespørgsler og datavisualisering.

3. Vælg dine værktøjer

Ud over den teoretiske viden, dine studier giver dig, og den praktiske viden, din erfaring giver dig, skal du mestre værktøjerne til databasedesign. Databasedesignerens værktøjer er dem, der hjælper dig med opgaven med at skabe datamodeller.

Sandheden er, at gode designere kan udføre deres arbejde uden andet værktøj end blyant og papir. Men for at være effektive og for at udføre deres opgaver på kortest mulig tid, skal de bruge værktøjer, der hjælper dem med at blive mere effektive.

De værktøjer, der sparer mest tid for databasedesigneren, er ERD-designværktøjerne, såsom Vertabelo.com-platformen. Disse værktøjer forenkler databasedesignerens job med at tegne diagrammer, automatiserer oprettelsen af ​​SQL-scripts og genererer diagrammer fra eksisterende databaser.

Et andet grundlæggende værktøj for enhver databasedesigner er SQL-sproget. DDL (data definition language) er påkrævet for at oprette eller ændre skemaer, men for at være databasedesigner skal du også vide, hvordan man skriver SQL-forespørgsler for at få information fra en database.

Der er andre nyttige værktøjer til databasedesigneren, såsom overvågnings- og profileringsværktøjer og programmeringssprog til dataanalyse og databaseadministratorer. Hvis du kender disse værktøjer, tilføjer en liste over dem værdi til dit CV.

4. Bliv certificeret

Vi har talt om at mestre værktøjer, men hvordan beviser du i dit CV, at du ved, hvordan man skriver SQL, eller at du ved, hvordan man bruger et eller andet ERD-designværktøj? Det gør du ved at tage specifikke kurser, tage eksamener og blive certificeret.

Der er grundlæggende to typer certificeringer:dem, der viser, at du mestrer et bestemt værktøj, og dem, der viser, at du har en vis færdighed. Begge tilføjer værdi, når de vises på dit CV.

Virksomheder, der udvikler værktøjerne, tilbyder ofte træningsprogrammer, og når du gennemfører et af de uddannelsesprogrammer, får du et certifikat som bevis på, at du mestrer værktøjet. Disse certificeringer er ofte gratis. De er interesserede i at certificere mange fagfolk i brugen af ​​deres værktøjer, så det er i deres bedste interesse at træne dig i at bruge dem uden at betale dig (meget) for det.

Certificeringer i en bestemt færdighed – som for eksempel SQL-programmering, NoSQL-databasestyring eller ETL-procesdesign – er ofte dyre, men de tilføjer en masse værdi til dit CV, primært fordi de sparer interviewere fra at skulle vurdere, om du virkelig ved, hvordan du gør dit arbejde. Postgraduate kurser er en passende mulighed, hvis du allerede har en uddannelse.

5. Gå hele vejen

Du har allerede studeret og lært materialerne til at blive databasedesigner. Du har uddybet din viden. Du har taget kurser og opnået certificeringer. Hvad mangler du for at blive databasedesigner? At vide, hvordan man udfører nøgleopgaver og være i stand til at udføre dem fra start til slut.

Modellering af en database

Du ved måske, hvordan man tegner en ERD, men modellering af en database involverer mere end det. For at være databasedesigner skal du kunne gå fra opmåling og analyse af krav til at generere og udføre scripts for at transformere diagrammer til arbejdsdatabaser.

Skrivning af komplekse forespørgsler i SQL

Det er ikke blot et spørgsmål om, at en forespørgsel returnerer de data, den skal returnere, men også at returnere dem så hurtigt som muligt. At vide, hvordan man skriver SQL-forespørgsler betyder, at man tænker med samme logik som databasemotoren for at indsamle de ønskede oplysninger og levere dem med minimal indsats.

Optimering af ydeevne

Optimering af databaseydeevne omfatter oprettelse af et passende design og overvågning af databaseaktiviteter for at opdage operationer, der forringer ydeevnen. Det indebærer også at vide, hvordan man fejlfinder problemer med ydeevne, hvad enten det er at oprette indekser, omdesigne skemaet eller informere DBA om potentielle problemer i databasemotoroptimering.

Sikring af en database

Selvom det normalt ikke er databasedesignerens opgave at tildele tilladelser og privilegier til databaseobjekter, kan han eller hun identificere ansvarsområder i deres design, der gør det nemmere for en administrator at tildele tilladelser korrekt til hver databasebruger.

6. Tilegne sig bløde færdigheder

Dette sidste trin bliver ofte overset i en databasedesigners karriere, men lad ikke dette stå uadresseret. I mange situationer er de bløde færdigheder, der er nævnt nedenfor, lige så vigtige, hvis ikke mere, end traditionelle tekniske færdigheder og viden, a.k.a. de hårde færdigheder.

Forretningssans

Designere med forretningssans kan bedre fortolke og give den rigtige dimension til ethvert krav, de modtager, og det udmønter sig i bedre designbeslutninger. Noget så simpelt som at beslutte, om man skal bruge en naturlig nøgle eller en surrogatnøgle til et bord, kan være vigtigt for virksomheden; At tilpasse dine beslutninger til forretningsmålene er nøglen til dit arbejdes succes.

Kommunikation og interpersonelle færdigheder

At skabe et godt design er kun en del af jobbet. Efter at have skabt og perfektioneret din model, skal du være i stand til at præsentere den, forklare den og hjælpe alle, der har brug for at arbejde med den. Du skal også acceptere, at hvert design kan forbedres, så vær forberedt på at modtage forslag og kritik. Generelt er du som designer en del af et team. At være en nyttig del af holdet betyder at være en holdspiller, der altid tænker på fordelene for holdet.

The finish line:a database designer job

Hvis du har gjort alle disse ting, modellerer du sikkert allerede databaser som en professionel og har mange historier at fortælle. Kommentarrummet nedenfor er for dig at dele nyttige råd og sjove historier, og for at du kan bidrage til at berige vores liv som databasedesignere.


  1. Dupliker, kopier eller sikkerhedskopier tabeller i MySQL, MariaDB, Oracle, PostgreSQL, DB2 og SQLite med Create Table As SQL

  2. SQLite grænse

  3. Tjek status for databasens mailkøer i SQL Server (T-SQL)

  4. Pgryglæns gendannelsestidsmål