Yes. Exactly.
Take this image of Bart writing lines on a whiteboard:
We don’t need to read every sentence to know what they say, since they are all identical. So, if Bart was trying to be efficient, he might just write the sentence once and then include how many times it can be written out on the board:
So much room (memory) is saved by just writing it once, rather than duplicating the very same thing over and over and over, simply because there’s nothing unique about any of the sentences. They are all the same thing.
But it can still go further then that, because Bart get’s lines a lot, there’s probably a few sentences he might have the write and there’s a chance that some one else (eg. Nelson) might have to write out the same sentence too.
So instead of Nelson’s board also containing a copy of the same sentence, the sentence itself can be moved out to a separate place and just a number used to reference it:
That way, there’s just one copy of the sentence and since it is the same for everyone, they can all use that same number to refer to that sentence (each of them of course, with their own quantity). No matter how many people need that same sentence, they can just reference it with a number and store how many of them they have:
You can think of the chalkboard as being like your inventory. It has a list of all the items you have and how many of each type.
While the items are the same thing, there is nothing unique about them and they can all refer to the same information.
So in your inventory, packaged items are like that. They contain a typeID (reference to the type of object) and how many you have.
There is no ability to store the maker of each item, because the items don’t exist when they are packaged. It’s just a reference to the item so that when you assemble it, the correct item gets assembled.
However, when you assemble a ship, it has the potential to be different to every other Drake in the game (even other Drakes you own).
It can have:
- unique name
- SKIN applied
- owner
- damage
- fitting
- stuff in its cargo
- etc.
All these things (and others) make an assembled Drake unique, so the assembled ship then needs its own separate database entry.
That’s the only time the ship can store unique information about itself and it knows no history of itself existing before it was assembled.
So it is kind of impossible, given the way the database is designed, to store unique information about the maker, because even Drakes that roll off the production line are not actual Drake’s with their own database entry. They are also just a reference to a Drake object in an inventory. Nothing unique about them, so the information comes from a single locations that all Drake’s use, not an individual database entry for each item (not until they are assembled).
This is a far more efficient use of memory and database design than duplicating the same information over and over tens of thousands of times.
When a Drake gets assembled, then the number of packaged Drakes you have in your inventory goes down by 1 and a reference to the item ID in the database for that specific drake is then added to your inventory. At that point, the Drake then exists as its own unique item, with its own entry in a separate table in the database, as all the unique information about it needs to persist, whether you are online or not.
Of course, CCP could change their design, but the amount of effort required for the little benefit gained makes it extremely unlikely.