I would start out basic and work my way towards the more specific:
The first root should be (partial) Extract, All Grain
The second root of the tree would be Ale, Lager.
Then you'd get into the various types of ales and lagers
Then the individual recipes for each type. Or is this what you're thinking? Are you going to list Belgian's under a seperate tree or just put them into the Ale mix?
Are you going to code in ingredients or make them just text fields? By coding them in and assigning a primary key, you could easily create a function that would allow the user to enter in the ingredients they have and have the DB recommend a beer to brew. While it's time consuming, I'm sure a few of us here (myself included) would be willing to help enter information on hops, yeast and grains.
What language are you writing this in and what type of DB are you using? I'd be more than happy to lend a hand coding if it's PHP. I've written a few large DB projects for web using PHP and MySQL, but I'm also good with just about any SQL based DB and I can pick up on any JS or ActionScript needed.