On 12 Jun 2013, at 9:49am, dd <durga.d...@gmail.com> wrote: >>> Book titles are not unique. > I agree. 2. Books : columns(BookId_primarykey, > Book_id_in_string_format_like_guid)
I’m not sure why you would need a GUID. You can store 2. Books : columns(BookId_primarykey, Title) Just don’t put a restriction on it that the title must be unique. The BookId is unique and that is enough. > >>> Why is there a problem when there is an author without any books? > No problem. But, my app need to delete author record from author > table when author doesn't have any books. How to handle this? (I can verify > in author table, whether this author belongs to any other book when book > deletion. If no, delete from author table. I am not happy with this > solution ) The normal way to do this in a SQLite database would be to use a FOREIGN KEY relationship: <http://www.sqlite.org/foreignkeys.html> You would have something like this: 1. Authors: columns(AuthorId, Name, SSN) 2. Books : columns(BookId, Title, AuthorId, FOREIGN KEY(AuthorId) REFERENCES Authors(AuthorId)) You could set the database up in two ways: (A) ON DELETE CASCADE would allow you to delete an author with books, and would delete their books too. (B) ON DELETE RESTRICT would make SQLite issue an error message if you tried to delete an author who still had books in the Books table. SQLite will do this itself automatically. You do not need to write your own code to look at the other table. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users