You have already probably come up with something, but for anybody else who comes across this, I recommend Umbraco to do out of the box presentation (other than just "articles").
See my article for how to get started:
Umbrazure: Limitless Websites with Umbraco on Azure.
Umbraco allows you to store data how you want (in a content tree), fetch data how you want (either fetch Umbraco content data with the API, or use whatever database access technique you want to access data in a database).
If you want users to type in data through the CMS, but have it be stored in your own database, that can be done too. Just create what is called an "Umbraco data type" (not the same as a programming language data type). It's basically a user control that plugs into the CMS GUI.
You can even use URL rewriting so that you only have to create a single page that responds to different URL's and generates content for each of them differently. I show how to do that in the above article (using language/region).
It's built on ASP.NET, so you can use Web Forms or MVC to make your pages. Umbraco does not limit how you access data or present it, so the sky's the limit.
By the way, the above article shows how to do something fairly advanced, but you can setup Umbraco in a much simpler way if you aren't interested in Azure or other cloud technologies.