• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Python, SQL 게시판 FK 사용여부에 대한 궁금증

FK 사용여부에 대한 궁금증

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #60706

    강현철
    참가자
    안녕하세요.  SQL 수업 잘 들었습니다.
    
    수업의 내용을 기반으로 데이터베이스를 구성해보고 있습니다.
    
    
    1. 회원이 가입을 하면 2개 이상의 테이블에 가입을 기반으로 한 정보가 입력됩니다.
    
    헬스클럽에 한 회원이 가입을 하면, 기본정보테이블과 바디테이블에 회원 정보가 입력됩니다.
    기본정보 테이블: mem_id(인덱스용도, PK, AI) / id / 전화번호 / 등록일 / 주소 등
    바디정보 테이블: body_id(인덱스용도, PK, AI) / mem_id / 신장 / 체중 / 체지방률 등
    
    
    2. 회원 가입 시 위 두개의 테이블 모두에 정보가 생성이 되어야 함으로 트랜젝션으로 두 테이블의 insert를 처리했습니다.
    
    3. 트랜젝션 내에서는  바로 반영이 되질 않고 커밋이 되고 난 후에 테이블에 반영이 되는걸로 알고 있습니다.
    
    4. 현재 테이블 스키마에 
    - 바디정보 테이블의 mem_id를 기본정보 테이블의 mem_id와 FK로 참조시켜 놨습니다.
    
    5. 트랜젝션과 쿼리를 실행해보니 회원가입 테이블에 참조할 mem_id가 없어서 바디정보 테이블에 insert 할 수 없다고 나왔습니다.
    
    
    여기서 관련해 구글링을 한 결과 실무에서는 FK를 사용하지 않는다는 내용의 글들이 많았습니다. 
    
    초보자의 입장에서는 데이터 무결성을 위해 반드시 사용되어야 하는걸로 알고있습니다. 허나 위와 같은 경우 join을 통해서 처리를 한다고
    
    하는데 과연 FK가 이론적으로는 필수적인 요소이지만 정말 실무에서는 논리적으로만 이해하고 물리적으로는 사용을 안해도 되는지 
    
    이 부분에 대해 궁금증이 생겨 선생님께 견해를 듣고 싶습니다.
    
    
    
     
    #60707

    강현철
    참가자
    트랜젝션과 쿼리실행에 제가 실수한 부분이 있어서 오류가 났던 것 같습니다.
    
    FK 필요성에 대한 조언만 부탁드리겠습니다.
    #60763

    codingapple
    키 마스터
    fk는 사용하는게 좋은데 
    수정삭제 귀찮아서 안쓰거나 중요한 테이블들만 해두는 사람들이 더 많습니다
    
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠