timewizard 7 days ago

Yet the picture at the top of the article is incomprehensible to me. Why is the "session_speakers" table positioned there? It relates speakers and sessions and then has a geometric layout that completely fails to convey that.

You put too many bezier curves on a page on my eyes go cross. They don't even bother to make the lines different colors. Just a bunch of white curves against a fixed grid layout. Wut?

It's taking well structured data and then destructuring it into an inaccurate sloppy picture. I don't get it.

1
maxluk 7 days ago

Isn't it a problem with many-to-many relationships in relational algebra? You have to have this artificial table to relate things in many-to-many way. How would you display it in a better way?

timewizard 7 days ago

The tables should be better ordered. "speakers" is obviously the primary table here and should be top left. The "session_speakers" should be between it and the table it maps "sessions." Then "reviews" and "events" on the bottom. There's an obvious "top end" and "bottom end" of this structure that this graph completely gets wrong.

You could argue that "events" are primary in which case just switch the order of that and "speakers."

I'd color the table headers differently and different from each other and have the arrows leaving that box match the color of the box it's leaving. Also drop "public:". It's expected and default so it does not need to be displayed here.

Drop the key icon and just make the key fields in bold or with a different style.

Don't make me hunt around to match information and don't be afraid to use differential styling.

maxluk 7 days ago

That's great feedback! Thank you! I wonder if we can auto-layout in the way you describe. Should be doable. We will look into it.