I was reading a book on differential geometry. In the preliminary section norm on a vector space was defined. Later the norm is used to define Banach spaces. Also, it was mentioned that if there exists a norm on a vector space $E$, we can define a topology on $E$. I was attempting to define a metric in such a way that it generates the discrete topology on $E$. So I need a metric $d$ on $E$ such that $$d(x,y) = \begin{cases} 0 ,\ x=y\\ 1,\ x\ne y \end{cases}$$ I tried to define a norm as $$\|x \| = \begin{cases} 0 ,\ x=0\\ 1,\ x\ne0 \end{cases}$$. But before moving further it is not a norm at all!
So I have this question in my mind. Can we define a norm on any vector space (like we can define two topologies on any set)? If not does there exist a vector space on which we cannot define a norm?