If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
|
Thread Tools | Display Modes |
#11
|
|||
|
|||
I think your description misses the point out of rule 1:
Rule two says that tables have primary keys. Rule one says that not just 'data', but foreign key index definitions, stored procedures, permissions, constraints, etc etc are stored in tables. When properly formulated, the rules should be orthogonal: ie you shouldn't be able to say 'fails rule 2 because it fails rule 1' (david) "Tim Ferguson" wrote in message ... "=?Utf-8?B?U3Jpbml2YXNhbg==?=" wrote in : Can we say MS-Access as True RDBMS?, I have a feeling that this is a troll, but in any case I'm sucker enough to bite... Codd describe the twelve rules of relational fidelity, and Pascal added rule 0. 0) Foundation rule: a relational dbms must manage databases entirely through relational capabilities. The mdb file is a monolith, and it's not possible to pretend that tables in different file can be related, and there are no tools to manipulate the data in mdb files directly; so this is a pass. 1) Information rule: all information must be held in R-tables. Access allows tables to be created without primary keys and therefore fails rule 1. 2) Guaranteed logical access rule: every value must be accessible via table name, PK value and column name. Since Access fails rule 1, this also fails by definition. 7) Set level operation rule: select, insert, update and delete operations must be available via set operations rather than requiring row-by-row manipulation Within the limitations of the language, all these operations are called by SQL and so this is a pass. 3) Missing information rule: missing information should be handled by the database not by applications' own exception processing features. Access provides NULL handling on all data types except booleans. Note that Codd himself had big problems with proper handling of null data, so Access is not significantly worse than any other product. I think MVDBMSs are meant to be better, but I don't understand enough to make a valid judgement. 8) Physical independence rule: applications and interactive operations should remain independent of internal storage mechanisms. Microsoft only provides access to (logical) data via the Jet engine, and the internal (physical) structure of mdb files is a deep mystery which may or may not change from one version to another. This rule is therefore a pass. 9) Logical independence rule: applications and interactive operations should remain independent of the structure of the base tables. Access does not support views as an alternative to direct base table access -- queries are partly updateable and cannot always be substituted for base tables. This is at best a partial pass, and strictly it's a fail. 6) View update rule: the rdbms should identify at definition time whether or to what extent a view can be updateable. I have a feeling that Access should do this, but updateability seems so unreliable and paradoxical that I can't use the capability. In my hands, Access fails this rule, but it may be that in others' more experienced, it's at least a partial pass. 10) Integrity independence rule: operations and applications should be independent of internal integrity declarations. Access can define unique key and foreign key integrity rules, validation rules that cover one table and rules across multiple tables. Unfortunately, the user interface makes these hard and often pretends that they are optional, so although this rule is a pass, Microsoft loses credit for trying to obfuscate it. 11) Distribution independence rule: operations and applications should be independent of distribution and re-distribution of the database I don't have a lot of experience with Jet replication, but I gather that the applications run just as happily against a replica as with a real database, so this is a pass. Just whether replication counts as true distribution is another argument and it's well over my head! 4) Dynamic online relational catalog rule: The database description should be held just like ordinary data i.e in R-tables Access nearly gets a pass on this. Actually, the entire schema is held in R-tables, but then agan Microsoft has officially not documented these and the only reliable access is via proprietary dao or adox libraries. In practical terms, therefore, it's a fail. 5) Comprehensive data language rule: there should be one language to support all the relational features of the database - data definition, data manipulation, integrity rules, authorisation etc. Access has a pretty complete implementation of SQL DDL and DML; but it does not use the same langauge for security features or the system catalog or queries, so this is a fail. 12) Non subversion rule: operations in a native language should not be able to subvert data integrity rules declared in a higher-level language. Access does not allow the DAO library (for example) to break integrity rules, so this is a pass. Summary: Access passes seven out of thirteen rules for relational fidelity. It's up to you whether this makes it a True RDBMS, or even whether you think that a product can be half-relational. Are you looking for a platform to learn about relational theory and design? Are you looking for a standardised environment to develop a mission-critical database? Are you comparing with other desktop products, or with industry-strength software systems costing thousands of dollars? All the best Tim F |
|
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How to get data from Analysis Services cubes into Access | General Discussion | 2 | December 4th, 2004 02:21 PM | |
Access 2000 -vs- Access 2003? | Mark | General Discussion | 5 | November 30th, 2004 06:36 AM |
is Access 2003 any better than XP? | Gorb | General Discussion | 4 | November 11th, 2004 09:44 PM |
MICROSOFT INVESTING HEAVILY IN ACCESS | Mike Painter | General Discussion | 39 | October 15th, 2004 03:56 PM |
Access user profile | Michael Breitsameter | General Discussion | 7 | July 23rd, 2004 07:47 AM |