본문 바로가기
  • RATEL.SHO
[ORACLE]

데이터 모델링 [0]

by ratelsho 2023. 5. 9.

데이터 모델링 

1. 데이터 모델링 개요

 - 회사나 조직의 여러 응용 시스템들이 공용(Shared)하며, 통합(Integrated)되고, 저장(Stored)되어 있으며, 운영(Operational)되고 있는 데이터의 집합을 데이터베이스라 한다.

데이터베이스 기술의 발전은 데이터 모델이나 구조에 따라 구분

데이터 모델 종류

• 계층형 모델 • 네트워크 모델 • 관계형 모델 • 객체 관계형 모델 • 관계형 이후 모델(NoSQL)

프로세스 모델링 (정적 & 동적 모델(분석) -> 정적 & 동적 모델(설계) -> 소스 코드)

데이터 모델링 (논리 모델 -> 물리 모델 -> 데이터베이스 구조)

Data Model의 종류

• Flat Model, Hierarchical Model, Network Model,

• Relational Model, Object-Relational Model, Star Model

• NoSQL Model

데이터 모델러를 사용해서 DB 모델링을 함, ERD(Entity Relationship Diagram)만드는 툴 // 데이터베이스랑 다른 개념

  • 물리 모델 + 논리 모델  // 논리 모델에서 1 – M 관계에서는 1의 주키가 M의 외래키로 지정된다.
  • 엔티티 (사각형) 
  • 바커 표기법과 정보공학 표기법의 가장 큰 차이점은 옵션필수의 표기이다.. 옵션과 필수로 인해서 OUTER JOIN이 결정된다. 바커 표기법은 점선과 실선으로 구분하고, 정보공학 표기법은 I, O으로 구분

kcc 업무에서는 정보공학 표기법을 사용한다.

바커 표기법

정보공학모델링

  • | , O가 있으면 옵션을 생각해야함 
  • 1대 다 관계에서 1쪽을 parent, source 라고 부름, 다 쪽은 child, target이라고 부름
  • 관계성 기수성(차수) 표현 방법

  • 관계의 선택성 표현 방법

 

총 정리

  • 데이터베이스 정의를 내릴 수 있어야한다.
  • 프로세스 모델링, 데이터 모델링 구분 차이점 알기 
  • 논리 모델, 물리 모델 개념 이해 
  • 바커 표기법, 정보공학 표기법은 선택의 문제지만 차이점을 알아야함

2. 요구사항 분석 

-   ppt 내용 읽어보고 넘어가기

  • 모호성을 해결하는 것이 가장 중요

3. 논리 모델링

3.1. 엔티티 정의, 표기, 선정, 분류

  • 엔티티란 의미 있는 유용한 정보를 제공하기 위하여 기록, 관리하고자 하는 데이터의 유형으로 사람, 사물, 장소, 개념 또는 사건 등의 실체, 특징을 표현하기 위한 둘 이상의 속성이 있어야 함  ( 2차원 배열로 표현할 수 있는 것이면 엔터티라고 보면 됌)

// ERD에서 E가 엔터티

엔터티 분류

키 엔티티

• 자신의 부모를 가지지 않는 엔티티이며, 처음부터 존재하는 엔티티이다.

• 예 : 사원, 부서, 고객, 상품, 자재

메인 엔티티

• 다른 엔티티들이 존재하는 상태에서 생성되는 엔티티 중에서 업무의 중심이 되는 엔티

티이다.

• 예 : 보험계약, 사고, 예금원장, 청구 등

• 예 : 구매의뢰, 출하지시, 공사, 주문, 매출 등.

액션 엔티티

• 반드시 다른 엔티티들이 존재하는 상태에서 생성된다.

• 예 : 상태이력, 차량수리내역, 상세주문내역 등.

 

관계분류

 

3.2 논리모델링

3.2.1 속성 정의

- 속성 정의 : 더 이상 분할되지 않는 최소의 데이터 보관 단위

- 속성들은 반드시 식별자에 종속되어야 한다. (제 2정규형) 

3.2.2 속성 분류

속성은 식별자( Identifier / Primary Key )와 비식별자(Desctiptor)로 나눌 수 있다.

식별자: 엔티티를 서로 유일하게 식별하는 역할의 속성 

비식별자: 특정 엔티티를 묘사하는 역할의 속성  

3.3.3 속성명

현업 용어로부터 의미 있는 단어를 추출하여 부여

소유격 사용X, 약서 사용 배제하고, 가급적 Full Name 사용 

3.3.4 속성분류

기본 속성(Basic Attribute), 설계 속성(Designed Attribute), 추출 속성(Derived Attribute)

3.3.5 속성 정의 4단계

최소 단위로 분할 -> 하나의 값인지 검증 -> 추출 속성인지 검토 -> 관리 수준을 검토

3.3.6 속성 검증

단일값 속성(solitary attribute)를 제거 -> 다른 의미를 지닌 여러 개의 속성을  하나의 속성으로 통합 X-> 속성과 식별자의 종속 관계가 유지되는지 검토 -> 코드 속성은 의미에 따라 상호 독립적으로 유지 

 

식별자 정의 & 선정 기준

  • 엔티티의 인스턴스들 사이의 유일성을 보장하는 속성이다.
  • 하나 또는 그 이상의 속성(Attribute)으로 구성한다.
  • 모든 엔티티는 반드시 식별자가 있어야 한다.
  • 식별자를 구성하는 모든 속성은 반드시 데이터가 존재해야 한다(Not Null).
  • 식별자(주키)는 변경되지 않도록 관리한다.

3.3.7 식별자 도출

속성 중에서 검토 + 관계를 고려 + 식별자 검증

3.3.8 정규화(Normalization)

불필요한 데이터의 중복을 제거하여 안정성을 갖게 하는 작업을 의미

 

3.3.9 데이터 표준화

- 시스템 별로 산재되어 있는 데이터 정보 요소에 대한 명칭, 정의, 형식,

규칙에 대한 원칙을 수립하여 이를 전사적 또는 조직적으로 적용하는 것

도메인 개요

  • 엔티티 속성이 가질 수 있는 데이터의 집합, 엔티티의 속성들이 서로 도메인이 같다는 것은 속성들의 데이터 타입과 길이 및 제약 사항이 동일하다는 의미, 도메인으로 지정하면 속성의 데이터 타입과 크기가 일관된 규칙에 따라 부여 되기에 모델의 관리가 용이하다. 모델링 초기 단계에서 도메인을 정의하는 작업도 중요하지만 프로젝트 진행 중간이나 운영 중에 도메인의 변경, 추가가 발생하더라도 일관성을 유지할 수 있도록 관리하는 것은 더욱 중요
  • 모델검증 ( 구조적 타당성(Structural Validity), 단순성(Simplicity), 비중복성(NoN Redundancy), 공유성(Commonality)  ) 
  • 모델검증 ( 무결성 (Integrity), 완전성(Completeness), 자명성(Self-Expensibility), 확장성(Extensibility), 정규성 )  
  • TOOLS에 객체 편집 용어집 편집기에서 영문 약어 수정 가능 (논리적 -> 물리적) 


'[ORACLE]' 카테고리의 다른 글

Oracle [0]  (0) 2023.05.09