[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Normalizing XML [was: XML information modeling best practi
Michael said: "I think Date (if I recall his books correctly) would probably agree with the conventional wisdom that there are three stages of database design: information modelling, logical design, and physical design. Information modelling is certainly independent of whether you use relations, objects, or XML. Mapping the conceptual model to XML schemas is logical design, and is very XML-specific. Designing indexes, allocating storage, and so on is physical design, and is very product-specific. You seem to be using the word "design" to mean only the first of these three stages." No, I don't think so. I think I meant the second, logical design. Certainly, that's what Codd was referring to in the quote. The relational model of data explicitly has nothing to say about physical design. It explicitly makes that the responsibility of the implementer of the DBMS and not the designer of the database. (Clearly, current DBMSs only partly support this aim). So I didn't mean physical design. I don't think I meant information modeling either. On page 435 of his book Date discusses E/R modeling. He agrees with Codd that it isn't possible to design a database without both structure and operations (and constraints). If information modeling is just modeling structure, then it is not a sufficient first level of design. I agree with this, at the business level you must model both structure (entities and relationships, say) and process and then you must relate them together (the 'CRUD' matrix). Clearly I wasn't trying to make a point about creating this matrix. I don't think Date does share your conventional wisdom either. On page 14 of my copy of Date's An Introduction to Database Systems (7th edition), he says: "In a nutshell: The model is what users have to know about; the implementation is what users do not have to know about". Users include programmers here, of course. On page 33, Date uses the ANSI/SPARC 'architecture for a database system', having three levels: Internal (aka Physical); External (aka User Logical); and Conceptual (aka Community Logical or Logical). Note, confusingly, the external level is between the internal and the external. The external is an individual user's view of the conceptual. By way of illustration, he shows the COBOL layout as an external view, the DDL as the conceptual and a storage description as the internal. The conceptual view has all the integrity and security constraints. Where does that leave XML? Well, I don't think designing an XML document by specifying a schema is designing a database. Clearly, it is related - the domains used in the message should correspond to domains in the applications it applies to. But there is no modeling of operations on the schema. There are constraints, but they are constraints on unrelated instances of the schema (a database constraint is for transforming one instance into another). Codd in his Turing address said: "It is therefore no surprise that attempts such as those of CODASYL and ANSI to develop data structure definition language (DDL) and data manipulation language (DML) in separate committees have yielded many misunderstandings and incompatibilities." It looks like XML is making the same mistake (XML Schema and XQUERY). Yours, John F Schlesinger SysCore Solutions -----Original Message----- From: Michael Kay [mailto:michael.h.kay@n...] Sent: Wednesday, May 01, 2002 4:03 AM To: johns@s...; 'Ronald Bourret'; xml-dev@l... Subject: RE: Normalizing XML [was: XML information modeling best practices] > Codd and Date would say (I know, I'm putting words in their > mouths, but > maybe Date will see this and tell me if I'm wrong) that it makes no > difference to the design of the database whether the data, when > manipulated, is represented as XML or anything else. > I think Date (if I recall his books correctly) would probably agree with the conventional wisdom that there are three stages of database design: information modelling, logical design, and physical design. Information modelling is certainly independent of whether you use relations, objects, or XML. Mapping the conceptual model to XML schemas is logical design, and is very XML-specific. Designing indexes, allocating storage, and so on is physical design, and is very product-specific. You seem to be using the word "design" to mean only the first of these three stages. Michael Kay Software AG home: Michael.H.Kay@n... work: Michael.Kay@s...
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|