Indexing Strategy for the query performance
For a general-purpose or OLTP design, the initial index design should be more conservative:


Clustered index on Primary Key.
Unique non-clustered index any other unique keys.
Index supporting each Foreign Key (where not already covered above).


Then, for very large tables, consider changing to a Nonclustered Primary Key and a Clustered Columnstore.  

Then additional indexes as needed for optimization of the actual workload.  These can be indexes with included columns, filtered indexes, non-clustered columnstore indexes, or indexed views on a case-by-case basis.