SQL Quiz

Park Jae Hong·2022년 8월 12일
0

Quiz

Me - SQL 에서 SELECT문을 실행하면 구문분석(Parse) 단계를 진행하게 된다. 다음 설명 중 구문분석에 대한 내용이 옳지 않은 것을 고르시오.

  1. Parsing 과정은 문법 검사 -> 권한 검사 -> 의미 검사 -> 실행 계획 생성 순으로 이루어 진다.

  2. 권한 검사란 칼럼명, 테이블명 등의 사용자의 쿼리 내용에 따라 달라지는 값들을 검사한다.

  3. 문법,의미,권한을 검사하고 얻은 Hash 값을 library cache에 있는 Hash value와 비교해 동일값이 있는지 확인 후 실행계획이 있는지 검사 과정을 Soft Parse 라고 한다.

  4. 옵티마이저가 Data Dictionary 등을 참고해 실행계획을 생성해, server process에 넘겨주는 과정을 Hard Parse 라고 한다.

해설 : 정답 1,2
1. Parsing 과정 은 문법검사, 의미 검사, 권한 검사, 실행 계획 순으로 진행된다. 의미 검사를 하는 이유는 의미 검사도 일종에 문법적인 부분을 체크하는 부분이기 때문에 접근 권한보다 먼저 한다.
2. 칼럼명, 테이블명 등의 사용자의 쿼리 내용에 따라 달라지는 값들을 검사하는 것은 의미 검사에 해당된다. 권한 검사란 SELECT 접근 테이블에 권한이 있는지 검사한다.

K048 - CREATE 명령어로 테이블과 컬럼명을 부여할 때 지켜야할 규칙으로 올바르지 않은 것은?

  1. 반드시 문자로 시작해야 한다.
  2. 최대 30자까지 가능하다.
  3. 알파벳 대소문자와 숫자로 구성되어야 한다.
  4. SQL 키워드 및 식별자는 사용할 수 없다.

정답 : 3

K024 - 다음중 DDL은?

  1. DELETE
  2. DROP
  3. REVOKE
  4. ROLLBACK
  5. TRUNCATE

정답 : 2,5

K026 - 다음은 SQL에서 데이터를 조작하는 명령어들에 대한 설명이다. 다음 중 옳지 않은 것은?

  1. SELECT * FROM sample WHERE NOT(a<>0 OR b<>0) 를 입력하면 검색 결과에 a = 0, b = 1인 데이터도 포함된다.
  2. SELECT * FROM TABLE WHERE a LIKE '%camp' 를 입력하면 camp로 끝나는 문자가 있는 데이터를 검색한다.
  3. INSERT로 데이터를 입력할 때 모든 컬럼의 값을 입력하지 않으면 데이터를 삽입할 수 없다.
  4. UPDATE문에 WHERE 조건을 입력하지 않으면 테이블에 있는 열 전체의 값을 변경한다.
  5. DELETE 문의 WHERE 조건에 해당하는 데이터가 없으면 아무일도 일어나지 않는다.

정답 :
1. <> a = 0, b = 0 인 데이터만 포함된다. <>는 같지 않다는 조건을 표현한다.
3. 각 값에 대응되는 컬럼명을 같이 적기만 한다면 데이터를 삽입할 수 있다. 모든 컬럼의 값을 입력한다면 컬럼명은 생략할 수 있다.

K060 - Camper가 BoostCamp 데이터베이스의 모든 권한을 얻고 싶다.어떻게 권한을 부여할 수 있을까? (모두 고르시오)

(Test와 BoostCamp는 다른 데이터베이스)

  1. GRANT ALL PRIVILEGES ON BoostCamp.* TO ‘Camper’@‘localhost’

  2. GRANT ALL PRIVILEGES ON Test.* TO ‘Camper’@‘localhost’

  3. GRANT ALL PRIVILEGES ON BoostCamp.* TO ‘campers’@‘%’

  4. GRANT ALL PRIVILEGES ON BoostCamp.* TO ‘Camper’@‘%’

정답 : 1,4

K020 - 다음 중 관리자가 사용자 K000에게 캠퍼테이블에 대해 튜플을 수정 할 수 있는 권한과 튜플 수정 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 적용하는 명령어로 올바른 것은 무엇인가?

  1. GRANT ALTER ON 캠퍼 TO K000;

  2. GRANT UPDATE ON 캠퍼 TO K000;

  3. GRANT ALTER ON 캠퍼 TO K000 WITH GRANT OPTION;

  4. GRANT UPDATE ON 캠퍼 TO K000 WITH GRANT OPTION;

정답 : 4
UPDATE : 테이블에서 튜플 내용을 갱신하는 명령
ALTER : 테이블에 대한 정의를 변경하는 명령
WITH GRANT OPTION : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한 부여하는 옵션

소감

K019_박재홍

길었다면 길었고 짧았다면 짧았던 챌린지 기간이 끝나고 마지막 시달부를 진행했다. 각자 퀴즈를 만들어서 진행했는데 문제를 만들면서 공부도 되고 각자 다른 문제를 들고와서 신기하면서도 좋은 문제들이 많이 나와서 좋았다 !

K048_조경현

시달부 4주차는 지난 주차들과는 달리 직접 퀴즈를 만들어 풀어보는 방식으로 진행하였는데, 문제를 만들면서 SQL 명령어의 종류와 DDL 사용 방법의 전체적인 흐름을 구체적으로 파악할 수 있어서 유익했습니다.

K026_양수진

시달부에서 퀴즈를 만드는 활동을 하는 경우가 많았는데, 정작 한번도 해본적이 없었다. 퀴즈를 만들기 위해서는 그 내용에 대해 공부하고, 검증을 해야했기 때문에 꼼꼼하게 공부할 수 있는 좋은 방법이라고 다시금 느꼈다.

K060_황유란

마지막 시달부는 이전의 시달부와는 달리 퀴즈를 풀면서 서로 공부해온 것을 공유할 수 있어서 좋았습니다. 간단한 문제라고 해도 은근 생각해야 하는 게 많아서 퀴즈를 내고 서로 풀어보는 것도 좋은 방법이라는 것을 느꼈습니다.

K020_박찬호

문제를 푸는 과정도 재밌었지만 문제를 출제하는 과정에서 흥미를 많이 느꼈습니다. 또, SQL 문의 문법외에도 기본적인 개념을 점검하는 의미있는 시간이었습니다. 추가로 같은 android캠퍼분들과 함께하게 돼서 내적친밀감도 들고 좋았습니다.

K024_신희성

색다른 방법으로 진행한 시달부였습니다. 흥미를 끌며 지저분하지 않은 문제를 내기 위해 고민하다 보니 빠트리고 알던 부분이 어느 것인지 되짚어 보게 되었습니다.

profile
The people who are crazy enough to think they can change the world are the ones who do. -Steve Jobs-

0개의 댓글