[짧고 굵게 배우는 JSP 웹 프로그래밍과 스프링 프레임워크] 연습문제 9장 해설/정답

2026. 5. 19. 14:17Book

모아보기


이번 글에서는『짧고 굵게 배우는 JSP 웹 프로그래밍과 스프링 프레임워크』9장 연습문제의 해설과 정답을 정리합니다.

본 도서는 공식적인 연습문제 해답을 제공하지 않습니다. 따라서 각 문제에 대해 도서 기반의 해설과, 정답을 설명합니다.


연습문제

01 관계형 데이터베이스에 대한 설명으로 틀린 것을 고르시오.

① 관계형 데이터베이스는 전문적이고 가장 보편적인 형태의 데이터베이스로 데이터 구조를 테이블이라고 하는 집합체로 구조를 정의하고 관리한다.
② SQL을 사용해 데이터를 관리하는 시스템을 말한다.
③ 테이블과 테이블의 관계 지정을 통해 데이터를 구조화하기 때문에 체계적이지 못하며 비효율적이지만 보안에 특화되어 있다.
④ 널리 알려진 Oracle, IBM DB2, MS SQL, MySQL 등은 모두 관계형 데이터베이스다.

 

해설

p.261 「관계형 데이터베이스」에서는 관계형 데이터베이스가 테이블 간의 관계를 기반으로 데이터를 구조화하여 체계적으로 관리하는 방식이라고 설명합니다.

또한 SQL을 사용해 데이터를 관리하며, Oracle, MySQL, MS SQL 등의 대표적인 데이터베이스가 이에 해당합니다.

정답: ③ 테이블과 테이블의 관계 지정을 통해 데이터를 구조화하기 때문에 체계적이지 못하며 비효율적이지만 보안에 특화되어 있다.

 

 

02 NoSQL 데이터베이스에 대한 설명으로 틀린 것을 고르시오.

NoSQL은 SQL을 사용하지 않는다는 의미로, SQL을 사용하는 전통적인 RDBMS가 아니라는 의미로 사용되는 데이터베이스를 말한다.
② NoSQL 역시 테이블 형태의 데이터 구조를 사용한다.
③ SQL과는 다를 수 있지만 그럼에도 데이터 관리를 위해 별도의 쿼리 언어나 구조는 여전히 존재한다.
④ 대표적으로 MongoDB, Redis, Cassandra, HBase, CouchDB 등이 있다.

 

해설

p.263 「NoSQL 데이터베이스」에서는 NoSQL이 전통적인 관계형 데이터베이스(RDBMS)와 다른 구조를 사용하는 데이터베이스라고 설명합니다.

교재에서는 NoSQL을 “SQL을 사용하지 않는다(No SQL)”는 의미로 설명하고 있으나, “Not Only SQL”가 올바른 표현입니다. 단 출제 의도상 예외로 합니다.

NoSQL은 문서(Document), Key-Value, Column Family 등의 다양한 데이터 구조를 사용하며, 관계형 데이터베이스처럼 고정된 테이블 구조만 사용하는 것은 아닙니다.

또한 MongoDB, Redis, Cassandra, HBase, CouchDB 등은 대표적인 NoSQL 데이터베이스입니다.

② 역시 엄밀히 말하면 NoSQL 중에서도 테이블 구조를 사용하기도 합니다. 단 출제 의도상 RDBMS는 고정 스키마 기반 테이블을, NoSQL은 비정형/비관계형 구조를 대비시키기 위한 문제이므로 예외로 합니다.

정답: ② NoSQL 역시 테이블 형태의 데이터 구조를 사용한다.

 

 

03 관계형 데이터베이스의 제약 조건에 대한 설명으로 틀린 것을 고르시오.

① 데이터베이스에서 제약 조건이란 칼럼에 부여되는 일종의 속성으로 저장될 데이터에 대한 요구사항이라 할 수 있다.
② 제약 조건은 데이터베이스 자체적으로 저장될 데이터에 대한 요구 조건을 설정하는 것으로 제약 조건을 벗어나는 데이터는 원천적으로 저장이 차단된다.
③ 제약 조건만으로는 데이터베이스의 무결성을 지킬 수 없다.
④ 대표적인 제약 조건은 NOT NULL, UNIQUE, Primary Key, Foreign Key 등이 있다.

 

해설

p.267 「2. 제약 조건」에서는 제약 조건이 데이터 무결성을 유지하기 위해 저장 가능한 데이터의 조건을 제한하는 방법이라고 설명합니다. NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY 등은 대표적인 제약 조건이며, 조건에 맞지 않는 데이터는 저장이 제한됩니다.

정답: ③ 제약 조건만으로는 데이터베이스의 무결성을 지킬 수 없다.

 

 

04 SQL의 유형 두 가지와 각각의 대표 SQL을 쓰시오.

p.276 참고

- DDL(Data Definition Language) : CREATE, ALTER, DROP

- DML(Data Manipulation Language) : SELECT, INSERT, UPDATE, DELETE

 

 

05 학번, 이름, 생년월일로 구성되는 student 테이블 생성 SQL 코드를 작성하시오. (자료형은 H2 데이터베이스 기준, 학번은 기본키)

CREATE TABLE student (
    student_id VARCHAR(20) PRIMARY KEY,
    name VARCHAR(50),
    birth DATE
);
 

 

 

06 JDBC 프로그래밍 단계와 사용 클래스를 도식화해서 설명하시오.

p.294 참고