
내가 보려고 정리한 것
■ 스키마
외부 스키마 (서브스키마) |
사용자 관점의 스키마 → 하나의 DB에 여러 개의 외부 스키마가 존재 사용자, 프로그램마다 다양한 형태의 논리적 구조로 존재 |
개념 스키마 | 사용자와 DB 관리자 관점의 스키마 / DB의 전체적인 논리적 구조 일반적으로 하나의 DB에는 하나의 개념 스키마 존재 → 데이터 개체/관계/제약조건/접근권한/무결성 규칙 명세 |
내부 스키마 | DB 설계자/개발자 관점의 스키마 개념 스키마를 물리적 저장장치에 구현하는 방법을 정의 → 물리적 구조 / 내부 레코드의 물리적 순서 |
■ 데이터 언어
DDL (Data Definition Language) |
데이터베이스 구조/제약 조건 정의 |
DML (Data Manipulation ~) |
데이터 처리/조작에 사용되는 언어 |
DCL (Data Control ~) |
데이터의 보안, 권한, 무결성, 권한검사, 병행 제어를 위한 언어 |
■ 데이터베이스 설계 순서
개념적 모델 | 현실 세계의 인식을 추상적 개념 세계로 표현 독립적인 개념 스키마 모델링 / 트랜잭션 모델링 / E-R 모델 |
논리적 모델 | 개념적 모델을 컴퓨터가 처리할 수 있는 구조로 표현(관계모델) 종속적인 논리 스키마 설계 / 트랜잭션 인터페이스 설계 / 정규화 논리적 데이터 베이스 구조로 Mapping / 스키마의 평가 및 정제 |
물리적 모델 | 데이터의 실제 저장 방법 및 접근 경로 표현 (레코드 형식 / 순서) 목표 DBMS 종속적인 물리적 구조 데이터로 변환 / 반정규화 오브젝트, 접근방법, 인덱스, 뷰 용량 설계 / 트랜잭션 작성 → 저장 레코드의 형식 / 순서 / 접근 경로 설계 |
■ 데이터 모델 구성 요소
- 구조 (Structure): 논리적 개체 간 관계, 데이터 구조, 정적 성질 표현
- 연산 (Operation): 실제 데이터를 처리하는 작업 명세로 데이터베이스 조작 도구
- 제약 조건 (Constraint): DB에 저장될 수 있는 실제 데이터의 논리적 제약 조건
■ 개체-관계 모델 (E-R Model / Entity-Relation Model)
개체 (Entity) | 독립적이고 구별 가능한 모든 것 - 개체 타입 : 개체를 구성하는 속성들의 집합 - 개체 인스턴스: 실제 값을 가지면서 실체화 된 객체 - 개체 세트 : 개체 인스턴스들의 집합 |
속성 (Attribute) | 개체가 가진 고유의 특성 / 가장 작은 논리적 단위 (원) |
관계 (Relationship) | 두 개체 간의 의미 있는 연관성 및 연결 구조 (마름모) → 일대일(1:1) / 일대다(1:N) / 다대다(N:M) |
■ E-R 다이어그램 표기법



■ 관계형 데이터베이스 용어
- 릴레이션(Relation)이라는 표(Table)로 표현
- 속성(Attribute) = 열 = 필드
- 튜플(Tuple) = 행 = 레코드
- 차수(Degree) : 속성의 개수
- 기수(Cardinality) : 튜플의 개수
- 도메인(Domain) : 하나의 속성에서 취할 수 있는 원자 값(Atomic Value)들의 집합(ex. 성별: 남/녀)
- 릴레이션 인스턴스 : 릴레이션에 실제로 저장된 데이터 집합
■ 릴레이션의 특징
- 튜플과 속성은 유일하며 순서는 무의미함
- 튜플은 삽입/삭제 등에 의해 계속 변함 / 튜플은 서로 상이한 값을 가짐
- 속성의 값은 분해 불가(원자성) / 동일할 수 있음
- 튜플을 식별하기 위해 속성(필드)의 일부를 Key로 설정
- 속성은 Null 값을 가질 수 있으나, 기본키에 해당되는 속성은 Null 값을 가질 수 없다.
■ 키 (Key)
후보키 (Candidate Key) |
기본키로 사용 가능한 속성 / 모든 릴레이션에는 후보키 존재 모든 튜플에 대해 유일성/최소성 만족시켜야 함 * 유일성 : 하나의 키 값으로 하나의 튜플을 유일하게 식별 * 최소성 : 모든 레코드 식별하는데 최소한의 속성으로만 구성 |
기본키 (Primary Key) |
후보키 중에서 선택되어, 중복된 값과 NULL 가질 수 없음 유일성/최소성 만족하며 튜플 식별하기 위해 반드시 필요한 키 |
대체키 (Alternate Key) |
후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키 |
슈퍼키 (Super Key) |
한 릴레이션 내 속성들의 집합으로 구성된 키 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족 불가 |
외래키 (Foreign Key) |
다른 릴레이션의 기본키를 참조하는 속성 or 속성들의 집합 참조되는 릴레이션 기본키와 대응되어 릴레이션 간 참조 관계 |
■ 무결성 (Integrity)
개체 무결성 | 기본키를 구성하는 어떤 속성도 NULL / 중복 값 가질 수 없음 기본키의 속성 값이 NULL 값이 아닌 원자 값을 갖는 성질 |
도메인/속성 무결성 | 릴레이션 내 튜플들이 각 속성의 도메인에 지정된 값만 가짐 |
참조 무결성 | 외래키는 NULL 또는 참조 릴레이션의 기본키 값과 동일 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음 |
사용자 정의 무결성 | 속성 값들의 사용자가 정의한 제약 조건에 만족 |
데이터 무결성 강화 | 데이터 특성에 맞는 적절한 무결성을 정의하고 강화 강화 방법: 제약조건, 어플리케이션, 데이터베이스 트리거 |
■ 접근 통제 기술 (AC, Access Control)
임의 접근 통제 (DAC) Discretionary AC |
- 사용자의 신원/신분에 따라 접근 권한 부여 - 데이터 소유자가 접근 통제 권한 지정/제어 - 객체 생성자가 모든 권한 갖고, 다른 사용자에게 허가 - SQL 명렁어: GRANT / REVOKE |
강제 접근 통제 (MAC) Mandatory AC |
- 주체와 객체의 등급을 비교 후 시스템이 접근 권한 부여 - DB 객체별로 보안 등급 부여 및 사용자별로 인가 등급 부여 - 자신보다 보안 높은 객체에 읽기/수정/등록 불가하나 등급 같은 객체에는 모두 가능, 자신보다 낮은 개체에는 읽기 가능 |
역할 기반 접근 통제 (RBAC) Role-based AC |
- 사용자의 역할에 따라 접근 권한 부여 (중앙관리자가 지정) - 다중 프로그래밍에 최적화 |
■ 뷰 (View)
- 기본 테이블에 기반을 둔 이름을 가지는 가상 테이블 (기본 테이블과 동일 형태)
- 저장장치 내 가상으로, 논리적으로 존재 (실존하는 물리적 존재X)
- 기본 테이블 및 뷰 삭제 시 해당 테이블/뷰를 기초로 정의된 다른 뷰도 자동 삭제
- 장점 : 논리적 데이터 독립성 제공 / 데이터 자동 보안 제공 / 데이터 관리 용이
- 단점 : 독립된 인덱스 보유 불가 / ALTER 변경 불가 / 삽입, 삭제, 갱신, 연산 제약
'정보처리기사' 카테고리의 다른 글
[정보처리기사] Python 풀이 헷갈리는 개념 & 실수 방지 가이드 (1) (2) | 2025.04.03 |
---|---|
[정보처리기사] 데이터베이스 정리 (2) (1) | 2025.04.03 |
[정보처리기사] 소프트웨어 설계, 소프트웨어 개발 정리 (2) | 2025.04.01 |
[정보처리기사] 정보 보안 관련 IT 용어 총정리 (9) | 2025.03.29 |
[정보처리기사] 페이지 교체 알고리즘 (FIFO, LRU, LFU) (3) | 2025.03.29 |

내가 보려고 정리한 것
■ 스키마
외부 스키마 (서브스키마) |
사용자 관점의 스키마 → 하나의 DB에 여러 개의 외부 스키마가 존재 사용자, 프로그램마다 다양한 형태의 논리적 구조로 존재 |
개념 스키마 | 사용자와 DB 관리자 관점의 스키마 / DB의 전체적인 논리적 구조 일반적으로 하나의 DB에는 하나의 개념 스키마 존재 → 데이터 개체/관계/제약조건/접근권한/무결성 규칙 명세 |
내부 스키마 | DB 설계자/개발자 관점의 스키마 개념 스키마를 물리적 저장장치에 구현하는 방법을 정의 → 물리적 구조 / 내부 레코드의 물리적 순서 |
■ 데이터 언어
DDL (Data Definition Language) |
데이터베이스 구조/제약 조건 정의 |
DML (Data Manipulation ~) |
데이터 처리/조작에 사용되는 언어 |
DCL (Data Control ~) |
데이터의 보안, 권한, 무결성, 권한검사, 병행 제어를 위한 언어 |
■ 데이터베이스 설계 순서
개념적 모델 | 현실 세계의 인식을 추상적 개념 세계로 표현 독립적인 개념 스키마 모델링 / 트랜잭션 모델링 / E-R 모델 |
논리적 모델 | 개념적 모델을 컴퓨터가 처리할 수 있는 구조로 표현(관계모델) 종속적인 논리 스키마 설계 / 트랜잭션 인터페이스 설계 / 정규화 논리적 데이터 베이스 구조로 Mapping / 스키마의 평가 및 정제 |
물리적 모델 | 데이터의 실제 저장 방법 및 접근 경로 표현 (레코드 형식 / 순서) 목표 DBMS 종속적인 물리적 구조 데이터로 변환 / 반정규화 오브젝트, 접근방법, 인덱스, 뷰 용량 설계 / 트랜잭션 작성 → 저장 레코드의 형식 / 순서 / 접근 경로 설계 |
■ 데이터 모델 구성 요소
- 구조 (Structure): 논리적 개체 간 관계, 데이터 구조, 정적 성질 표현
- 연산 (Operation): 실제 데이터를 처리하는 작업 명세로 데이터베이스 조작 도구
- 제약 조건 (Constraint): DB에 저장될 수 있는 실제 데이터의 논리적 제약 조건
■ 개체-관계 모델 (E-R Model / Entity-Relation Model)
개체 (Entity) | 독립적이고 구별 가능한 모든 것 - 개체 타입 : 개체를 구성하는 속성들의 집합 - 개체 인스턴스: 실제 값을 가지면서 실체화 된 객체 - 개체 세트 : 개체 인스턴스들의 집합 |
속성 (Attribute) | 개체가 가진 고유의 특성 / 가장 작은 논리적 단위 (원) |
관계 (Relationship) | 두 개체 간의 의미 있는 연관성 및 연결 구조 (마름모) → 일대일(1:1) / 일대다(1:N) / 다대다(N:M) |
■ E-R 다이어그램 표기법



■ 관계형 데이터베이스 용어
- 릴레이션(Relation)이라는 표(Table)로 표현
- 속성(Attribute) = 열 = 필드
- 튜플(Tuple) = 행 = 레코드
- 차수(Degree) : 속성의 개수
- 기수(Cardinality) : 튜플의 개수
- 도메인(Domain) : 하나의 속성에서 취할 수 있는 원자 값(Atomic Value)들의 집합(ex. 성별: 남/녀)
- 릴레이션 인스턴스 : 릴레이션에 실제로 저장된 데이터 집합
■ 릴레이션의 특징
- 튜플과 속성은 유일하며 순서는 무의미함
- 튜플은 삽입/삭제 등에 의해 계속 변함 / 튜플은 서로 상이한 값을 가짐
- 속성의 값은 분해 불가(원자성) / 동일할 수 있음
- 튜플을 식별하기 위해 속성(필드)의 일부를 Key로 설정
- 속성은 Null 값을 가질 수 있으나, 기본키에 해당되는 속성은 Null 값을 가질 수 없다.
■ 키 (Key)
후보키 (Candidate Key) |
기본키로 사용 가능한 속성 / 모든 릴레이션에는 후보키 존재 모든 튜플에 대해 유일성/최소성 만족시켜야 함 * 유일성 : 하나의 키 값으로 하나의 튜플을 유일하게 식별 * 최소성 : 모든 레코드 식별하는데 최소한의 속성으로만 구성 |
기본키 (Primary Key) |
후보키 중에서 선택되어, 중복된 값과 NULL 가질 수 없음 유일성/최소성 만족하며 튜플 식별하기 위해 반드시 필요한 키 |
대체키 (Alternate Key) |
후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키 |
슈퍼키 (Super Key) |
한 릴레이션 내 속성들의 집합으로 구성된 키 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족 불가 |
외래키 (Foreign Key) |
다른 릴레이션의 기본키를 참조하는 속성 or 속성들의 집합 참조되는 릴레이션 기본키와 대응되어 릴레이션 간 참조 관계 |
■ 무결성 (Integrity)
개체 무결성 | 기본키를 구성하는 어떤 속성도 NULL / 중복 값 가질 수 없음 기본키의 속성 값이 NULL 값이 아닌 원자 값을 갖는 성질 |
도메인/속성 무결성 | 릴레이션 내 튜플들이 각 속성의 도메인에 지정된 값만 가짐 |
참조 무결성 | 외래키는 NULL 또는 참조 릴레이션의 기본키 값과 동일 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음 |
사용자 정의 무결성 | 속성 값들의 사용자가 정의한 제약 조건에 만족 |
데이터 무결성 강화 | 데이터 특성에 맞는 적절한 무결성을 정의하고 강화 강화 방법: 제약조건, 어플리케이션, 데이터베이스 트리거 |
■ 접근 통제 기술 (AC, Access Control)
임의 접근 통제 (DAC) Discretionary AC |
- 사용자의 신원/신분에 따라 접근 권한 부여 - 데이터 소유자가 접근 통제 권한 지정/제어 - 객체 생성자가 모든 권한 갖고, 다른 사용자에게 허가 - SQL 명렁어: GRANT / REVOKE |
강제 접근 통제 (MAC) Mandatory AC |
- 주체와 객체의 등급을 비교 후 시스템이 접근 권한 부여 - DB 객체별로 보안 등급 부여 및 사용자별로 인가 등급 부여 - 자신보다 보안 높은 객체에 읽기/수정/등록 불가하나 등급 같은 객체에는 모두 가능, 자신보다 낮은 개체에는 읽기 가능 |
역할 기반 접근 통제 (RBAC) Role-based AC |
- 사용자의 역할에 따라 접근 권한 부여 (중앙관리자가 지정) - 다중 프로그래밍에 최적화 |
■ 뷰 (View)
- 기본 테이블에 기반을 둔 이름을 가지는 가상 테이블 (기본 테이블과 동일 형태)
- 저장장치 내 가상으로, 논리적으로 존재 (실존하는 물리적 존재X)
- 기본 테이블 및 뷰 삭제 시 해당 테이블/뷰를 기초로 정의된 다른 뷰도 자동 삭제
- 장점 : 논리적 데이터 독립성 제공 / 데이터 자동 보안 제공 / 데이터 관리 용이
- 단점 : 독립된 인덱스 보유 불가 / ALTER 변경 불가 / 삽입, 삭제, 갱신, 연산 제약
'정보처리기사' 카테고리의 다른 글
[정보처리기사] Python 풀이 헷갈리는 개념 & 실수 방지 가이드 (1) (2) | 2025.04.03 |
---|---|
[정보처리기사] 데이터베이스 정리 (2) (1) | 2025.04.03 |
[정보처리기사] 소프트웨어 설계, 소프트웨어 개발 정리 (2) | 2025.04.01 |
[정보처리기사] 정보 보안 관련 IT 용어 총정리 (9) | 2025.03.29 |
[정보처리기사] 페이지 교체 알고리즘 (FIFO, LRU, LFU) (3) | 2025.03.29 |