SQL Beginners – an Interview with Kalman Toth
In my second interview for SQL beginners I had the opportunity to interview Kalman Toth. Kalman is very active within the MSDN (Microsoft Developer’s Network) community. Currently Kalman is a full time writer of computer and puzzle books. Kalman comes from a developer’s background and lends a unique perspective to SQL versus procedural languages such as C++.
With that, let’s begin.
1. 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?
I was very frustrated with C/C++ languages because they could not handle data in a neat manner. I was fascinated with SQL because it could handle data of few millions with the same ease as few rows. On my C/C++ job I had some spare time so I picked up a SYBASE Transact-SQL manual and read it 3 times. I typed in the queries into a notepad document because I did not have access to a database server. My boss had to leave one day and gave his login/password to do a small task. Next day I got my own database login/password and a new world opened up for me.
For today’s beginners the most important decision is to decide if they love SQL. I always loved SQL so I was never frustrated with it. I was frustrated with database administration on the other hand many times.
2. Is there a particular DBMS you would recommend a beginner to learn, why?
Best to learn with SQL Server 2012 Developer Edition which costs around $50 on amazon.com . It is the same as the Enterprise Edition with all the bells & whistles but cannot be used for production. Excellent sample databases are available among them AdventureWorks2012 and AdventureWorksDW2012. The Express Edition is free but it has many limitations.
3. Do you have any advice for people that want to start a career as a DBA? For instance, are certifications a must?
Yes, certification is a must for DBA. It is a foot in the door. Certification also looks good on the resume of a developer. In both cases it is important to type in all the queries & T-SQL scripts and experiment with them. That is how “hands-on” experience be acquired.
4. New developers often ask me what they can do to write more efficient DB code. What are some pointers you could give them?
An application developer must go through a transition period from the “world of loops” (C/C++/C#) to the “world of sets” (SQL). It is a different way of thinking which takes time learn. SQL has implicit looping which is built into the SQL language. The easiest way to manage the transition is to use multiple queries with temporary tables first and check the progress in the processing of data. As developer starts understanding the set-based processing concept the goal is to change the T-SQL script into a single statement query.
5. Normalization can be intimidating for beginners. What were some of the ways you were able to learn it without going insane?
Database design with normalization is a difficult task which can only be mastered in years with the design of several databases in different application areas. The developer should concentrate on understanding a good existing design and use it by trying various JOINs. If a developer becomes an “involuntary” or “reluctant” database designer, the best is to borrow from an existing good design. AdventureWorks2012 and AdventureWorksDW2012 are examples for excellent design albeit there are some issues nonetheless.
Kalman Toth has been working with relational database technology since 1990 .
His relational database career since then includes database design, database development, database administration, OLAP architecture and Business Intelligence development. Applications included enterprise-level general ledger & financial accounting, bond funds auditing, stock market feeds processing, broker-dealer firm risk management, derivative instruments analytics, consumer ecommerce database management for online dating, personal finance, physical fitness, diet and health.
He has designed over 20 databases. His MSDN forum participation in the Transact-SQL and SQL Server Tools was rewarded with the Microsoft Community Contributor award in 2011 and 2012. Kalman has a Master of Arts degree in Physics from Columbia University and a Master of Philosophy degree in Computing Science also from.
Kalman is moderator on the T-SQL & Database Design MSDN forums. Currently a full-time writer of computer & puzzle books. Be sure to check out his latest book “Beginner SQL Programming Using Microsoft SQL Server 2012.”
Remember! I want to remind you all that if you have other questions you want answered, then post a comment or tweet me. I’m here to help you.