책 내용 질문하기
도메인 생성
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
77
조회수
670
작성일
2019-04-03
작성자
탈퇴*원
첨부파일

예를들면 제약조건명이 sex이면

표기형식으로는 constraint 제약조건명 라고 나와있어

 

Constraint sex check...이렇게 가야하는거아닌가용

예제에 보면 Constraint Valid-sex check...이라되어있는데 

Valid가 무엇인가요

 

또 77p에 테이블정의시 referenses 참조테이블이라 나와있는데 referense 라고해도되나요 

왜 "참조" 라고안하고 "참조들"이라고 하는걸까요

 

 

마지막으로 문자열을 쓸때 예를들어 Default '남' 대신에

                                                           Default "남"이라고 해도 되는건가요?

답변
2019-04-04 14:15:02

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

 

먼저 crate domain 설명입니다.

문제에서는 도메인 'sex'를 정의하는 sql문이라고 말하고 있습니다.

때문에 도메인에 대해서만 명칭을 'sex'로 정해주면 됩니다.

 

또한 하나의 도메인 안에는 여러가지 제약조건을 둘 수 있습니다.

이 제약조건의 이름은 자유롭게 정할 수 있죠.

예를 들어 문제의 'valid-sex'와 같이 말이죠.

문제의 'valid-sex'는 그저 임의로 지정한 제약조건의 이름입니다.

 

만약 문제가 create domain이 아닌 create table에서 특정 속성에 대해 '제약조건명'을 지정한 경우 해당 제약조건명을 사용해 줘야 합니다. 문제에서 'abc'를 제약조건명으로 사용하라고 했다면,

constraint abc check ([필드명] in([값1], [값2] ...[값n])

이런 식으로 말이죠.

 

 

안타깝지만 해당 예약어들은 제작자가 이미 정해놓은 것들입니다.

단순히 문맥에 더 어울린다고 하여 저희가 건드릴 수는 없습니다. ㅠ

references 그대로 사용하셔야 합니다.

 

 

예, 문자열은 홑따옴표, 쌍따옴표 둘 중 어느것을 사용하셔도 무관합니다.

하지만 대체적으로 홑따옴표를 사용하는 편이며, 실제시험에서는 문제의 <처리조건>에서 특정 따옴표를 사용하라고 지정하는 경우도 있습니다. 이 때는 <처리조건>에 따라주셔야 합니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-04-04 14:15:02

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

     

    먼저 crate domain 설명입니다.

    문제에서는 도메인 'sex'를 정의하는 sql문이라고 말하고 있습니다.

    때문에 도메인에 대해서만 명칭을 'sex'로 정해주면 됩니다.

     

    또한 하나의 도메인 안에는 여러가지 제약조건을 둘 수 있습니다.

    이 제약조건의 이름은 자유롭게 정할 수 있죠.

    예를 들어 문제의 'valid-sex'와 같이 말이죠.

    문제의 'valid-sex'는 그저 임의로 지정한 제약조건의 이름입니다.

     

    만약 문제가 create domain이 아닌 create table에서 특정 속성에 대해 '제약조건명'을 지정한 경우 해당 제약조건명을 사용해 줘야 합니다. 문제에서 'abc'를 제약조건명으로 사용하라고 했다면,

    constraint abc check ([필드명] in([값1], [값2] ...[값n])

    이런 식으로 말이죠.

     

     

    안타깝지만 해당 예약어들은 제작자가 이미 정해놓은 것들입니다.

    단순히 문맥에 더 어울린다고 하여 저희가 건드릴 수는 없습니다. ㅠ

    references 그대로 사용하셔야 합니다.

     

     

    예, 문자열은 홑따옴표, 쌍따옴표 둘 중 어느것을 사용하셔도 무관합니다.

    하지만 대체적으로 홑따옴표를 사용하는 편이며, 실제시험에서는 문제의 <처리조건>에서 특정 따옴표를 사용하라고 지정하는 경우도 있습니다. 이 때는 <처리조건>에 따라주셔야 합니다.

     

    행복한 하루되세요 :)

  • 관리자
    2019-04-08 11:02:40

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

     

    음.. 간단히 생각하시면 됩니다.

     

    value를 사용할 수 있을 때는, [필드명]을 적을 수 없거나, 적지 않아도 되는 때 입니다.

     

    77p는 create domain으로

    맨 위의 sex는 도메인명이지 필드명이 아닙니다.

    존재하는 필드명이 없으므로 [필드명] 대신 value를 사용해야 하죠.

     

    create table에서는

    필드 바로 옆에 적을 때입니다.

    예를 들어,

     

    create table test1 (

    id int primary key,

    name char(10) constraint name_ck check(value in('AA', BB')));

     

    이렇게 적혀있다고 가정했을 때, name바로 옆에 적혀있으므로 굳이 필드명을 적을 필요 없이 value를 쓰면 되겠죠. (필드명을 적어도 무관합니다.)

     

    하지만, 79p의 SQL문을 보면 모든 필드가 정의 된 이후 제약조건을 겁니다.

    이 때는 필드명을 특정해주지 않으면, 어떤 필드에 제약조건을 걸지 알수 없으므로 필드명을 적어줘야 하죠.

     

    CONSTRAINT 생년월일제약 CHECK(생년월일 >=‘1980-01-01’)

     

    기본적으로 시험에는 일반형으로 나오니, 간단히

    create domain 에서 제약 조건을 걸 때는 value

    create table 에서 제약 조건을 걸 떄는 필드명

    으로 생각하셔도 좋습니다.

     

    행복한 하루되세요 :)

  • *
    2019-04-04 22:20:01

    constraint abc check [필드명 in [속성1], [속성2].....]라 고 말씀해주셨는데

     

    77p 에 보면 그냥 in이 아니라 value in 이라고 되어있습니다

    이 둘의 차이점이 뭔가요?

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