[국비학원 기록/DB 미니 프로젝트] DA#5 활용한 데이터 모델링 실습 01.
my code archive
article thumbnail
반응형

벌써 국비 학원 2달 마무리되어 가다니!!

데이터베이스 마무리로 모델링 실습 진행 중.

학원에서는 DA# Modeler5 툴을 사용했다.

다운로드 링크는 여기

https://www.en-core.com/board/download

 

㈜엔코아

데이터 비즈니스 전문기업, 데이터 거버넌스, 데이터 컨설팅, 데이터 전문 솔루션, DATAWARE, 데이터 마이그레이션, 데이터 레이크, 데이터 포털, 데이터 분석과 활용, MSA

www.en-core.com

 

데이터모델링

1.데이터 모델링 이해관계자

프로젝트 개발자    ----->     데이터모델링 이해/기술   <-----   현업 업무 전문가

 

2.데이터모델링 3요소

-어떤 것? (Entity)

-성격 (Attribute)

-관계 (Relationship)

 

3.데이터모델링 용어

 

                            <복수/집합 개념>              <개별/단수 개념>

---------------------------------------------------------------------------------------

1)어떤 것                 엔티티 타입

                             엔티티                               인스턴스(instance)

---------------------------------------------------------------------------------------

2)성격                     속성(Attribute)                     속성값

---------------------------------------------------------------------------------------

3)관계                     관계(Relationship)                 페어링(Pairing)

 

 

4.엔티티(Entity)

1)유형에 따른 분류

-유형 : 사원, 물품, 강사    (물리적인 형태가 있고 지속적으로 활용되는 엔티티)

-개념 : 조직, 보험상품     (물리적인 형태가 존재하지 않고 개념적인 정보로 구분되는 엔티티)

-사건 : 주문, 청구, 미납     (업무를 수행함에 따라 발생되는 엔티티)

 

2)발생 시점에 따른 엔티티 분류

-기본 : 사원, 부서, 고객, 상품, 자재    (원래 존재하는 정보로서 독립적으로 생성 가능한 엔티티)

-중심 : 계약, 사고, 청구, 주문, 매출    (업무에 있어서 중심적인 역할을 하는 엔티티)

-행위 : 주문 목록, 사원 변경 이력

(부모 엔티티로부터 발생되고 자주 내용이 바뀌거나 데이터량이 증가하는 엔티티, 상세 설계 단계 진행하면서 도출)

 

3)엔티티는 인스턴스의 집합이다.

 

4)엔티티의 명령

-가능하면 현업 업무에서 사용하는 용어 사용

-가능하면 약어 사용 X

-단수 명사 사용

-모든 엔티티에서 유일하게 이름이 부여되어야함.

 

5)엔티티 특징

-반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.

-인스턴스의 집합이어야함.

-엔티티는 반드시 속성이어야함.

-엔티티는 다른 엔티티와 최소 1개 이상의 관계가 존재해야함.

(관계가 없는 엔티티가 존재하기는 함)

 

일반화

 

5.속성(Attribute)

1)속성의 개념?

-업무에서 필요로함.

-의미상 더이상 분리되지 않음.

-엔티티를 설명하고 인스턴스의 구성요소가됨.

 

2)엔티티, 인스턴스, 속성, 속성값의 관계?

-1개의 엔티티는 2개 이상의 인스턴스의 집합이여야함.

-1개의 엔티티는 2개 이상의 속성을 갖는다.

-1개의 속성은 1개의 속성값을 갖는다.

 

3)속성의 표기법

# : 해당 속성이 식별자임을 표시 (기본키)

* : 해당 속성이 필수값임을 표시

O : 해당 속성이 선택값임을 표시

 

6.관계(Relationship)

1)관계 표기법

-관계명(Membership) : 관계의 이름

-관계차수(Cardinality)

: 1:1, 1:M, M:N

-관계시작점(The Beginning) : 엔티티 관계가 시작되는 곳

-관계끝점(The End) : 엔티티 관계를 받는 곳

 

2)관계명의 명명 규칙

-애매한 동사는 피해야 한다.

-현재형으로 표현해야 한다.

 

3)관계 선택 사양

-필수적(Mandatory) : 데이터 모델 관계에서 필수 참여 관계(실선)

-선택적(Optional) : 데이터 모델 관계에서 선택 참여 관계(점선)

 

 

고객, 고객주문 테이블 모델링을 한다고 할 때

 

7.식별자(Identifiers)

1)개념

-엔티티는 인스턴스들의 집합, 각각을 구분할 수 있는 구분자를 식별자라고 한다.

-식별자는 엔티티 내에서 인스턴스를 구분할 수 있는 구분자임.

-Attribute들의 조합.

 

2)특징

-주식별자(실질 식별자)에 의해 엔티티 내에 있는 모든 인스턴스들이 유일하게 구분되어야 한다.

-지정된 주식별자의 값은 변하지 않는 것이어야 한다.

-주식별자가 지정이 되면 반드시 값이 들어와야 한다.

 

고객 테이블 E-R 다이어그램을 만든다고 했을 때

<무결성 제약조건>에 의해
실질 식별자는 자동으로 Not Null 체크가 되고
나머지 Not Null로 체크하는 속성도 테이블 생성 시 null 값을 입력할 수 없다.

하지만 Not Null이 많을수록 들어가야 하는 데이터가 많아지기 때문에
많을수록 좋지는 않다.

고객, 주문, 주문 상세, 상품 E-R 다이어그램 예시

식별자는 #로 표시,
Not Null 속성값은 *로 표시,

Null값을 허용하는 선택값은 O로 표시

 

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형