책 내용 질문하기
2권 p83
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
83
조회수
143
작성일
2019-06-25
작성자
탈퇴*원
1번 문제에 f와 m만 입력되어야 한다는 조건의 정답은 CONSTRAINT sex_ck CHECK (sex=‘f’ or sex=‘m’) 인데 CONSTRAINT sex_ck CHECK (SEX IN (‘f’,‘m’))을 사용해도 되나요? Section 69의 기출 문제를 보다보면 1) CHECK(VALUE IN 을 쓰는 경우가 있고 2) 그냥 CHECK 만 쓰는 경우가 있고 3) CHECK(속성명 IN 을쓰는 경우가 있는데 세개가 어떻게 다른건 지 모르겠어요..ㅠㅠ
답변
2019-06-26 10:29:05

안녕하세요 길벗수험서 운영팀입니다.

 

[1]

예, 사용하실 수 있습니다.

물론 도메인에서는 check (sex in(~  이 아닌  check (value in(~ 을 사용해야 합니다.

 

[2]

먼저 IN은 or 조건으로 같은 속성에 나열되는 값을 편리하게 입력하기 위해 사용합니다.

a=1 or a=2 or a=3 이라면 in(1, 2, 3) 으로 쓸 수 있죠.

 

1) create domain과 같이 속성명을 지정할 수 없을 때 사용합니다.

기사 수준에서는 도메인 외에 속성명이 존재하지 않는 제약조건(check)은 존재하지 않으니, create domain에서는 속성명이 들어가야하는 'check ([속성명] in( A, B, C))' 형식에서 속성명 대신 value가 들어갔다고 기억하세요.

 

2) 단순히 in으로 나열할 필요가 없을 정도로 조건이 단순한 경우입니다.

'a가 10 이하인지 확인해라' 라고 하면 check (a<=10) 만 쓰면 되는데 굳이 in을 사용할 필요는 없죠.

 

3) 이게 기본형입니다. 위에서 말씀드린

check ([속성명] in( A, B, C)) 

을 기억하시고, 제약조건을 적을 때 혼동하지 않도록 주의하세요.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-26 10:29:05

    안녕하세요 길벗수험서 운영팀입니다.

     

    [1]

    예, 사용하실 수 있습니다.

    물론 도메인에서는 check (sex in(~  이 아닌  check (value in(~ 을 사용해야 합니다.

     

    [2]

    먼저 IN은 or 조건으로 같은 속성에 나열되는 값을 편리하게 입력하기 위해 사용합니다.

    a=1 or a=2 or a=3 이라면 in(1, 2, 3) 으로 쓸 수 있죠.

     

    1) create domain과 같이 속성명을 지정할 수 없을 때 사용합니다.

    기사 수준에서는 도메인 외에 속성명이 존재하지 않는 제약조건(check)은 존재하지 않으니, create domain에서는 속성명이 들어가야하는 'check ([속성명] in( A, B, C))' 형식에서 속성명 대신 value가 들어갔다고 기억하세요.

     

    2) 단순히 in으로 나열할 필요가 없을 정도로 조건이 단순한 경우입니다.

    'a가 10 이하인지 확인해라' 라고 하면 check (a<=10) 만 쓰면 되는데 굳이 in을 사용할 필요는 없죠.

     

    3) 이게 기본형입니다. 위에서 말씀드린

    check ([속성명] in( A, B, C)) 

    을 기억하시고, 제약조건을 적을 때 혼동하지 않도록 주의하세요.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.