데이터베이스 설계
- 순서 : 요구 조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현
- 개념적 설계 : 개념 스키마 모델링과 트랜잭션 모델링을 별행 수행, 독립적인 E-R 다이어그램,
독립적인 개념 스키마 설계
- 논리적 설계 : DBMS가 지원하는 논리적 자료 구조로 변환(mapping), 논리적 구조의 데이터로
모델링, 트랜잭션의 인터페이스 설계
- 물리적 설계 : DB 파일의 저장 구조 및 액세스 경로 결정
데이터 모델 표시 요소 : 구조, 연산, 제약 조건
속성 (attribute) : DB 구성의 가장 작은 논리적 단위 (개체는 한개 이상의 속성으로 이루어짐)
도메인 : 하나의 속성이 가질 수 있는 원자값들의 집합
+)차수 (degree) = 속성 (attribute) 수 = 열의 수, 기수 (cardinality) = 튜플 (tuple) 수 = 행의 수
후보키 : 유일성, 최소성 만족 -> 선택되면 기본 키
슈퍼키 : 유일성 만족, 최소성 만족 X
데이터베이스 무결성
- 개체 무결성 : 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복 값을 가질 수 없음
- 도메인 무결성 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 함
- 참조 무결성 : 외래키 값은 Null 이거나 참조 릴레이션의 기본키 값과 동일해야 함
-> 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음
- 사용자 정의 무결성 : 속성 값들이 사용자가 정의한 제약 조건에 만족해야함
- 데이터베이스 무결성 강화 : 애플리케이션, 데이터베이스 트리거, 제약 조건
관계 대수
- 순수 관계 연산자 : Select (수평), Project (수직), Join, Division
- 일반 집합 연산자 : UNION (합), INTERSECTION(교), DIFFERENCE(차), CARTESIAN PRODUCT(곱)
정규화
- 목적 : 데이터 구조의 안정성 및 무결성 유지, 이상 발생 방지 및 자료 저장 공간의 최소화
- 이상 : 삽입 이상, 삭제 이상, 갱신 이상
- 정규화 과정
: 1NF (릴레이션의 모든 속성값이 원자 값으로만 되어 있음)
: 2NF (기본키가 아닌 모든 속성이 기본키에 대해 완전 함수적 종속을 만족)
: 3NF (기본키가 아닌 모든 속성이 기본키에 대해 A->B,B->C 일 때 A->C 만족 안 함)
: BCNF (릴레이션 R의 결정자가 모두 후보키면 정규형)
: 4NF (A->B 가 성립하는 경우 R의 모든 속성이 A에 함수적 종속 관계 만족)
: 5NF (R의 모든 조인 종속이 R의 후보키를 통해서만 성립)
▶ 정리 : 비정규-(도메인이 원자값) - > 1NF-(부분적 함수 종속 제거) -> 2NF-(이행적 함수 종속제거) ->
3NF-(결정자이면서 후보키가 아닌 것 제거) -> BCNF-(다치 종속 제거) -> 4NF-(조인 종속성 이용) -> 5NF
▶ 도부이결다조
시스템 카탈로그
- 시스템과 관련 있는 메타 데이터 포함
- 메타 데이터 : DB 객체 정보, 사용자 정보, 테이블의 무결성 제약조건 정보
- 데이터 사전 : DB에 포함되는 모든 데이터 객체들에 대한 정의나 명세에 관한 정보를 유지관리
뷰
- 가상 테이블, 물리적으로 존재 안 함
- 생성 삭제는 간단, 변경 불가
- 독립적 인덱스를 가질 수 없음
파티션 설계 유형 : 범위, 해시, 조합, 분할
접근 통제
- 자원의 불법적인 접근 및 파괴 예방 (비인가된 사용자의 접근 감시, 접근 요구자의 사용자 식별,
접근 요구의 정당성 확인 및 기록, 보안 정책에 근거한 접근의 승인 및 거부)
- 임의 접근통제 (DAC), 강제 접근통제 (MAC), 역할 기반 접근통제 (RBAC)
- 요소 : 정책, 매커니즘, 보안모델
스토리지
- DAS : 전용 케이블로 직접 연결
- NAS : 네트워크로 연결
- SAN : DAS + NAS, 파이버 채널 스위치 (전용 네트워크)
트랜잭션
- DB 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위
- 특성 : 무결성을 위해 (원자성, 일관성, 독립성, 지속성)
- 분석 : 단위 프로세스, CRUD 연산, 테이블명, 컬럼명, 테이블 참조 함수, 트랜잭션 수, 발생 주기
- 단일 테이블 클러스터링 (처리 범위가 넓을 때), 다중 테이블 클러스터링 (조인이 많이 발생하는 때)
SQL
- DDL (Data Define Language) : CREATE, ALTER, DROP
- DML (Data Manipulation Language) : SELECT, INSERT, DELETE, UPDATE
- DCL (Data Control Language) : COMMIT, ROLLBACK, GRANT, REVOKE
순수 관계 연산자 : δ (SELECT), π (PROJECT), ▷◁ (JOIN), ÷ (DIVISION)
대리 식별자 : 두 개 이상 속성들을 하나로 묶음
'정보처리기사' 카테고리의 다른 글
정보처리기사 5과목 (0) | 2023.01.31 |
---|---|
정보처리기사 4과목 (0) | 2023.01.30 |
정보처리기사 2과목 (0) | 2023.01.30 |
정보처리기사 1과목 (0) | 2023.01.11 |
댓글