Let $\mathbb{F}$ be a field and let $V$ be a module over $\mathbb{F}$ (i.e. a vector space over $\mathbb{F}$), then $V^*$ is also a module over $\mathbb{F}$. The tensor product $V^*\otimes_{\mathbb{F}}V$ is canonically isomorphic to $\operatorname{End}_{\mathbb{F}}V$ via the map induced by the bilinear map $V^*\times V \to \operatorname{End}_{\mathbb{F}}(V)$, $(\varphi, w) \mapsto \Phi_{(\varphi, w)}$ where $\Phi_{(\varphi, w)}(v) = \varphi(v)w$.
If $V$ is a finite-dimensional vector space over $\mathbb{F}$ of dimension $n$, choosing a basis $\{e_1, \dots, e_n\}$ for $V$ induces an isomorphism $\operatorname{End}_{\mathbb{F}}V \cong M_{n\times n}(\mathbb{F})$ by the map $a_i^je^i\otimes e_j \mapsto [a^i_j]$. Under the isomorphisms $V^*\otimes V \cong \operatorname{End}_{\mathbb{F}}V \cong M_{n\times n}(\mathbb{F})$, the decomposable elements of $V^*\otimes V$ correspond to the rank one matrices.
To see that this last claim is true, let $\varphi \in V^*\setminus\{0\}$ and $w \in V\setminus\{0\}$, then $\varphi = x_ie^i$ and $w = y^je_j$, so $\varphi\otimes w = x_iy^j e^i\otimes e_j$ and is mapped under the isomorphism to the matrix $[x_iy^j]$. Now note that
$$[x_iy^j] = \begin{bmatrix} x_1\\ \vdots\\ x_n\end{bmatrix}[y^1\ \dots\ y^n] = xy^T$$
so $[x_iy^j]$ has rank one. Conversely, any rank one $n\times n$ matrix can be put in the form $xy^T$ for some $x, y \in \mathbb{F}^n\setminus\{0\}$ (such a product is called an outer product), and hence we can trace back the isomorphism to find a decomposable element of $V^*\otimes_{\mathbb{F}}V$.
More generally, elements of $V^*\otimes_{\mathbb{F}} V$ which can be written as a sum of $k$ decomposable elements (but no fewer) correspond to sums of $k$ outer products (but no fewer). These are precisely the matrices of rank $k$. In fact, one often defines the rank of an element in a tensor product as the smallest number of decomposable elements needed to write it as a sum, and the above simply states that the two notions of rank agree.
Note: After choosing a basis $\{e_1, \dots, e_n\}$ for $V$, one obtains the basis $\{e^i\otimes e_j \mid 1 \leq i, j \leq n\}$ for $V^*\otimes_{\mathbb{F}}V$. While the elements $e^i\otimes e_j$ (and their non-zero scalar multiples) are decomposable, they are not the only decomposable elements of $V^*\otimes_{\mathbb{F}}V$. An element of $V^*\otimes_{\mathbb{F}}V$ is decomposable if it is of the form $\varphi\otimes w$ for some non-zero $\varphi \in V^*$ and non-zero $w \in V$. For example, the element $e^1\otimes e_1 + e^2\otimes e_1$ is not of the form $ae^i\otimes e_j$, but it is decomposable as
$$e^1\otimes e_1 + e^2\otimes e_1 = (e^1 + e^2)\otimes e_1.$$
However, what is true is that an element $L$ of $V^*\otimes_{\mathbb{F}}V$ is decomposable if and only if there is some basis $\{f_1, \dots, f_n\}$ of $V$, such that $L = f^i\otimes f_j$ for some $i$ and $j$.
It follows directly from functoriality. That is, the universal property implies that $M \otimes_R N$ is a functor in the second variable, so it canonically inherits an action of $\text{End}(N)$. Similarly for the first variable, and since the tensor product is in fact a bifunctor (which also follows from the universal property) these actions commute.
So if $M$ is an $(S_1, R)$-bimodule then the tensor product inherits a left action of $S_1$ and if $N$ is an $(R, S_2)$-bimodule then the tensor product inherits a right action of $S_2$, and in the presence of both bimodule structres these actions commute. Altogether we get that the tensor product of an $(S_1, R)$-bimodule and an $(R, S_2)$-bimodule is an $(S_1, S_2)$-bimodule.
Best Answer
You have the correct definition of the tensor product! To help us communicate clearly about tensor products, when $u \in M$ and $v \in N$, we write $u \otimes v$ to denote the coset/equivalence class of the pair $(u,v)$ in $M \otimes_R N$.
Note that there may be elements of $M \otimes_R N$ which are not of the form $u \otimes v$, but every element of $M \otimes_R N$ is a finite sum of elements of this form, i.e. $\{u \otimes v : u \in M, v \in N\}$ generates $M \otimes_R N$. Elements of the form $u \otimes v$ are called simple tensors.
Fact For any ring $R$ and any left $R$-module $M$, there is a natural isomorphism $R \otimes_R M \cong M$ given by $r \otimes m \mapsto rm$.
Before we can prove this fact, we need to parse it. First, note that the formula $r \otimes m \mapsto rm$ only tells us what to do with simple tensors, and a priori there may be elements of $R \otimes_R M$ which are not simple tensors! That's ok, because simple tensors generate $R \otimes_R M$, so any homomorphism from $R \otimes_R M$ is determined by what it does to simple tensors. There's a much more substantial problem, though: how do we know that this function is even well-defined? It's common to be able to write the same simple tensor in more than one way, e.g. $2 \otimes m = 1 \otimes 2m$. Moreover, it is usually possible to write an element of $R \otimes_R M$ as a sum of simple tensors in many different ways, e.g. $1 \otimes m + 1 \otimes m = 2 \otimes m$. So it's unclear at the moment that this formula is well-defined on simple tensors, let alone that it extends to a well-defined function on all elements of $R \otimes_R M$!
Well, here is where we should return to the actual definition of $R \otimes_R M$. We actually want to define a homomorphism $F/K \to M$, where $F$ is the free abelian group on $R \times M$ and $K$ is the subgroup generated by the three types of elements you listed.
To do this, we should first define a homomorphism $F \to M$, then show that $K$ is contained in the kernel of this homomorphism, and thus conclude that it descends to a well-defined homomorphism $F/K \to M$.
So, let's do it! In the end, we want to send $r \otimes m \in F/K$ to $rm \in M$. So, we should send the pair $(r,m) \in F$ to $rm \in M$. Indeed, since $F$ is free on $R \times M$, the assignment $(r,m) \mapsto rm : R \times M \to M$ extends to a unique homomorphism $\varphi : F \to M$.
Next, we check that $K \leq \ker(\varphi)$. To do this, we must simply verify that each of the three types of generators of $K$ is sent to $0$ by $\varphi$.
(1) For any $r, r' \in R$ and $m \in M$, we have $$\varphi((r+r',m) - (r,m) - (r',m)) = (r+r')m - rm - r'm = 0,$$ as desired.
(2) For any $r \in R$ and $m, m' \in M$, we have $$\varphi((r,m+m') - (r,m) - (r,m')) = r(m+m') - rm - rm' = 0,$$ as desired.
(3) For any $r,s \in R$ and $m \in M$, we have $$\varphi((rs,m)-(r,sm)) = (rs)m-r(sm) = 0,$$ as desired.
Easy! So, $K \leq \ker(\varphi)$, and so $\varphi$ descends to give a well-defined homomorphism $f : R \otimes_R M \to M$. In particular, $f(r \otimes m) = \varphi((r,m)) = rm$, just as we wanted.
So, we've constructed the desired map, and we just need to show it's an isomorphism. This is the easier part: define $g : M \to R \otimes_R M$ by $g(m) = 1 \otimes m$, and just check that $f \circ g = \operatorname{id}_M$ and $g \circ f = \operatorname{id}_{R \otimes_R M}$. Done!
Quick note: What we did here is construct an isomorphism of abelian groups, but it turns out that $R \otimes_R M$ has a natural left $R$-module structure given by $s(r \otimes m) = sr \otimes m$, and indeed this isomorphism is also $R$-linear.
This was quite long, but it's important to go through all of this detail at first. Let me highlight the key strategy though: to understand a tensor product, we must construct homomorphisms to and from it. Since the tensor product is a quotient of a free group, we have a standard toolkit for building homomorphisms from a tensor product! We first define a homomorphism from the free group, which really means defining an arbitrary function from its basis. Then we check that $K$ lies in the kernel of this homomorphism, which really means checking that our function on the basis was "bilinear" (or if you prefer, this is what "bilinear" means). That's all we have to do! So,
Slogan Homomorphisms $M \otimes_R N \to A$ are "the same as" bilinear functions $M \times N \to A$.
The formalized version of this slogan is called the universal property of tensor products.
Anyway, that handles $\mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{F}_p \cong \mathbb{F}_p$.
Next, let's do $\mathbb{Q} \otimes_{\mathbb{Z}} \mathbb{F}_p$. Here, we'll reason more directly to show that this abelian group is trivial. Since $\mathbb{Q} \otimes_{\mathbb{Z}} \mathbb{F}_p$ is generated by simple tensors, it suffices to show that every simple tensor is $0$. So why should that happen?
First: any simple tensor of the form $u \otimes 0$ or $0 \otimes v$ is equal to $0$. Why? Because $(u,0) = (u,0) + (u,0) - (u,0+0) \in K$, so $u \otimes 0 = 0$ (and likewise on the other side for $0 \otimes v$).
So, if we start with a simple tensor in $\mathbb{Q} \otimes_{\mathbb{Z}} \mathbb{F}_p$, we'd like to manipulate it into the form $u \otimes 0$ or $0 \otimes v$. Here's one nice observation: scaling any element of $\mathbb{F}_p$ by $p$ yields $0$. So, $$xp \otimes y = x \otimes py = x \otimes 0 = 0$$ for any $x \in \mathbb{Q}$ and $y \in \mathbb{F}_p$. But every element of $\mathbb{Q}$ is of the form $xp$, because every element of $\mathbb{Q}$ is divisible by $p$! Putting this all together:
Let $x \in \mathbb{Q}$ and $y \in \mathbb{F}_p$ be arbitrary. Then $$x \otimes y = (\frac{x}{p} p) \otimes y = \frac{x}{p} \otimes (py) = \frac{x}{p} \otimes 0 = 0.$$ Thus, every simple tensor in $\mathbb{Q} \otimes_\mathbb{Z} \mathbb{F}_p$ is $0$. Since $\mathbb{Q} \otimes_\mathbb{Z} \mathbb{F}_p$ is generated by simple tensors, $\mathbb{Q} \otimes_\mathbb{Z} \mathbb{F}_p = 0$.
Can you answer your final question, about the isomorphism $$\frac{\mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{Z}_n}{n(\mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{Z}_n)} \cong \frac{\mathbb{Z}_n}{n\mathbb{Z}_n}?$$