SQL Clone
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in

The meaning of Database Administrator

In two blogs I follow, Andy Leonard's blog on SQLBlogs.com and Sheeri Kritzer's The MySQL She-BA, the question of what is a database administrator has come back up. Andy has posted twice on the topic, first with how DBAs are an enterprise requirement and then a follow-up to that post. In Sheeri's case, she was pointing out that a system administrator friend of hers considers the use of phpMyAdmin as a determining factor on whether or not one is DBA: he's not much of a DBA because if it can't be done through this tool, he's not likely to be doing it. She points out that there are some who use phpMyAdmin and consider themselves DBAs... indicating it would be a senior DBA who steps away from this tool. Sheeri is implying if you are a DBA (not a senior DBA), you should be able to go from a command-line and enter actual SQL. I agree with her.

I have to admit I like phpMyAdmin in concept. But when I manage MySQL databases I really don't like this tool in practice. For me it gets in the way. The same can be said for most of the GUI tools for SQL Server. Give me a connection where I can execute queries and I'm happy. If you want to spoil me allow me to have Intellisense a la SQLPrompt or Apex SQL Edit. But there are so many things which either: (a) can't be done from the GUI or (b) take so much longer to do that way. For instance, a couple of posts back I talked about DDL triggers and CREATE_LOGIN and ALTER_LOGIN events. SQL Server Management Studio doesn't provide much of an interface for DDL triggers. You can script them and delete them, but that's about the extent of it. You've got to go to the command-line in order to create or alter them (or enable or disable them).

When I consider what it means to be a DBA, I believe it means to have a fundamental understanding of how the database platform works and about relational database theory in general. A DBA should understand how to manage the database system. This means how to do backups and restores, how to work with indexes and other optimizations, and how the security model for the platform is structured. I also think it means having some competency with the flavor of SQL used by that RDBMS system. Not everything can be done via the GUI. Some DBAs may prefer the GUI for certain tasks, but if forced to they can go to the command-line and get the job done. Sure, they may need to check a reference text like Books Online, but they still are capable of doing it. This isn't to knock GUI and work-saving tools like SQL Server Management Studio or phpMyAdmin. They serve a purpose and if they reduce the time to complete a particular task, there's nothing wrong with using them. But a DBA should be able to go without such tools in order to accomplish the work.

Technorati Tags:  Work | Skills | SQL Server | Microsoft SQL Server | SQL Server 2005 | MySQL | DBA

K. Brian Kelley - Databases, Infrastructure, and Security

IT Security, MySQL, Perl, SQL Server, and Windows technologies.


Posted by lotso on 18 July 2007
I play around mainly with MySQL and SQL Server almost daily, writing code and such. (Granted, I don't actually do any database inserts/transactions, but I develop applications based on those data)

My view of phpMyAdmin is that it's both useful and useless at the same time. I'm a fan of the CLI, but there are instances whereby the CLI will never equate to a GUI; such as when one is querying and getting data of say 20 columns and 500 rows which would really mess up the CLI due to not having the capability to actually do horizontal/vertical panning.

Coming from a *nix based background, I prefer to script everything (as much as I can) to perform routine and repetative tasks such as alter tables, add columns and stuffs like that.

When it comes to queries, a GUI would be needed.(and it's not so that I get command completion/column name completion, but more towards having the ability to pan the results.) And Yes, I write my own queries.
Posted by lotso on 18 July 2007
BTW : I believe that the usage of GUI tools are mainly due to Window(tm) users who are so used to the point-and-click method of accomplishing things which tends to make them forget how to use a keyboard effectively.

That. to me, is the major timesaver and the #1 efficiency tool
Posted by DL on 20 July 2007
You can actually specify a pager in the mysql client. Google for "mysql pager", and you'll find the manual entry that shows how to use 'less' to get horizontal and vertical scrolling. It sends the resultset out to any process you specify, so setting 'grep foo' as the pager does filtering for you right from the commandline - there's a good blog entry by Eric Bergen about this feature.
Leave a Comment

Please register or log in to leave a comment.