책 내용 질문하기
2017 정보처리기사 실기 2권 질문
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
90
조회수
101
작성일
2017-09-26
작성자
탈퇴*원
첨부파일

데이터베이스 질문입니다

90p

2번문제 질문

1. 우선 질문드릴게, where절에서 사용하는 조건식을 보면 다른 문제들도 다 동일하게

테이블과의 관계가 설정되어있는(1:1, 1:N 관계같은)것을 통해서 where절이 작성되더라구요

테이블 관계 없는 것끼리 조건을 걸거나 하는 식으로 문제를 풀 수는 없나요?

2. 1:N관계 이런것은 기본키와 후보키 대응관계라고 보면 되죠?

3. 2번 문제를 보면 직원 'id'가 10인 직원이 담당하는 상점의 이름을 검색하는 쿼리문인데

하위질의를 이용하라는 요구사항을 제외한다면

SELECT DISTINCE name

FROM Shop

WHERE id=10;

식으로 작성해도 똑같은 결과가 나오지않을까요? 하위질의가 필요없다면

굳이 Staff 테이블을 이용해서 답을 찾아내야하는건지 궁금합니다

94p

10번 문제

1. 쿼리문에서 COUNT(*) AS 학생수라고 되어있는데요

여기서 COUNT는 그룹 함수인데

*는 전체를 포함하는 것을 의미한다고 알고있습니다

COUNT(*)라했을때 어떤식으로 계산이 되는건가요?

2. 또 결제 테이블을 쿼리문에서 GROUP BY를 통해 그룹지어줬는데

GROUP BY절이 없더라도 이 그룹함수를 사용가능한가요?

3. COUNT함수로 전체 행 숫자를 계산한뒤 GROUP BY절을 통해 미납, 완납으로 나누었으므로

미납 수, 완납 수 로 분리돼서 표시된다고 이해하면될까요?

기타 질문

1. 직접 데이터베이스를 다룰때 사용하는 SQL문은 각 데이터베이스 플랫폼마다 약간씩 상이한 것으로 알고있습니다

예를들면 Oracle에서 사용하는 쿼리문과 MySql에서 사용하는 쿼리문이 약간씩 상이한 것처럼요(테이블의 생성이나 날짜형 데이터 타입 등등)

정보처리기사 실기 시험에 나오는 SQL문은 시나공 실기 교재에 나오는 SQL문과 쓰는 것이 동일한가요?

2. 또한 정보처리기사 실기 시험에서는 특정 플랫폼에서 사용되는 SQL문들을 기준으로 문제를 내는건지,

아니면 시나공 교재에서 배우는 SQL문처럼 특정 데이터베이스 플랫폼에 관계없이

기본적으로 정의되어있는(예를들면 국가에서 지정해둔 공식 쿼리문 양식) 쿼리문 기준이 존재하고 그런것을 통해

문제를 출제하는 것인지 궁금합니다

답변
2017-09-26 10:05:36

안녕하세요.

1)

- 두 개 이상의 테이블을 연계하여 결과를 추출해야 할 경우에는 두 테이블은 반드시 관계가 설정되어 있어야 합니다.

- 관계가 설정되는 경우는 기본키와 외래키 관계입니다.

- 별도의 조건이 없다면 결과가 동일하게 산출되는 어떠한 식이는 맞게 채점됩니다. 그러므로 처리조건을 반드시 확인해야 합니다.

2)

COUNT(*)로 괄호 안에 특정 속성을 지정하지 않으면 레코드 단위로 개수를 산출합니다. 대부분 조건에 맞는 레코드의 개수를 산출하기때문에 특정 속성 기술 없이 COUNT(*)로 주로 사용됩니다. 단 적용 범위가 달라질 수 있습니다.

Gropy by 함수로 그룹이 설정되지 않았다면 전체 레코드의 개수를 산출합니다.

그룹이 설정되었다면 설정된 그룹에 대해 레코드의 개수를 산출합니다.

3)

지금까지 출제된 문제들은 쿼리문들은 여러 언어에 공통적인 내용 위주로 출제되었습니다. 만일 언어상 차이가 나는 부분이 있다면 처리조건으로 명시하여 어느 명령어를 사용하라고 제시될 것으로 예상됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-09-26 10:05:36

    안녕하세요.

    1)

    - 두 개 이상의 테이블을 연계하여 결과를 추출해야 할 경우에는 두 테이블은 반드시 관계가 설정되어 있어야 합니다.

    - 관계가 설정되는 경우는 기본키와 외래키 관계입니다.

    - 별도의 조건이 없다면 결과가 동일하게 산출되는 어떠한 식이는 맞게 채점됩니다. 그러므로 처리조건을 반드시 확인해야 합니다.

    2)

    COUNT(*)로 괄호 안에 특정 속성을 지정하지 않으면 레코드 단위로 개수를 산출합니다. 대부분 조건에 맞는 레코드의 개수를 산출하기때문에 특정 속성 기술 없이 COUNT(*)로 주로 사용됩니다. 단 적용 범위가 달라질 수 있습니다.

    Gropy by 함수로 그룹이 설정되지 않았다면 전체 레코드의 개수를 산출합니다.

    그룹이 설정되었다면 설정된 그룹에 대해 레코드의 개수를 산출합니다.

    3)

    지금까지 출제된 문제들은 쿼리문들은 여러 언어에 공통적인 내용 위주로 출제되었습니다. 만일 언어상 차이가 나는 부분이 있다면 처리조건으로 명시하여 어느 명령어를 사용하라고 제시될 것으로 예상됩니다.

    오늘도 즐거운 하루 되세요.

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