It’s not so much from computer science perspective (although that as well) as from “proper data in proper places” perspective.
The trick to pull all associated records in a column of the same table, like here:
is useful when you cannot or don’t want to make a separate table of Projects, e.g. because of anticipated human error (e.g. there’s a person filling in this log by mindlessly copying data from Excel, and you anticipate they’ll forget to add missing Projects to another table). But with this approach you get:
- quite some data duplication: lists will grow exponentially with each entry added with the same project name (+1 item in all rows of the same project; +1 row with as many items)
- recalculation of the whole column each time a row is added, which will get exponentially slower over time
It’s okay for a small data set but it’s not scalable.
If you totally need to go with this approach, at least make it so that associated records are only collected once per group, since the end result will ignore repeated records anyway. Here’s an example where I used this approach:
(see the data table)