enter image description here

I am working on 2NF:

student (student_id, name, start, program)
course (coure_code, course_name, faculty, credits, time)
student_course(student_id, course_code, grade)

I am trying to achieve 3NF and BCNF.

I have identified what I believe are transitive dependencies: { credit } → { time }, and maybe { program } → { start }.

Does this make any sense?

1 Answer 1


I would not think that credits and time would really have anything to do with each other. One is essentially a count of how many credits they have accumulated, and the other relates to their status as a student. As far as the degree program and start date, those are also just data points to keep in the student's record. For more info on this topic, this article helped me. https://www.lifewire.com/transitive-dependency-1019760

In your course table, I would use professor_id to indicate who is teaching it, and have that table hold the faculty department information. I am a bit confused on what you are calling 'time.' Is it related to a specific class, or a student, or a course?

If you would like, I can help walk through your Entity Relationship Diagram. I have found the rubber duck method really helps clear things up.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.