Everyone who works with a database.
Pretend you're a developer, Oh! You are? Well, okay, this should be easy then....
You have a project on your schedule and it requires creating a database store. Simple! Create some tables and put records in them. Right? Maybe not. Ask yourself a few questions:
- Do you know what the best design is for the type of data you need to store?
- Did you consider how you will need to retrieve it?
- Do you know how to enforce Referential Integrity? What - You haven't heard of RI?
- What will you do if the data becomes corrupted?
These are but a very few questions that anyone with Database Administrator (DBA) skills would be able to help with. But why are they important? On a very basic level, The DBA is the specialist who can keep the database running smoothly, ensure the servers are healthy and recover data in the event of a mishap or catastophe. It doesn't matter really what database platform you work in, these factors remain the same. Companies who choose to not have a staff member dedicated to their databases and underlying infrastructure open up the door for a lot of potential issues.
So what if you don't have a DBA at your company? What can you do to make sure any applications you create continues to perform well and can be recovered with as little pain as possible? Read. Research. Implement. And if all that fails, check out the #sqlhelp hashtag on twitter. Real-life DBAs can help; and they will :)
*This is my first t-sql Tuesday post and I thank Adam Machanic (blog | twitter) and Paul Randal (blog | twitter) for the topic this month!