Vladislav Bogdanov wrote:
If we simply add 'addressbook_id' field to 'contacts' table (and one more table with names and flags of that address books) then we can have as many SQL address books as one may wish. Personal addresses (read/write/delete/search/group), collected addresses (read/move/delete), imported addresses (read-only), etc. etc. And all insert/delete operations whould be replaced with one SQL update operation if user wants to move address to different addressbook. Groups support would be limited to address books with 'groupable' flag set or whatever else.
Now I understand. So, it's just the internal structure extension/optimization. There will be still two beings: addressbook and group.