책 내용 질문하기
도메인 정의에 대해 몇가지 질문드립니다.
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
83,84
조회수
497
작성일
2019-03-18
작성자
탈퇴*원
첨부파일

1. 83P 1번 문제에서 sex 속성의 제약조건을 CHECK(sex='f' or sex='m') 이 정답이라고 되어 있습니다.

여기서 괄호속 구문을 

sex='f' or 'm' 이라고 적어도 되나요?

그리고 숫자를 제외한 모든 값은 작은따옴표로 묶어줘야되는거 맞나요?

 

2. 84P 7번 도메인 정의 문제에서는 CHECK VALUE IN('사원' ...) 이 정답으로 되어있는데

이 문제에서는 왜 속성명인 직위 IN이 아니라 VALUE IN으로 되어있는지, 직원 IN 으로 적어도 정답인지 궁금합니다.

그리고 11번 문제에서는 직책 IN으로 되어있는데 1번, 7번, 11번 문제의 도메인 정의 차이점을 알고 싶습니다.

 

 

3. 질문을 쓰다 보니 1번 문제와 7번 문제의 차이점이 CREATE TABLE 문과 CREATE DOMAIN 문이라는 차이가 있는것 같은데

두 구문에서의 도메인 정의의 차이점과 작성시 유의할점을 설명해주시면 감사하겠습니다.

 

 

추가로 질문 드릴때마다 항상 자세하게 답변 달아주셔서 정말 감사합니다.

계속 공부하면서 여러가지 질문이 더 생길 것 같은데 앞으로도 잘 부탁 드리겠습니다.

 

답변
2019-03-19 14:32:30

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

 

[1]

sex='f' or 'm' 은 잘못된 형식입니다.

or and와 같은 예약어로 두가지 이상 조건을 적을 때 항상 필드명을 적어주셔야 합니다.

숫자와 NULL과 같은 예약어, 필드명 등을 제외한 텍스트 형식의 값을 작은 따옴표로 묶어주어야 합니다.

 

[2]

constraint 제약조건명 check(필드명 in(A,B,C)) 가 기본형식입니다.

create table에서 제약조건을 걸 때 주로 이용하죠.

다만 도메인 생성시는 조금 다릅니다.

도메인을 만들 때는 필드명이 존재할 수 없기 때문이죠. 도메인이 적용되는 필드마다 필드명이 다르기 때문에 해당 경우에만 필드명 대신 value가 들어가게 됩니다.

 

[3]

2의 답변을 참고하세요.

 

행복한 하루되세요 :)

  • 관리자
    2019-03-19 14:32:30

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

     

    [1]

    sex='f' or 'm' 은 잘못된 형식입니다.

    or and와 같은 예약어로 두가지 이상 조건을 적을 때 항상 필드명을 적어주셔야 합니다.

    숫자와 NULL과 같은 예약어, 필드명 등을 제외한 텍스트 형식의 값을 작은 따옴표로 묶어주어야 합니다.

     

    [2]

    constraint 제약조건명 check(필드명 in(A,B,C)) 가 기본형식입니다.

    create table에서 제약조건을 걸 때 주로 이용하죠.

    다만 도메인 생성시는 조금 다릅니다.

    도메인을 만들 때는 필드명이 존재할 수 없기 때문이죠. 도메인이 적용되는 필드마다 필드명이 다르기 때문에 해당 경우에만 필드명 대신 value가 들어가게 됩니다.

     

    [3]

    2의 답변을 참고하세요.

     

    행복한 하루되세요 :)

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