Если взять email или ИИН, то опять же это не уникально для каждого мероприятия. Организатор с такими данными может и проводить и другое мероприятие.
про нормализацию я читал. Как тогда эти мероприятия обьединить в одни данные? Их ничего не связывает... А мне нужна связь. Хотя бы для того, чтобы посчитать количество участников в мероприятии в общем с учетом всех регистраций.
Один участник может принимать участие в обе даты и в разных регистрациях.
Например, в эти выходные Вокал мероприятия Буратино. А в следующие выходные мероприятие буратино проводит Танцы. И теперь мне нужно посчитать уникальных людей мероприятия. Тут сразу встаёт ступор. Используя ваш подход это сделать невозможно. А чтобы мероприятия различались придется их назвать: Всероссийский фестиваль Искусств «Буратино» Вокал и Всероссийский фестиваль Искусств «Буратино» Танцы.
Если так разделить, то от этого нет смысла. Я уже тоже думал об этом. Даты могут быть разные. Если поставить мероприятие «ежегодное», то даты при этом останутся одни на этот и следующий год. А в нашем случае даты всегда меняются.
Events = [
1 => [
'id' => 1,
'name' => 'Всероссийский фестиваль Искусств «Буратино»',
'date' => '10.09.2019-12.10.2019'
],
2 => [
'id' => 2,
'name' => 'Всероссийский фестиваль Искусств «Буратино»',
'date' => '22.09.2019-24.10.2019'
],
3 => [
'id' => 3,
'name' => 'Всероссийский фестиваль Искусств «Буратино»',
'date' => '10.09.2020-12.10.2020'
]
]
Events(id, date, type) //type в этом случае что-то вроде per_year, per_month итд или null если единичный тип
Event_type(id, event_id, type)