Clave:(parte de) clave principal
Diamante relleno:NO NULO
Diamante no rellenado:NULO
Color rojo:(parte de) clave externa
Diamante con línea azul:atributo simple (sin clave)
Se pueden combinar por ejemplo:
es una clave de color rojo, por lo que es una clave principal que también es una clave externa
es una clave amarilla (no roja), por lo que es solo una clave principal
es un rombo relleno con línea azul, por lo que es un atributo simple NO NULO
es un diamante relleno de color rojo, por lo que es una clave foránea NO NULA
es un rombo sin relleno con línea azul, por lo que es un atributo simple que puede ser NULL
es un diamante de color rojo sin relleno, por lo que es una clave externa que puede ser NULL
En una nota al margen:
Tenga en cuenta que MySQL Workbench tiene una Base de datos> Ingeniería inversa (Ctrl-R) con errores opción con la que se puede generar un diagrama ERD y que utiliza estos iconos. Según mi experiencia, la v6.x es mejor que la v8.x, pero ambas tienen sus peculiaridades/errores.