> PGN tags are handled as strings. With this layout, each game will have an
> UID which will cost around 20 chars. So the sg3 file is increased by 60 MB
> for a 3 M games DB. So the average number of games in each block will
> decrease, leading to an overall search penalty (more I/O). Note that events,
> white and black players tags for example are stored as references in the
> file sn3, because there are some repetitions. Of course UID does not repeat
> ... By experience I saw that games are around 100 bytes (often less), adding
> UID, even in binary compressed form, would increase the average size of
> games by a non neglictable percentage.


That means that Ids should be treated like a flag, considering Scid's way of
storing things.  Or that that the indexed information should build up the
Id.

>From a DB point of view, the key to find a game is for example the tuple
> (white, black, date, round). You propose a UID that acts as a "primary key"
> or "index" if you refer to the RDBMS point of view (DB2, ORACLE). But the
> queries are not the same in Scid, so this key is not strictly necessary
> (there are no joint queries).
>

The points is not about querying, but about the capacity to refer to a
single resource, and not duplicating information for nothing.

Moreover I prefer the reference "Spassky Fischer 1972, round 3" than "game
> my_huge_ref_db:v12-12345678", because if I copy a game from a base to
> another "Spassky Fischer 1972, round 3" is still valid. Not "game
> my_huge_ref_db:v12-12345678".
>

What do you do if you have the Gligoric annotated game, and the Kasparov
one, your Togofied one, and all the drafts about the game ?  What do you do
if you have ten snapshots (fragments) from this game ?

And :
> - as a human, I prefer "Spassky Fischer 1972, round 3"
> - as a computer, I don't need the UID.


As a human, I prefer a UID that makes me generate the exact list of games
and snapshots I want.  As a computer, if I am not using UID, I am working
against everything that is thought in a course about database concepts.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Scid-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/scid-users

Reply via email to