본문 바로가기

정보처리기사

[정보처리기사] 필기 노트 - 논리 테스트 시나리오 설계

  • 관계 데이터 모델
    • 관계 데이터 모델
      • 데이터베이스의 논리적 구조가 2차원인 테이블 형태
        • 릴레이션 (relation): 2차원의 테이블 (스프레드 시트와 유사)
        • 튜플 (tuple): 릴레이션을 구성하는 각 행으로 레코드와 같은 의미
        • 속성 (attribute): 릴레이션에서 이름을 가진 하나의 열로 데이터베이스를 구성하는 가장 작은 논리적 단위
        • 도메인 (domain): 하나의 속성이 가질 수 있는 값들의 집합 (성별의 도메인은 '남'과 '여'로 그 이외의 값은 입력될 수 없음)
    • 릴레이션 특징
      • 튜플의 유일성, 튜플의 무순서, 속성의 무순서, 속성의 원자성, 속성 이름의 유일성
    • 키의 종류
      • 후보키 (Candidate Key): 하나의 릴레이션에서 유일성과 최소성을 가지고 있는 모든 속성 또는 속성 집합
      • 기본키 (Primary Key): 후보키들 중 데이터베이스의 설계자에 의해 선택된 하나의 키로, 중복되지 않으며 Null을 가질 수 없음
      • 외래키 (Foreign Key): 어떤 릴레이션의 기본키를 참조하는 속성
  • 관계 데이터 언어
    • 관계 대수
      • 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술하는 절차 언어
        • 순서 관계 연산자: Select, Project, Join, Division
        • 일반 집합 연산자: 합집합 (Union), 교집합 (Intersection), 차집합 (Difference), 곱집합 (Cartesian Product)
    • 관계 해석
      • 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술하는 비절차 언어
      • 수학의 Predication Calculus (술어 해석)에 기반을 둠
      • 관계 해석의 연산: 튜플 관계 해석, 도메인 관계 해석
  • 시스템 카탈로그와 뷰
    • 시스템 카탈로그
      • 시스템 그 자체에 관련이 있는 다양한 객체들에 관한 정보를 포함하는 시스템 데이터베이스
      • 시스템 카탈로그는 데이터 사전 (Data Dictionary) 이라고도 함
      • 시스템 카탈로그는 시스템 테이블로 구성되어 있으며 일반 이용자가 SQL을 이용하여 내용을 검색할 수 있음
      • INSERT, DELETE, UPDATE 문으로 카탈로그를 갱신하는 것은 허용되지 않음
      • 다른 테이블을 기반으로 만들어진 가상 테이블
      • 뷰에 대한 뷰의 생성이 가능
      • 뷰에서 조회 방법은 기본 테이블과 동일하나, 삽입, 갱신, 삭제에 제약이 있음
      • 뷰는 논리적 독립성을 제공하며 데이터 접근 제어를 통한 보안도 제공
  • 데이터 모델 개념
    • 데이터 모델
      • 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기기 위해 단순화, 추상화하여 체계적으로 표현한 개념적 모형
      • 데이터 모델 종류: 개면적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델
      • 데이터 모델에 표시할 요소: 구조, 연산, 제약 조건
      • 데이터 모델 구성 요소: 개체, 속성, 관계
    • 개념적 데이터 모델
      • 개념적 모델링은 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
      • 대표적인 개념적 데이터 모델로는 E-R 모델이 있음
    • 논리적 데이터 모델
      • E-R 다이어그램으로 표현된 개념적 구조를 컴퓨터가 이해할 수 있도록 선택한 데이터베이스 관리 시스템에 따라 데이터베이스에 저장할 형태로 표현한 데이터베이스의 논리적 구조를 표현하는 과정
      • 논리적 데이터 모델은 관계 모델, 계층 모델, 네트워크 모델로 구분됨
    • 물리적 데이터 모델
      • 작성된 논리적 모델을 실제 컴퓨터 저장 장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정
  • 데이터 모델의 구성 요소
    • 개체 (Entity)
      • 데이터베이스에 표현하고자 하는 것
      • 사람이 생각하는 개념이나 정보 단위와 같은 현실 세계의 대상체
      • 유일한 식별자 (Unique Identifier)에 의해 식별이 가능해야 함
      • 개체 타입에는 반드시 속성 (Attribute) 들이 포함되어 잇어야 함
      • 개체 타입은 다른 개체 타입과 최소 한 개 이상의 관계가 있어야 함
    • 속성 (Attribute)
      • 개체 (Entity)에서 관리하고자 하는, 더 이상 분리되지 않는 최소의 데이터 단위
      • 기본 속성 (Basic Attribute): 업무로부터 추출한 모든 속성에 해당
      • 설계 속성 (Designed Attribute): 데이터 모델링을 위해 업무를 규칙화하려고 속성을 새로 만들거나 변형하여 정의하는 속성
    • 관계 (Relationship)
      • 두 개 이상의 개체들 간에 명명된 의미 있는 연결
        • 일대일(1:1): 개체집합 A의 한 개체가 개체집합 B의 한 개체와 관계를 맺는 경우
        • 일대다(1:N): 개체집합 A의 한 개체가 개체집합 B의 여러 개체와 동시에 관계를 맺는 경우
        • 다대다(N:N): 개체집합 A의 여러 개체가 개체집합 B의 여러 개체와 동시에 관계를 맺는 경우
  • 개체-관계 (E-R) 모델
    • 개체-관계 (E-R) 모델
      • 1976년 피터 첸 (Peter Chen)에 의해서 최초로 제안된 대표적인 개념적 데이터 모델
      • 개체와 개체들 간의 관계를 도형화하여 개념적으로 표현
      • E-R 다이어그램은 데이터 구조를 개체 (Entity), 속성 (Attribute), 관계 (Relationship)로 표현
      • 표기법에는 피터 첸 표기법, 정보 공학 표기법, 바커 표기법 등이 있음
    • 피터 첸 표기
      •  

  • 데이터베이스 정규화 (Normalization)
    • 정규화
      • 함수 종속성을 이용하여, 릴레이션을 연관싱이 있는 속성들로만 구성되도록 분해하여 이상 현상이 발생하지 않는 바람직한 릴레이션으로 만들어 나가는 과정
      • 불필요한 데이터 중복으로 인해 발생하는 부작용으로써 함수 종속 관계 여러 개를 하나의 릴레이션에 표현하는 경우에 주로 발생
      • 이상 현상에는 합입 이상 (Insertion Anomaly), 갱신 이상 (Modification Anomaly), 삭제 이상 (Deletion Anomaly) 등이 있음
      • 이상 현상은 정규화를 통해 방지할 수 있음
    • 정규화 과정
      • 제 1정규형 (1NF): 릴레이션에 속한 모든 속성의 도메인이 원자값으로만 구성된 정규형
      • 제 2정규형 (2NF): 릴레이션이 제 1정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속된 정규형
      • 제 3정규형 (3NF): 리레이션이 제 2정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않은 정규형
      • 보이스 / 코드 정규형 (BCNF: Boyce / Codd Normal Form): 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키인 정규형
      • 제 4정규형 (4NF): 다치 종속을 제거한 정규형
      • 제 5정규형 (5NF): 조인 종속성을 이용한 정규형
  • 논리 데이터 모델 품질 검증
    • 좋은 데이터 모델의 요건
      • 완전성, 중복 배제, 비지니스 룰, 데이터 재사용, 안정성 및 확장성, 간결성, 의사소통, 통합성
    • 데이터 모델 품질 검증 기준
      • 정확성, 완전성, 준거성, 최신성, 일관성, 활용성