자격증/정보처리기사 📌 [정보처리기사] 논리 데이터베이스 설계 - 데이터 모델의 구성 요소 : 개체(Entity)/속성(Attribute)/관계(Relationship)
  • 728x90
    반응형

     

     

    목차

       

      개체의 정의 및 특징

      📌 개체(Entity)는 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.

      • 개체는 실세계에 독립적으로 존재하는 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성된다.
      • 파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 수행한다.
      • 영속적(Persistence)으로 존재하는 개체의 집합이다.
      • 독립적으로 존재하거나 그 자체로서도 구별이 가능하다.
      • 유일한 식별자(Unique Identifier)에 의해 식별이 가능한다.
      • 개체는 업무 프로세스에 의해 이용된다.
      • 다른 개체와 하나 이상의 관계(Relationship)가 있다.

       

      💡 영속성(Persistence)은 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미한다. 영속성은 파일 시스템, 관계형 데이터베이스 혹은 객체 데이터베이스 등을 활용하여 구현한다.
      💡 식별자(Identifier)는 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미한다. 하나의 엔터티 안에는 반드시 유일한 식별자가 존재해야 한다.
      💡 유형, 무형의 정보 : 유형의 정보는 물리적으로 존재한느 사람, 자동차, 집 등을 말하고, 무형의 정보는 개념적으로 존재하는 여행, 음악, 취미 등을 말한다.

       

       

      🔔 예) 다음은 교수 번호, 성명, 전공, 소속으로 구성된 교수 개체이다.

        속성  
      교수 번호 성명 전공 소속 개체 타입(레코드 타입)
      개체
      세트
      1100 홍길동 컴퓨터 서울대 개체
      인스턴스
      2102 김지영 아동 연세대
      3200 강감찬 식물 경북대

       

      • 속성 : 개체가 가지고 있는 특성, 교수번호, 성명, 전공, 소속
      • 개체 타입 : 속성으로만 기술된 개체의 정의
      • 개체 인스턴스 : 개체를 구성하고 있는 각 속성들이 값을 가져 하나의 개체를 나타내는 것으로 개체 어커런스(Occurrence)라고도 한다. 어커런스는 정의된 레코드의 구조에 따라 데이터베이스에 구체적이고 실제적인 정보를 저장하고 있는 데이터를 의미한다.
      • 개체 세트 : 개체 인스턴스의 집합

       

      개체 선정 방법

      • 업무 분석에 관한 내용을 구체적으로 설명한 업무 기술서를 이용한다.
      • 실제 업무를 담당하고 있는 담당자와 인터뷰를 한다.
      • 업무 기술서와 인터뷰에서 확인하지 못한 정보가 있는지 실제 업무를 직접 견학하여 확인한다.
      • 실제 업무에 사용되고 있는 장부와 전표를 이용한다.
      • 이미 구축된 시스템이 있는 경우 해당 시스템의 산출물을 검토한다.
      • 자료 흐름도(DFD)를 통해 업무 분석을 수행했을 경우 자료 흐름도의 자료 저장소(Data Store)를 이용한다.
      • BPR(업무 프로세스 재설계)에 의해 업무를 재정의한 경우 관련 개체를 찾는다.

       

      💡 자료흐름도(DFD : Data Flow Diagram) : 자료 흐름도는 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형을 중심으로 기술하는 방법으로 자료 흐름 그래프 또는 버블 차트라고도 한다.
      💡 자료 저장소(Data Store) : 자료 저장소는 시스템에서의 자료 저장소(파일, 데이터베이스)를 의미한다.
      💡 BPR(Business Process Reengineering, 업무 프로세스 재설계) : BPR 기업이 경쟁에서 우위를 확보하기 위해 기업의 핵심 부문인 비용, 품질 서비스 스피드와 같은 요인들이 획기적인 향상을 이룰 수 있도록, 프로세스를 기반으로 비즈니스 시스템을 근본적으로 재설계 하여 혁신적인 성과를 추구하는 것을 의미한다.

       

       

      개체명 지정 방법

      • 일반적으로 해당 업무에서 사용하는 용어로 지정한다.
      • 약어 사용은 되도록 제한한다.
      • 가능하면 단수 명사를 사용한다.
      • 모든 개체명은 유일해야 한다.
      • 가능하면 개체가 생성되는 의미에 따라 이름을 부여한다.

      예) 교수, 고객, 주문, 도시 등

       

       

       


       

       

       

      속성의 정의 및 특징

      • 속성(Attribute)은 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
      • 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다.
      • 속성은 개체를 구성하는 항목이다.
      • 속성은 개체의 특성을 기술한다.
      • 속성의 수를 디그리(Degree)또는 차수라고 한다.

       

      속성의 종류

      📌 속성은 속성의 특성과 개체 구성 방식에 따라 분류할 수 있다.

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

       

      📌 속성은 속성의 특성과 개체 구성 방식에 따라 분류할 수 있다.

      • 속성의 특성에 따른 분류

      🔔 예) 속성의 특성에 따른 분류 - 자동차

      기본 속성 자동차명, 제조일, 연비
      설계 속성
      (자동차 코드)
      AO1-세단, A02-SUV, A03-트럭
      파생 속성
      (계산값)
      총판매수량, 총판매금액 등

       

      💡 해설 : 파생 속성은 다른 속성의 영향을 받는 만큼 프로세스 설계 시 정합성 유지를 위해 유의해야 할 점이 많으므로 되도록 적게 정의하는 것이 좋다. 기본 속성인 '자동차명', '제조일', '연비'는 업무 분석을 통해 정의한 가장 일반적인 속성이고, 설계 속성인 '자동차 코드'는 판매되는 자동차를 종류별로 구분하기 위해 업무에는 없지만 새롭게 정의한 속성이며, 파생 속성인 '총판매수량'과 '총판매금액'은 특정 기간 동안 판매된 자동차의 수량과 금액의 합계 계산을 위해 정의한 속성이다.

       

       

      📌 속성은 속성의 특성과 개체 구성 방식에 따라 분류할 수 있다.

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

       

      💡 기본키(Primary Key) : 기본키는 개체 인스턴스들을 서로 구분할 수 있는 유일한 속성을 말한다.
      💡 외래키(Foreign Ket) : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다.

       

       

       

      속성 후보 선정 원칙

      📌 속성으로 지정할 후보는 최대한 많이 선택하는 것이 좋으며 선정 원칙은 다음과 같다.

      • 원시(Source)속성으로 판단되는 속성 후보는 버리지 않는다.
      • 소그룹 별로 속성 후보군을 만들고 가장 근접한 개체에 할당한다.

       

      💡 원시 속성 : 다른 속성을 통해 다시 재현할 수 없는 속성을 의미한다. 원시 속성을 버리면 해당 속성 정보가 완전히 소실되므로 버리면 안된다.

       

       

      속성명 지정 원칙

      • 속성명은 웹이나 클라이언트/서버(Client/Server) 등 어떠한 환경에서든 사용자 인터페이스에 나타나기 때문에 정확하고 혼란이 없도록 지정해야 한다.
      • 속성명 지정 원칙
        • 해당 업무에서 사용하는 용어로 지정한다.
        • 서술형으로 지정하지 않는다.
        • 가급적이면 약어의 사용은 제한한다.
        • 개체명은 속성명으로 사용할 수 없다.
        • 개체에서 유일하게 식별 가능하도록 지정한다.

       

      💡 속성명을 서술형으로 지정하지 않는 이유는 속성명을 수식어가 많은 서술형으로 지정하면 해당 속성명이 무엇을 의미하는지 파악하기 어렵고 다루기 힘들다. 때문에 의미 파악이 쉽고 다루기 쉬운 명사형으로 지정해야 한다.

       

       

       


       

       

       

       

      관계의 정의

      📌 관계는 개체와 개체 사이의 논리적인 연결을 의미한다.

      • 관계에는 개체 간의 관계와 속성 간의 관계가 있다.

       

      🔔 예) 다음은 교수가 학생을 지도하는 관계이다.

       

      💡 관계(Relationship)의 이용 : 교수의 전공을 알기 위해서는 속성간의 관계를 이용하고, 교수가 가르치는 학생의 이름을 알기 위해서는 개체 간 관계를 이용한다.

       

       

      관계의 형태

      📌 관계의 형태에는 일 대 일(1:1), 일 대 다(1:N), 다 대 다(N:M) 관계가 있다.

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

       

       

      관계의 종류

      📌 관계는 처리하는 업무 형태에 따라 종속 관계, 중복 관계, 재귀 관계, 배타 관계 등이 있다.

      • 종속 관계(Dependent Relationship) : 두 개체 사이의 주, 종 관계를 표현한 것으로, 식별 관계와 비식별 관계가 있다.
      • 중복 관계(Redundant Relationship) : 두 개체 사이에 2번 이상의 종속 관계가 발생하는 관계이다.
      • 재귀 관계(Recursive Relationship) : 개체가 자기 자신과 관계를 갖는 것으로, 순환 관계(Recursive Relationship)라고도 한다.
      • 배타 관계(Exclusive Relationship)
        • 개체의 속성이나 구분자를 기준으로 개체의 특성을 분할하는 관계로, 배타 AND 관계와 배타 OR 관계로 구분한다.
        • 배타 ANS 관계는 하위 개체들 중 속성이나 구분자 조건에 따라 하나의 개체만을 선택할 수 있고, 배타 OR 관계는 하나 이상의 개체를 선택할 수 있다.

       

      💡 관계 데이터베이스 특성상 관계가 복잡하면 최적화 작업이 어려우므로 중복 관계는 되도록 사용하지 않는 것이 좋다.

       

       

      관계의 표현

      📌 관계는 관계 표기 기호를 사용하여 표시한다.

      • 관계 표기 기호
      기호 의미
      | 필수(Mandatory)
      O 선택적(Optional)
      < 다중(Multiple)

       

      • 관계의 표현

       

       

      식별 관계 / 비식별 관계

      • 식별 관계(Identifying Relationship)
        • 개체 A, B 사이의 관계에서 A 개체의 기본키가 B 개체의 외래키이면서 동시에 기본키가 되는 관계를 말한다.
        • B 개체의 존재 여부가 A 개체의 존재 여부에 의존적인 경우에 발생한다.
        • ER 도형에서 식별 관계는 실선으로 표시한다.
      • 비식별 관계(Non-Identifying Relationship)
        • 개체 A, B 사이의 관계에서 A 개체의 기본키가 B 개체의 비기본키 영역에서 외래키가 되는 관계를 말한다.
        • B 개체의 존재 여부는 A 개체의 존재 여부와 관계없이 존재한다.
        • 일반적으로 두 개체는 비식별 관계로 존재하는 경우가 많다.
        • ER 도형에서 비식별 관계는 점선으로 표시한다.

       

      💡 기본키(Primary Key) : 기본키는 후보키 중에서 선택한 주키(Main Key)를 의미한다.
      💡 후보키(Candidate Key) : 릴레이션을 구성하는 속성들 중에 서 튜플을 유일하게 식별할 수 있는 속성들의 부분 집합
      💡 외래키(Foregin Key) : 외래키는 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다.

       

       

       

       

      728x90
      반응형
    상단으로