정보처리기사 - 데이터 입출력 구현 #36~39

2023. 8. 19. 11:03자격증/정보처리기사

36. 데이터 모델의 개념

36.1 데이터 모델

현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형
  • 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약 조건 등을 기술하기 위한 개념적 도구들로 구성되어 있음
  • 데이터베이스 설계 과정에서 데이터의 구조(Schema)를 논리적으로 표현하기 위해 지능적 도구로 사용
  • 데이터 모델 구성 요소 : 개체, 속성, 관계
  • 데이터 모델 종류 : 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델
    • 물리적 데이터 모델 : 실제 컴퓨터에 데이터가 저장되는 방법을 정의하는 물리 데이터베이스 설계 과정
  • 데이터 모델에 표시할 요소 : 구조, 연산, 제약 조건

36.2 개념적 데이터 모델

현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표시하는 과정
  • 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현
  • 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하기 때문에 정보 모델이라고도 함
  • 대표적인 개념적 데이터 모델로는 E-R 모델이 존재

36.3 논리적 데이터 모델

개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정
  • 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여 현실 세계를 표현
  • 단순이 데이터 모델이라고 하면 논리적 데이터 모델을 의미
  • 특정 DBMS는 특정 논리적 데이터 모델 하나만 선정하여 사용
  • 논리적 데이터 모델은 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분

36.4 데이터 모델에 표시할 요소

요소 내용
구조
(Structure)
논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질 표현
연산
(Operation)
데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로써 데이터베이스를 조작하는 기본 도구
제약 조건
(Constraint)
데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

37. 데이터 모델의 구성 요소

37.1 개체(Entity)

데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
  • 실세계에 독립적으로 존재하는 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성
  • 독립적으로 존재하거나 그 자체로서도 구별이 가능하며, 유일한 식별자(Unique Identifier)에 의해 식별
  • 다른 개체와 하나 이상의 관계(Relationship)가 존재

<교수 개체의 구성 요소>

  • 교수 개체의 구성 요소
종류 내용
속성 개체가 가지고 있는 특성(교수번호, 성명, 전공, 소속)
개체 타입 속성으로만 기술된 개체의 정의
개체 인스턴스 - 개체를 구성하고 있는 각 속성들이 값을 가져 하나의 개체를 나타내는 것- 개체 어커런스(Occurrence)라고도 함
개체 세트 개체 인스턴스의 집합

37.2 속성(Attribute)

데이터베이스를 구성하는 가장 작은 논리적 단위
  • 파일 구조상의 데이터 항목 또는 데이터 필드에 해당됨
  • 개체를 구성하는 항목으로 개체의 특성을 기술
  • 속성의 수를 디그리(Degree) 또는 차수라고 함
  • 속성의 특징과 개체 구성 방식에 따라 분류

37.3 속성의 특성에 따른 분류

분류 내용
기본 속성
(Basic Attribute)
- 업무 분석을 통해 정의한 속성- 속성 중 가장 많고 일반적- 업무로부터 분석한 속성이라도 업무상 코드로 정의한 속성은 기본 속성에서 제외
설계 속성
(Designed Attribute)
- 원래 업무상 존재하지 않고 설계 과정에서 도출해내는 속성- 업무에 필요한 데이터 외에 데이터 모델링을 위해 업무를 규칙화하려고 속성을 새로 만들어가 변형하여 정의하는 속성
파생 속성
(Derived Attribute)
- 다른 속성으로부터 계산이나 변형 등의 영향을 받아 발생하는 속성- 파생 속성은 되도록 적은 수를 정의하는 것이 좋음
  • 파생 속성은 다른 속성의 영향을 받는 만큼 프로세스 설계 시 정합성 유지를 위해 유의해야 할 점이 많으므로 되도록 적게 정의하는 것이 좋음

37.4 속성의 개체 구성 방식에 따른 분류

분류 내용
기본키 속성
(Primary Key Attribute)
개체를 유일하게 식별할 수 있는 속성
외래키 속성
(Foreign Key Attribute)
다른 개체와의 관계에서 포함된 속성
일반 속성 개체에 포함되어 있고 기본키, 외래키에 포함되지 않은 속성

37.5 관계(Relationship)

개체와 개체 사이의 논리적인 연결을 의미
  • 개체 간 관계와 속성 간의 관계가 존재

37.6 관계의 형태

형태 내용
일 대 일
(1:1)
개체 집합 A의 각 원소가 개체 집합 B의 원소 한 개와 대응하는 관계
일 대 다
(1:N)
개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고 있지만, 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응하는 관계
다 대 다
(N:M)
개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고, 개체 집합 B의 각 원소도 개체 집합 A의 원소 여러 개와 대응하는 관계

<관계의 형태>

37.7 관계의 종류

종류 내용
종속 관계
(Dependent Relationship)
- 두 개체 사이의 주-종 관계를 표현한 것- 식별 관계와 비식별 관계가 존재
중복 관계
(Redundant Relationship)
두 개체 사이에 2번 이상의 종속 관계가 발생하는 관계
재귀 관계
(Recursive Relationship)
개체가 자기 자신과 관계를 갖는 것으로, 순환 관계라고도 함
배타 관계
(Exclusive Relationship)
개체의 속성이나 구분자를 기준으로 개체의 특성을 분할하는 관계로, 배타 AND 관계와 배타 OR 관계로 구분

38. 식별자(Identifier)

38.1 식별자

하나의 개체 내에서 각각의 인스턴스를 유일(Unique)하게 구분할 수 있는 구분자
  • 모든 개체는 한 개 이상의 식별자를 반드시 가져야 함

38.2 식별자의 분류

분류 식별자
대표성 여부 - 주 식별자(Primary Identifier) : 개체를 대표하는 유일한 식별자- 보조 식별자(Alternate Identifier) : 주 식별자를 대신하여 개체를 식별할 수 있는 속성
스스로 생성 여부 - 내부 식별자(Internal Identifier) : 개체 내에서 스스로 만들어지는 식별자- 외부 식별자(Foreign Identifier) : 다른 개체와의 관계(Relationship)에 의해 외부 개체의 식별자를 가져와 사용하는 식별자
단일 속성 여부 - 단일 식별자(Single Identifier) : 주 식별자가 한 가지 속성으로만 구성된 식별자- 복합 식별자(Composite Identifier) : 주 식별자가 두 개 이상의 속성으로 구성된 식별자
대체 여부 - 원조 식별자(Original Identifier) : 업무에 의해 만들어지는 가공되지 않은 원래의 식별자로, 본질 식별자라고도 함- 대리 식별자(Surrogate Identifier) : 주 식별자의 속성이 두 개 이상인 경우 속성들을 하나의 속성으로 묶엉 사용하는 식별자로, 인조 식별자라고도 함

38.3 후보 식별자

개체에서 각 인스턴스를 유일하게 식별할 수 있는 속성 또는 속성 집합을 의미
  • 인스턴스(Instance) : 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것
  • 하나의 개체에는 한 개 이상의 후보 식별자가 존재할 수 있으며, 이 중 개체의 대표성을 나타내는 식별자를 주 식별자로, 나머지를 보조 식별자로 지정

38.4 주 식별자의 특징

특징 내용
유일성 개체 내의 모든 인스턴스들은 주 식별자에 의해 유일하게 구분되어야 함
최소성 유일성을 만족시키기에 필요한 최소한의 속성으로 구성되어야 함
불변성 주 식별자가 특정 개체에 한 번 지정되면 그 식별자는 변하지 않아야 함
존재성 주 식별자가 지정되면 식별자 속성에 반드시 데이터 값이 존재해야 함

39. E-R(개체-관계) 모델

39.1 E-R(Entity-Relationship, 개체-관계) 모델

개체와 개체 간의 관계를 기본 요소로 이용하여 현실 세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법
  • 1976년 피터 첸(Peter Chen)에 의해 제안되고 기본적인 구성 요소가 정립됨
  • 개념적 데이터 모델의 가장 대표적인 것
  • 개체 타입(Entity Type)과 이들 간의 관계 타입(Relationship Type)을 이용해 현실 세계를 개념적으로 표현
  • 데이터를 개체(Entity), 관계(Relationship), 속성(Attribute)으로 묘사
  • E-R 다이어그램으로 표현하며, 1:1, 1:N, N:M 등의 관계 유형을 제한 없이 나타낼 수 있음

39.2 E-R 다이어그램

기호 기호 이름 의미
사각형 개체(Entity) 타입
마름모 관계(Relationship) 타입
타원 속성(Attribute)
이중 타원 다중값 속성(복합 속성)
밑줄 타원 기본키 속성
복수 타원 복합 속성
예) 성명은 성과 이름으로 구성

관계 1:1, 1:N, N:M 등의 개체 간 관계에 대한 대응수를 선 위에 기술
선, 링크 개체 타입과 속성을 연결