I'm developing a db for my android application which requires different tables for various kinds of customers. Essentially, if user type A logs in he'll use Table A, user type B logs in he'll use Table B together with Table C.

Must I proceed and make 3 tables and employ just the table that the user type has drenched in? Would this have significant memory implications (size the db)? That's, when the table does not contain data, would the sqlite db still allocate some space (apart from for definitions from the posts).

Another way is always to look into the user type and dynamically produce the table at runtime once user logs in. I favor the very first method if there is not much space used.

Any pointers or suggestions could be very helpful.

The SQLite DB will occupy some space to keep the table structures and also the constraints/indexes. How about we u just produce the database tables (w/o data) using SQLite Browser and appearance how big the database file.

Is needed you choose.

I believe rather than creating all tables at one go use SQL queries to produce tables whenever needed. If it is unnecessary any longer you may also drop the table.