Product
+----------------+----------------+--------+-------+----------+----------------+
|Field | Type | Null | Key | Default | Extra |
+----------------+----------------+--------+-------+----------+----------------+
|id | int(11) | No | PRI | Null | auto_increment |
|modelNumber | varchar(150) | No | | | |
|manufacturer_id | int(11) | No | | | |
|name | varchar(100) | No | | | |
|department_id | int(11) | No | | | |
|class_id | int(11) | No | | | |
|subclass_id | int(11) | No | | | |
+----------------+----------------+--------+-------+----------+----------------+
Department_id
+---------------+----------------+--------+-------+----------+-------------+
|Field | Type | Null | Key | Default | Extra |
+---------------+----------------+--------+-------+----------+-------------+
|department_id | int(11) | | PRI | | |
|name | varchar(100) | | | | |
+---------------+----------------+--------+-------+----------+-------------+
Manufacturer
+----------------+----------------+--------+-------+----------+---------------+
|Field | Type | Null | Key | Default | Extra |
+----------------+----------------+--------+-------+----------+---------------+
|manufacturer_id | int(11) | | PRI | | |
|name | varchar(100) | | | | |
+----------------+----------------+--------+-------+----------+---------------+
Class
+-----------+----------------+--------+-------+----------+----------+
|Field | Type | Null | Key | Default | Extra |
+-----------+----------------+--------+-------+----------+----------+
|class_id | int(11) | | PRI | | |
|name | varchar(100) | | | | |
+-----------+----------------+--------+-------+----------+----------+
Subclass
+---------------+----------------+--------+-------+----------+------------+
|Field | Type | Null | Key | Default | Extra |
+---------------+----------------+--------+-------+----------+------------+
|subclass_id | int(11) | | PRI | | |
|name | varchar(100) | | | | |
+---------------+----------------+--------+-------+----------+------------+
I do not have full control over how I obtain the data, as I am getting a large amount of data via XML. I need to create a database that will allow me to expand.
if
classidandsubclassidare not related,it is in3nfand not inBCNFbecausemodelNumberis not adependencyonid. but if they are related its not even in3nf