we just started database course and learning normalization.
=================
tution history shows course_fee fluctuations over years.
TUTION_HISTORY [ YEAR, COURSE_ID (FK), COURSE_FEE ]
invoice originally had a column course_fee
INVOICE [ INVOICE_NO, CUSTOMER_ID (FK), INVOICE_DATE, DUE_DATE, CLASS_ID (FK), PPL_ATTENDED_TOTAL, TAX ]
class has records of classes held and has course_id as foreign key.
CLASS [ CLASS_ID, CLASS_DATE, COURSE_ID (FK), INSTRUCTOR_ID (FK), LOCATION_NAME(FK), PPL_ATTEND_PAID, PPL_ATTEND_NOTPAID ]
courses
COURSE [ COURSE_ID, COURSE_NAME, COURSE_LENGTH , COURSE_LEVEL ]
=========
i removed course_fee from invoice because my logic is that course fee can be found by going to class_id from invoice then to course and from course to tuition history that holds course_fee info. i.e. invoice -> class -> course -> tuition (course_fee).
my question is is this the right logic in normalization process (1nf for now)? or this is totally stupid thing to do. we havent started sql yet so no idea of how things work in reality. im really having troubles understanding normal forms.