예를들면 제약조건명이 sex이면
표기형식으로는 constraint 제약조건명 라고 나와있어
Constraint sex check...이렇게 가야하는거아닌가용
예제에 보면 Constraint Valid-sex check...이라되어있는데
Valid가 무엇인가요
또 77p에 테이블정의시 referenses 참조테이블이라 나와있는데 referense 라고해도되나요
왜 "참조" 라고안하고 "참조들"이라고 하는걸까요
마지막으로 문자열을 쓸때 예를들어 Default '남' 대신에
Default "남"이라고 해도 되는건가요?
안녕하세요 길벗수험서 운영팀입니다.
먼저 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 이라고 되어있습니다
이 둘의 차이점이 뭔가요?