RUBY
SQL 기본 및 활용 본문
SQL 기본 및 활용
1일 20문제 풀기
01. 다음 중 데이터 제어어(DCL)에 해당하는 명령어는?
① INSERT
② RENAME
③ COMMIT
④ REVOKE
------------------
답 :
풀이 :
02. 다음 중 아래 내용의 범주에 해당하는 SQL 명령어로 옳지 않은 것은?
테이블의 구조를 생성, 변경, 삭제하는 등 데이터 구조를 정의하는데 사용되는 명령어이다.
① CREATE
② GRANT
③ ALTER
④ DROP
------------------
답 :
풀이 :
03. 아래 내용에 해당하는 SQL 명령어의 종류를 작성하시오.
논리적인 작업의 단위를 묶어 DML에 의해 조작된 결과를 작업단위(Transaction)별로 제어하는 명령어인 Commit, Rollback, Savepoint 등이 여기에 해당하며, 일부에서는 DCL(Data Control Language)로 분류하기도 한다.
------------------
답 :
풀이 :
04. 데이터베이스를 정의하고 접근하기 위해서는 데이터베이스 관리 시스템과의 통신수단이 필요한데 이를 데이터 언어(Data language)라고 하며, 그 기능과 사용 목적에 따라 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 구분된다. 다음 중 데이터 언어와 SQL 명령어에 대한 설명으로 가장 부적절한 것은?
① 비절차적 데이터 조작어(DML)는 사용자가 무슨 데이터를 원하며, 어떻게 그것을 접근해야 되는지를 명세하는 언어이다.
② DML은 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터베이스를 실질적으로 접근하는데 사용되며 SELECT, INSERT, DELETE, UPDATE 등이 있다.
③ DDL은 스키마, 도메인, 테이블, 뷰, 인덱스를 정의하거나 변경 또는 제거할 때 사용되며 CREATE, ALTER, DROP, RENAME 등이 있다.
④ 호스트 프로그램 속에 삽입되어 사용되는 DML 명령어들을 데이터 부속어(Data Sub Language)라고 한다.
------------------
답 :
풀이 :
05. 다음 중 데이터베이스 시스템 언어의 종류와 해당되는 명령어를 바르게 연결한 것을 2개 고르시오
① DML - SELECT
② TCL - COMMIT
③ DCL - DROP
④ DML - ALTER
------------------
답 :
풀이 :
06. 다음 중 아래의 데이터 모델과 같은 테이블 및 PK제약조건을 생성하는 DDL문장으로 올바른 것은? (DBMS는 Oracle 기준)
PRODUCT
PROD_ID : VARCHAR(10) NOT NULL |
PROD_NM : VARCHAR2(100) NOT NULL |
REG_DT : DATE NOT NULL |
REGR_NO : NUMBER(10) NULL |
①
②
③
④ CREATE TABLE PRODUCT
( PROD_ID VARCHAR2(10) NOT NULL
,PROD_NM VARCHAR2(100) NOT NULL
,REG_DT DATE NOT NULL
,REGR_NO NUMBER(10)
,CONSTRAINT PRODUCT_PK PRIMARY KEY (PROD_ID) );
------------------
답 : ④
풀이 :
/*1번 케이스 SQL Server 기준*/
CREATE TABLE PRODUCT
(
PROD_ID VARCHAR2(10) NOT NULL,
PROD_NM VARCHAR2(20) NOT NULL,
REG_DT DATE NOT NULL,
REGR_NO NUMBER(10) NULL
);
ALTER TABLE PRODUCT ADD CONSTRAINT PRODUCT_PK PRIMARY KEY (PROD_ID);
/*2번 케이스 Oracle 기준 */
CREATE TABLE PRODUCT
(
PROD_ID VARCHAR2(10) NOT NULL,
PROD_NM VARCHAR2(20) NOT NULL,
REG_DT DATE NOT NULL,
REGR_NO NUMBER(10) NULL, /* NULL은 생략해도 되나 NOT NULL은 안됩니다. */
CONSTRAINT PRODUCT_PK PRIMARY KEY (PROD_ID)
);
07. 아래와 같이 데이터가 들어있지 않은 왼쪽의 기관분류 테이블 (가)를 오른쪽 기관분류 테이블 (나)처럼 변경하고자 할 때 다음 중 올바른 SQL 문장은?(단, DBMS는 SQLServer로 가정한다.
①
②
③
④ ALTER TABLE 기관분류 ALTER COLUMN 분류명 VARCHAR(30) NOT NULL;
ALTER TABLE 기관분류 ALTER COLUMN 등록일자 DATE NOT NULL;
------------------
답 : ④
풀이 :
08. 다음 중 NULL의 설명으로 가장 부적절한 것은?
① 모르는 값을 의미한다.
② 값의 부재를 의미한다.
③ 공백문자(Empty String) 혹은 숫자 0을 의미한다.
④ NULL과의 모든 비교(IS NULL 제외)는 알 수 없음(Unknown)을 반환한다.
------------------
답 :
풀이 :
09. 아래 테이블 T,S,R이 각각 다음과 같이 선언되었다. 다음 중 DELETE FROM T;를 수행한 후에 테이블 R에 남아있는 데이터로 가장 적절한 것은?
CREATE TABLE T
(C INTEGER PRIMATY KEY,
D INTEGER);
CREATE TABLE S
(B INTEGER PRIMATY KEY,
C INTEGER REFERENCES T(C) ON DELETE CASCADE);
CREATE TABLE R
(A INTEGER PRIMATY KEY,
B INTEGER REFERENCES S(B) ON DELETE SET NULL);
현재 테이블 T, S, R의 상태는 다음과 같다.
T :
S :
C D 1 1 2 1
B C 1 1 2 1
R :
A B 1 1 2 2
①
② (1, NULL)과 (2, NULL)
③
④
------------------
답 :
풀이 :
10. 다음 중 테이블 생성시 칼럼별 생성할 수 있는 제약조건(Constraints)에 대한 설명으로 가장 부적절한 것은?
① UNIQUE : 테이블 내에서 중복되는 값이 없으며 NULL 입력이 불가능하다.
② PK : 주키로 테이블당 1개만 생성이 가능하다
③ FK : 외래키로 테이블당 여러 개 생성이 가능하다.
④ NOT NULL : 명시적으로 NULL입력을 방지한다.
------------------
답 :
풀이 :
11. 다음 중 물리적 테이블 명으로 가장 적절한 것은?
① EMP_10
② 100-EMP
③ EMP-100
④ 100_EMP
------------------
답 :
풀이 :
12. 아래와 같은 테이블 구조를 정의하려고 한다. 이때 아직 부서가 정의되지 않은 사원은 기본부서(코드: '0000'로 배치하고, 입사일자(JOIN_DATE) 기준으로 많은 조회가 발생하므로 입사일자에 Index를 생성하려고 한다. 다음 중 올바른 SQL 문장을 2개 고르시오
EMP
EMP_NO: VARCHAR2(10) NOT NULL EMP_NM: VARCHAR2(30) NOT NULL DEPT_CODE: VARCHAR2(4) NOT NULL JOIN_DATE: DATE NOT NULL REGIST_DATE: DATE NULL
① CREATE TABLE EMP
(EMP_NO VARCHAR2(10) PRIMARY KEY,
EMP_NM VAPCHAR2(30) NOT NULL,
DEPT_CODE VARCHAR2(4) DEFAULT '0000' NOT NULL,
JOIN_DATE DATE NOT NULL,
REGIST_DATE DATE NULL);
CREATE INDEX IDX_EMP_01 ON EMP (JOIN_DATE);
②
③ CREATE TABLE EMP
(EMP_NO VARCHAR2(10) NOT NULL,
EMP_NM VAPCHAR2(30) NOT NULL,
DEPT_CODE VARCHAR2(4) DEFAULT '0000' NOT NULL,
JOIN_DATE DATE NOT NULL,
REGIST_DATE DATE NULL);
ALTER TABLE EMP ADD CONSTRAINT EMP_PK PRIVARY KEY(EMP_NO);
CREATE INDEX IDX_EMP_01 ON EMP (JOIN_DATE);
④
------------------
답 : ① ③
풀이 :
13. 다음 중 아래와 같은 문장으로 '학생' 테이블을 생성한 후, 유효한 튜플(Tuple)들을 삽입하였다. SQL1, SQL2 문장의 실행 결과로 가장 적절한 것은?
생성) create table 학생(학번 char(8) primary key, 장학금 integer);
SQL1 : select count(*) from 학생
SQL2 : select count(학번) from 학생
①
②
③ SQL1, SQL2 문장의 실행 결과는 항상 같다.
④
------------------
답 :
풀이 :
14. 다음 중 외래키에 대한 설명으로 가장 부적절한 것을 2개 고르시오
① 테이블 생성시 설정할 수 있다.
② 외래키 값은 널 값을 가질 수 없다.
③ 한 테이블에 하나만 존재해야 한다.
④ 외래키 값은 참조 무결성 제약을 받을 수 있다.
------------------
답 : ② ③
풀이 :
15. 다음 중 데이터베이스 테이블의 제약조건(Constraint)에 대한 설명으로 가장 부적절한 것은?
① check 제약조건(Constraint)은 데이터베이스에서 데이터의 무결성을 유지하기 위하여 테이블의 특정 컬럼(Column)에 설정하는 제약이다.
② 기본키(Primary Key)는 반드시 테이블 당 하나의 제약만을 정의할 수 있다.
③ 고유키(Unique Key)로 지정된 모든 컬럼들은 Null 값을 가질 수 없다.
④ 외래키(Foreign key)는 테이블간의 관계를 정의하기 위해 기본키(Primary Key)를 다른 테이블의 외래키가 참조하도록 생성한다.
------------------
답 : ③
풀이 :
16. 4개의 칼럼으로 이루어진 EMP 테이블에서 COMM 칼럼을 삭제하고자 할 때, 아래 SQL 문장의 ⓐ,ⓑ 안에 들어갈 내용을 기술하시오
MGR ENAME SAL COMM 7566 FORD 3000 7566 SCOTT 3000
ⓐ TABLE EMP
ⓑ DOMM;
------------------
답 : ⓐ : ALTER ⓑ : DROP
풀이 :
17. 아래 7개의 SQL 문장이 성공적으로 수행되었다고 할 때, A,B,C 세 개의 SQL문장을 차례대로 실행하면 A와 C의 SELECT 문장 수행결과는 각각 무엇인가?
①
②
③
④
------------------
답 :
풀이 :
18.
①
②
③
④
------------------
답 :
풀이 :
19.
①
②
③
④
------------------
답 :
풀이 :
20.
①
②
③
④
------------------
답 :
풀이 :
'자격증 > SQL 개발자' 카테고리의 다른 글
SQL 문장들의 종류(DML, DDL, DCL, TCL) (0) | 2022.11.02 |
---|---|
[221025] SQL 문장들의 종류 (0) | 2022.10.25 |
SQL개발자 - 제 1장. SQL 기본 (0) | 2022.09.04 |
SQL개발자 - 제 2장. 데이터 모델과 성능 (0) | 2022.09.03 |
SQL개발자 - 제 1장. 데이터 모델링의 이해 (1) | 2022.09.03 |