🔍 스키마 설계 및 단계
1. 다음은 데이터베이스 구축까지의 과정을 나열한 것이다. 괄호에 들어갈 알맞은 답을 쓰시오.
요구 분석->(가)->(나)->(다)->구현
(가) 개념적 설계
(나) 논리적 설계
(다) 물리적 설계
DB 설계 단계 : 요개논물구
2. 데이터베이스의 스키마에 대해 간략히 서술하시오.
데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것
3. 데이터베이스 설계에 대한 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오.
(1) : 논리적 구조로 표현된 데이터를 디스크 등의 저장장치에 저장할 수 있는 데이터로 변환하는 과정으로, 파일의 저장 구조 및 액세스 경로를 결정하며, 테이블 정의서 및 명세서가 산출된다
(2) : 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정으로, 개념 스키마 모델링과 트랜잭션 모델링을 수행하며, 요구 조건 명세를 E-R 다이어그램으로 작성한다
(3) : 현실의 자료를 특정 DBMS가 지원하는 자료구조로 변환하는 과정으로, 트랜잭션의 인터페이스를 설계하고, 정규화를 통해 스키마를 평가 및 정제한다
(1) 물리적 설계
(2) 개념적 설계
(3) 논리적 설계
DB 설계 단계 (요개논물구)
개념적 설계
- ER 다이어그램을 주로 사용
논리적 설계
- 스키마 설계, 트랜잭션 인터페이스를 설계하는 정규화를 수행
물리적 설계
- 인덱스, 파티션, 저장소 구조 등을 정의
4. 설명에 해당하는 것을 기호로 찾아쓰시오.
스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 것이다.
( 가 ) : 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.
( 나 ) : 데이터베이스의 전체적인 논리적 구조이며, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재한다.
( 다 ) : 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
[보기]
ㄱ. 외부 스키마
ㄴ. 개념 스키마
ㄷ. 내부 스키마
(가) : ㄱ. 외부 스키마
(나) : ㄴ. 개념 스키마
(다) : ㄷ. 내부 스키마
스키마의 종류
개념 스키마 : 전체적인 논리적 구조
내부 스키마 : 저장 장치 관점의 구조
외부 스키마 : 사용자 관점의 논리적 구조
🔍 데이터 모델 요소
1. 테이블에서 카디널리티와 디그리를 구하시오
카디널리티 : 5
디그리 : 4
카디널리티 : 행의 수
차수 : 열의 수
2. 데이터 모델의 구성 요소에 대한 다음 설명에 괄호에 들어갈 알맞은 답을 쓰시오
(1)은 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구에 해당한다
(2)는 논리적으로 표현된 객체 타입들 간의 관계로서 데이터 구성 및 정적 성질을 표현한다
제약조건은 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건을 의미한다
(1) : 연산
(2) : 구조
3. 다음은 E-R다이어그램에 관한 설명이다. 괄호 안에 알맞는 답을 작성하시오.
( 1 ) : 개체집합 - 관계집합 연결( 2 ) : 개체 집합과의 연결
( 3 ) : 관계집합 - 관계집합의 속성 연결
( 4 ) : 두 개체집합 관계에서 생성되는 값을 저장하는 속성
( 5 ) : 같은 속성을 공유하는 개체들의 모임
(1) : ㄷ
(2) : ㅁ
(3) : ㄹ
(4) : ㄴ
(5) : ㄱ
4. (가), (나), (다) 설명에 해당하는 기호를 쓰시오.
(가) : 릴레이션에서 행을 나타내는 말이며 파일의 레코드(record)에 대응하는 개념
(나) : 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합이며 릴레이션 인스턴스는 간단히 릴레이션이라고 부르기도 하고 릴레이션 외연(relation extension)이라고도 부른다.
(다) : 하나의 릴레이션에서 튜플의 전체 개수
[보기]
ㄱ : 릴레이션 인스턴스
ㄴ : 속성
ㄷ : 튜플
ㄹ : 차수
ㅁ : 도메인
ㅂ : 카디널리티
(가) : 튜플
(나) : 릴레이션 인스턴스
(다) : 카디널리티
🔍 정규화/비정규화
1. 데이터베이스에서 비정규화의 개념을 서술하시오
정규화된 데이터 모델을 성능 개선이나 사용 편의성을 위해 다시 중복 되도록 통합하거나 속성을 추가하는 과정
2. 시스템의 성능을 향상시키고 개발 및 운영의 편의성 등을 높이기 위해 정규화된 데이터 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위를 가리키는 용어를 쓰시오
비정규화
3. 데이터베이스에 대한 다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오
테이블을 만들 때는 이상을 방지하기 위해 데이터들의 중복성 및 종속성을 배제하는 정규화를 수행한다
아래 그림은 부분 함수적 종속을 제거하여 제 ( )정규형을 만드는 과정이다
2
데이터베이스 정규화 단계
1정규형 : 원자 값 구성
2정규형 : 부분 함수 종속 제거
3정규형 : 이행 함수 종속 제거
보이스-코드 정규형 : 결정자 함수이면서 후보키가 아닌 것 제거
4정규형 : 다치(다중 값) 종속 제거
5정규형 : 조인 종속 제거
4. 데이터의 중복으로 인해 테이블 조작 시 문제가 발생하는 것을 이상이라고 한다. 이상 중 삭제 이상에 대해 간략히 서술하시오.
테이블에서 튜플을 삭제할 때, 의도와 상관 없는 값들도 함께 삭제되는 현상
데이터베이스 이상현상
삽입 이상
- 정보 저장 시 해당 정보의 세부 정보를 입력해야 하는 경우
삭제 이상
- 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
갱신 이상
- 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우
5. 다음은 함수 종속성에 대한 설명이다. 해당 문제에 대한 알맞는 답을 보기에서 골라 작성하시오.
1. 성적은 {학생,학과}에 대해서 ( 가 ) Functional Dependency이다.
2. 성적은 학과만 알아도 식별이 가능하므로, 이 경우에는 성적 속성은 기본키에 ( 나 ) Functional Dependency이다.
3. 릴레이션에서 X, Y, Z라는 3 개의 속성이 있을 때 X→Y, Y→Z 이란 종속 관계가 있을 경우, X→Z가 성립될 경우 ( 다 ) Functional Dependency 이다.
[보기]
Normalization, Terminant, Full, Transitive, Partial
(가) : Full (완전 함수 종속)
(나) : Partial (부분 함수 종속)
(다) : Transitive (이행 함수 종속)
함수 종속성
함수적 종속(Functional Dependency)
- X → Y일 때, X의 값이 Y를 유일하게 결정하는 경우
- 학번 → 이름 : 학번이 이름을 유일하게 결정
완전 함수 종속(Full Function Dependency)
- 기본키가 여러 속성으로 이루어져 있을 때, 모두 필요해서 Y가 결정되는 경우
- {학생 ID, 과목 ID} → 성적 : 둘 중 하나의 값 만으로는 성적을 결정할 수 없음
부분 함수 종속(Partial Functional Dependency)
- 기본키의 일부 속성만으로 Y를 결정하는 경우
- {학생 ID, 과목 ID} 중 과목 ID 만으로 과목명이 결정
이행 함수 종속(Transitive Dependency)
- X → Y이고 Y → Z이면 X → Z가 성립할 경우
- 직원ID → 부서 → 부서명 → 직원ID → 부서명
6. 아래 표에서 나타나고 있는 정규형을 작성하시오.
3정규형
데이터베이스 정규화 단계
1정규형(1NF)
- 원자 값으로 구성
2정규형(2NF)
- 부분 함수 종속 제거
- 완전 함수적 종속 관계
3정규형(3NF)
- 이행 함수 종속 제거
보이스-코드 정규형(BCNF)
- 결정자 함수이면서 후보키가 아닌 것 제거
4정규형(4NF)
- 다치(다중 값) 종속 제거5정규형(5NF)
- 조인 종속 제거
7. 다음 문제에서 설명하는 용어를 작성하시오.
데이터를 중복시켜 성능을 향상시키기 위한 기법으로 데이터를 중복 저장하거나
테이블을 합치는 등으로 성능을 향상시키지만 데이터 무결성이 저하될 수 있는 기법
비정규화
비정규화란? (Denomalization)
정규화된 데이터 모델을 성능 개선이나 사용 편의성을 위해 다시 중복되도록 통합하거나 속성을 추가하는 과정
🔍 관계 대수 및 연산
1. 다음이 설명하고 있는 관계대수 연산자의 기호를 쓰시오
릴레이션 A, B가 있을 때 릴레이션 B의 조건에 맞는 것들만 릴레이션 A에서 분리하여 프로젝션을 하는 연산
÷
2. 다음은 관계 데이터 모델에 대한 설명이다. 괄호안에 들어가는 용어를 작성하시오.
( )는 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용한다. 수학의 predicate calculus에 기반을 두고 있으며, 관계 데이터 모델의 제안자인 codd가 수학에 가까운 기반을 두고 특별히 관계 데이터베이스를 위해 제안하여 탄생하였다. ( )은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며, 튜플 ( )와 도메인 ( )가 있다.
관계 해석
3. 다음 관계 대수 항목에 대해 괄호안에 들어갈 기호를 쓰시오.
합집합 : ∪
차집합 : -
카티션 프로덕트 : ×
프로젝트 : π
조인 : ⋈
관계 대수 연산자
선택(Selection) : σ(시그마)
투사(Projection) : π(파이)
합집합(Union) : ∪
차집합(Difference) : −
교차곱(Cartesia Product) : ×
조인(Join) : ⋈
나누기(Division) : ÷
4. 관계대수 연산자 기호를 쓰시오
(ㄱ) join
(ㄴ) project
(ㄷ) select
(ㄹ) division
(ㄱ) ⋈
(ㄴ) π
(ㄷ) σ
(ㄹ) ÷
관계 대수 연산자
선택(Selection) : σ(시그마)
투사(Projection) : π(파이)
합집합(Union) : ∪
차집합(Difference) : −
교차곱(Cartesia Product) : ×
조인(Join) : ⋈
나누기(Division) : ÷
5. 아래 내용의 각각의 설명에 대한 답을 작성하시오.
(1) 조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 튜플만 반환한다.
(2) 조건이 정확하게 '=' 등호로 일치하는 결과를 반환한다.
(3) ( (2) ) 조인에서 조인에 참여한 속성이 두 번 나오지 않도록 중복된 속성을 제거한 결과를 반환한다.
(1) : 세타 조인
(2) : 동등 조인
(3) : 자연 조인
조인의 종류
내부 조인(Inner Join) : 두 테이블에서 공통 데이터만 조회
외부 조인(Outer Join) : 공통데이터 + 없는 데이터 조회
교차 조인(Cross Join) : 두 테이블의 모든 조합을 반환하는 조인
세타 조인(Theta Join) : 비교 연산자를 사용하여 조회
동등 조인(Equivalent Join) : 비교 연산자 중 = 연산자를 사용하여 조회 (중복 가능)
자연 조인(Natural Join) : 공통된 컬럼을 자동으로 찾아 조인 (중복 없음)
세미 조인Semi Join : 특정 조건을 만족하는 데이터만 조회
🔍 무결성 제약조건 및 키
1. 키에 대한 다음 설명에서 괄호에들어갈 알맞은 용어를 쓰시오
키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 말한다
슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 릴레이션을 구성하는 모든 튜플에 대해 ( 1)을 만족한다
후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합으로 (1)과 (2)을 만족하는 특징이 있다
(1) 유일성
(2) 최소성
슈퍼키 : 유일성
후보키 : 유일성 + 최소성
2. 다음은 데이터베이스에 관련된 문제이다. 괄호 안에 알맞는 답을 작성하시오.
( ) 무결성은 관계 데이터베이스 관계 모델에서 2개의 관련 있던 관계 변수(테이블) 간의 일관성(데이터 무결성)을 말한다.
종종 기본 키 또는 키가 아닌 후보 키와 외래 키의 조합으로 강제 적용된다.
외래 키가 선언된 관계 변수의 외래 키를 구성하는 속성(열)의 값은 그 관계 변수의 부모가 되는 관계 변수의 기본 키 값 또는 기본 키가 아닌 후보 키 값으로 존재해야 한다.
참조
데이터베이스 무결성
개체 무결성(Entity Integrity)
- 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복 값을 가질 수 없다
참조 무결성(Referential Integrity)
- 외래키 값은 Null 이거나 참조 릴레이션의 기본키 값과 동일해야 한다
도메인 무결성(Domain Integrity)
- 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다
사용자 정의 무결성(User-Defined Integrity)
- 속성 값들이 사용자가 정의한 제약 조건에 만족해야 한다
키 무결성(Key Integrity)
- 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다
Null 무결성- 릴레이션의 특정 속성 값이 Null이 될 수 없도록 한다
관계 무결성(Relationship Integrity)
- 릴레이션에 어느 한 튜플의 삽입 가능 여부
- 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부
고유 무결성(Unique Integrity)
- 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성 값들이 서로 달라야 한다
3. 다음은 무결성제약조건에 대한 문제이다. 아래 표에서 어떠한 ( ) 무결성을 위반하였는지 작성하시오.
개체
데이터베이스 무결성
개체 무결성(Entity Integrity)
- 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복 값을 가질 수 없다
참조 무결성(Referential Integrity)
- 외래키 값은 Null 이거나 참조 릴레이션의 기본키 값과 동일해야 한다
도메인 무결성(Domain Integrity)
- 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다
사용자 정의 무결성(User-Defined Integrity)
- 속성 값들이 사용자가 정의한 제약 조건에 만족해야 한다
키 무결성(Key Integrity)
- 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다
Null 무결성- 릴레이션의 특정 속성 값이 Null이 될 수 없도록 한다
관계 무결성(Relationship Integrity)
- 릴레이션에 어느 한 튜플의 삽입 가능 여부
- 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부
고유 무결성(Unique Integrity)
- 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성 값들이 서로 달라야 한다
4. 다음은 데이터베이스에 관한 문제이다. 아래 내용을 읽고 알맞는 답을 보기에서 찾아 골라 작성하시오.
(1) 다른 테이블, 릴레이션의 기본 키를 참조하는 속성 또는 속성들의 집합
(2) 테이블에서 각 행을 유일하게 식별할 수 있는 최소한의 속성들의 집합
(3) 후보 키 중에서 선정된 기본 키를 제외한 나머지 후보 키
(4) 테이블에서 각 행을 유일하게 식별할 수 있는 속성들의 집합
[보기]
ㄱ. 슈퍼키 ㄴ. 외래키 ㄷ. 대체키 ㄹ. 후보키
(1) : ㄴ. 외래키
(2) : ㄹ. 후보키
(3) : ㄷ. 대체키
(4) : ㄱ. 슈퍼키
키의 종류
슈퍼키 : 데이터 베이스에서 튜플 검색이나 정렬의 기준이 되는 속성
후보키 : 슈퍼키 중 최소성을 만족하는 속성 집합
기본키 : 후보키 중 하나를 선택하여 NOT NULL + 유일성을 보장한 키
대체키 : 기본키로 선택되지 않은 다른 후보키로 UNIQUE 제약을 통해 유일성 유지
외래키 : 다른 릴레이션의 기본키나 후보키를 참조하여 참조무결성을 보장
복잡키 : 둘 이상 속성의 조합으로 구성된 키
🔍 트랜잭션 특성
1. 다음은 트랙잭션의 특징이다. 괄호에 들어갈 알맞은 특징을 쓰시오.
(1) : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 한다
일관성 : 트랙잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다
(2) : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다
지속성 : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다
(1) 원자성
(2) 독립성
트랜잭션의 특징 (ACID)
원자성(Atomicity)
- 더이상 분해되지 않는 작업의 최소 단위
- 작업이 모두 성공하던지 모두 실패하던지 해야함
일관성(Consistency)
- 트랜잭션 실행 후 항상 일관된 상태를 유지해야 함
독립성 / 격리성(Isolation)
- 동시에 실행되는 트랜잭션이 다른 트랜잭션에 영향을 주지 못해야 함
영속성 / 지속성(Duration)
- 트랜잭션이 커밋되면 장애가 발생하더라도 결과는 DB에 반영되어야 함
2. 데이터베이스 회복 기법에 관련된 다음 설명에서 괄호에 공통적으로 들어갈 가장 알맞은 답을 쓰시오.
( )은 트랜잭션이 데이터를 변경하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 DB에 그 내용을 반영하는 기법으로, 장애가 발생하여 회복 작할 경우를 대비하여 갱신된 내용들을 로그에 보관시킨다.( )에 회복 작업을 수행할 경우 Redo와 Undo 모두 수행 가능하다
즉각 갱신 기법
로그 기반 회복
지연 갱신 회복 기법
- 트랜잭션 커밋 전까지 DB 반영을 지연
- Redo만 사용 (Undo 불필요)
즉각 갱신 회복 기법
- 트랜잭션 중간에도 DB 반영
- Redo + Undo 모두 사용
3. 데이터베이스의 상태 변화를 일으키는 트랜잭션의 특성 중 원자성에 대해 간략히 서술하시오
더이상 분해되지 않는 기본 작업단위로, 작업이 모두 성공하거나 모두 실패하거나 한다는 특성을 의미한다.
트랜잭션의 특징 (ACID)
원자성(Atomicity)
- 더이상 분해되지 않는 작업의 최소 단위
- 작업이 모두 성공하던지 모두 실패하던지 해야함
일관성(Consistency)
- 트랜잭션 실행 후 항상 일관된 상태를 유지해야 함
독립성 / 격리성(Isolation)
- 동시에 실행되는 트랜잭션이 다른 트랜잭션에 영향을 주지 못해야 함
영속성 / 지속성(Duration)
- 트랜잭션이 커밋되면 장애가 발생하더라도 결과는 DB에 반영되어야 함
4. 데이터베이스의 병행제어 기법 중 하나로, 접근한 데이터에 대한 연산을 모두 마칠 때까지 추가적인 접근을 제한함으로써 상호 배타적으로 접근하여 작업을 수행하도록 하는 기법을 쓰시오
로킹
병행제어 기법
로킹 : 공유/베타 락 기반 접근 제어
낙관적 검증 : 실행 후 충돌 검증 후 커밋
타임 스탬프 순서 : TS 기준 읽기 쓰기 순서 보장
다중버전 동시성 제어 : 버전 생성, 스냅샷 활용 동시성 개선
5. 다음 설명에 해당하는 DB의 트랜잭션 연산을 <보기>에서 찾아 쓰시오.
DBMS는 데이터베이스에 치명적인 손실이 발생했을 때 이를 복구하기 위해 데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 기록한 로그를 생성한다
(1) : 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작과 완료에 대한 기록이 있는 트랜잭션들의 작업을 재작업한다. 즉 로그를 이용하여 해당 데이터 항목에 대해 이전 값을 이후 값으로 변경하는 연산이다
(2) : 데이터베이스가 비정상적인 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작을 나타내는 start는 있지만 완료를 나타내는 commit기록이 없는 트랜잭션들이 작업한 내용들을 모두 취소한다. 즉 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경한다
(1) : redo
(2) : undo
redo : 커밋된 트랜잭션 작업을 다시 적용함
undo : 커밋되지 않은 트랜잭션의 작업을 취소함
🔍 데이터베이스 용어
1. 시스템 관리와 관련하여 다음의 설명이 의미하는 용어를 쓰시오
A는 한국 IT 보안관제실에서 근무하게 되었다. A는 서비스 운용 중 외부 공격으로 인한 서버다운, 자연재해, 시스템 장애 등의 비상 상황에도 고객 응대 서비스를 정상적으로 수행하기 위해 구축한 시스템을 관리하는 업무를 수행한다. 이 용어는 위와 같은 비상상황이 발생한 경우 비상사태 또는 업무중단 시점부터 업무가 복구되어 다시 정상 가동 될 때까지의 시간을 의미한다.
RTO
BCP(Business Continuity Plan)
BIA 비즈니스 영향 분석(Business Impact Analysis)
- 재해가 나면 어떤 영향을 미칠지 분석하는 과정
RTO, 복구 시간 목표(Recovery Time Objective)
- 업무 중단 시점부터 복구되어 가동하기까지 걸려야하는 시간
RPO, 복구 시점 목표(Recovery Point Objective)
- 멈췄을 때 어디까지의 데이터는 복구 되어야 하는지 기준 목표
DRP, 재해 복구 계획(Disaster Recovery Plan)
- 장기 중단을 대비한 구체적 복구 계획
DRS, 재해 복구 시스템(Disaster Recovery System)
- 복구를 위한 백업 센터, 장비, 인력 등 자원 시스템
2. 데이터베이스 보안에서 가용성에 대해 간략히 서술하시오.
인가받은 사용자는 필요한 시점에 언제든지 데이터를 사용할 수 있음을 보장
데이터베이스 보안의 3대 요소 (무기가)
무결성 (Integrity)
- 데이터가 정확하고 안전하게 유지되며, 승인되지 않은 수정이나 손실이 방지됨을 보장
기밀성 (Confidentiality)
- 권한 없는 사용자는 정보 접근을 차단하여 데이터 비공개를 보장
가용성 (Availability)
- 인가받은 사용자는 필요한 시점에 언제든지 데이터를 사용할 수 있음을 보장
3. 데이터베이스 보안에 관련된 다음 설명에 해당하는 용어를 쓰시오
접근통제는 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다
이러한 접근통제에 관한 기술 중 ( )는 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하여 제어하는 방식으로, 데이터의 소유자가 접근통제 권한을 지정하고 제어한다. 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수 있다
DAC
서버 접근 통제 유형
임의적 접근통제(DAC, Discretionary Access Control)
- 시스템에 대한 접근을 사용자/그룹의 신분 기반으로 제한하는 방법
강제적 접근통제(MAC, Mandatory Access Control)
- 시스템 정보의 허용등급을 기준으로 사용자가 갖는 접근 허가 권한에 근거하여 시스템에 대한 접근을 제한하는 방법
역할 기반 접근통제(RBAC, Role Based Access Control)
- 중앙 관리자가 사용자와 시스템의 상호관계를 통제하며 조직 내 맡은 역할에 기초하여 자원에 대한 접근을 제한하는 방법
4. 다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오
파일의 구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식을 의미하는 것으로, 크게 순차, ( ), 해싱으로 구분한다.
( )파일 구조는 <값, 주소>쌍으로 구성되는 데이터 구조를 활용하여 데이터에 접근하는 방식으로, 자기 디스크에서 주로 활용된다
인덱스
데이터베이스 파일 조직
순차 파일(Sequential File)
- 레코드를 삽입된 순서 또는 특정 키 순서대로 연속 저장함
인덱스 파일(Indexed File)
- <값, 주소> 쌍으로 구성되는 데이터 구조를 활용하여 데이터에 접근- 자기 디스크에서 주로 활용한다.
해싱 파일(Hashed File)
- 해시 함수로 키를 주소로 매핑해 해당 디스크 블록에 직접 접근