You can walk into any company on earth, open the production database, and find the same seven tables. Different industry, different continent, different decade. The same seven tables.
Nobody planned this. There is no standard, no committee, no ISO number, no working group that ever met. And yet the convergence is total. Blindfold me, drop me into any company in any industry, and I will find at least five of these before the coffee arrives.
I have personally created four of these. I named one of them after myself, which at the time felt efficient. It is, as far as I know, still there.
1. Customers_new
Created in 2019 to replace Customers.
Both are still here. Both had rows added yesterday.
Nobody can tell you which one the application actually reads. Finding out would mean opening something, and the person who last opened something is the reason we have Customers_new.
In the tidier organisations there is also Customers_new_final. In the honest ones there is Customers_new_final_v2. I have seen Customers_new_final_USE_THIS_ONE, and I want to be clear that the shouting did not work.
In about a third of the databases I have opened there is also a view called vw_Customers that quietly unions both tables together. Somebody built that view to solve the problem.
The view is now the problem.

2. Sheet1
Somebody imported a spreadsheet. The wizard suggested a name and they accepted it, because it was four in the afternoon and the meeting was at half past.
It has a column called Column3. Column3 holds the regional discount percentages. There is no other copy of the regional discount percentages anywhere in the company.
No primary key. No constraints. No NOT NULL on anything at all, including the column that decides what your customers pay. It is one of the most load bearing objects in the finance system and it is named after a tab.
Somewhere nearby there is also a table called Sheet1$. The dollar sign is not a typo. It is a fossil left by the import wizard, and it means this happened twice.
The contractor who imported it was here for six weeks. Nobody wrote down the surname.
It has never failed an audit. Nobody has ever found it.

3. tmp_fix_20180312
Temporary.
The date in the name is the night of the outage. The fix went in at two in the morning, the incident was closed at four, and the table was going to be dropped first thing.
That was seven years ago. It has been backed up about two and a half thousand times. It has been carried through three server migrations, each time by somebody who assumed the person before them had checked.
It appears on a cleanup ticket roughly once a year. The ticket is always closed by somebody who has correctly worked out that nobody alive knows what it is.
Nobody has ever queried it. Everybody has moved it.

4. Settings
One row. Forty one columns.
Twelve of them are called Flag1 through Flag12. Four more are called Flag1_New through Flag4_New, which tells you roughly when the second developer arrived.
Nobody knows what Flag7 does. On the single occasion somebody set it to 0, the warehouse stopped printing labels within eleven minutes.
Flag7 has been 1 ever since. It is 1 in production, in staging, in the two environments nobody uses, and in the disaster recovery site that has never been failed over to.
There is also a column called Temp. It is a bit. It is 1. It has been 1 since the table was created in 2014, and the word Temp has never in the history of computing done more work.
The table has no primary key, because there is one row and there will only ever be one row. In 2021 somebody inserted a second row. The company could not take orders for forty minutes.
There is still no primary key.

5. AuditLog
Nine hundred million rows.
It has never been read. Not rarely. Never.
I have checked this more than once, because I did not believe it either. The usage statistics show writes and nothing else, year after year, in a straight line. The compliance team who asked for it moved on. The person who replaced them assumed somebody else was already reviewing it. Nobody was.
It is backed up nightly. It is replicated to two secondaries. It is the most faithfully maintained object in the entire organisation, and it exists to be examined on a day that has not yet arrived.
Roughly once a year somebody proposes archiving it. The meeting reaches the question of what the retention policy actually is. Nobody in the room knows. The meeting ends. The table adds another hundred and forty million rows.
It also has no index on the date column. So on the day it finally matters, when somebody official is standing behind you asking what happened on the fourteenth, it will not work.

6. Backup_DoNotDelete
Forty gigabytes.
Nobody knows what it is a backup of. The columns do not match anything currently in the database. The newest row in it is from a Tuesday in 2019.
There is no permission stopping you from dropping it. No extended property, no documentation, no ticket, no owner in any system. The protection is entirely the name, typed in capitals by somebody who had just been badly frightened.
A stranger left a note, and for six years every one of us has obeyed it.
I once sat in a migration planning meeting where a team spent two hours on whether to bring it across.
They brought it across.

7. AKTest
Or jm_temp, or priya_wrk, or three initials nobody can expand any more.
Four rows. Two of them contain the word test. One is empty. One says asdf.
That person left in 2017. The account was disabled, the laptop was wiped, the desk has been reassigned twice, and the table is still here, backed up every night, consuming eight kilobytes and a surprising amount of everybody’s courage.
Nobody will drop it. Dropping it feels like something.
It is eight kilobytes and it is somebody’s name, and it turns out that is enough.

Honourable Mentions
Not universal enough for the main seven, but present in far more places than anybody would like.
Users and tblUsers. Both populated. Different row counts. Nobody is investigating.
Orders_20190417_BEFORE_MIGRATION. The migration was a success and we have never once deleted the parachute.
ZZ_Old_Orders. Prefixed with ZZ so it sorts to the bottom of the object list, which is our version of sweeping it under a rug.
Copy of Sheet1. Yes, with the spaces. Yes, it needs square brackets. Yes, somebody has written production code containing square brackets around the words Copy of Sheet1.
Archive. Contains nothing. Has contained nothing since 2018. The nightly archiving job still runs, and still reports success.
Test. Created by somebody who is now a director.
Table1. No further information is available and none is coming.
DELETE_ME. Created in 2016.
What You Are Actually Looking At
Nobody designed your database. It accumulated.
Every one of these tables was a person solving a Tuesday. The naming was not carelessness, it was speed, and speed was the right call at the time. Customers_new was made by somebody who fully intended to come back and finish. AuditLog was made by somebody who was told to. Backup_DoNotDelete was made by somebody who had just watched a bad thing happen and typed in capitals so it would not happen again.
None of them were being sloppy. They were being fast, on purpose, on a day when fast was worth more than tidy.
Which is why I would gently suggest doing something about it, and why I know you will not. I have four of my own out there. One has my name on it. Some intern in a city I have never visited is going to find it in 2031, decide it is probably important, and back it up for another decade.
One more thing and then I will let you get back to it. There is nobody inside the machine, which is the whole argument of my book AI: Nobody’s in There. But we’re still in here. There are, on the other hand, an enormous number of people inside your database, and you have just met seven of them. All thirty essays are free to read at pinaldave.com, and there is a paperback on Amazon if you would rather hold something real.
Nobody designed your database. It accumulated, one Tuesday at a time, and every name in it is a message somebody did not know they were leaving.
Reference: Pinal Dave (https://blog.sqlauthority.com/), SQL Server Humor, X
First appeared on Every Database Has These Seven Tables