Ask HN: Open Source apps with lots of database tables?
Are there any open source applications out there with big data models? I've seen MediaWiki's database schema (http://www.mediawiki.org/wiki/File:Mediawiki-database-schema.png), are there larger ones out there that would be worthwhile to study?
[+] [-] jerf|16 years ago|reply
Did you drop a zero or two? I hit 250-ish once on a relatively minor project by enterprise standards. (Built a small business on this table, so it wasn't a dinky thing either.) If you're normalizing anything like correctly, the table count grows fast. (Not to mention things like what I call "enumeration tables" that exist solely to provide foreign key checking on another table and make it so you don't have the same string showing up a bajillion times, instead just having a tinyint or smaller.)
[+] [-] DanielBMarkham|16 years ago|reply
If there was sufficient refactoring, you should be able to run most enterprises on a small-ish number of tables. Say 100-200 (not including lookups) I'd almost bet that you could go <100, but I'll hedge my bets a bit.
If you don't refactor, and most enterprises don't, then yes, you can run easily into the 1500-3000+ range. You can also get this big if you buy a one-size-fits-all data model, which has to be God's punishment to mankind for being able to draw boxes and lines. You can also grow fast in a hurry if you have a team who love "patterns" and are not afraid to plop them in everywhere.
Most enterprise problem domains do not require anywhere near the number of tables they use to do their business.
[+] [-] bockris|16 years ago|reply
[+] [-] henning|16 years ago|reply
[+] [-] sunkencity|16 years ago|reply
http://www.magentocommerce.com/wiki/_detail/doc/magento---sa...
[+] [-] JoeH|16 years ago|reply
In fact a quick search shows 531 Tables and 108 Views: http://www.knowledgesuccess.com/local/doc/schemaCompiere253b
[+] [-] sprsquish|16 years ago|reply
[+] [-] cmelbye|16 years ago|reply
Going in depth in their database schema and code might be a good idea, it's got a lot of really cool optimizations (which makes sense, considering it powers a top 10 site on the internet).
[+] [-] SwellJoe|16 years ago|reply
[+] [-] spokey|16 years ago|reply
This seems to be a list of the tables in a default Drupal 5 installation: http://webdevgeeks.com/schemaspy/index.html. It looks like Drupal 5 has around 40 tables out of the box.
Here's an ERD for CivCRM, which I believe is built on top of Drupal, so this would be additive to the base Drupal install and whatever modules CivCRM depends upon: http://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+ER...
Here's an ERD for Joomla: http://www.oozman.com/oozing/ideas/archives/erd-joomla/ (v 1.0 and 1.5)
[+] [-] arnabdotorg|16 years ago|reply
[+] [-] jakecarpenter|16 years ago|reply