데이터 입출력 구현
정보처리기사
![]()
데이터베이스 설계 단계
개념적 설계: 현실 세계를 추상적 개념으로 표현.E-R 다이어그램, 개념 스키마논리적 설계: 개념 모델을 특정 DBMS의 논리적 구조(테이블 등)로 변환.정규화수행, 논리 스키마물리적 설계: 저장 장치에 실제 저장될 형태로 설계.인덱스, 접근 경로, 저장 구조 결정
- DBMS에 독립적 → 종속적 순서 (개념/논리는 독립, 물리는 종속)
관계 대수
- 순수 관계 연산자
| 연산자 | 기호 | 설명 |
|---|---|---|
| Select | σ |
조건을 만족하는 행(튜플) 추출 (수평) |
| Project | π |
특정 속성(열) 추출 (수직) |
| Join | ⋈ |
공통 속성 값이 일치하는 튜플을 결합 |
| Division | ÷ |
S의 모든 값과 관계된 R의 튜플 추출 (“모두 만족”) |
- 일반 집합 연산자:
합집합(∪),교집합(∩),차집합(−),교차곱(×)
카티션 프로덕트 (×)
- 두 릴레이션의 모든 튜플을 조합 (조건 없음)
- 차수(속성 수) = 두 릴레이션 차수의
합 - 카디널리티(튜플 수) = 두 릴레이션 튜플 수의
곱
조인 (⋈)
- 카티션 프로덕트 + 조건 (공통 속성이 일치하는 튜플만 결합)
자연 조인: 공통 속성을 하나만 남김
디비전 (÷)
R ÷ S: S의 모든 값을 만족하는 R의 튜플을 추출 (“~ 전부를 수강한 학생” 같은 질의)- 결과 속성 =
R의 속성 − S의 속성
정규화
- 데이터
중복 최소화+이상 현상 제거를 위해 테이블을 분해하는 과정 - 이상 현상(Anomaly):
삽입 이상,삭제 이상,갱신 이상
단계 (도부이결다조)
1NF: 도메인이 원자값 (한 칸에 값 하나)2NF: 부분 함수 종속 제거 (키의 일부에만 종속되는 속성 제거)3NF: 이행 함수 종속 제거 (A→B, B→C ⟹ A→C 제거)BCNF: 모든 결정자가 후보키가 되도록4NF: 다치 종속 제거5NF: 조인 종속 제거
반정규화: 성능(조인 감소)을 위해 일부러 중복을 허용 (정규화의 반대)
무결성
- 개체 무결성
- 참조 무결성
- 도메인 무결성
- 사용자 무결성
- 키 무결성
데이터베이스 파일 조직 방법
- 순차, 인덱스, 해싱 방법