As for the defining vs. non-defining relative clauses, firstly some (informal) definitions. A defining relative clause is one which is essential to understanding which thing or class of things you are talking about. It serves to say exactly which things we are talking about and which we are not; accordingly, if we were to take a defining relative clause out of a sentence, who or what is under discussion, and so the meaning of the sentence, would be changed. A non-defining relative clause on the other hand only add extra information, unimportant for telling us which things are under discussion as opposed to those which are not. Their removal from a sentence does not change who or what it being referred to nor the meaning of the sentence. However, in written language, there is a rule about these clauses: defining relative clauses are never separated by commas, but non-defining relative clauses always are. So, all of those relative clauses are defining.
PS: I strongly recommend that you take good note of my annotations to your post and learn from them.
[Not a teacher].
Student or Learner