Hi Roy
Thanks for your comments.
> to download something with huge copyright statements across each page, and "full book available from..." in the header section.
I've actually taken this on board. I really didn't think that the watermark would offend anybody but I can see now that I was wrong (and there isn't really any need for it) so I've taken it off the PDF's this morning. I've also removed the header section from the HTML pages too. Do let me know if you think the site still looks commercial. I'm not putting any advertisements on my site (not even Google Adwords) but I did think it reasonable to have a link to my own Book listing on Amazon. The single link to my training site on the homepage was only to let people know what I do for a living not to try to sell training courses. Do you think I should remove it?
>
"In my systems the user never sees the primary key (or even knows it exists). For me this is a fundamental rule of good database design." - I think you need to realize that what is a fundamental rule to you, is only that, a fundamental rule to you. The notion that "Primary keys are always meaningless and have the data type: AutoNumber.", is also one of these things that are fundamental for some. The sad thing, is that for some it becomes so fundamental they go on being completely fundamentalistic about it. Even if you believe Codd agree with you (which I don't believe), there is no fundamental rule in RM supporting your rule. To put it mildly, it is controversial. There are some of us who use the state code as primary key for the state table,
I'm massively agreeing with you here Roy. Simply clinging to a quality standard as an "article of faith" is plainly silly. No articles of faith here, but you do need to rationally state the advantage of using a meaningful primary key. Discussion is rational and argument is pointless. While I feel quite secure with this rule at the moment I have a completely open mind and am ready (and even eager) for you to convince me that meaningful primary keys have an advantage. I know that this subject is controversial so that's an even better reason to put it to bed.
> and use composite primary keys in junction tables, this is not only allowed, but some even recommend this
You've clearly read something in the standard that leads you to think that composite keys aren't allowed. Is there something I've written that gives this impression? Can you tell me where it is so that I can re-draft it more clearly?
>Besides, what type of primary key to use, has nothing to do with programming standard in Access VBA, it's a database design or implementation issue.
The standard is about writing data-centric applications using Access and VBA. I think you have to address database design issues too if the standard will contribute to developing solid applications. Solid code over a poorly implemented database will still result in poor applications and my aim is to address all areas - not just code syntax - in this standard.
> Another database design issue, is naming of tables and columns. I question the need to create a separate new Jet standard, when there are general, accepted standards that can be used across platforms. There's even an ISO standard (ISO 11179). Most of us will sooner or later work with other platforms than Jet, then it doesn't make sense, in my view, to chose a proprietary style, especially one deviating so much from generally accepted standards.
I use the same conventions with SQL Server. Which items do you regard as Jet specific? Which items do you percieve as deviating from generally accepted standards? I'm really interested in your feedback.
> For most of us, it's enough to use whatever adapted subset of Hungarian/Reddick/Lezinsky/
I agree that the core of the standard should be generally accepted best practice and I actually quote Charles Simonyi in rule 1-6 and link to the full draft of his original historic work both on my site and in my book.
As you've observed, the standard addresses more than naming conventions (important though these are). I don't think there's anything in the excellent Hungarian/Reddick/Lezinsky/ conventions that contradict anything in the standard. Let me know (specifically) which items you feel need changing if you disagree. It is the parts of the standard that are missing from the above works that make it wothwhile (and I have great hopes of reaching consensus on the parts that are controversial by anybody that wishes to engage in rational discussion). My aim for the standard is to provide a superset of generally accepted best practice and not a subset - and you can help me a lot with your feeback.
>The most important is probably to choose a style and stick with it. Well, one shouldn't choose something deviating to much from the generally accepted standards, as it would make it harder for those unfortunately enough to have to manage it afterwards.
I completely agree that generally accepted standards should be the foundation of the standard. I spend much of my time helping companies to fix systems that were built with major design defects when they may have worked fine if the simple-to-understand rules in this standard had been followed.
I really appreciate your feedback and do hope that you will find it worthwhile to comment on the points above.
Best Regards
Mike Smart