# 4. 자격증/정보처리기사

정보처리기사 # 2021.03_3과목 데이터베이스 구축

둥굴둥굴둥굴레차 2021. 8. 10. 02:13

 

 

결과 값이 아래와 같을 때 SQL 질의로 옳은 것은?

 

     1. SELECT * FROM 공급자 WHERE 공급자명 LIKE '%신%';
     2. SELECT * FROM 공급자 WHERE 공급자명 LIKE '%대%';
     3. SELECT * FROM 공급자 WHERE 공급자명 LIKE '%사%';
     4. SELECT * FROM 공급자 WHERE 공급자명 IS NOT NULL;

‘%사%’는 모든 공급자들이 ‘사’라는 단어를 포함하므로  결과값으로 모든 공급자들이 출력돼야 맞습니다.
반면에 정답인 ‘신’이 들어가는 결과값은 2개가 맞습니다.

 

 

다음에서 설명하는 스키마(Schema)는?
     이미지를 클릭하면 확대 가능합니다.(한번더 클릭하면 원본크기로 변경 됩니다).
     1. 개념 스키마
     2. 내부 스키마
     3. 외부 스키마
     4. 내용 스키마

[개념 스키마]
사용자와 데이터베이스 관리자 관점의 스키마/ 데이터베이스에 실제로 어떤 데이터가 저장되었으며, 데이터 간의 관계는 어떻게 되는지를 정의하는 스키마로 전체 관점으로 한개만 존재하며 접근권한, 보안 및 무결성등에 관한 정의를 포함

[내부 스키마]
저장장치와 데이터베이스 설계자 및 개발자 관점의 스키마/ 개념 스키마를 물리적 저장장치에 구현하는 방법을 정의하는 데 사용하고 물리적 구조 및 내부 레코드의 물리적 순서 등을 표현

[외부 스키마]
사용자 관점의 스키마/사용자 또는 프로그램의 입장에서의 논리적 구조로 여러개가 존재

 

 

다음과 같은 트랙잭션의 특성은?

 

     1. 원자성(atomicity)
     2. 일관성(consistency)
     3. 격리성(isolation)
     4. 영속성(durability)

트랜잭션 = ACID(산성)

1. 원자성(atomicity)
: 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며,
  트랜잭션 연산은 DB에 모두 반영되어 Commit(완료)되든지 아니면 반영안되어 Rollback(복구)되어야 한다.
2. 일관성(consistency)
: 트랜잭션의 수행 전, 후의 데이터 간의 불일치가 생겨서는 안 된다.
3. 격리성(isolation)
: 여러 트랜잭션이 동시에 수행되어도, 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
4. 영속성(durability)
: 성공적으로 수행된 트랜잭션의 결과는 시스템이 고장 나더라도 영구적으로 반영되어야 한다.

 

 

병행 제어의 로킹(Locking) 단위에 대한 설명으로 옳지 않은 것은?
     
     1. 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
     2. 로킹 단위가 작아지면 로킹 오버헤드가 증가한다.
     3. 한꺼번에 로킹 할 수 있는 단위를 로킹 단위라고 한다.
     4. 로킹 단위가 작아지면 병행성 수준이 낮아진다.

[로킹단위]
- 로킹의 대상이 되는 객체의 크기다.
- 병행 제어에서 한꺼번에 로킹 할 수 있는 객체의 크기이다.
- 데이터베이스, 파일, 레코드, 필드 등은 로킹 단위가 될 수 있다.
- 로킹 단위가 크면 : 오버헤드 감소 등 모두 낮아짐
- 로킹 단위가 작으면 : 오버헤드 증가 등 모두 높아짐

 

 

뷰(VIEW)에 대한 설명으로 옳지 않은 것은?
     
     1. DBA는 보안 측면에서 뷰를 활용할 수 있다.
     2. 뷰 위에 또 다른 뷰를 정의할 수 있다.
     3. 뷰에 대한 삽입, 갱신, 삭제 연산 시 제약사항이 따르지 않는다.
     4. 독립적인 인덱스를 가질 수 없다.

[뷰(View)]
 - 뷰 위에 또 다른 뷰를 정의할 수 있다.
 - 뷰의 단점으로 삽입, 삭제, 갱신 연산에 제약이 따름
 - 뷰는 CREATE 문을 사용하여 정의하고 제거할 때에는 DROP 문을 사용.
 - DBA는 보안 측면에서 용이하게 뷰를 활용할 수 있다.
 - 독립적인 인덱스를 가질 수 없다.
 - 뷰의 정의를 변경하려면 뷰를 삭제하고 재생성해야 된다.
 - 논리적 독립성 제공.
 - 사용자 데이터 관리 용이
 - 뷰는 가상 테이블. 즉, 저장장치 내에 물리적으로 존재하지 않지만 사용자에게는 있는 것처럼 간주된다.
 - 뷰가 정의된 기본 테이블이 제거되면 뷰도 자동적으로 제거된다.

 

 

 

SQL에서 스키마(schema), 도메인(domain), 테이블(table), 뷰(view), 인덱스(index)를 정의하거나 변경 또는 삭제할 때 사용하는 언어는?
     
     1. DML(Data Manipulation Language)
     2. DDL(Data Definition Language)
     3. DCL(Data Control Language)
     4. IDL(Interactive Data Language)

DML(데이터 조작어) - SELECT/INSERT/DELETE/UPDATE
DDL(데이터 정의어) - CREATE/ALTER/DROP
DCL(데이터 제어어) - GRANT/REVOKE/COMMIT/ROLLBACK/SAVEPOINT

 

 

『회원』테이블 생성 후 『주소』 필드(칼럼)가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL 명령어는?
     
     1. DELETE
     2. RESTORE
     3. ALTER
     4. ACCESS