From: Martijn Tonies Date: October 28 2003 4:53pm Subject: Re: Is MySQL Relational? (was: Foreigner keys in MySQL?) List-Archive: http://lists.mysql.com/mysql/152623 Message-Id: <014301c39d73$fad8fbf0$0a02a8c0@seal> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi, > >> If you are trying to determine whether MySQL is a relational database, > >> the answer is yes. > > > >Ehm... the answer is "no". > > > >It's getting better, that's for sure. > > MySQL may or may not conform to some standard or another, and it may > or may not perform the tasks that you, personally, want it to, but > in fact it *is* a relational database, as opposed to a flat file or > an object database. First of all ... "Relational Database Engine" - not relational database. :-) (this may sound like nitpicking to you, but a database is NOT a database engine) > I recommended the questioner evaluate her needs against MySQL's > available feature set, because if you are used to Oracle (or some > other robust, commercial relational database) you may be surprised > at some of the differences or absences in MySQL. You are very right here. I for sure wouldn't buy Oracle if I wouldn't need it and MySQL is capable of lots of things - no doubt there. > But the questioner made it seem as though she was really just > trying to get a feel for the basics scope of MySQL, and in that > context, yes, MySQL is designed to a implement a relational > database model as opposed to some other fundamental type of > database. > > So, what's your laundry list of things MySQL should do? To become at least a bit relational, a database engine should be able to enforce integrity. Now, MySQL - by itself - cannot do that. Yes, InnoDB can do referential integrity - that's a good start, albeit not enough. Check constraints, anyone? Domains, anyone? Views and updateable views? And WHY do we have to care about table-types? Isn't this a physical thingy? And there's probably more - some of which I don't understand... As said before - MySQL is very suited for lots and lots of types of applications and is improving a lot. Heck, that's the reason why I will be supporting MySQL in Database Workbench :-) Oh, and John, "SearchDatabase" or "Google" isn't always right :-) http://searchdatabase.techtarget.com/sDefinition/0,,sid13_gci212885,00.html (actually, the SearchDatabase site has a lot of wrong stuff - XML? :-) With regards, Martijn Tonies Database Workbench - developer tool for InterBase, Firebird & MS SQL Server. Upscene Productions http://www.upscene.com