Question

When developing a new system, for a big corporation.

Technologies:
Web, Java, Spring Boot, Rest Api, Postgres, Hibernate

Company:
Bank

System:
Promissory control, and all others

Company name:
Mycorp

Systems:
Many systems, dozens, dozens...

Is there a good reason to put the company name at the beginning of the table names?

For example, for the users table: mycorp_users

Sometimes I see something like this, the company name + the system name + ...: mycorp_systemx_users

Why not use a schema for this? dbmycorp.systemx.users

Or even not use anything only: someschema.users

Was it helpful?

Solution

Naming conventions are usually there for a reason.

Perhaps a good idea is to ask the people in charge why this naming convention was chosen this way. Since you work in bank these naming conventions are (in general) pretty strict, and perhaps useful in the bigger picture.

But from what I can read in your comments and in your post, then no, I don't see much use in using the naming convention you specified.

I would also much rather use schemas as you've said yourself. This gives you the added benefit of being able to specify permissions on the separate schemas.

OTHER TIPS

As you say in the comments

I work for a different company, yes, that is building the system for the bank

I suspect this is a requirement of the company you work for and/or the expectations of the purchasing bank.

When the build is complete mycorp is going to be all over in the code. If you wanted to sell the same product to DifferentCorp it would be a lot of work to remove reference to mycorp. I assume that by adding mycorp they bank paying you to custom build a product for them, will have some feeling that you will not be going and selling to their competition, as soon as you get it working.

See related

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top