작성
·
681
0
안녕하세요
제로초님 강의를 보면서 시퀄라이즈를 통해 테이블 생성중에 있습니다.
제가 만드려는 프로젝트에서
테이블에 primaryKey 없이 foreignkey로만 된 테이블들이 있는데 혹시 이런경우엔 어떤식으로 작성해야하는지 알 수 있을까요??
검색을 해보니 시퀄라이즈는 하나 이상의 프라이머리키가 반드시 존재하여야 한다고 하는데,
제가 만드려는 테이블 예시를 들자면,
a: a_id(primaryKey), a_name, a_start_date
b: a_id(foreignKey, a테이블 참조), c_id(foreignKey, c테이블 참조), b_orderNumber
c: c_id(primaryKey)
d: c_id(foreignKey, c테이블 참조), d_value
이런 식 입니다.
이럴때 b와 d는 어떻게 해야하는지 궁금합니다..!!
답변 6
0
0
0
0
감사합니다! 또한, nodebird에서 만드신 테이블중에 through를 통해 follow를 중간테이블로 만드셨는데, 이부분은 followingId/followerId 프라이머리키가 두개가 들어가는건가요? 만들어진 테이블을 보면 프라이머리키가 두개가 생성이 되어서요 테이블당 프라이머리키는 하나여야 하는게 아닌지 궁금합니다!
저렇게 다대다 관계에서 중간테이블이 필요할때 프라이머리키가 아닌 포린키로 대체할 순 없는건가요?
프라이머리키는 여러개여도 됩니다. 여러개가 묶여서 하나의 프라이머리키를 이룹니다. 복합키라고 부릅니다. follow 테이블처럼 포린키 여러개를 묶어서 프라이머리키로 만들면 됩니다.
0
0
네 FK 학생코드랑 FK 수업코드 두개가 묶여서 PK가 되면 됩니다.