On 28 Jan 2019, at 9:44pm, Chris Locke <[email protected]> wrote:

>> The table name should not be meaningful to your application; nothing in your 
>> application should conjure up a table name.
> 
> I can't get my head around this advice.  Is this just for this occasion, or 
> for every application?  What if I'm writing a customer address book?  Am I 
> allowed a table called 'customers' ?  Thats meaningful to my application.

The text you quote is unclear, and I see why you questioned it.

Your database has a schema.  A schema comprises tables, indexes, triggers, 
views, etc..  The names of those things mean something to the programmer.  The 
schema doesn't change unless the programmer changes their idea about what the 
application does.

Inside the tables you put your data.  The data changes, as the application may 
have to look inside a table, and examine what it finds, to figure out what data 
it has and what it means.

Programmers change schemas.  Just like they change the software.
Applications change data, not schemas.

There are occasional reasons to violate these rules.  But the people who write 
SQL libraries assume that programmers will follow those rules, and their 
optimizations for execution time and memory used assume you will follow those 
rules.

Simon.
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to