• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Suggestion for learning database

Looks like, for quant job, knowing database is not a MUST but a PREFER.

If I want to learn database, how shall I start? Any book to suggest? is it necessary to learn how to use C++ to work with database?

Database isn't a language :) If you're looking to learn some version of a SQL, I think in the industry Microsoft Access with VBA is the most common (ick), though I can't say much to that.

If you know any other language, there isn't much besides some syntax you need to learn. A SQL isn't usually very complicated, it's more learning how to get it to interact with excel or PHP or what have you. To this end I'd recommend starting your own database project, so you know the simple query's and what it takes to make excel, VBA and Access work (once again going on what I've read about what a quant need out of a database).

C++ is in no way needed to work with a database. There is the case that if you have mastery of C++ you'll get the hang of a SQL faster, as well as a more worthwhile skill.

Anyway maybe this wasn't a worthwhile post, I can't recommend you any books. I used the SQL Server Bible as more of a referance then anything on my last database project, so that's all I can say. But again, as far as I know you won't be doing much in SQL server as a quant. VBA and Access usually go hand in hand, but if it just mentions Access, maybe you can avoid learning VBA until later.

Hope that was helpful-ish.
Download mySQL, MS SQL to your computer. The first is free, the second has Express version free
Populate it with free database. Both vendors provide free dataset for you to play with.
Create table, write queries, stored procedures.
You can use LINQ in C# (.NET 3.5 version and up) to access your database or call your stored procedure.
You can use VBA to call sp and then display it on your Excel sheet to do calculation. You can write scripts to download and store free data from Yahoo Finance to your database.
You can setup a RTD and refresh your Excel with new data, do some calculation.
Well, it's harder and has more nuances. I guess not particularly C++, but any real programming language. It also depends on the scope of knowledge you need of a SQL. Knowing how one works and being able to query and create simple stored procedures ect, for me didn't take long. Learning how to integrate it with PHP is harder, and I'd say the same can be said of Access and VBA, though I've never worked with them extensively.

But I didn't mean to say you'll pick up knowledge of databases while learning C++ or something silly, more that it should be your priority over picking up Access, and having a computing background helps. Hope that's a bit clearer :)

Anyway I just read a post by the HH guru Dominic Connor on a separate quant forum, where he said be wary when company specifically mentions SQL, it's most likely a quant developer role. Take that for what it's worth, I suppose.
What do you guys use for in-memory databases ? i.e., databases that let you store and retrieve free floating C/C++ structures but those that provide some kind of query support. I have used berkleydb and SQLLite in the past. Wondering if there are any better and faster databases out there.
Hi guys, thanks a lot for replying.

I ever used an open-source CMS to develop dynamic website. In order to custumize the appearance and functions of the sites, I learned some PHP + MySQL. I have Visual studio installed in my PC and I think Access is included, but I never used it.

I am just wondering, for the purpose of job interview, which one shall I prepare, SQL or Access? Thanks.