책 내용 질문하기
SQL 문 작성
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
83
조회수
375
작성일
2019-08-29
작성자
탈퇴*원
첨부파일

안녕하세요 정처기 수험생입니다.

p83 문제 1번에서 SQL문 작성 시 한 문단이 궁금하여 문의 드립니다.

Constraint sex=ck check(sex='f' or sex='m')

위 sql문은 아래와 동일한 값인 지 문의 드립니다.

Constraint sex=ck check(value in(f' ,'m'))

 

p77에서 도메인 정의 시 나왔던 문인데, 동일한 값인 것 같은데, 다르게 쓰여 혼동이 옵니다.

 

그리고 p59에서 division의 설명이 잘 이해가 되지 않는데, 이해가 잘 될 수 있는 자료같은것이 있을까요?  

답변
2019-08-30 10:04:09

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

 

[83쪽]

Constraint sex_ck check(value in(f' ,'m')) 

는 사용 불가능한 구문입니다.

 

value in([a], [b], [c]) 와 같이 a, b, c를 or 조건으로 나열하는 것은 도메인에서만 가능하며, 일반 속성에서는

[속성명] in ([a], [b], [c])와 같이 사용해주어야 합니다.

 

즉, Constraint sex_ck check(sex in(f' ,'m'))  <- 이렇게 되어야 하죠.

 

 

[59쪽]

division의 경우 natural join을 한 후 join의 기준이 된 속성을 제외한 뒤 중복되는 튜플을 삭제한 것이라고 보면 됩니다.

60쪽을 기준으로 설명드리면, <구입자> 테이블과 <생산품1> 테이블을 네츄럴 조인하게 되면 아래와 같은 테이블이 되겠죠.

번호

이름

구입품 코드

1

고길동

A

1

고길동

B

2

이순신

A

2

이순신

B

 

위에서 조인의 기준이 된 구입품 코드를 삭제

번호

이름

1

고길동

1

고길동

2

이순신

2

이순신

 

동일 튜플 제거

번호

이름

1

고길동

2

이순신

 

이렇게 정답이 추출됩니다.

 

여기서 <생산품1> 테이블은 <구입자>테이블에 포함되는 '구입자 ⊇ 생산품1' 의 형태이며, division에서는 항상 이 조건이 갖추어져야 합니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-08-30 10:04:09

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

     

    [83쪽]

    Constraint sex_ck check(value in(f' ,'m')) 

    는 사용 불가능한 구문입니다.

     

    value in([a], [b], [c]) 와 같이 a, b, c를 or 조건으로 나열하는 것은 도메인에서만 가능하며, 일반 속성에서는

    [속성명] in ([a], [b], [c])와 같이 사용해주어야 합니다.

     

    즉, Constraint sex_ck check(sex in(f' ,'m'))  <- 이렇게 되어야 하죠.

     

     

    [59쪽]

    division의 경우 natural join을 한 후 join의 기준이 된 속성을 제외한 뒤 중복되는 튜플을 삭제한 것이라고 보면 됩니다.

    60쪽을 기준으로 설명드리면, <구입자> 테이블과 <생산품1> 테이블을 네츄럴 조인하게 되면 아래와 같은 테이블이 되겠죠.

    번호

    이름

    구입품 코드

    1

    고길동

    A

    1

    고길동

    B

    2

    이순신

    A

    2

    이순신

    B

     

    위에서 조인의 기준이 된 구입품 코드를 삭제

    번호

    이름

    1

    고길동

    1

    고길동

    2

    이순신

    2

    이순신

     

    동일 튜플 제거

    번호

    이름

    1

    고길동

    2

    이순신

     

    이렇게 정답이 추출됩니다.

     

    여기서 <생산품1> 테이블은 <구입자>테이블에 포함되는 '구입자 ⊇ 생산품1' 의 형태이며, division에서는 항상 이 조건이 갖추어져야 합니다.

     

    행복한 하루되세요 :)

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