student(sno,sname,dept,year)
enrol(sno,cno,grade,midterm,finalterm)
course(cno,cname,credit,dept,pname)
밑줄친것을 기본키로 잡고 student table의 dept를 course table의 외래키로 잡아야할꺼가튼데;
그렇게 되면 무결성 조건에 위배되는거 아닌가여?;
어떤걸 기본키,외래키로 설정해야 할지 알려주세요^^
기본키는 테이블에서 한 레코드를 구분할 수 있는 컬럼을 잡으면 되고여...
외래키는 테이블 간의 관계를 볼 때 어미와 자식이 존재한다면 자식은 어미없이 존재할 수 없기 때문에 자식 컬럼에 만듭니다. , 어미없는 자식을 만들지 않게, 즉, 무결성을 보장하기 위한 거져....
위의 예에서 밑줄 친 것이 기본키로 만들어 지고, enrol테이블은 student 테이블과 course테이블이 존재하지 않으면 만들어질 수 없으니까, enrol테이블에서 student테이블과 course테이블을 참조하는 외래키를 각각 하나씩 만듭니다.