ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 언제 테이블 추가할지 + 아우터 조인 + 접속종료 오류
    카테고리 없음 2024. 1. 22. 14:22

     

     

    한 테이블에 모든 데이터를 넣어서 처리할지, 다른 테이블을 하나 더 만들지 고민될 때가 있는데,

     

    데이터가 1대 다수 관계에 있으면 새로 테이블을 더 만드는 게 좋다.

     

    예)

     

    동일한 신발에 색깔을 여러개 입력해야 한다.

    -> 신발을 FK로 가진 색깔 테이블을 하나 더 만들어서 저장한다.

     

    한 상품에 가격 정보가 여러개 들어가야 한다

    -> 상품을 FK로 가진 가격 테이블을 하나 더 만든다.

     

    기존 테이블 한 컬럼에 빨강/파랑/초록  처럼, 필요한 데이터를 전부 한줄로 저장한 뒤 자바에서 후처리 할 때 / 기호로 끊어서 데이터를 처리할 수는 있으나, 정말 데이터 간소화가 필요한게 아니면 삼가도록 하자.


     

     

    * JDBC는 기본적으로 auto commit 옵션이 true로 설정되있다. 오류없이 sql문이 실행되면 commit, 오류나면 rollback을 실행한다.

     

     

    데이터가 동시에 변경되어야 할 경우 service에서 connection 객체를 매개변수로 넘겨준뒤, dao 처리가 끝난 후   connection.commit() 후 connection.close()를 마지막에 사용해준다.

    이를 트랜잭션이라고 부른다.

     

    Primary Key = Foreign Key 형식으로 데이터를 조인하는 것을

    Inner Join Equal Join 이라고 한다.

    둘중 한 데이터가 없으면 결과 테이블이 나오지 않는다.

     

    한쪽 키는 있지만, 조건에 맞는 다른 키는 없더라도 한쪽 키에 해당하는 테이블 데이터를 가져오는 조인도 있다. 

    outter Join 이라고 한다.

    둘중 한 데이터가 없으면 나머지 한쪽 데이터들이 테이블로 표시되고, 가져오지 못한 정보는 null이 된다. 

     


     

    SQLRecoverableException : 접속종료 오류가 뜨면, 새로고침을 여러번 해보거나 서버를 재시작해서 변경된 코드가 적용될 수 있도록 하자.

Designed by Tistory.