Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index





On Sun, 10 Aug 2014 21:30:18 +0100
Mark Bourne <libreoffice-ml.mbourne@spamgourmet.com> wrote:

It looks like each book should only have one of the "ReadStatus"
flags set, so I'd make that an enum field on the BookInformation
table, with possible values of "Not Read", "Reading" and "Read". You
can set the default value for the field to "Not Read" so a new record
will be set to that status if no value is specified for that field.

That's essentially the same idea as the status tables I was suggesting.
In my experience we've always used status tables, so I would suggest
those. Partly because I'm not familiar with database support for enums.
How well supported and widely supported is that by the most common
databases?


"NumberOfBooksByAuthor" and "ReadBooksByAuthor" are not needed on the 
"AuthorInfo" table - you can get those by querying the database. I
may have the syntax slightly wrong here, but along the lines of:
   SELECT `ai`.`AuthorID`, `ai`.`AuthorName`, COUNT(`bi`.`BookID`)
from `AuthorInfo` `ai` LEFT JOIN `BookInformation` `bi` ON
`bi`.`AuthorID` = `ai`.`AuthorID` GROUP BY `ai`.`AuthorID`
should give the number of books by each author. Add:
   AND `bi`.`ReadStatus` = "Read"
to the ON condition and you can get the number of read books by each
author.

That's the kind of thing a database enables you to do much more
easily than with a spreadsheet ;o)

Mark.


Joel Madero wrote:
Hi All,

So I went back to planning stage. Link to what I think might work -
hoping to get the planning stage done today so I can start actually
putting together the db - I have 3 days off so now's a good time
for me to get the basic structure together :) Thanks in advance!

https://drive.google.com/file/d/0B2kdRhc960qdbGJIQ1M3NWtrdmc/edit?usp=sharing


Best,
Joel



-- 
To unsubscribe e-mail to: users+unsubscribe@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.