You could use the same database if you want, just use a unique prefix. Even better to use another db (less cluttered).
The web server would have to understand "virtual servers" so that www.yourdomain.com and happyfun.domain.com are two different sites poiniting to two different directories (one under the other is fine). Hosting servers usually call this "sub domains". simple and works a charm.