ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TIL 2023.04.27
    내일배움캠프 2023. 4. 27. 21:53

    ERD는 말입니다 

     

    - 저연차보다는 고연차의 영역
    - 숙련개발자라고판단할수있는척도중하나 

    “현재 어렵고 감 안오는 것 당연한 것이고 잘하는게 더 이상" 

     

     

    ERD 잘 작성하고 싶으시다면 

    -  ‘연습 더하기 연습' 

    -  식별/비식별, 논리, 추상화와 같은 단어에 쫄지 말 것; 이론과 실제는 별개 

    -  세상에 널려있는 것이 연습을 위한 공짜 ‘와이어프레임' 

    -  자신이좋아하는브랜드or도메인위주로연습후기록

     

     

    PK (Primary Key): 

    Table에서 반드시 하나만 존재 (유일)
    그래서 row의 값을 고유하게 식별 가능 

    대개 정수형태, 번호 혹은 유일한 값 

     

    FK (Foreign Key): 

    다른 테이블의 PK를 참조하는 컬럼

    타 테이블 PK 데이터 확보! 

     

    PK, FK를 활용하지 않는다면... 

    - 불필요한 데이터 보유 (데이터 중복) 

    - 무한으로 증식하는 테이블 컬럼 

     

     

    일대일 관계 

     

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

    카카오톡에서 프로필은 단 하나였습니다. (하지만 현재는...?) 

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

    보통 ForeignKey with unique=True로 구현, 

    현재 장고에서는 이렇게 작성하는 것을 추천 

     

     

    일대다 관계 

     

    - 장고에서 일대다관계는 Foreign Key로 형성

    여러분들이 많이 쓰셨던 그 관계 

    한명의 유저는 여러개의 계좌를 개설할 수 있습니다. 

    (내 계좌는 남들과 공유 못함) 

     

     

    다대다 관계 

     

    - 제일 이해가 안되는 것 같으면서도 어려운 관계 

    장고에서는 ManyToManyField를 지원 (한계점을 찾아라) 

    일대다 관계 (Foreign Key)”로 양쪽이 연결되어 있는 것을 발견 

     

     매니투매니필드 쓰면 가운데 테이블에 칼럼을 만들 수 없기 때문에 양쪽을 일대다 관계로 연결

     

     

     

    식별/비식별 관계 

     

    • 비식별 관계 란 부모테이블의 기본키가 자식테이블에서 외래키 역할만 하는 관계
    • 식별 관계 란 부모테이블의 기본키가 자식테이블에서 외래키 뿐만 아니라 기본키의 역할까지 하는 경우

     

    • 대부분의 관계는 비식별 관계로 처리하게 되는 경향이 있음. (데이터 정합성, 구현/운영의 용이성)
      * 그러면 비식별관계에서 on_delete=CASCADE 옵션을 안 적용해줘도 괜찮지 않을까요? 
    •  on_delete 옵션의 다양성도 참고해볼 것
      models.CASCADE, models.SET_NULL, models.PROTECT 외

     

     

    '내일배움캠프' 카테고리의 다른 글

    WIL 내일배움캠프 7주차  (0) 2023.04.28
    TIL 2023.04.28  (0) 2023.04.28
    TIL 2023.04.26  (0) 2023.04.26
    TIL 2023.04.25  (0) 2023.04.25
    TIL 2023.04.24  (0) 2023.04.24
Designed by Tistory.