Why do we define vector spaces over fields and not over commutative rings with unity? I am using commutative ring with unity in the sense that there exists at least one non-zero element in the ring which doesn't have a multiplicative inverse. Can't we define scalar multiplication on a vector space with elements of commutative ring with unity, instead of field?
 A: Yes, we can do that. We just don't call them “vector spaces”. We call them “modules” instead.
A: You could, but there a lot of things you couldn't do with them, for instance normalization.
A: If $R$ is a commutative unital ring, then an $R$-module is an abelian group $M$ with a "scalar multiplication" map $R \times M \to M$, written $r \cdot m = rm$, which satisfies


*

*$(r + s)m = rm + sm$

*$r(m + n) = rm + rn$

*$r(sm) = (rs)m$
If $R$ is a field, then an $R$-module is precisely a vector space over that field, and we get the usual notions of dimension, bases, and so on. However, if $R$ is not a field, then an $R$-module is usually a slightly more complicated thing.
For example if $R = \mathbb{Z}$, then $\mathbb{Z}, \mathbb{Z}^2, \ldots$ are all $\mathbb{Z}$-modules in the usual way, and any basis of $\mathbb{Z}^n$ will have size $n$. However, $\mathbb{Z}/3\mathbb{Z}$ is also a $\mathbb{Z}-module$, and it has no basis. (No element $m$ of $\mathbb{Z}/3\mathbb{Z}$ is linearly independent, since $3m = 0$). So the theory of modules is more complicated than the theory of vector spaces.
