I’m struggling to find a definitive answer about saving empty records in a DB. I do realise the question might be a bit vague, but if it’s required, I’m happy to modify the question and provide some scenarios I’m thinking about.
If a client makes a request trying to create a new record in the DB, but the request contains absolutely no data, then my point of view is that the record should not be created at all. In other words, my personal preference is to reject the request and only allow the DB to create a new record only if some data is present. I would also assume that allowing a client to create an empty record also means making all of the fields nullable.
Also, as a side note, I realise this question might not exactly seem specific to the DBA SE, as I feels it covers more topics than just DB-related best practices, but I’m most interested in the DB layer of the application.