So, again. One table. "allBoards" seems like a good name, but up to you.
And add one field, "manufacturer", which is where you distinguish the board maker.
But now comes the much harder part: It is considered very bad DB design to put a *LIST* of values into a single field. So, just to pick one example, you should not do this:
Code:
CREATE TABLE allBoards (
manufacturer VARCHAR(50),
trueName VARCHAR(100),
knownCodenames VARCHAR(1000),
... other fields ...
);
INSERT INTO allBoards (manufacturer, trueName, knownCodenames)
VALUES( 'Asus/Pegatron', 'Asus A7N8X-LA', 'Escape, Explorer, Explorer2, Explorer4 Focus');
Instead, you *SHOULD* do:
Code:
CREATE TABLE allBoards (
boardID INT AUTO_INCREMENT PRIMARY KEY,
manufacturer VARCHAR(50),
trueName VARCHAR(100),
... other fields ...
) ENGINE INNODB;
CREATE TABLE codeNames (
boardID INT,
codeName VARCHAR(100),
CONSTRAINT FOREIGN KEY boardID REFERENCES allBoards(boardID)
) ENGINE INNODB;
INSERT INTO allBoards (boardid, manufacturer, trueName)
VALUES( 331, 'Asus/Pegatron', 'Asus A7N8X-LA');
// this creates 4 records in the codeNames table:
INSERT INTO codeNames (boardid, codename)
VALUES( 331, 'Escape'), (331, 'Explorer'), (331, 'Explorer2'), (331, 'Explorer4 Focus');
[Normally, you would not assign the boardid in the INSERT INTO allBoards; you would let MySQL assign it for you. But I did it here for demo purposes.)
Do you HAVE to do this? No. But depending on what queries you may later make against the DB, it may prove invaluable. Each field you have there that potentially has a list of values in it needs to be examined to figure out if it should be done as above (known as a "1 to many relationship" or, sometimes, a "lookup table").
Even the fields that only hold a single value might need this treatment. The most likely candidate, as I see it (but you would need to carefully review your data to know for sure) is "CPUInfo". But there well could be others.
A *good* DB design is one that will allow you to later make most any query against it that you can dream up. Just one possible example:
"Find all boards that support an AMD Athlon XP3400+ CPU and that have at least 4
RAM slots and at least 3 PCI Express x1 Slots."
You won't easily be able to support such a query if you have multiple pieces of information in a single DB field.