in reply to Re: Which databases to use?
in thread Which databases to use?

Thanks! Your reply was very informative. I suppose I'm still a bit confused as to what constitutes "relational" in a database. For instance, in example #2, it's a database of academic questions (ever heard of Quizbowl?) that include the main category, subcategory, type of question, question, answer(s), and the author. I will want to do a number of different lookups: by category (or subcategory), by author, grab all the answers (so we can avoid duplicates)... I don't know exactly why, but this seems like a possible candidate for the RDBM, but I'm really not familiar enough with them to decide. :-/

Replies are listed 'Best First'.
Re^3: Which databases to use?
by jZed (Prior) on Aug 19, 2005 at 15:31 UTC
    Are some of the question multiple choice questions? If so you have relational data : there is a one to many relationaship between a question and the multiple possible answers to that question. Do you need to track information about authors? If so you have relational data since there is a one to many relationship between one author and the multiple questions they have written.

    But whether the data fits the relational model is not, IMNSHO, the only thing to consider. You also need to consider who is going to write the code that does things like adding new data, removing old data, querying data, displaying data result sets in various formats, etc.

    These operations are standard operations for RDBM systems regardless of the complexity of the data. Therefore there already exist many solutions and you don't need to re-invent inserts, update, delete, display, etc. yourself. Do those solutions exist for other non-RDBMS systems? Well they can certainly be recreated with Perl, anything can. But I doubt you'll find the breadth of solutions already created in the RDBMS world. In Perl RDBM systems are primarily accessed through DBI which presents a standard interface. This means that there are many people who are familiar with how to do all of those operations and that there are many modules that allow you to do those operations in a coding style you prefer.
Re^3: Which databases to use?
by dragonchild (Archbishop) on Aug 19, 2005 at 16:37 UTC
    Note: there is a certain amount of overhead associated using the relational part of an RDBMS. Very often, if you only have a small dataset, say under 1000 rows of data, the relational overhead is often not worth it and it's easier just to use a DBM such as DBM::Deep.

    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?