[MdQ]: I think it says to adopt a consistent convention, a convention such as lowercase. I don't read this as saying that lower case is better than upper case or vice-versa. It's a little ambiguous, I suppose. "...it is best to adopt a consistent convention, such as always creating and referring to databases and tables using lowercase names. This convention is recommended for maximum portability and ease of use." Note that first they said
a convention, later they said
this convention. I believe that using
this in the second half indicates they were talking about the specific convention they'd just mentioned, using lowercase. Not just
any convention. Still, it's less clear than one might hope.
[MdQ]: To the best of my knowledge, Windows converts all filenames to upper case. At least it used to display all filenames in upper case. Well, nowadays it certainly remembers the filenames in mixed case, able to display them in mixed case. It somehow ignores the case in most other circumstances - whether it does this by secretly converting to upper or lower case, or something else, I dont know. You're probably right about the past behavior; I remember older DOS screens, and converting everything to uppercaase is the simplest explanation for what we saw. Regardless though... those are files, not tables.
[MdQ]: Maybe you're reading a different part of the docs, but I'm seeing that the default behavior of MySql[...] All right, I talked about OS behavior when I should have said, the behavior of mysql on the OS. You're correct. Either way though, my point is that in those cases where the table names get converted at all, they're converted to lower case, not upper, at least as far as mysql is concerned.
[MdQ]: I think when you are using Java equals(), rather than depending on convention, you would be better off to use something like equalsIgnoreCase(), toUpperCase() or toLowerCase(). If the sql is wrong, you'll probably get a sql exception, but if the equals() is wrong, it will just be false. I agree you're better off with equalsIgnoreCase() or toSomeOtherCase() - when you remember to do it. But this is the sort of thing that can be easy to overlook. And it may run fine in Windows, but fail in Unix, or vice versa. That's where a consistent standard helps - and I
believe it's more likely to help, at least in mysql, if the standard is lowercase, because mysql is more likely to convert to lowercase than to uppercase.
[MdQ]: Maybe that's why I prefer uppercase, because I've seen so much of it. I agree that consistency is the most important consideration. It's easier for me if all my students use upper case rather than some using upper, some using lower, and some using camelCase. Agreed. Except I think you should all use lower.
OK, sorry to pester you, I was just interested in hearing if there were other issues involved. Thanks...