1.일단 SQL문들을 보다보니 보통 속성값을 쓸때 문자면 작은따음표 ' ' 숫자면 따음표를 붙이지 않는거 같네요.
그리고 날짜의 경우 문자로 취급되여 SQL문 내에선 '1980-01-01'처럼 작은 따음표를 붙여야하고요.
제가 이해한것이 맞나요?
2. 88페이지 예제3번에 "월급은"은 왜 큰따음표를 썼는지 궁금하네요.
3. 100페이지에 예제2번의 sql문을 보면 3번째 줄에 WHERE 학생.성적 BETWEEN 성적등급.최저 AND 성적등급.최고;
인데 조인할때 한 테이블내에만 있는 속성값이면 굳이 속성명을 안붙여도 된다고 알고있습니다.
WHERE 학생.성적 BETWEEN 성적등급.최저 AND 성적등급.최고;=>WHERE 성적 BETWEEN 최저 AND 최고;
로 바꿔도 되나요?
4.93쪽 문제4번가 오름차순인데 ORDER BY name;이라고만 해놨는데 ORDER BY name ASC;에서 오름차순은
기본값이라서 생략한거죠?
5.INSERT문과 VIEW문정의시 속성명을 생략할수 있다고 알고 있습니다.
CREATE VIEW 뷰명(속성명1,속성명2...)
AS SELECT 속성명A, 속성명B...
FROM 테이블A명
WHERE 조건;이고
INSERT INTO 테이블B명(속성명1,속성명2...)
VALUES(속성값1, 속성값2....);
인데
VIEW 정의문은 테이블A의 모든 속성명을 AS SELECT뒤에 적지 않아도
CREATE VIEW 뷰명(속성명1,속성명2...)의 (속성명1,속성명2...)은 생략가능한가요?
INSERT문은 테이블B의 모든 속성을 VALUES뒤에 적어야만 INSERT INTO 테이블B명(속성명1,속성명2...)의
(속성명1,속성명2...)을 생략가능한가요?
6.온라인강의 84강 정규화를 보면 BCNF에서 다치종속 제거를 해야 4NF가 된다고 설명하시는데 책 146페이지에는 BCNF에서 다치종속을 해야 4NF가 된다고 적혀있네요
BCNF에서 다치종속을 해서 4NF가 되고 4NF에서 조인속성을 이용하여 5NF만드는거 아닌가요?
안녕하세요. 길벗 수험서 운영팀입니다.
1.일단 SQL문들을 보다보니 보통 속성값을 쓸때 문자면 작은따음표 ' ' 숫자면 따음표를 붙이지 않는거 같네요. 그리고 날짜의 경우 문자로 취급되여 SQL문 내에선 '1980-01-01'처럼 작은 따음표를 붙여야하고요. 제가 이해한것이 맞나요?
[답변]
예, 맞습니다.
숫자는 그대로 입력하며, 텍스트는 작은 따옴표 ‘’를 사용합니다.
날짜 데이터의 경우 숫자로 취급되지만 작은 따옴표 ‘’ 또는 샵 기호 ##로 묶어 주셔야 합니다.
2. 88페이지 예제3번에 "월급은"은 왜 큰따음표를 썼는지 궁금하네요.
[답변]
큰 따옴표나 작은 따옴표 모두 같은 의미로 문자가 포함된 내용을 묶을 때 사용됩니다.
실제 시험장에서는 작은 따옴표나 큰 따옴표로 사용하라는 <처리 조건>이 없는 경우 둘 중 어느 것을 사용해도 무관합니다.
3. 100페이지에 예제2번의 sql문을 보면 3번째 줄에
WHERE 학생.성적 BETWEEN 성적등급.최저 AND 성적등급.최고;
인데 조인할때 한 테이블내에만 있는 속성값이면 굳이 속성명을 안붙여도 된다고 알고있습니다.
WHERE 학생.성적 BETWEEN 성적등급.최저 AND 성적등급.최고;
=>WHERE 성적 BETWEEN 최저 AND 최고;
로 바꿔도 되나요?
[답변]
예, 가능합니다.
속성명이 여러 테이블에 동일하게 있지 않다면, 테이블명을 생략하고 속성명만을 기입하셔도 됩니다.
4.93쪽 문제4번가 오름차순인데 ORDER BY name;이라고만 해놨는데 ORDER BY name ASC;에서 오름차순은 기본값이라서 생략한거죠?
[답변]
예, 맞습니다.
ORDER BY절에서 ASC(오름차순)은 기본값으로 설정되어있기 때문에, 생략한 경우 자동으로 오름차순으로 정렬됩니다.
5.INSERT문과 VIEW문정의시 속성명을 생략할수 있다고 알고 있습니다.
VIEW 정의문은 테이블A의 모든 속성명을 AS SELECT뒤에 적지 않아도 CREATE VIEW 뷰명(속성명1,속성명2...)의 (속성명1,속성명2...)은 생략가능한가요?
[답변]
불가능합니다.
create view 에서 뷰명 우측의 (속성명1, 속성명2)의 경우 as select를 통해 다른 테이블에서 가져오는 속성명의 이름을 변경해서 사용하겠다는 의미입니다.
즉, 테이블A에서 ‘이름’, ‘성별’ 속성을 가져와서 뷰에서는 ‘학생이름’, ‘남녀’라는 속성명으로 사용하겠다는 의미이죠. 만약 이것을 정해주지 않는다면 테이블A에서 사용하던 속성명 ‘이름’, ‘성별’을 그대로 사용하게 됩니다.
as select가 없는 create view는 존재할 수 없습니다.
INSERT문은 테이블B의 모든 속성을 VALUES뒤에 적어야만 INSERT INTO 테이블B명(속성명1,속성명2...)의 (속성명1,속성명2...)을 생략가능한가요?
[답변]
예, 맞습니다.
테이블의 모든 속성을 삽입할 때만 속성명을 생략할 수 있으며, 순서 또한 삽입하려는 테이블에 정해진 속성 순서대로 기입해야 합니다.
6.온라인강의 84강 정규화를 보면 BCNF에서 다치종속 제거를 해야 4NF가 된다고 설명하시는데 책 146페이지에는 BCNF에서 다치종속을 해야 4NF가 된다고 적혀있네요. BCNF에서 다치종속을 해서 4NF가 되고 4NF에서 조인속성을 이용하여 5NF만드는거 아닌가요?
[답변]
강의와 교재 둘 모두가 맞습니다.
제4정규형은 테이블 R에 다중 값 종속이 존재할 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형입니다. 다치 종속이 존재하는 형태죠.
하지만 157쪽의 문제와 같이 다치 종속이 존재하는 제4정규형에서 테이블을 무손실 분해할 때 어떤 과정이 수행되었는지를 물어보는 것으로 제4정규형에 존재하는 다치 종속을 제거하여 테이블을 무손실 분해한 것입니다.
이와 같이 제4정규형에서는 다치 종속이 중요한 내용이 되는데, 제4정규형에서는 존재하는 다치 종속을 제거한 후의 결과를 두고 문제와 같이 다치 종속 제거가 답이 될 수 있는 경우도 있다는 것도 추가적으로 파악해 두시면 됩니다.
즉, 정확히 BCNF -> 4NF로 갈 때, “다치 종속 이용”이 가장 적합합니다.
행복한 하루되세요.^^
-
*2018-09-17 14:11:10
안녕하세요. 길벗 수험서 운영팀입니다.
1.일단 SQL문들을 보다보니 보통 속성값을 쓸때 문자면 작은따음표 ' ' 숫자면 따음표를 붙이지 않는거 같네요. 그리고 날짜의 경우 문자로 취급되여 SQL문 내에선 '1980-01-01'처럼 작은 따음표를 붙여야하고요. 제가 이해한것이 맞나요?
[답변]
예, 맞습니다.
숫자는 그대로 입력하며, 텍스트는 작은 따옴표 ‘’를 사용합니다.
날짜 데이터의 경우 숫자로 취급되지만 작은 따옴표 ‘’ 또는 샵 기호 ##로 묶어 주셔야 합니다.
2. 88페이지 예제3번에 "월급은"은 왜 큰따음표를 썼는지 궁금하네요.
[답변]
큰 따옴표나 작은 따옴표 모두 같은 의미로 문자가 포함된 내용을 묶을 때 사용됩니다.
실제 시험장에서는 작은 따옴표나 큰 따옴표로 사용하라는 <처리 조건>이 없는 경우 둘 중 어느 것을 사용해도 무관합니다.
3. 100페이지에 예제2번의 sql문을 보면 3번째 줄에
WHERE 학생.성적 BETWEEN 성적등급.최저 AND 성적등급.최고;
인데 조인할때 한 테이블내에만 있는 속성값이면 굳이 속성명을 안붙여도 된다고 알고있습니다.
WHERE 학생.성적 BETWEEN 성적등급.최저 AND 성적등급.최고;
=>WHERE 성적 BETWEEN 최저 AND 최고;
로 바꿔도 되나요?
[답변]
예, 가능합니다.
속성명이 여러 테이블에 동일하게 있지 않다면, 테이블명을 생략하고 속성명만을 기입하셔도 됩니다.
4.93쪽 문제4번가 오름차순인데 ORDER BY name;이라고만 해놨는데 ORDER BY name ASC;에서 오름차순은 기본값이라서 생략한거죠?
[답변]
예, 맞습니다.
ORDER BY절에서 ASC(오름차순)은 기본값으로 설정되어있기 때문에, 생략한 경우 자동으로 오름차순으로 정렬됩니다.
5.INSERT문과 VIEW문정의시 속성명을 생략할수 있다고 알고 있습니다.
VIEW 정의문은 테이블A의 모든 속성명을 AS SELECT뒤에 적지 않아도 CREATE VIEW 뷰명(속성명1,속성명2...)의 (속성명1,속성명2...)은 생략가능한가요?
[답변]
불가능합니다.
create view 에서 뷰명 우측의 (속성명1, 속성명2)의 경우 as select를 통해 다른 테이블에서 가져오는 속성명의 이름을 변경해서 사용하겠다는 의미입니다.
즉, 테이블A에서 ‘이름’, ‘성별’ 속성을 가져와서 뷰에서는 ‘학생이름’, ‘남녀’라는 속성명으로 사용하겠다는 의미이죠. 만약 이것을 정해주지 않는다면 테이블A에서 사용하던 속성명 ‘이름’, ‘성별’을 그대로 사용하게 됩니다.
as select가 없는 create view는 존재할 수 없습니다.
INSERT문은 테이블B의 모든 속성을 VALUES뒤에 적어야만 INSERT INTO 테이블B명(속성명1,속성명2...)의 (속성명1,속성명2...)을 생략가능한가요?
[답변]
예, 맞습니다.
테이블의 모든 속성을 삽입할 때만 속성명을 생략할 수 있으며, 순서 또한 삽입하려는 테이블에 정해진 속성 순서대로 기입해야 합니다.
6.온라인강의 84강 정규화를 보면 BCNF에서 다치종속 제거를 해야 4NF가 된다고 설명하시는데 책 146페이지에는 BCNF에서 다치종속을 해야 4NF가 된다고 적혀있네요. BCNF에서 다치종속을 해서 4NF가 되고 4NF에서 조인속성을 이용하여 5NF만드는거 아닌가요?
[답변]
강의와 교재 둘 모두가 맞습니다.
제4정규형은 테이블 R에 다중 값 종속이 존재할 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형입니다. 다치 종속이 존재하는 형태죠.
하지만 157쪽의 문제와 같이 다치 종속이 존재하는 제4정규형에서 테이블을 무손실 분해할 때 어떤 과정이 수행되었는지를 물어보는 것으로 제4정규형에 존재하는 다치 종속을 제거하여 테이블을 무손실 분해한 것입니다.
이와 같이 제4정규형에서는 다치 종속이 중요한 내용이 되는데, 제4정규형에서는 존재하는 다치 종속을 제거한 후의 결과를 두고 문제와 같이 다치 종속 제거가 답이 될 수 있는 경우도 있다는 것도 추가적으로 파악해 두시면 됩니다.
즉, 정확히 BCNF -> 4NF로 갈 때, “다치 종속 이용”이 가장 적합합니다.
행복한 하루되세요.^^