There are so many free, good quality, general purpose database products around I have to wonder why you would want to write another - unless you have some ground breaking search or index algorithim. Most database engines are written in C, for performance reasons, and may even have assembler in some performance critcal areas.
Perl is used as an interface because most database engines have a C interface, and a wrapper can be written using the Perl-C API (that is XS). Many other languages use C wrappers in this way, not just Perl.
Well, my $.02 on the subject-- I wouldn't use Perl to create an MS SQL database. I also wouldn't use Java to do that. (Although I'm sure both Perl and Java could construct databases of many different flavors from scratch.)
If I needed a database, I wouldn't use programming languages to build it. I'd use the database tools to create and manage the database.
Then I'd use programming languages to connect to the databases to do interesting things with the data; including add, delete and update information in the database.
In my mind, it's a question of using the best tool for the job. To sum it up, the tools that come with the databases are best for me for creating databases, and program languages are the best tools for doing things with databases. Different tools for different jobs. (You can use a hammer and screw driver to fix just about anything. But sometimes a saw just works better.)