Recently I had a chance to ask Allen Taylor questions about learning SQL and his perspective on the learning and using the language. Allen has worked with computer for over thirty years, and brings a wealth of experience to the table. Allen has written many books on databases and frequently lectures. Please be sure to take a peek at his bio at the end of this interview.
With that lets begin!
Is database a good field to be entering today?
Absolutely! The world is more dependent on databases now than it has ever been. The Internet and the Clouds that it hosts, along with the massive amounts of data that are being collected by sensors of all types present a great opportunity.
All that data needs to be analyzed and processed in order to be of use to anyone. Doing that analysis and that processing is the job of database specialists.
When you first learned SQL, what were some of the frustrations you had and what would you recommend to today’s beginners to avoid them?
Actually, when I first learned SQL, I didn’t find it frustrating at all. The letters SQL are derived from the original IBM-private name for the language, SEQUEL, which was an acronym for Structured English QUEry Language. Reading SQL statements was very similar to reading regular English-language statements, because SQL was just a more formalized, structured version of English.
SQL is indeed a very rich, highly capable language, but you don’t need to master all the richness at first.
You can do some very useful work with SQL with a minimum of training. Most people start by constructing queries that pull information from databases that already exist. Queries can be simple or devilishly complex.
Beginners can start with the simple ones and move on to those that are more involved as they become more comfortable with SQL. Later they can move on to the parts of SQL that enable you to create databases and provide security for them.
Is there a particular DBMS you would recommend a beginner to learn, why?
Some DBMS products are easy to use. These are not necessarily the best products for learning how to use SQL, because they hide the SQL behind a graphical user interface.
The best DBMS products for learning how to use SQL are those that adhere most closely to the international SQL standard, which defines “official” SQL syntax. No product follows the standard perfectly, but some follow it much more closely than others. Among those that do well in this regard are Oracle, MySQL, Microsoft SQL Server, and PostgreSQL.
Do you have any advice for people that want to start a career as a DBA? For instance, are certifications a must?
What’s most important for a DBA is the ability to understand the internal workings of the DBMS she is working with. To correct performance problems and advise users about best practices, one must know the internals. Earning certifications may help with this, but the important thing is the knowledge, however obtained. Often self-taught individuals are the most highly motivated and thus do the best job.
New developers often ask me what they can do to write more efficient DB code. What are some pointers you could give them?
If efficiency is a problem, there is most likely a bottleneck somewhere in the way the DBMS is executing your code. Some DBMS products are just plain inefficient at performing certain operations. If you can run tests that identify the bottleneck, where the DBMS is spending an inordinate amount of time, then you can think about how you might be able to achieve the desired result using different code.
Normalization can be intimidating for beginners. What were some of the ways you were able to learn it without going insane?
Normalization is absolutely critical in the production of a reliable and accurate database. That said, it is rarely necessary to take a database design further than third normal form. If you understand the anomalies that can occur if a database is not properly normalized, and make sure any database you create follows the rules of normalization, you are fine. There is absolutely no threat to your sanity. These concepts are explained in an easy to understand way, and with illustrative examples in my SQL All-In-One For Dummies.
Allen has over thirty years’ experience in the computer industry. He has written many books about databases and reporting. When not writing he lectures on astronomy, innovation, and entrepreneurship. Check out his blog at moontube.wordpress.com.