책 내용 질문하기
정보처리기사 실기 2권 섹션69 질문있습니다
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
조회수
54
작성일
2018-09-05
작성자
탈퇴*원
첨부파일

1.

(1)

79페이지 trigger 예문 4번째줄에서 작은따옴표 두개 사이에 공백이 있는건가요?

(2)

자료가 누락되었음을 표현할 때 작은 따옴표 두개를 띄어쓰거나 붙여쓰거나 상관없나요?

2.

trigger 구문에서 문제를 통해 before/after중 어떤것을 써야하는지 구분이 잘 안됩니다.

79페이지 예제, 84페이지 문제 9번의 차이를 모르겠는데 하나는 before이고 다른 하나는 after이네요

3.

80페이지 drop constraint 구문에는 cascade/restrict 옵션이 없나요?

4.

81페이지 1번 문제에서 3번째 조건에 대한 sql을

CONSTRAINT sex_ck CHECK(sex IN('f', 'm')) 이라고 써도 되나요?

5.

81페이지 3번문제에서 id 속성은 기본키이고 Null값을 가질 수 없다고 되어있습니다.

그런데 어떤 속성이 기본키이면 저절로 Null값을 가질 수 없으므로 sql을 일부 생략하고 아래와 같이 써도 되나요?

CREATE TABLE Instructor

(id CHAR(5) PRIMARY KEY, name CHAR(15) NOT NULL, dept CHAR(15),

FOREIGN KEY (dept) REFERENCES Department (name)

ON DELETE SET NULL

ON UPDATE CASCADE);

6.

(1)

83페이지 7번문제는 도메인을 정의하는 것이므로 괄호 3번에서

'value in' 부분을 '직급 in' 이라고 쓰면 안되는거죠?

(2)

create domain 문에서 제약조건 설정 시

-constraint 제약조건명 check(속성명='값1' or 속성명='값2')

-constraint 제약조건명 check('값1'or'값2')

-constraint 제약조건명 check(value in('값1','값2'))

이런 방식으로 쓰면 되나요?

(3)

create table 문에서 변수에 대한 범위 설정 시

-constraint 제약조건명 check(속성명='값1' or 속성명='값2')

-constraint 제약조건명 check(속성명 in('값1','값2'))

이런 방식으로 쓰면 되나요?

답변
2018-09-06 18:06:11

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

1.(1)79페이지 trigger 예문 4번째줄에서 작은따옴표 두개 사이에 공백이 있는건가요?

[답변]

아닙니다.

NULL값인 레코드를 찾는 줄로, 작은따옴표 사이에는 공백이 없습니다.

WHEN new_table.학년 = ‘’ 은 WHEN new_table.학년 IS NULL 로 바꿔 쓸 수 있습니다.

(2)자료가 누락되었음을 표현할 때 작은 따옴표 두개를 띄어쓰거나 붙여쓰거나 상관없나요?

[답변]

아니오, 상관있습니다.

작은따옴표 사이에 띄어쓰기를 넣는 경우, 공백(‘ ’)이라는 값이 입력됩니다.

자료가 없다는 의미인 NULL과는 다른 것으로 확실히 구분하여 입력해주어야 합니다.

혹시라도 답안을 작성하실 때 작은따옴표(‘’) 사이의 공백이 신경 쓰이신다면 ‘IS NULL’을 대신 적어주세요

2.trigger 구문에서 문제를 통해 before/after중 어떤것을 써야하는지 구분이 잘 안됩니다.

79페이지 예제, 84페이지 문제 9번의 차이를 모르겠는데 하나는 before이고 다른 하나는 after이네요

[답변]

79페이지의 예제 문제는 TRIGGER가 SQL로 구현되었을 때 어떤 방식으로 구현되는지를 설명하는 기본적인 예제입니다. 해당 예제에서는 실제 시험문제와 다르게 BEFORE와 AFTER를 명확히 구분할 수 있도록 문제가 제시되지 않았으므로 예시로 들기에는 어려움이 있습니다.

84페이지 문제는 조건부인 WHEN절(“WHEN old_tbl.직위=new_tbl.직위”)을 살펴보면 새로 추가·변경에 참여할 튜플들과 변경된 튜플들을 비교하여 월급을 계산하는 것으로 보아 변경을 적용한 후에 TRIGGER를 수행해야 한다는 것을 알 수 있습니다.

TRIGGER에 관련된 문제의 경우 각 옵션에 대한 문제는 출제된 적이 없습니다. TRIGGER 관련 문제가 나오는 경우는 84페이지의 문제 9번과 같이 설명이나 SQL문에서 “TRIGGER”를 유추하는 문제 정도만 출제되므로 출제 문제 수준으로 학습하시길 권해드립니다.

3.80페이지 drop constraint 구문에는 cascade/restrict 옵션이 없나요?

[답변]

예, 없습니다.

CASCADE나 RESTRICT의 경우 참조하는 개체가 존재하여야 합니다. 1개 속성이나 도메인의 제약 조건을 의미하는 CONSTRAINT의 경우 참조 대상이 될 수 없으므로, CASCADE 또는 RESTRICT가 사용되지 않습니다.

4.81페이지 1번 문제에서 3번째 조건에 대한 sql을

CONSTRAINT sex_ck CHECK(sex IN('f', 'm')) 이라고 써도 되나요?

[답변]

예, 가능합니다.

<요구사항>을 만족하며 동일한 제약조건을 갖는 테이블이 작성되므로 정답으로 인정됩니다.

5.81페이지 3번문제에서 id 속성은 기본키이고 Null값을 가질 수 없다고 되어있습니다.

그런데 어떤 속성이 기본키이면 저절로 Null값을 가질 수 없으므로 sql을 일부 생략하고 아래와 같이 써도 되나요?

CREATE TABLE Instructor

(id CHAR(5) PRIMARY KEY,

name CHAR(15) NOT NULL,

dept CHAR(15),

FOREIGN KEY (dept) REFERENCES Department (name)

ON DELETE SET NULL

ON UPDATE CASCADE);

[답변]

예, 가능합니다.

다만, <요구사항>에서 말한 것들은 생략하기보다 SQL문내에서 직접적으로 비교할 수 있도록 명확히 구현하는 것이 좋습니다.

6.(1)83페이지 7번문제는 도메인을 정의하는 것이므로 괄호 3번에서 'value in' 부분을 '직급 in' 이라고 쓰면 안되는거죠?

[답변]

도메인은 도메인 생성 시작 부분에 명시한 속성에 대해 범위를 지정하는 것으로

Check In( Value In ~ 의 구분 형식으로 작성하면 됩니다.

(2)create domain 문에서 제약조건 설정 시

-constraint 제약조건명 check(속성명='값1' or 속성명='값2')

-constraint 제약조건명 check('값1'or'값2')

-constraint 제약조건명 check(value in('값1','값2'))

이런 방식으로 쓰면 되나요?

[답변]

Domain은 특정 속성에 대한 범위를 지정하는 것으로

Check 안에 속성명을 기술할 필요가 없으며,

Value를 이용해

constraint 제약조건명 check(value in('값1','값2'))

과 같은 방식으로 작성하면 됩니다.

(3)create table 문에서 변수에 대한 범위 설정 시

-constraint 제약조건명 check(속성명='값1' or 속성명='값2')

-constraint 제약조건명 check(속성명 in('값1','값2'))

이런 방식으로 쓰면 되나요?

[답변]

예, 둘 모두 정답으로 인정됩니다.

행복한 하루되세요.^^

  • *
    2018-09-06 18:06:11

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

    1.(1)79페이지 trigger 예문 4번째줄에서 작은따옴표 두개 사이에 공백이 있는건가요?

    [답변]

    아닙니다.

    NULL값인 레코드를 찾는 줄로, 작은따옴표 사이에는 공백이 없습니다.

    WHEN new_table.학년 = ‘’ 은 WHEN new_table.학년 IS NULL 로 바꿔 쓸 수 있습니다.

    (2)자료가 누락되었음을 표현할 때 작은 따옴표 두개를 띄어쓰거나 붙여쓰거나 상관없나요?

    [답변]

    아니오, 상관있습니다.

    작은따옴표 사이에 띄어쓰기를 넣는 경우, 공백(‘ ’)이라는 값이 입력됩니다.

    자료가 없다는 의미인 NULL과는 다른 것으로 확실히 구분하여 입력해주어야 합니다.

    혹시라도 답안을 작성하실 때 작은따옴표(‘’) 사이의 공백이 신경 쓰이신다면 ‘IS NULL’을 대신 적어주세요

    2.trigger 구문에서 문제를 통해 before/after중 어떤것을 써야하는지 구분이 잘 안됩니다.

    79페이지 예제, 84페이지 문제 9번의 차이를 모르겠는데 하나는 before이고 다른 하나는 after이네요

    [답변]

    79페이지의 예제 문제는 TRIGGER가 SQL로 구현되었을 때 어떤 방식으로 구현되는지를 설명하는 기본적인 예제입니다. 해당 예제에서는 실제 시험문제와 다르게 BEFORE와 AFTER를 명확히 구분할 수 있도록 문제가 제시되지 않았으므로 예시로 들기에는 어려움이 있습니다.

    84페이지 문제는 조건부인 WHEN절(“WHEN old_tbl.직위=new_tbl.직위”)을 살펴보면 새로 추가·변경에 참여할 튜플들과 변경된 튜플들을 비교하여 월급을 계산하는 것으로 보아 변경을 적용한 후에 TRIGGER를 수행해야 한다는 것을 알 수 있습니다.

    TRIGGER에 관련된 문제의 경우 각 옵션에 대한 문제는 출제된 적이 없습니다. TRIGGER 관련 문제가 나오는 경우는 84페이지의 문제 9번과 같이 설명이나 SQL문에서 “TRIGGER”를 유추하는 문제 정도만 출제되므로 출제 문제 수준으로 학습하시길 권해드립니다.

    3.80페이지 drop constraint 구문에는 cascade/restrict 옵션이 없나요?

    [답변]

    예, 없습니다.

    CASCADE나 RESTRICT의 경우 참조하는 개체가 존재하여야 합니다. 1개 속성이나 도메인의 제약 조건을 의미하는 CONSTRAINT의 경우 참조 대상이 될 수 없으므로, CASCADE 또는 RESTRICT가 사용되지 않습니다.

    4.81페이지 1번 문제에서 3번째 조건에 대한 sql을

    CONSTRAINT sex_ck CHECK(sex IN('f', 'm')) 이라고 써도 되나요?

    [답변]

    예, 가능합니다.

    <요구사항>을 만족하며 동일한 제약조건을 갖는 테이블이 작성되므로 정답으로 인정됩니다.

    5.81페이지 3번문제에서 id 속성은 기본키이고 Null값을 가질 수 없다고 되어있습니다.

    그런데 어떤 속성이 기본키이면 저절로 Null값을 가질 수 없으므로 sql을 일부 생략하고 아래와 같이 써도 되나요?

    CREATE TABLE Instructor

    (id CHAR(5) PRIMARY KEY,

    name CHAR(15) NOT NULL,

    dept CHAR(15),

    FOREIGN KEY (dept) REFERENCES Department (name)

    ON DELETE SET NULL

    ON UPDATE CASCADE);

    [답변]

    예, 가능합니다.

    다만, <요구사항>에서 말한 것들은 생략하기보다 SQL문내에서 직접적으로 비교할 수 있도록 명확히 구현하는 것이 좋습니다.

    6.(1)83페이지 7번문제는 도메인을 정의하는 것이므로 괄호 3번에서 'value in' 부분을 '직급 in' 이라고 쓰면 안되는거죠?

    [답변]

    도메인은 도메인 생성 시작 부분에 명시한 속성에 대해 범위를 지정하는 것으로

    Check In( Value In ~ 의 구분 형식으로 작성하면 됩니다.

    (2)create domain 문에서 제약조건 설정 시

    -constraint 제약조건명 check(속성명='값1' or 속성명='값2')

    -constraint 제약조건명 check('값1'or'값2')

    -constraint 제약조건명 check(value in('값1','값2'))

    이런 방식으로 쓰면 되나요?

    [답변]

    Domain은 특정 속성에 대한 범위를 지정하는 것으로

    Check 안에 속성명을 기술할 필요가 없으며,

    Value를 이용해

    constraint 제약조건명 check(value in('값1','값2'))

    과 같은 방식으로 작성하면 됩니다.

    (3)create table 문에서 변수에 대한 범위 설정 시

    -constraint 제약조건명 check(속성명='값1' or 속성명='값2')

    -constraint 제약조건명 check(속성명 in('값1','값2'))

    이런 방식으로 쓰면 되나요?

    [답변]

    예, 둘 모두 정답으로 인정됩니다.

    행복한 하루되세요.^^

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