Relational Databases and Databases in general are two different things. E. F. Codd proposed Relational Databases in a 1970 Communications of the ACM paper that turned up instantly in a search. Here's a PDF:
http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf That paper itself says nothing at all about SQL, which is used to communicate between the database and either the end user, or software that acts on behalf of the end user. Instead it discusses the logical structure of Relational Databases, with only databases that have that certain kind of structure being considered "Relational". Part of that, for example, is the notion that there should be only one copy of any given item of data. Say you stored Steve Wozniak's payroll information, and you put his salary in two different fields because it was convenient to do so, either because the client code was easier to write, or the data could be retrieved or stored more quickly that way. Inevitably some innocuous error would result in the two copies becoming different from each other, and there would be Hell to pay. There's a lot more to it than that. Codd himself many years later - just a few years ago - spoke of his great disappointment with SQL, pointing out that SQL all by itself does not make any database at all Relational. That's up to the database architect who designs its schema. There are some things that the database vendors must implement, such as atomic and fault-tolerant storage, but any fool can create an Oracle or MySQL database that's not Relational by designing the tables, rows and columns in some manner of incorrect way. There are many kinds of databases that are really great, but that don't even attempt to be Relational. Mike On Sat, Jun 22, 2013 at 3:03 PM, Charles Srstka <cocoa...@charlessoft.com> wrote: > On Jun 22, 2013, at 10:43 AM, Michael Crawford <mdcrawf...@gmail.com> wrote: > > I don't use Core Data because it's not cross-platform. In my honest > opinion no one in their right mind would bet their livelihood on > platform-specific document formats, no matter what the platform. > > ... > > > While one can use SQLite or XML for the storage, if the SQLite or XML > documents are to be opened on some other platform, one would have to > write all that code from scratch, without the use of Core Data. > > > To me, it's not that you'd have to write all the code from scratch that > makes Core Data concerning, it's the fact that the format is undocumented. > Sure, it's not too hard to study the XML or SQLite that Core Data generates > and figure out its format, but if there are corner cases in the format that > you didn't figure out or if the format changes at some point, any custom > code for reading, or especially writing, your format will be buggy and > unreliable. > > If Apple published a complete specification for the format, I'd be willing > to use Core Data, but as it is, the prospect of having one's own file format > as a black box is a huge turn-off to me. > > Charles > -- Michael David Crawford mdcrawford at gmail dot com Custom Software Development for the iPhone and Mac OS X http://www.dulcineatech.com/custom-software-development/ _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com