Изучение SQL, или почти любая база данных работает, SQL Server, MySQL, Postgree - все это хороший способ начать.
Вы, вероятно, должны начать с Python. C # заставит вас подумать: «Итак, я нажимаю здесь, здесь и здесь, далее, далее, заканчиваю, и я подключаюсь к базе данных», и когда вы пытаетесь сделать что-то немного отличное от сценария Microsoft, вам будет сложно понять что волшебники Microsoft сделали с вашим кодом.
С другой стороны, работа с C # может сделать работу (плохо, но выполненную), что является первым правилом программирования, поэтому, в основном, делайте что хотите (но я рекомендую python и mysql).
Что касается второго вопроса, вы всегда будете работать с сервером, если вам нужно сделать свое приложение онлайн (вопрос только в том, как это сделать).
Что касается третьего вопроса, вы всегда будете открывать дыры в безопасности, когда вы работаете в режиме онлайн, когда вы сталкиваетесь с этим, сначала создавая свою программу, а затем изучая свои недостатки безопасности.