Break out into the required parts, having protocol, username, password, host, optional port, database_name properties?

I would at least break out username and password.