On Sun, 10 Aug 2014 21:30:18 +0100
Mark Bourne <email@example.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
"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
That's the kind of thing a database enables you to do much more
easily than with a spreadsheet ;o)
Joel Madero wrote:
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!
To unsubscribe e-mail to: firstname.lastname@example.org
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
Re: [libreoffice-users] Currently Using Spreadsheet for Personal Project - Thinking About Database · Oogie McGuire
- Re: [libreoffice-users] Re: Currently Using Spreadsheet for Personal Project - Thinking About Database (continued)
Impressum (Legal Info)
: 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