In the company I work for, there is a data architecture I've never seen before, and I wonder if this is common, or if it's a new market trend. Just to mention the bank is Oracle. Here are some points:
-
There is almost no relationship between tables, for example, in one of the tables there is a field that represents the id's of another table, but this field is not a foreign key, any value can be saved there. The responsibility for ensuring data integrity is in the API that accesses that database. As soon as a POST arrives, for example, wanting to save in this field, which in my design should be foreign key, it does a select in that in the other table, to verify if this value exists, and if so, then it saves.
-
There are several databases, that is, there is a database for each subject of the company, even though these tables of different banks might very well be related.
-
There is a lot of redundancy. At this point I even understand, because there is the issue of 'denormalization' in favor of performance, but in this case, at least in my conception it is bordering on the extreme.
I questioned the person who did the modeling, and the main argument was regarding performance. Therefore, all responsibilities regarding data, integrity, business rule, are in the API. I started in the job market a short time ago, and I wonder if this is a new market trend.