if I want to create a DB like for a course that consists of dynamic number of parts, each part gas its own subjects, I want the user to creat the course record depends on the number of parts, so the course to be dynamic, am confused how my DB finally will end up, I am appreciating any help.
It's primarily a mechanism of breaking down what are objects or concepts that you're going to store and what the relationships between them are. So you have a thing called a course and you have a thing called a subject and you have a thing called a student or user, right. That's three tables. Then, you have to have a way to relate them to each other. Probably there's going to be many courses that any subject can be a part of and many subjects that make up a course. So, the relationship there is many to many. That means you have to add a table to the relationship that goes back to the other two tables. There's more to it, but that is the basic concept. If you have a relationship that is one to many or many to one, then it's a direct relationship through a single foreign key. That's the basics of database design in a nutshell.