программист C# не знающий SQL это что-то странное. Это гос. контора, где работают эникейщики за 10 тыр?
Я на 99.9% уверен любой из их кодеров SQL будет знать лучше вас даже после курсов и года опыта работы аналитиком с SQL.
>> в ТЗ также прорабатывать, описывать вопросы взаимодействия с базой данных sql
тут 2 вариант:
первый реально работать несколько месяцев с базами данных как DBA или программист. Иначе все ваши потуги с построением архитектуры БД это сущий бред будет. Руки оторвать манагерам, которые это собираются допустить.
второй вариант: брать DBA или опытного программиста, он будет строить архитектуру базы данных, вам быстро объяснять ,а вы со знаниями и пониманием баз, связей, таблиц будет некоторые подробности выдавать программистам. Это самый логичный вариант.
А в целом системный аналитик, который составляет столь подробные ТЗ, что пишет в какую таблицу класть и почему именно так - это адовый треш. Нет, когда у разработчика вопрос "где мне посмотреть список заказов и какие там связи", то DBA или старший программист или их техлид или архитектор - кто-то из них должны овтетить, т.к. они и отвечают за реализацию. Но аналитик?!
Аналитик может только указывать бизнес-связи сущностей предметной области. До уровня BPMN диаграмм ну или диаграммы потоков данных. Всё. лезть в базы данных строго запрещено (кроме случаев, когда аналитик - бывший разработчик и реально шарит).
Ваш потенциальный работодатель неадекватен, если он планирует все делать именно так, как сказали вы.
Но если настаиваете, то вперёд учить SQL c нуля (в поиске забить), а также всё что можно по базам данных. Конкретных учебников для рекомендации нет, вам любой подойдёт. Включая интерактивные курсы по базам данных на intuit.ru и на pluralsight.com (их видосы можно скачать на рутрекере)
PS я сам разработчик и как раз на C#