What Beginning SQL Students Should Learn
In this post I interview Eugenio Tacchini, author of DaDaBIK and college lecturer, and ask him what he feels beginning SQL students should learn and what he sees as some of their major frustrations.
1. What is some advice you would give to a beginning SQL student?
Try to learn standard SQL first and then specific features offered by the DBMS you are using.
Don’t get used too soon to the SQL dialect offered by a specific DBMS otherwise you will be find difficult to move to another DBMS in the future.
2. What is one of the biggest frustrations you see junior DBA have with SQL? Do you have any suggestions to help them overcome these?
I see that my students (I teach information systems, including a part on SQL), who are not computer scientists, often find SQL a redundant language; I sort of understand them but the relational model and the SQL language is something that anyone can learn, above all a “relation” is a concept we are all aware of, maybe without realizing it.
I think the key is always to reduce complex problems into small problems, yet another application of “Divide et impera” :)
3. Do you have any advice for people that want to start a career as a DBA? For instance, are certifications a must?
Here are three tips:
- I would say “think big” since the beginning: every time you design a database, even a very simple one, try to imagine you have to handle a huge amount of data and you have strict requirements in terms of reliability and availability.
- Experiment with cloud services.
- Don’t embrace a new technology just because it’s the cool thing in a particular moment because one year later it could be phased out.
As an employer, I wouldn’t consider a certification a must, but probably a certification could help in some traditional corporate environments.
4. If you were going to develop a database using open source what are the reasons you would pick one DBMS, such as MySQL over another?
I think the user community around the software is one of the most important thing for a couple of reasons. The first reason is the support: if the user community is huge there is good chance that if you have a problem, even a very particular one, there is another user who experienced the same and posted a solution on Stackoverflow.com (or similar sites).
The second reason is continuity: a huge user community keeps the product alive, both for commercial and non-commercial products.
Another general aspect I would consider is the availability of paid support: is there a company (or more than one) which offers professional support? You might really need it.
5. What advice would you give to beginning developers that need to create user interfaces to access and maintain data? Are there some lessons learned that you’ve picked up over the year as you developed you own product, DaDaBIK, that you can share?
I think that in many cases you don’t really need to develop your own interface and you should pick up an application like DaDaBIK or similar which does the job for you.
Every time you find yourself coding yet another time the same thing (this can happen very often with database applications) there is something wrong in your workflow: you should invest time in learning a tool which completely automates the process or a framework which partially does it; not only your work will be more effective but you will also have more fun and you will learn new stuff.
Choose a product with several years of production deployment history which guarantees continuity, this is essential.
About Eugenio Tacchini
Eugenio Tacchini, Ph.D., is an Italian software analyst & developer, University lecturer of Information Systems and researcher in Music Recommender Systems. He has been a visiting scholar at the Freie Universitat Berlin and at the University of California, Berkeley.
He created the very first version of DaDaBIK in 2000, fourteen years ago, and he continues developing it to this day. He is also the founder of the music recommendation radio Mentor.FM.
tweet me. I’m here to help you.Remember! I want to remind you all that if you have other questions you want answered, then post a comment or