>1) be consistent with name given to a field. same field in two different tables should be given the same name
Markus Egger wrote an article on Patterns in teh Database on creating a reusable model for names and things, it might help, I don't think I ever read the whole thing, so I'm not sure.
http://www.foxtalknewsletter.com/FT/FTmag.nsf/0/F88194070F838421852568E700755A39But I think he discusses "normalizing" field names. Like, don't use "Vendor" as the name of the Vendor in the Vendor table, use "Name". Or maybe that was Charlie Schreiner's August 1997 A cRose by Any Other oName article. Both would probably be a good read.
>2) be consistent with abbreviations.
Abbreviations should be kept to a minimum. If you do decide to keep a size of 10 on field lengths, use them. OTherwise there is absolutlely no need.
>3) Keep the field name to under 8 characters?
If you're going to keep it under anything, keep them to 10. I do, but I'm not convinced this is the best practice.
>4) Not use any special characters (such as the underscore)
THe reason I don't like the underscore is its hard to remeber where you use them and where you didn't "so was that ItemCode or Item_code?" If you make it a rule not to use them its one less brain scan you need to use.