Alexander Bokovoy wrote: > > I don't buy these arguments. It's easy enough to dismiss that which you > > haven't (yet) implemented for whatever reason. I don't hear any Oracle > > or PostgreSQL (etc) complaining about the restraints of using enforced > > referential integrity checks. Good database design isn't necesarily > > easy, and anything which makes it easier to go ahead while having major > > flaws in your design (which is what they're outlining here) is an > > inherently Bad Idea IMNSHO. > > These are generalizations. In our particular case we don't achieve > anything with these foreign keys in MySQL. We do that with Repligard's > integrity checking instead.
And if repligard were the only actor on the database, _maybe_ that would be enough. Maybe. But it isn't. And even if it were, I'd see it as a strengthening benefit to have these rules that repligard pledges to follow enforced by the database. > Moreover, our database structure has fields in > some tables (article, for example) which do have variable referencing > nature and thus cannot be covered easily by foreign keys at all. > > For example, extra? or icon,print,view fields in article table can be and > used by many sites to reference external (for article table) data in the > database depending on developer's approach. They store ID information for > some table but full reference information isn't known for MySQL (or any > other database) because it may vary on, for example, type field of > article. a) OK, so you can't use foreign keys everywhere, that doesn't mean you can't use them anywhere b) don't tell me you think the extra etc fields are a good idea. I think we still have them because they were in the first release. Were we to redesign the entire database today I'd certainly argue to have them removed in favor of a more general mechanism. IOW the places where we can't use enforced integrity rules are exactly the places where I think the midgard database design is flawed. > This just means that relational databases in Midgard's case are not good > choice for storage. Well, that's like the old saying "the X window system is the second worst display system in existance, with all others tied for third". As soon as anything better turns up, I'm game. In the meantime we have to use what we have in the best way we can. I'm not proposing to jump in with refint checking right now -- the installed base of mysql 3.x servers is too large for that. But as soon as mysql 4.x is 'the' standard database out there, yes, I'd absolutely be in favor of using the strength of the database where possible. Emile --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
