[TIL #29] DB의 관계

안떽왕·2023년 4월 27일
0

Today I Learned

목록 보기
30/76

오늘 강의는 DB의 관계에 대해서 다뤘습니다. 개인적으로 아직 간단한 ERD도 제대로 만들지 못하는 수준이라 이번 강의가 상당히 어렵게 느껴졌습니다.

그래서 오늘 배운내용을 두고두고 볼 수 있도록 기록해 놓으려 합니다.

PK(Primary Key)

  • 테이블에서 반드시 하나만 존재
  • row값을 고유하게 식별가능
  • 대개 정수형태, 번호 혹은 유일한 값

FK(Foreign Key)

  • 다른 테이블의 PK를 참조하는 컬럼
  • 타 테이블 PK 데이터 확보

PK와 FK를 활용하지 않는다면

  • 불필요한 데이터 보유(데이터 중복)
  • 무한으로 증식하는 테이블 컬럼

일대일 관계

어느 데이터에 종속되는 데이터가 하나만 있을 때 사용

장고에서 일대일 관계는 OneToOneField로 구현가능

보통 ForeignKey with unique=True로 구현 현재 장고에서는 이렇게 작성하는 것을 추천

user에서 id가 1인 정보가 profile에서 어느 곳에서 쓰였다면 profile에 다른 필드에는 user에서 id가 1인 정보를 사용할 수 없다.

일대다 관계

장고에서 일대다 관계는 Foreign Key로 형성
한명의 유저는 여러개의 계좌를 개설할 수 있다, 내계좌는 남들과 공유할 수 없다

다대다 관계

장고에서는 ManyToManyField를 지원, 한계점이 있긴함
모임 —<참여명단>—유저의 관계를 가진다면
참여명단은 다대다 관계고
유저, 모임 과 명단은 일대다 관계다

profile
이제 막 개발 배우는 코린이

0개의 댓글