I am DB novice and I hope I can find some help here from this forum.

Two problems:
1. How to best design an e-Commerce backend with products having three level deep categories (Category1/Category2/Category3/Product).
My approach is to create a table for each category having an FK to the parent. Is this OK?

2. Some products have non-numeric (mixed with char) model number and some use last few digits to describe different types (color, etc). From a programming standpoint I can just use two varchars columns to describe model# and type with another varchar to combine together as PK. Is there any better approach to this problem?

Thanks in advance.