I can certainly link you to a list of good BDD resources which I made.
BDD these days is mostly used at an application level, rather than for units of code, but it did start out that way and many people who use it for unit-level testing describe it as "TDD done well". To get a good idea of how to use it this way, I recommend Dan North's "Introducing BDD".
You could also look at Kent Beck's "TDD by Example" and Martin Fowler's "Refactoring" for a good understanding of TDD.
Really, though, neither of them are about testing. TDD and BDD are both about exploring, questioning and discovering things about code. They're really focused on learning, rather than testing. You do happen to get tests and living documentation as a side-effect, and that's very useful, but if you think of it as a test it might be tricky - as Dan's article will show.
As a side-effect, TDD / BDD is pretty good for testing algorithms and business logic. You'd probably want more of an integration test for CRUD, but you can use all the same tools.