What happens if i do not give targetNamespace in my schema file?
If the schema document, stood alone, it means it define the vocabulary of a null namespace. But, the document can happen and be intended to be include in some other schema, in that case, the targetNamespace might be inherited by the including schema. But, as a start, think of the former might suffice to proceed the study for the moment. Take thing one at a time.