At 08:17 AM 12/29/2008, you wrote:
>I am rather fresh to MySQL and am trying to fix and update a website -
>modifying from just plain html to css, php and MySQL. I'm working on
>FreeBSD 7.0, MySQL 5.1,30, PHP5.28 & Apache 2.2.11.
>I need figure out how to set up (design) a database of books which gets
>rather complicated since I must implement searches of the database based
>on key words including categories, ISBN numbers, authors, dates, etc. etc.
>The problem is how to deal with duplication of the data - In other words,
>a book may have not only several authors, but also several ISBN numbers,
>fall under several categories, different dates (year of publication),
>several publishers & I probably haven't yet seen all of the variables.
>I certainly do not want to enter the same book many times with just one of
>each different variable. I suppose that one way to do it is to enter one
>row with a lot of columns to store all the the different variables; a
>search would probably be simpler this way if the search criteria are
>limited to 1 word. Or would it? I rather do think that the search should
>be limited to 1 word anyway. :-)
>If the search would be for a category, for instance, would it make sense
>to use a column for category with an input of keywords for the different
>categories?; rather than a column for each category or another table of
>Multiple publication years could probably be different row entries since
>there would not be more than 2 or would be a different publisher,
>language, or country.
>I really with to K.I.S.S this undertaking and would appreciate any help or
>If it helps, you can see the site as it is at present
>http://www.ptahhotep.com - but since it is rather messed up at the moment,
>it is best viewed with IE. Some of the links and jscripts don't work on
You can of course simplify things by putting the alternate ISBN number in
the description of the book and put a full text index on it. Same with
alternate authors etc.. It would be a catch all for items that you don't
have columns for.
I think the best line of attack is to work from an existing model. Why
re-invent the wheel?
There are a few bookstore/library schemas here: