TIL

데이터베이스 구축 - 2024 2회

ds3hfj 2025. 5. 8. 12:56

41. 데이터 모델의 구성 요소가 아닌 것은?

  1. 속성(Attribute)
  2. 연산(Operation)
  3. 관계(Relationship)
  4. 개체(Entity)

✅ 데이터 모델이란?

현실 세계의 데이터를 데이터베이스에 표현하기 위한 개념적인 틀입니다.
즉, "어떤 데이터를 어떤 구조로 저장하고, 어떻게 연결되는지를 정의"하는 설계 도구예요.


📌 데이터 모델의 3대 구성 요소

구성 요소설명예시
1. 개체(Entity) 정보를 저장할 수 있는 객체 (사람, 사물, 개념 등) 학생, 도서, 주문
2. 속성(Attribute) 개체의 특성이나 상태를 나타내는 정보 이름, 생년월일, 가격
3. 관계(Relationship) 개체 간의 논리적 연관성 학생-수강, 고객-주문
 

➡️ 이 3가지는 **ER 모델(Entity-Relationship Model)**에도 그대로 등장합니다.


❌ 왜 "연산(Operation)"은 아닌가?

  • 연산은 데이터 모델의 기능적 측면을 다루는 요소로,
  • 구성 요소가 아니라 그 위에서 수행되는 작업입니다.
    • 예: 삽입(Insert), 검색(Select), 삭제(Delete)

따라서 "데이터 모델의 구성 요소"에는 포함되지 않습니다.


🔍 정리

보기설명포함 여부
속성(Attribute) 개체의 특성 ✅ 포함
연산(Operation) 데이터를 조작하는 기능 비포함
관계(Relationship) 개체 간의 연결 ✅ 포함
개체(Entity) 현실 세계의 객체 ✅ 포함

42. 시스템 카탈로그에 대한 설명으로 옳지 않은 것은?

  1. 사용자, 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다
  2. 일반 이용자도 SQL을 이용하여 내용을 검색하거나 수정할 수 있다
  3. dbms가 스스로 생성하고 유지한다
  4. 데이터 디렉터리,번역기, 질의 최적화기 등으로 구성된다

✅ 시스템 카탈로그(System Catalog)란?

DBMS가 데이터베이스를 관리하기 위해 내부적으로 유지하는 메타데이터(데이터에 대한 데이터) 테이블입니다.

쉽게 말하면,
"누가 만들었는지, 어떤 테이블이 있는지, 속성이 뭔지, 인덱스는 어떤지"
데이터베이스 내부의 모든 구조 정보를 기록해 놓은 DB의 백과사전입니다.


📌 시스템 카탈로그의 주요 특징

항목설명
DBMS가 스스로 생성하고 유지 사용자가 직접 만들지 않아도 자동으로 생성
테이블 형태 일반 테이블과 비슷하지만 시스템용
조회는 가능 권한이 있다면 SELECT로 일부 내용 읽기만 가능
수정은 불가 직접 UPDATE, DELETE 등으로 수정할 수 없음 (시스템 무결성 보장을 위해)
 

📌 보기별 정오 분석

보기설명정오
사용자, 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다 ✔ 예: 테이블 이름, 열 정보, 사용자 정보 등 저장 ✅ 옳음
일반 이용자도 SQL을 이용하여 내용을 검색하거나 수정할 수 있다 검색(조회)는 제한적으로 가능, 수정은 불가능 ❌ 틀림
DBMS가 스스로 생성하고 유지한다 ✔ DB 설치 시 자동 생성, 사용자가 관리 안 함 ✅ 옳음
데이터 디렉터리, 번역기, 질의 최적화기 등으로 구성된다 ✔ 시스템 구성 요소로 포함됨 ✅ 옳음
 

🎯 정리

구분가능 여부
일반 사용자 SELECT 제한적으로 가능 (읽기 전용, 권한 필요)
INSERT / UPDATE / DELETE 불가 (DBMS가 직접 유지)

43. 관계대수에 대한 설명으로 옳지 않은 것은?

  1. 원하는 릴레이션을 정의하는 방법을 제공하며 비절차적 언어이다
  2. 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다
  3. 일반 집합 연산과 순수관계 연산으로 구분된다
  4. 질의에 대한 해를 구하기 위해 수행해야 될 연산의 순서를 명시한다

🌱 그럼 쉽게 하나씩 설명해볼게!

🧠 먼저, 관계대수가 뭐야?

  • 데이터베이스에서 **테이블(릴레이션)**을 계산하고 조작하기 위한 방법이야.
  • 예를 들어:
    • "성적이 90점 이상인 학생만 뽑기"
    • "학생과 수업 테이블을 합쳐서 어떤 수업을 누가 듣는지 보기"

→ 이런 걸 하기 위한 연산 공식 모음이 바로 관계대수야!


🎯 핵심 포인트: 관계대수는 어떻게 계산할지(=순서까지) 직접 써야 돼

그래서 관계대수는 아래처럼 절차적 언어 (Procedural) 라고 불러.

  • 예시:
    → "먼저 조건을 걸고 → 그 결과에서 원하는 열만 뽑아라!"
    → 이 순서를 명시해야 함!

✖️ 틀린 보기 설명

❌ "관계대수는 비절차적 언어이다"

이건 잘못된 설명이야.

  • 관계대수는 절차적 언어야!
    순서를 명확히 써야 하거든.

👀 정리해서 보기 쉽게!

보기맞을까?설명
✅ "릴레이션(테이블)을 다루는 연산이며, 결과도 릴레이션이다" 맞음 결과도 테이블이야
✅ "일반 집합 연산(합집합, 교집합 등)과 순수 관계 연산(조인, 선택 등)이 있다" 맞음 종류가 다양해
✅ "연산 순서를 정해서 원하는 결과를 얻는다" 맞음 순서 중요함!
"비절차적 언어이다" 틀림! 절차적 언어야! 순서 중요함
 

💡 헷갈리는 개념 정리

구분관계대수관계해석
뭐냐면? 어떻게 계산할지 하나하나 적는 방법 무엇을 얻고 싶은지 조건만 적는 방법
예시 먼저 조건 걸고 → 열 뽑아! 조건만 쓰면 알아서 계산돼
 

44. DML해당 하는것

  1. SELECT
  2. UPDATE
  3. INSERT
  4. GRANT

📌 SQL 언어의 5가지 분류

SQL은 목적에 따라 크게 다섯 가지로 나뉘어요:

분류설명예시 명령어
DDL (데이터 정의어) 테이블이나 데이터베이스의 구조를 정의 CREATE, DROP, ALTER
DML (데이터 조작어) 테이블에 데이터를 삽입, 조회, 수정, 삭제 ✅ SELECT, INSERT, UPDATE, DELETE
DCL (데이터 제어어) 권한 부여/취소와 관련된 명령어 ❌ GRANT, REVOKE
TCL (트랜잭션 제어어) 트랜잭션의 저장/취소 등 제어 COMMIT, ROLLBACK, SAVEPOINT
DQL (데이터 질의어) SELECT만 따로 보는 분류로, 일부 문헌에서 DML과 분리함 SELECT

45. 개체 관계 모델에 대한 설명으로 옳지 않은 것은?

  1. 오너-멤버(Owner-Member) 관계라고도 한다
  2. 개체 타입과 이들 간의 관계 타입을 기본 요소로 이용하여 현실 세계를 개념적으로 표현
  3. E-R 다이어그램에서 개체 타입은 사각형으로 나타낸다
  4. E-R 다이어그램에서 속성은 타원으로 나타낸다
  • **“오너-멤버(Owner-Member) 관계”**는 네트워크 데이터 모델의 용어입니다.
    → 즉, **개체 관계 모델(E-R 모델)**과는 다른 개념이에요.
  • E-R 모델은 현실 세계를 **개체(Entity)**와 관계(Relationship) 중심으로 표현하지만,
    네트워크 모델은 데이터를 소유자(owner)와 멤버(member)의 관계로 표현합니다.

📘 개체-관계 모델(Entity-Relationship Model, ER 모델)이란?

현실 세계를 데이터베이스로 표현할 때,
**“무엇(개체)”**과 **“그 사이의 관계”**를 **도형(다이어그램)**으로 나타내는 개념적 모델입니다.


📌 ER 모델의 기본 요소

구성 요소설명다이어그램 기호
개체(Entity) 사람, 사물, 사건 등 사각형
속성(Attribute) 개체의 특징 🔵 타원
관계(Relationship) 개체 간의 연결 마름모
키(Key) 유일하게 구분할 수 있는 속성 밑줄 친 속성으로 표현
 

보기별 정오 판단

보기설명정오
오너-멤버(Owner-Member) 관계라고도 한다 네트워크 모델 용어임. E-R 모델과 관련 없음 ❌ 틀림
개체 타입과 이들 간의 관계 타입을 기본 요소로 이용하여 현실 세계를 개념적으로 표현 ✔ ER 모델의 정의 ✅ 맞음
E-R 다이어그램에서 개체 타입은 사각형으로 나타낸다 ✔ 학생, 도서 같은 개체를 사각형으로 표현 ✅ 맞음
E-R 다이어그램에서 속성은 타원으로 나타낸다 ✔ 이름, 나이 같은 속성은 타원으로 표현 ✅ 맞음
 

✅ 요약

  • 오너-멤버 → 네트워크 모델 용어
  • ✅ E-R 모델은 개체, 속성, 관계도형으로 표현하는 개념 모델

46. 릴레이션에 R1에 속한 에튜리뷰트 조합인 외래키를 변경하려면 이를 참조하고 있는 R2의 릴레이션의 기본키도 변경해야 하는데 이를 무엇이라고 하는가?

  1. 정보 무결성
  2. 고유 무결성
  3. 키 제약성
  4. 참조 무결성

✅ 참조 무결성이란?

**외래키(Foreign Key)**로 연결된 두 릴레이션(테이블) 사이에서,
한 테이블의 외래키 값이 참조하는 테이블의 기본키와 항상 일치하도록 유지하는 제약 조건입니다.


📘 문제 상황 정리:

  • R1 테이블의 어떤 속성(외래키)이 R2 테이블의 기본키를 참조하고 있음
  • 그런데 R2의 기본키 값이 변경되면 → R1의 외래키 값도 같이 바꿔야 함
  • 그렇지 않으면, R1의 외래키가 가리키는 값이 없어짐 → 데이터 오류 발생

➡️ 이를 방지하기 위해 외래키는 참조 대상의 기본키와 항상 일치해야 함
→ 이것이 바로 참조 무결성을 지킨다는 뜻입니다


📌 보기별 설명

보기설명정오
정보 무결성 전체 시스템의 데이터가 정확하게 유지되는 총괄 개념 ❌ 너무 포괄적
고유 무결성 특정 속성은 중복되면 안 됨 → 기본키 조건 ❌ 중복 금지에 해당
키 제약성 기본키 또는 후보키가 반드시 유일하고 NULL 불가 ❌ 키 자체에 대한 제약
참조 무결성 외래키는 참조 대상(기본키)과 일치해야 함 ✅ 정답

47.

✅ 정답:

트리의 차수는 3
→ 가장 자식이 많은 노드 B가 자식 3명을 가졌기 때문입니다.

 

48. 정규화 과정 중 1NF에서 2NF가 되기 위한 조건은?

  1. 1NF를 만족하고 모든 도메인이 원자 값이어야 한다
  2. 1NF를 만족하고 키가 아닌 모든 애트리뷰트들이 기본키에 이행적으로 함수 종속되지 않아야한다
  3. 1NF를 만족하고 다치종속이 제거되어야 한다
  4. 1NF를 만족하고 키가 아닌 모든 속성이 기본키에 완전 함수적 종속되어야 한다

단계 의미 주요 목표

1NF (제1정규형) 모든 도메인이 **원자값(Atomic value)**만 가지도록 중첩/반복 컬럼 제거
2NF (제2정규형) 1NF 만족 + 완전 함수 종속(Full Functional Dependency) 부분 함수 종속 제거
3NF (제3정규형) 2NF 만족 + 이행적 종속 제거 이행 종속 제거

 

 

49. 병행제어 기법 중 로킹에 대한 설명으로 옳지 않은 것은?

  1. 로킹의 대상이 되는 객체의 크기를 로킹 단위라고 한다
  2. 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다
  3. 로킹의 단위가 작아지면 로킹 오버헤드가 증가한다
  4. 로킹의 단위가 커지면 데이터베이스 공유도가 증가한다

📌 병행제어(Concurrency Control)와 로킹(Locking)

여러 사용자가 동시에 데이터베이스에 접근할 때,
데이터 무결성 보장과 충돌 방지를 위해 데이터에 잠금(Lock)을 거는 기법입니다.


✅ 보기별 해설

보기설명정오
로킹의 대상이 되는 객체의 크기를 로킹 단위라고 한다 ✔ 예: DB 전체, 테이블, 레코드, 필드 등 ✅ 맞음
데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다 ✔ 일반적인 로킹 대상 ✅ 맞음
로킹의 단위가 작아지면 로킹 오버헤드가 증가한다 ✔ 더 많은 객체에 개별적으로 Lock을 걸기 때문 ✅ 맞음
로킹의 단위가 커지면 데이터베이스 공유도가 증가한다 오히려 공유도는 감소함 (잠금 범위가 커지므로 다른 트랜잭션이 접근 불가한 영역이 커짐) ❌ 틀림
 

🎯 정리

로킹 단위 크기특징장점단점
작을수록 더 세분화된 객체에 Lock 공유도 ↑ 오버헤드 ↑
클수록 넓은 범위에 Lock 오버헤드 ↓ 공유도 ↓ (정답 보기의 반대)

50. 파티션에 대한 설명으로 틀린 것은?

  1. 파티셔닝으로 인해 쿼리 성능은 향상되지만, 백업 및 복구 속도는 느려진다
  2. 파티셔닝된 테이블은 물리적으로 별도의 세그먼트에 저장된다
  3. 파티션은 하나의 테이블을 작은 논리적 단위로 나눈 것이다
  4. 파티셔닝을 수행하면 데이터 가용성이 향상된다

✅ 파티셔닝(Partitioning)이란?

하나의 테이블을 여러 개의 논리적·물리적 단위로 나누는 것입니다.
주로 성능 향상, 관리 용이성, 가용성 향상을 위해 사용됩니다.


📌 보기별 해설

보기설명정오
파티셔닝으로 인해 쿼리 성능은 향상되지만, 백업 및 복구 속도는 느려진다 ❌ ❗ 파티셔닝을 하면 백업/복구를 파티션 단위로 병렬 처리할 수 있어 오히려 빨라지는 경우가 많음 틀림
파티셔닝된 테이블은 물리적으로 별도의 세그먼트에 저장된다 ✔ 예: Oracle 등에서 파티션마다 다른 세그먼트로 관리됨 ✅ 맞음
파티션은 하나의 테이블을 작은 논리적 단위로 나눈 것이다 ✔ 파티션 = 테이블 내부의 논리적 하위 구조 ✅ 맞음
파티셔닝을 수행하면 데이터 가용성이 향상된다 ✔ 일부 파티션 장애 시 전체 테이블에 영향 없이 일부만 복구 가능 ✅ 맞음
 

💡 파티셔닝의 효과 요약

항목효과
✅ 쿼리 성능 필요한 파티션만 조회 → 성능 향상 (파티션 프루닝)
✅ 백업/복구 파티션 단위로 병렬 백업 가능 → 속도 ↑
✅ 관리성 오래된 파티션만 드롭하거나 보관 가능
✅ 가용성 전체가 아닌 부분 장애로 범위 제한 가능
 

51. 다음 SQL문에서 괄호 안에 들어갈 내용으로 옳은 것은?

UPDATE MEMBER
SET GRADE = 'GOLD'
WHERE POINT >= 1000;

52. 분산 데이터베이스 목표 중 "데이터베이스의 분산된 물리적 환경에서 특정 지역의 컴퓨터 시스템이나 네트워크에 장애가 발생해도 데이터 무결성이 보장된다."는 것과 관계있는 것은?

  1. 장애 투명성
  2. 병행 투명성
  3. 위치 투명성
  4. 중복 투명성

투명성 종류 설명 관련 키워드

장애 투명성 일부 시스템이나 네트워크 장애 발생 시에도 전체 시스템의 데이터 무결성과 일관성 유지 복구, 장애 허용, 백업
병행 투명성 여러 사용자가 동시에 접근해도 일관된 결과 보장 동시성 제어, 트랜잭션
위치 투명성 사용자가 데이터가 실제 어디에 있는지 모르게 함 경로 숨김
중복 투명성 데이터가 여러 장소에 복제돼 있어도 사용자에겐 하나처럼 보임 복제, 동기화

 

 

53. 데이터베이스 설계 단계와 그 단계에서 수행되는 작업의 연결이 잘못된 것은?

  1. 요구 조건 분석 - 트랜잭션 모델링
  2. 물리적 설계 단계 - 목표 DBMS에 맞는 물리적 구조 설계
  3. 논리적 설계 단계 = 목표 DBMS에 종속적인 논리 스키마 설계
  4. 구현 단계 - 목표 DBMS DDL로 스키마 작성

✅ 각 설계 단계별 주요 작업

설계 단계수행 작업DBMS 종속성
요구 조건 분석 사용자 요구 분석, 트랜잭션 도출 ❌ 없음
개념적 설계 ER 모델 작성 (개체, 관계, 속성 등) ❌ 없음
논리적 설계 정규화, 릴레이션 스키마 작성 ❌ 없음
물리적 설계 인덱스, 테이블스페이스, 파티션 등 최적화 설계 ✅ 있음
구현 단계 실제 DDL(SQL)을 사용하여 DB 생성 ✅ 있음
 

🔍 보기 분석

보기설명정오
요구 조건 분석 - 트랜잭션 모델링 ✔ 사용자의 처리 요구를 모델링 ✅ 맞음
물리적 설계 - DBMS에 맞는 물리적 구조 설계 ✔ 인덱스, 파티셔닝 등 포함 ✅ 맞음
논리적 설계 = 목표 DBMS에 종속적인 논리 스키마 설계 논리적 설계는 DBMS에 독립적이어야 함 ❌ 틀림
구현 단계 - 목표 DBMS DDL로 스키마 작성 ✔ 실제 SQL 문으로 구현 ✅ 맞음
 

✅ 정답 요약:

논리적 설계는 DBMS에 종속되지 않는다 → 따라서
**"논리적 설계 = 목표 DBMS에 종속적인 논리 스키마 설계"**는 틀린 설명입니다.

4o

나의 말:

DBMS가 뭔데
 

ChatGPT의 말:

좋은 질문이에요! 아주 쉽게 설명드릴게요.


DBMS란?

Database Management System의 줄임말로,
**"데이터베이스를 만들고, 저장하고, 수정하고, 검색하는 일을 도와주는 프로그램"**이에요.

 

 

4번이 정답

 

55. 분산 데이터베이스의 장점으로 거리가 먼것은?

  1. 지역 자치성이 높다
  2. 잠재적 오류가 감소한다
  3. 분산 제어가 가능하다
  4. 효용성과 융통성이 높다

✅ 분산 데이터베이스란?

데이터베이스가 **여러 지역(노드)**에 나뉘어 저장되어 있지만, 사용자 입장에서는 하나의 통합된 시스템처럼 작동하는 구조입니다.


📌 분산 DBMS의 주요 장점

장점설명
지역 자치성 각 지역 시스템이 독립적으로 동작 가능 (예: 지점 단위 시스템)
분산 제어 가능 지역별 트랜잭션/데이터 제어 가능
효용성과 융통성 다양한 네트워크 환경에서도 데이터 활용 가능, 확장성 우수
 

❌ “잠재적 오류가 감소한다”가 왜 틀렸을까?

  • 분산 환경에서는 다음과 같은 오류 가능성이 오히려 증가합니다:
    • 네트워크 오류
    • 노드 간 동기화 문제
    • 트랜잭션 충돌
    • 중복 데이터 관리 이슈

즉, 오류를 줄이는 게 아니라 오히려 오류 가능성은 더 많아짐
→ 그래서 장애 투명성, 트랜잭션 처리, 복제 관리 등이 더 복잡해짐


🧠 결론

보기설명정오
지역 자치성이 높다 ✔ 각 지점이 독립적으로 운영 가능
잠재적 오류가 감소한다 ❌ 네트워크 분산 구조는 오히려 오류 가능성을 증가시킴 정답
분산 제어가 가능하다 ✔ 지역 시스템에 맞는 제어 가능
효용성과 융통성이 높다 ✔ 확장성, 유연성 우수
 

56. 다음 문장의 ()안 내용으로 공통 적용될 수 있는 가장 적절한 내용은 무엇인가?

"관계형 데이터 모델에서 한 릴레이션의 ()는 참조되는 릴레이션의 기본키와 대응되어 릴레이션간에 참조 관계를 표현하는데 사용되는 중요한 도구이다.

()를 포함하는 릴레이션이 참조하는 릴레이션이 되고, 대응되는 기본 키를 포함하는 릴레이션이 참조 릴레이션이 된다."

  1. 후보키
  2. 대체키
  3. 외래키
  4. 수퍼키

용어 설명

후보키(Candidate Key) 기본키로 선택될 수 있는 후보들
기본키(Primary Key) 후보키 중 하나, 레코드 유일 식별
대체키(Alternate Key) 후보키 중 기본키로 선택되지 않은 나머지
수퍼키(Super Key) 유일성을 만족하는 모든 키 집합 (불필요한 속성 포함 가능)
외래키(Foreign Key) 다른 테이블의 기본키를 참조하여 관계를 맺는 키

 

 

57. 다음중 트리거에 대한 설명으로 틀린 것은?

  1. 데이터 변경 및 무결성 유지, 로그 메시지 출력 등의 목적으로 사용된다
  2. 트리거의 생성문에는 반드시 값을 반환하는 RETURN 명령어가 사용되어야 한다
  3. 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL이다
  4. CREATE TRIGGER 명령어를 통해 생성된다

 

✅ 트리거(Trigger)란?

테이블에 데이터 변경 이벤트가 발생할 때 자동으로 실행되는 SQL 블록입니다.
→ INSERT, UPDATE, DELETE 같은 이벤트가 발생하면 미리 정해둔 로직이 자동 실행됩니다.

보기 설명 정오

데이터 변경 및 무결성 유지, 로그 메시지 출력 등의 목적으로 사용된다 트리거의 일반적인 용도 ✅ 맞음
트리거의 생성문에는 반드시 값을 반환하는 RETURN 명령어가 사용되어야 한다 트리거는 값을 반환하지 않음! → RETURN은 함수에서 사용되는 문법임 틀림
데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL이다 트리거는 이벤트 기반으로 자동 실행됨 ✅ 맞음
CREATE TRIGGER 명령어를 통해 생성된다 SQL에서 트리거 정의 시 사용 ✅ 맞음

 

 

58. 데이터베이스의 특성으로 옳은 내용

ㄱ 실시간 접근성

ㄴ 계속적인 변화

ㄷ 동시 공용

ㄹ 내용에 의한 참조

 

📘 하나씩 설명해볼게요:

기호특성설명옳은지
ㄱ. 실시간 접근성 사용자가 원할 때 즉시 데이터를 검색하거나 조작할 수 있음 (온라인 시스템) ✅ 맞음  
ㄴ. 계속적인 변화 데이터는 입력, 수정, 삭제 등으로 인해 계속 변화함 ✅ 맞음  
ㄷ. 동시 공용 (Concurrent Use) 여러 사용자가 동시에 같은 데이터베이스에 접근할 수 있음 → 병행 제어가 필요함 ✅ 맞음  
ㄹ. 내용에 의한 참조 저장된 주소(location)가 아니라 데이터의 내용 값으로 검색 가능 (예: WHERE 이름 = '철수') ✅ 맞음

 

59. DBMS의 필수 기능 중 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능은

  1. Definition
  2. Control
  3. Manipulation
  4. Strategy

✅ DBMS의 3대 필수 기능

기능 이름설명대표 도구
Definition (정의) 데이터 구조를 정의하는 기능 → 테이블, 속성 등 DDL (CREATE, ALTER 등)
Manipulation (조작) 사용자가 데이터를 입력/조회/수정/삭제할 수 있도록 인터페이스 제공 DML (SELECT, INSERT, UPDATE, DELETE)
Control (제어) 보안, 권한, 트랜잭션, 동시성 등 관리 기능 DCL, 트랜잭션 제어 (GRANT, COMMIT 등)
 

→ 즉, 사용자가 **데이터를 실제로 다루는 부분(조작)**은 Manipulation 기능에 해당합니다.


❌ 보기 중 오답 설명

보기이유
Definition 구조 정의(DDL), 테이블 설계 등 → 사용자 인터페이스 아님
Control 보안, 권한, 무결성 제어 등 시스템적인 관리 기능
Strategy 일반적인 DBMS 기능 구분 용어에 해당하지 않음 (오답 유도용)

 

 

60. 뷰(View)에 대한 설명으로 옳지 않은 것은?

  1. CREATE 문을 사용하여 정의
  2. 데이터의 논리적 독립성을 제공
  3. 제거할 때에는 DROP 문 사용
  4. 저장장치 내에 물리적으로 존재

✅ 뷰(View)란?

**하나 이상의 테이블(실제 테이블)**을 기반으로 만든 가상 테이블입니다.
사용자에게 필요한 정보만 보여주며, 보안, 단순화, 독립성 등을 위해 사용됩니다.


📌 보기별 설명

보기설명정오
CREATE 문을 사용하여 정의 ✔ CREATE VIEW로 정의함 ✅ 맞음
데이터의 논리적 독립성을 제공 ✔ 실제 테이블 구조와 분리된 인터페이스 제공 ✅ 맞음
제거할 때에는 DROP 문 사용 ✔ DROP VIEW 뷰이름;으로 제거함 ✅ 맞음
저장장치 내에 물리적으로 존재 뷰는 물리적으로 데이터를 저장하지 않음 (단순히 SELECT 문을 저장한 것) ❌ 틀림