안녕하세요 정처기 수험생입니다.
p83 문제 1번에서 SQL문 작성 시 한 문단이 궁금하여 문의 드립니다.
Constraint sex=ck check(sex='f' or sex='m')
위 sql문은 아래와 동일한 값인 지 문의 드립니다.
Constraint sex=ck check(value in(f' ,'m'))
p77에서 도메인 정의 시 나왔던 문인데, 동일한 값인 것 같은데, 다르게 쓰여 혼동이 옵니다.
그리고 p59에서 division의 설명이 잘 이해가 되지 않는데, 이해가 잘 될 수 있는 자료같은것이 있을까요?
안녕하세요 길벗수험서 운영팀입니다.
[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에서는 항상 이 조건이 갖추어져야 합니다.
행복한 하루되세요 :)