The database is indeed created automatically, unless you tell it otherwise. It's possible (and pretty common) to prepare your own database to work with Membership, Roles and so on. The steps you need to perform are roughly like this:
1. Make sure you have a database for your site
2. Run the tool aspnet_regsql against your database to prepare it for the ASP.NET Services.
3. Tell your application to use this database, instead of the autogenerated one. A quick way to do this (although it feels like cheating) is to override the LocalSqlServer connection string. A bit slower but more correct is to reconfigure the services in your web.config and tell them to use your own connection string.
For a great explanation (and the cheating solution of the LocalSqlServer string) check here:
Once you got that working, take a look here: http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=481
, especially the section "Enable ASP.NET Membership and the RoleManager" where you can see the full code for two services. Once you have that code in your web.config, you can change the reference to LocalSqlServer to your own connection string you use throughout the application.
Probably more information than you wanted, but I hope it helps ;-)