Q&A

  • 파라독스에서 복합키 사용
파라독스에서 복합키를 사용하려고 하는데여.....

다음과 같은 경우의 차이를 알고 싶습니다.



만약 아파트의 동과 호수로 프라이머리 키를 갖게 하고 싶을 경우에....

ex1> apart_no char(2)

house_no char(3)



ex2> house_id char(5)



위 처럼 ....아파트의 동과 호수를 따로 나눠주는 경우와 그렇지 않고..... 동 호수를 합쳐서 사용 할때 차이점이 있나여?



전자의 경우에 프라이머리 키로 설정을 해서 not null 제약을 걸어주면 널값도 들어갈수 없고.... 또.... 실제 길이도 똑같잖아여....

혹시 검색시에 차이가 있나여? 프라이머리키를 잡으면 유니크 인덱스가 생기는데... 혹시 양자간에 생기는 인덱스의 구조가 차이가 있나여?

궁금해여....^^;



1  COMMENTS
  • Profile
    김광섭 2001.03.26 23:06
    happycoat wrote:

    > 파라독스에서 복합키를 사용하려고 하는데여.....

    > 다음과 같은 경우의 차이를 알고 싶습니다.

    >

    > 만약 아파트의 동과 호수로 프라이머리 키를 갖게 하고 싶을 경우에....

    > ex1> apart_no char(2)

    > house_no char(3)

    >

    > ex2> house_id char(5)

    >

    > 위 처럼 ....아파트의 동과 호수를 따로 나눠주는 경우와 그렇지 않고..... 동 호수를 합쳐서 사용 할때 차이점이 있나여?

    >

    > 전자의 경우에 프라이머리 키로 설정을 해서 not null 제약을 걸어주면 널값도 들어갈수 없고.... 또.... 실제 길이도 똑같잖아여....

    > 혹시 검색시에 차이가 있나여? 프라이머리키를 잡으면 유니크 인덱스가 생기는데... 혹시 양자간에 생기는 인덱스의 구조가 차이가 있나여?

    > 궁금해여....^^;

    >

    테이블의 구조를 어떻게 구성하느냐는 문제인것 같네요.

    그건 해당하는 프로그램 방향에 달려있다고 봐야 옳겠죠.



    만약 우리가 동과 호수를 같이써서 에디트하고 검색한다라고 했을 때는 구지 동과호수를 둘로 쪼갤 필요까지는 없죠. 그렇지않고 우리는 동따로 호수따로 에디트와 검색을 하고 정보를 검색한다라고 했을때는 나누는 것이 현명하겠죠.



    물론, 우리가 나눠놓든 합쳐놓든 프로그램으로 구현하는 할 수 있고 없고의 차이보다는 근래의 DB의 대용량화로 쿼리를 던졌을 경우 Response Time이 어느 것이 더 빠르냐는 것이 관건이죠~



    실제로 테이블을 구성하는 것이 간단하게만 생각할 수 도 있지만 쪼개느냐 붙이냐부터 시작해서 필드 구성이나 테이블 간의 구성을 전문적으로 다루는 분야도 있으니 그렇게 만만한 일은 아닌듯 싶네요. 보다 더 세부적인 사항들을 분석해서 상호간의 연관관계나 영향을 미치는 요소들을 파악해야 한다면 쉽지만은 않은 분야이기도 하구여.



    예를 들어 알고 싶은 것이 우리나라 30대 남성의 하루 술 소비량이 얼마냐라고 했을 때테이블 구조가 동과호수가 묶어져 있다면 나눠져있는 테이블보다 동별, 호수별 추이를 나타내는 것이 쉽진 않겠죠. 더 나아가 우리나라, 30대, 남성, 서울시, 강남, 강남구, 아파트, 동, 호수 이렇게 나눠 놓은 테이블이 있다면 전자보다 예기치 못한 새로운 정보를 얻을수도 있다는 것이죠 ^^



    이상 허접한 답변이었습니다.

    더 궁금하신 사항이 있다면 멜주시면 성심껏 답변해드리겠습니다.