sql >> Database >  >> RDS >> Database

Een databaseontwerper worden

Databasemodellering heeft wat wetenschap, wat kunst, veel technieken en nogal wat algemene wijsheid. Alle goede databasemodelbouwers studeren veel, oefenen veel, cultiveren creativiteit en ontwikkelen interpersoonlijke vaardigheden.

De weg om databaseontwerper te worden lijkt misschien moeilijk. Maar als je het leuk vindt om met data te werken, structuur te geven waar die er schijnbaar niet is, en mensen te helpen verborgen waarheden in informatiestromen te vinden, zul je de reis zeker plezierig vinden.

Wat is gegevensmodellering?

Eerste dingen eerst. Laten we duidelijk zijn over wat datamodellering is. Gegevensmodellering is het proces van het creëren van een conceptuele weergave van de informatie die in een database moet worden opgenomen. Het resultaat van dit proces is een datamodel, met data-objecten (de entiteiten waarvoor informatie moet worden opgeslagen), de associaties of relaties daartussen, en de regels of beperkingen die de informatie in de database beheersen.

De persoon die verantwoordelijk is voor datamodellering is de databaseontwerper, hoewel modellering vaak tot de verantwoordelijkheden van de database-engineer of architect behoort. De taak van de databaseontwerper is niet beperkt tot het tekenen van diagrammen, maar omvat ook het beoordelen van vereisten - door documentatie te lezen of gebruikers te interviewen - en vervolgens een gegevensmodel te creëren dat aan die vereisten voldoet. Dit is waarom je datamodellering nodig hebt.

Zodra een gegevensmodel is gemaakt, moet de ontwerper dat model ondersteunen en door de evolutie en levenscyclus ervan leiden. Dit betekent nauw samenwerken met programmeurs, analisten en iedereen die het model moet gebruiken. Het betekent ook het accepteren van verzoeken om wijzigingen aan het model, het aannemen van suggesties om het te verbeteren of het aanpassen aan nieuwe behoeften.

Stappen naar de carrière van een databaseontwerper

Rome is niet op een dag gebouwd en je wordt ook niet van de ene op de andere dag een databaseontwerper. Om bij de finish te komen, moet je een aantal stappen volgen. Het begint met het behalen van een diploma, vervolgens het verdiepen van specifieke kennis, het leren gebruiken van tools, het behalen van een certificaat, het worden van een expert in bepaalde specifieke vaardigheden en tenslotte het leren van vaardigheden die indirect verband houden met de activiteit die je wilt uitvoeren - de zogenaamde "zachte" vaardigheden. Maar laten we ze stap voor stap bekijken.

1. Een diploma behalen

De eerste belangrijke mijlpaal in de carrière van een databaseontwerper is het behalen van een diploma. Associate- en bacheloropleidingen zijn het beste pad voor diegenen die een inleidend begrip willen krijgen van databaseontwerp en softwareontwikkeling. Associate degree-programma's behandelen specifieke aspecten van databaseontwerp en software, terwijl ze meer algemeen onderwijs en bedrijfscursussen aanbieden. Bacheloropleidingen bieden nog meer bedrijfsgerelateerde opleidingen en kunnen afgestudeerden voorbereiden op hogere functies op het gebied van informatica of softwareontwikkeling.

Het meest voor de hand liggende verschil tussen de twee soorten graden (naast de kosten) is de tijd die nodig is om elk te behalen. Voor een voltijdstudent duurt een associate-degreeprogramma doorgaans twee jaar. Een bacheloropleiding daarentegen duurt voor een voltijdstudent meestal vier jaar. Uiteraard kun je in de vierjarige bacheloropleiding veel meer leren dan in een associate-degreeprogramma.

U kunt een korte cursus databaseontwerp volgen. Maar voor korte cursussen moet u doorgaans enige voorkennis hebben in verschillende aspecten van informatica. Er zijn ook cursussen voor mensen die niet computervaardig zijn. Vertabelo Academy heeft een breed scala aan dergelijke cursussen die speciaal zijn ontworpen voor niet-IT-mensen.

Je hebt ook de mogelijkheid om, als je gedisciplineerd genoeg bent, zelfstandig te leren zonder een diploma of cursus te volgen. Er zijn veel keuzes in database-ontwerpboeken die u kunt lezen. Houd er rekening mee dat, als het gaat om het opstellen van je cv, het je niet veel helpt om te vermelden dat je dit of dat boek over design hebt gelezen. Het helpt daarentegen wel om een ​​diploma te hebben of op zijn minst een certificaat dat je een cursus hebt gevolgd.

2. Verdiep je kennis

Zodra u de nodige kennis over databaseontwerp hebt verworven, consolideert en versterkt u deze met echte praktijk. De theorie die je leert in een cursus of een diploma, zelfs samen met de oefeningen die je krijgt om op te lossen, geeft je alleen een idee van de problemen die je tegenkomt in je werk als databaseontwerper. Deze extra kennis bereidt je overigens beter voor op het moment dat je op sollicitatiegesprek moet voor een functie als database designer. Hieronder volgen de vaardigheden die u moet beheersen om databaseontwerper te worden.

Normalisatie, sleutels en het instinct van de ontwerper

Of je nu een diploma of cursus hebt gevolgd of gewoon een boek hebt gelezen, je hebt ongetwijfeld iets geleerd over de eerste, tweede en derde normaalvorm. Maar om je kennis te versterken, kijk naar verschillende entiteit-relatiediagrammen (ik neem aan dat je al weet wat ERD's zijn en waarvoor ze worden gebruikt) en analyseer ze om te zien of ze genormaliseerd zijn. Je zou moeten kunnen bepalen in welke normale vorm ze zijn.

In dit diagram worden dezelfde entiteiten op twee verschillende manieren weergegeven. Kun je in één oogopslag zien in welke normaalvorm de tabel aan de linkerkant is en in welke vorm het schema aan de rechterkant?

Ik raad ook aan om de problemen te bestuderen die een schema zonder normalisatie kan veroorzaken. U kunt de ruimte die wordt ingenomen door een niet-genormaliseerd schema en een genormaliseerd schema van dezelfde gegevens vergelijken om de verschillen te zien - uiteraard met de tabellen die zijn gevuld met een redelijke hoeveelheid gegevens. Of u kunt proberen query's uit te voeren op niet-genormaliseerde tabellen om de inconsistenties te zien die verschijnen.

Er zijn een aantal dingen die je leert door te oefenen. Ten eerste moet je nooit een tafel verlaten zonder een primaire sleutel. Ten tweede, als twee tabellen gerelateerd zijn, moet u een externe sleutel definiëren die de betrokken velden van beide tabellen associeert. Als u deze tips vergeet, wordt u eraan herinnerd wanneer u dubbele rijen in een tabel of weeselementen in hoofd-detailrelaties aantreft, en dat bezorgt u nachtmerries.

Over sleutels gesproken, je hebt waarschijnlijk wel eens gehoord van natuurlijke sleutels en surrogaatsleutels. Totdat je veel ervaring hebt, moet je de tijd nemen om na te denken over wat voor soort sleutel je geeft aan elke tafel die je aanmaakt. Als je eenmaal een paar dozijn ERD's hebt gedaan, heb je het instinct van de ontwerper ontwikkeld om moeiteloos schema's in de derde normaalvorm te maken, met de juiste relaties en de beste sleutel voor elke tabel.

Datawarehouses:afmetingen, maten, schemamodellen en andere concepten

Database-ontwerpconcepten worden meestal geleerd met transactionele verwerking in het achterhoofd. Maar tegenwoordig hebben ontwerpers steeds vaker te maken met databases voor analytische verwerking. Deze databases staan ​​bekend als datawarehouses en hebben een aantal ontwerpideeën en -technieken die verschillen van die van conventionele databases.

Datawarehouses worden gebouwd volgens het traditionele relationele model, maar met een aantal nieuwe aanvullende concepten. Sommige velden vertegenwoordigen bijvoorbeeld dimensies, terwijl andere metingen vertegenwoordigen. Sommige tabellen verzamelen feiten, terwijl andere dimensies groeperen. Er bestaan ​​nu specifieke ontwerpmodellen voor datawarehouse-schema's, zoals ster, sneeuwvlok en melkwegstelsel.

Ten slotte introduceren datawarehouses een techniek die denormalisatie wordt genoemd. In tegenstelling tot wat je zou denken, betekent denormalisatie niet het terugdraaien van eerdere pogingen tot normalisatie. Om te begrijpen waarvoor denormalisatie wordt gebruikt, kunt u het beschouwen als een techniek om redundantie in tabelontwerpen te introduceren om query's en gegevensvisualisatie te vereenvoudigen.

3. Kies je gereedschap

Naast de theoretische kennis die je studie je geeft en de praktische kennis die je ervaring je geeft, moet je de tools voor databaseontwerp beheersen. De tools van de database-ontwerper zijn degenen die u helpen bij het maken van gegevensmodellen.

De waarheid is dat goede ontwerpers hun werk kunnen doen zonder enig ander gereedschap dan potlood en papier. Maar om efficiënt te zijn en hun taken in de kortst mogelijke tijd uit te voeren, moeten ze tools gebruiken die hen helpen efficiënter te zijn.

De tools die de databaseontwerper de meeste tijd besparen, zijn de ERD-ontwerptools, zoals het Vertabelo.com-platform. Deze tools vereenvoudigen de taak van de databaseontwerper om diagrammen te tekenen, automatiseren het maken van SQL-scripts en genereren diagrammen uit bestaande databases.

Een ander fundamenteel hulpmiddel voor elke databaseontwerper is de SQL-taal. DDL (Data Definition Language) is vereist om schema's te maken of te wijzigen, maar om een ​​databaseontwerper te zijn, moet u ook weten hoe u SQL-query's schrijft om informatie uit een database te verkrijgen.

Er zijn andere handige tools voor de databaseontwerper, zoals monitoring- en profileringstools en programmeertalen voor data-analyse en databasebeheerders. Als je deze tools kent, voegt het vermelden ervan waarde toe aan je cv.

4. Gecertificeerd

We hebben het gehad over het beheersen van tools, maar hoe bewijs je in je cv dat je weet hoe je SQL moet schrijven of dat je weet hoe je een ERD-ontwerptool moet gebruiken? Dit doe je door specifieke cursussen te volgen, examens af te leggen en je te laten certificeren.

Er zijn in principe twee soorten certificeringen:certificeringen die laten zien dat u een bepaalde tool onder de knie hebt en certificeringen die aantonen dat u over een bepaalde vaardigheid beschikt. Beide voegen waarde toe wanneer ze worden weergegeven op je cv.

Bedrijven die de tools ontwikkelen, bieden vaak trainingsprogramma's aan en als je een van die trainingsprogramma's voltooit, krijg je een certificaat als bewijs dat je de tool onder de knie hebt. Deze certificeringen zijn vaak gratis. Ze zijn geïnteresseerd in het certificeren van veel professionals in het gebruik van hun tools, dus het is in hun eigen belang om u te trainen om ze te gebruiken zonder dat u er (veel) voor betaalt.

Certificeringen in een bepaalde vaardigheid - zoals bijvoorbeeld SQL-programmering, NoSQL-databasebeheer of ETL-procesontwerp - zijn vaak duur, maar ze voegen veel waarde toe aan je cv, vooral omdat ze interviewers voorkomen dat ze moeten evalueren of je weet echt hoe je je werk moet doen. Postdoctorale cursussen zijn een geschikte optie als je al een diploma hebt.

5. Ga er helemaal voor

Je hebt de materialen om databaseontwerper te worden al bestudeerd en geleerd. Je hebt je kennis verdiept. Je hebt cursussen gevolgd en certificaten behaald. Wat mis je om databaseontwerper te worden? Weten hoe belangrijke taken moeten worden uitgevoerd en deze van begin tot eind kunnen uitvoeren.

Een database modelleren

U weet misschien hoe u een ERD moet tekenen, maar het modelleren van een database omvat meer dan dat. Om een ​​databaseontwerper te zijn, moet je in staat zijn om van het onderzoeken en analyseren van vereisten te gaan tot het genereren en uitvoeren van scripts om diagrammen om te zetten in werkende databases.

Complexe query's schrijven in SQL

Het is niet alleen een kwestie van een vraag die de gegevens retourneert die het zou moeten retourneren, maar ook om deze zo snel mogelijk terug te sturen. Weten hoe SQL-query's moeten worden geschreven, betekent denken met dezelfde logica als de database-engine om de gevraagde informatie te verzamelen en deze met minimale inspanning te leveren.

Prestaties optimaliseren

Het optimaliseren van databaseprestaties omvat het maken van een geschikt ontwerp en het bewaken van databaseactiviteiten om bewerkingen te detecteren die de prestaties verminderen. Het houdt ook in dat u weet hoe u prestatieproblemen kunt oplossen, of het nu gaat om het maken van indexen, het opnieuw ontwerpen van het schema of het informeren van de DBA over mogelijke problemen bij de optimalisatie van de database-engine.

Een database beveiligen

Hoewel het toewijzen van machtigingen en privileges aan databaseobjecten normaal gesproken niet de taak van de databaseontwerper is, kan hij of zij verantwoordelijkheidsgebieden in hun ontwerpen identificeren die het voor een beheerder gemakkelijker maken om machtigingen aan elke databasegebruiker correct toe te wijzen.

6. Zachte vaardigheden verwerven

Deze laatste stap wordt vaak over het hoofd gezien in de carrière van een databaseontwerper, maar laat dit niet ongeadresseerd. In veel situaties zijn de hieronder genoemde zachte vaardigheden net zo belangrijk, zo niet belangrijker, dan traditionele technische vaardigheden en kennis, ook wel de harde vaardigheden genoemd.

Zakelijk inzicht

Ontwerpers met zakelijk inzicht kunnen elke eis die ze krijgen beter interpreteren en de juiste dimensie geven, en dat vertaalt zich in betere ontwerpbeslissingen. Iets eenvoudigs als beslissen of u een natuurlijke sleutel of een surrogaatsleutel voor een tafel wilt gebruiken, kan belangrijk zijn voor het bedrijf; het afstemmen van uw beslissingen op de zakelijke doelstellingen is de sleutel tot het succes van uw werk.

Communicatie en interpersoonlijke vaardigheden

Een goed ontwerp maken is slechts een deel van het werk. Nadat je je model hebt gemaakt en geperfectioneerd, moet je het kunnen presenteren, uitleggen en iedereen helpen die ermee moet werken. Je moet ook accepteren dat elk ontwerp kan worden verbeterd, dus wees voorbereid op het ontvangen van suggesties en kritiek. Over het algemeen maak je als ontwerper deel uit van een team. Een nuttig onderdeel van het team zijn, betekent een teamspeler zijn die altijd denkt aan het voordeel voor het team.

De eindstreep:een baan als databaseontwerper

Als je al deze dingen hebt gedaan, ben je waarschijnlijk al een professional bezig met het modelleren van databases en heb je veel verhalen te vertellen. De commentaarruimte hieronder is voor jou om nuttig advies en grappige verhalen te delen, en om bij te dragen aan het verrijken van ons leven als databaseontwerpers.


  1. Meerdere rijen invoegen in Oracle

  2. Wat kan het Queryplan vertellen?

  3. Hoe TRIM() werkt in MariaDB

  4. Een SQL Plus-script uitvoeren in PowerShell