What do the mysql workbench column icons mean
Key: (Part of) Primary Key
Filled Diamond: NOT NULL
Not filled Diamond: NULL
Red colored: (Part of) Foreign key
Blue lined Diamond: Simple attribute (no key)
Can be combined for example:
is a Red colored Key so it's a Primary Key which is also a Foreign Key
is a Yellow (non Red) Key so it's only a Primary Key
is a blue lined filled diamond so it's a NOT NULL simple attribute
is a red colored filled diamond so it's a NOT NULL Foreign Key
is a blue lined not filled diamond so it's a simple attribute which can be NULL
is a red colored not filled diamond so it's a Foreign Key which can be NULL
On a sidenote:
Mind you that MySQL Workbench has a buggy Database > Reverse Engineer (Ctrl-R) option with which you can generate a ERD diagram and that uses these icons. In my experience the v6.x is better than v8.x but both have their quirks/bugs.
To the left of the column name is an icon that indicates whether the column is a member of the primary key. If the icon is a small key, that column belongs to the primary key, otherwise the icon is a blue diamond or a white diamond. A blue diamond indicates the column has NN set. To add or remove a column from the primary key, double-click the icon. You can also add a primary key by checking the PRIMARY KEY check box in the Column Details section of the table editor.
Source: http://dev.mysql.com/doc/workbench/en/wb-table-editor.html Section: 7.7.1.3.2