Second idea works fine, until there is no possibility to delete/create&reuse number.
Fortunately, in URLyBird there are no such functionalities.
As you can see here is a must so I don't like to take any risk.
What you mean by :
easy search panel (name, city, and/or)
is a business rule and the client only use it not to alter it. Also if any client has his own rule you must transport first the
whole search result from server to the client and then to filter it (using the client specific rule).
P.S : I think that we go away from this thread topic, how about a new thread about the 48 h thema.
How you can be shore about the CRS intends ?
I think that by default the table can be empty.
I think that SUN does this with puropose - I mean to omit the primary key.
IMHO the primary key depends on your Data layer logic.
You can calculate/generate one using the record information and your Data logic.
By example (I have the URLyBird) on my case it make sense that a record apears two times in the database - because a hotel can have more than one room with the same attributes,
so I chose not to throw any DuplicateKeyException.
No records. I've been weighing my options, but I believe this to be the better approach. Imagine the database becomes bigger. If you start with all records, you'll transfer a lot of information that noone wants to see anyway.