To zinder:
This games database doesn\'t look like one big excel spreadsheet(I made the same mistake just a few months ago...)
Adding a new colum or row for each new day is not viable
According to what you porposed, we will have to add 1 new column also for each day, very soon we will end up with a book of more then 100 colums... that would be rather ugly to read off, not to mention maintain.
I do not beleive that we need to make the DB remember when an entry was written, sine we are all in different timezones it would be best to let the player enter their own date, unless they are using their ingame notes as a Character Diary.
EDIT Dec 20, 2004 4:18PM EST : Ignore what I said to you, I am sorry for mis-reading. Though I will say that I beleive \"title\" and \"date\" colums are not necesary, since the client should have downloaded the full journal we can have client side seeking if you really need a search function.
To Keknehv:
The 4GB note was for an extremety, when I porposed the table columns, I had set the limits to roughly 51k maximum for the 2nd table and 1k per page for the first table.
Formating of the notes can be done by the player, this formating can be used by using special charcaters on the database side.
How the book is written is up to the client, it can easily control how you write so let the developers handle that =) But you are free to purpose methods.
I have just thought of a slightly difficult by bandwidth saving method to update the in-games notes on the server. The client will store 2 copies of the notes during edit, an original copy which will not be user editable, a modifyable copy is next. When a user hits log or closes the notes, the client will find the differences between the two files and then send it to the game server, at the game server it\'ll access the sql database and then get it\'s own copy, afterwards it\'ll apply a patch to the text and then send it back to the sql server for final storage. This is a solution to save bandwidth uploading, but on initially opening the book the user will need to download all the pages at once.
The -%-Page break-%- was an example phrase, since I am in no position to use non-printing characters. but such things should be possible to allow for user control formating...