과제

Database- 데이터베이스 (문제풀이 2일차)

Chansman 2025. 3. 19. 18:49

 

🚀 SQL 문제 풀이: 데이터베이스와 SQL 명령어

이번 블로그에서는 SQL 문제 풀이를 통해 여러 SQL 명령어의 개념을 복습하고, 각 선택지에 대한 키워드를 설명합니다. 문제를 풀면서 SQL의 기본적인 개념을 확실히 이해할 수 있습니다.


1️⃣ [문제10] GRANT 명령어 설명

문제:

데이터 제어 언어(DCL)인 GRANT에 대한 설명으로 옳은 것을 골라주세요.

선택지:

  1. 사용자에게 특정 작업을 수행할 권한을 부여한다.
  2. 사용자로부터 특정 작업 수행 권한을 제거한다.
  3. 다른 사용자에게 동일한 권한을 전달할 때 사용한다.
  4. 부여된 권한 중 일부를 제한할 때 사용한다.

정답: 1. 사용자에게 특정 작업을 수행할 권한을 부여한다.

설명:

  • GRANT사용자에게 권한을 부여하는 SQL 명령어입니다. 예를 들어, 사용자에게 SELECT, INSERT, **UPDATE**와 같은 데이터베이스 작업 권한을 부여하는 데 사용됩니다.
  • DCL(데이터 제어 언어)은 데이터베이스의 사용자 권한 관리에 사용되는 언어로, GRANT는 그 핵심 명령어입니다.

2️⃣ [문제11] 테이블 생성 SQL 문

문제:

테이블을 생성하기 위해서 사용되는 SQL문을 선택해주세요.

선택지:

  1. CREATE TABLE
  2. CREATE NEW TABLE
  3. ADD TABLE
  4. UPDATE TABLE

정답: 1. CREATE TABLE

설명:

  • **CREATE TABLE**은 새로운 테이블을 생성하는 SQL 명령어입니다. CREATE NEW TABLE, ADD TABLE은 잘못된 명령어이며, UPDATE TABLE은 테이블을 수정하는 명령어로 잘못된 선택지입니다.

3️⃣ [문제12] 컬럼에 NOT NULL 제약 설정

문제:

테이블 생성 시 컬럼(속성)에 값이 항상 존재하도록 설정하는 명령어를 선택해주세요.

선택지:

  1. IS NULL
  2. NOT NULL
  3. IN NULL
  4. NULL

정답: 2. NOT NULL

설명:

  • NOT NULL 제약은 해당 칼럼에 NULL 값이 들어갈 수 없도록 설정하는 제약입니다. 이 제약을 통해 항상 값이 존재해야 하는 컬럼을 정의할 수 있습니다.
  • IS NULL, **IN NULL**은 쿼리에서 조건으로 사용되는 키워드이고, **NULL**은 값을 나타내는 키워드입니다.

4️⃣ [문제13] 중복된 값 허용하지 않도록 설정

문제:

테이블 생성 시 컬럼(속성)에 중복된 값을 허용하지 않도록 설정하는 명령어를 모두 선택해주세요.

선택지:

  1. UNIQUE
  2. DEFAULT False
  3. PRIMARY KEY
  4. AUTO_INCREMENT

정답: 1. UNIQUE, 3. PRIMARY KEY

설명:

  • UNIQUE 제약은 컬럼의 값이 중복되지 않도록 설정합니다. 즉, 같은 값이 두 번 이상 입력되지 않도록 보장합니다.
  • **PRIMARY KEY**는 유일한 값을 가짐과 동시에 해당 칼럼에 NOT NULL 제약도 포함되어 있습니다. 기본적으로 중복되지 않는 유일한 값만 저장됩니다.
  • **DEFAULT False**와 **AUTO_INCREMENT**는 중복을 제한하는 역할을 하지 않습니다.

5️⃣ [문제14] 숫자형 데이터 타입이 아닌 것

문제:

데이터베이스의 숫자형 데이터 타입이 아닌 것을 선택해주세요.

선택지:

  1. BIT
  2. INT
  3. CHAR
  4. BIGINT

정답: 3. CHAR (문자형)

설명:

  • **CHAR**는 문자형 데이터 타입으로, 숫자형 데이터와는 관련이 없습니다.
  • BIT, INT, **BIGINT**는 숫자형 데이터 타입입니다.

6️⃣ [문제15] 날짜와 시간을 같이 나타내는 데이터 타입

문제:

날짜와 시간을 같이 나타내는 데이터 타입을 선택해주세요.

선택지:

  1. DATE
  2. TIME
  3. DATETIME

정답: 3. DATETIME

설명:

  • **DATETIME**은 날짜와 시간을 같이 표현할 수 있는 데이터 타입입니다. **DATE**는 날짜만, **TIME**은 시간만 나타냅니다.

7️⃣ [문제16] CHAR과 VARCHAR의 차이

문제:

CHAR과 VARCHAR의 차이로 옳은 것을 선택해 주세요.

선택지:

  1. 저장할 수 있는 데이터 종류(문자, 숫자)가 다름
  2. 데이터를 담을 수 있는 공간이 고정인지 가변인지의 차이
  3. 문자열 값을 정수로 표현할 수 있는지의 차이
  4. 한번 입력된 데이터의 수정 여부의 차이

정답: 2. 데이터를 담을 수 있는 공간이 고정인지 가변인지의 차이

설명:

  • **CHAR**는 고정 길이의 문자열을 저장하고, **VARCHAR**는 가변 길이 문자열을 저장합니다. **CHAR**는 항상 지정된 길이만큼 공간을 차지하고, **VARCHAR**는 실제 저장되는 길이에 맞게 공간을 할당합니다.

8️⃣ [문제17] 트랜잭션 관리 언어

문제:

데이터베이스 내의 트랜잭션을 관리하는 데 사용되는 언어를 선택해주세요.

선택지:

  1. DCL
  2. DML
  3. TCL
  4. DDL

정답: 3. TCL

설명:

  • TCL (Transaction Control Language)은 트랜잭션을 관리하는 데 사용됩니다. COMMIT, ROLLBACK, SAVEPOINT 등의 명령어가 포함됩니다.
  • DCL은 권한을 관리하는 명령어이고, DML은 데이터를 처리하는 명령어, DDL은 데이터베이스 구조를 정의하는 명령어입니다.

9️⃣ [문제18] 칼럼에 저장될 수 있는 값의 범위나 조건 지정

문제:

칼럼에 저장될 수 있는 값의 범위나 조건을 지정하는 명령어를 선택해주세요.

선택지:

  1. IN
  2. WHERE
  3. CHECK
  4. ON

정답: 3. CHECK

설명:

  • CHECK 제약은 칼럼에 저장될 수 있는 값의 범위나 조건을 설정하는 데 사용됩니다. 예를 들어, 나이가 18세 이상이어야 한다는 조건을 설정할 수 있습니다.