(5) Странное желание группировать по наименованию. Вообще говоря - "группировка" это когда кортежи объединяются по какому-либо общему для всех полю. Оно может быть составным. Но единственным. Иначе получите неоднозначность.
В вашем случае на уровне "Наименование" не нужны никакие группировки. Это уже уровень для детальных записей.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший