정보처리기사
정규형
- 데이터베이스 내의 데이터들이 불필요하게 중복돼 릴레이션 조작 시 예상치 못한 문제가 발생하는 이상 현상 제거
- 삽입 이상: 릴레이션(테이블)에 데이터를 삽입할 때 의도와는 상관없는 값들도 함께 삽입되는 현상
- 삭제 이상: 릴레이션에서 한 튜플(행)을 삭제할 때 의도와는 상관없는 값들이 삭제되는 연쇄가 일어나는 현상
- 갱신 이상: 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되며 정보에 모순이 생기는 현상
- 제 1정규형: 도메인이 원자값
- 제 2정규형: 부분함수 종속성 제거
- 제 3정규형: 이행적 함수 종속성 제거
- BCNF: 결정자이면서 후보키가 아닌것 제거
- 제 4정규형: 다치 종속 제거
- 제 5정규형: 조인 종속 제거
데이터 베이스
설계
- 요구 조건 분석 : 요구 조건 명세서 작성
- 개념적 설계 : ERD, 트렌잭션 모델링
- 논리적 설계 : 정규화, 트랜잭션 인터페이스 설계
- 물리적 설계 : 성능 향상을 위한 작업(인덱스, 뷰, 반정규화 등)
- 구현 : 목표 DBMS의 DDL(데이터 정의어)로 데이터베이스 생성, 트랜잭션 작성
트랜젝션 성질
- 원자성(Atomicity): One or Nothing
- 일관성(Consistency)
- 격리성(Isolation)
- 영속성(Durability)
용어
- 튜플(Tuple): 릴레이션을 구성하는 각각의 행을 말하며 속성의 모임, 튜플의 수를 카디널리티(Cardinality) 또는 기수
- 속성(Attribute): 데이터베이스를 구성하는 가장 작은 논리적 단위이며 개체의 특성을 기술, 속성의 수를 디그리(Degree) 또는 차수
- 도메인(Domain): 하나의 속성(attribute)이 취할 수 있는 같은 타입의 원자값들의 집합
스키마
: DB의 구조와 제약 조건에 관한 전반적이 명세(Specification)를 기술(Description) 한 메타데이터(DB에 대한 데이터)의 집합
- 외부 스키마
: 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 DB의 논리적 구조를 정의 - 개념 스키마
: DB의 전체적인 논리적 구조, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 DB로 하나만 존재 - 내부 스키마
: 물리적인 저장장치의 입장에서 본 DB
- 독립성
- 논리적 독립성: 개념 스키마의 변경은 외부 스키마에 영향을 미치지 않음
- 물리적 독립성: 내부 스키마의 변경은 개념, 외부 스키마에 영향을 미치지 않음
(varchar2(10) ▶ varchar2(30)으로 변경한다고 해서 외부스키마와 개념스키마에 영향 X)
Key
- Super Key: 유일성-대상을 유일하게 식별할 수 있으면 충족
- Candidate Key: 유일성 + 최소성
- Alternate Key: PK가 아닌 후보키
- Primary Key: AK 중 가정 적합한 키(예: 학교에서 PK는 학번)
PK 무결성
- 개체 무결성: Not Null & Unique
- 참조 무결성: 외래키 값은 피참조 릴레이션의 기본키 값이거나 NULL 값임
- 도메인 무결성: 속성 (Attribute) 값은 해당 속성 (Attribute) 도메인에 속한 값들 중 하나이어야 함
참조 무결성 제약
- CASCADE : A개체를 변경/삭제 → A개체를 참조하고 있는 모든 개체들이 변경/삭제
- RESTRICT : A개체를 변경/삭제 → A개체를 참조하고 있는 개체가 존재하면 A개체에 대한 명령(변경/삭제)이 취소
- SET NULL : A개체를 변경/삭제 → A개체를 참조하고 있는 모든 개체들의 값은 NULL로 셋팅
참고 자료
'Certificate > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 2022년 1회차 (1)소프트웨어 설계 (0) | 2023.07.08 |
---|---|
[정보처리기사] 2022년 2회차 (5)정보시스템 구축관리 (0) | 2023.07.07 |
[정보처리기사] 2022년 2회차 (4)프로그래밍 언어 활용 (0) | 2023.07.07 |
[정보처리기사] 2022년 2회차 (2)소프트웨어 개발 (0) | 2023.07.06 |
[정보처리기사] 2022년 2회차 (1)소프트웨어 설계 (0) | 2023.07.06 |