Thank you both for your replies!
This is only a class project and I have approached my professor about doing it this way: Using a table to store all equipment in, having a GROUP_TYPE field in that table, having triggers that will not allow certain attribute values to be null if certain GROUP_TYPEs are chosen. So, a record of GROUP_TYPE lens would not be allowed to have a null MIN_FOCAL or MAX_FOCAL, but would be allowed to have a null SENSOR_SIZE... I would still have my serials table with its STOCK field to track big ticket items, and a quantity field in the equipment table to track small items. This arrangement is fine for the project, per my professor.
Having said that, I don't like it all that well. (although writing those triggers was fun!)
georgev: you are exactly right. HOW to store each instance of an item individually, when some will be stored by serial, and some do not have serials, is my entire conundrum. Yes, I could autogenerate a serial, but then there will be confusion as to what is an ACTUAL serial and what isn't. The business rules of my pretend company require that serial numbers are recorded at time of rental so that the company can ensure they get the SAME camera/lens back.
EDIT: georgev, 3 Nikon D80s would all have serial numbers, but very small accessory items would not.
healdem: I don't think your solution addresses the problem that I'm having at all. However, it addresses my OTHER problems quite well! I had already thought about including a spec sheet, but I had never even considered an XML sheet that could be searched! That's brilliant! Probably far beyond the scope of my knowledge and this class, but I think that I may work on such a thing in my spare time this summer. I've used
VB to read/write from XML before, so I'm sure I could eventually figure out how to do what your describing. Thanks for the great idea, and if you have any further input I'd love to hear it!
Nathan