Back-End/SQL 개발자 자격증

[ 데이터베이스 ] Entity Classification and Characteristics

psy_er 2023. 11. 2. 00:47
728x90

[ 데이터베이스 ] Entity Classification and Characteristics

 

 

데이터 모델링의 유의점

- 중복 : 같은 시간 같은 데이터 제공, 여러 장소에 같은 정보가 저장된 것은 아니다.

- 비유연성 : 사소한 업무변화에 데이터 모델이 수시로 변경되면 안 됨, 데이터 정의를 사용해 프로세스와 분리

- 비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의하기

 

 

데이터 모델링의 3단계

- 개념적, 논리적, 물리적 순으로 구체화된다.

- 추상화 정도에 따라 나뉜다.

- 추상화가 클수록 포괄적이다. 구체적은 그 반대

 

개념적 모델링 : 전사적 모델링

논리적 모델링 : 정규화 (중복제거, 속성이 적절한 엔티티에 배치)

 

 

데이터 독립성 요소

- 데이터베이스 스키마구조 3단계

외부스키마 : 개개 사용자가 보는 개인적 DB 스키마

개념스키마 : 모든 사용자 관점을 통합한 전체 DB 스키마

내부스키마 : 물리적 장치에서 데이터가 실제적 저장된 형식

 

 

데이터 독립성

- 상호 영향에서 벗어나, 고유 기능을 극대화

논리적 독립성 : 개념스키마 변경 -> 외부스키마에 영향 X

물리적 독립성 : 내부스키마 변경 -> 외부/개념 스키마에 영향 X

 

 

Mapping(사상)

- 상호 독립적인 개념을 연결시켜 주는 다리

논리적 사상 : 외부 스키마(외부화면, 사용자 인터페이스) ~ 개념 스키마(전체 통합)

물리적 사상 : 개념 스키마(전체 통합) ~ 내부 스키마(실제 DB)

 

 

데이터 모델링의 3요소 

- 엔티티(객체), 성격(속성), 관계

 

 

모델링의 특징

(현실세계) -> 추상화, 단순화, 정확화 -> (모델)

추상화 : 현실세계를 일정한 형식으로 표현

단순화 : 복잡한 현실을 쉽게

정확화 : 정확한 현상을 기술, 애매모호 X

 

 

ERD  정리

 

|| : 정확히 1

O| : 0 또는 1

|< : 1 이상

O< : 0 이상

 

------ : 비식별 관계 = 부모테이블의 PK가 자식테이블의 일반칼럼으로 참조

____:  식별 관계 = 부모테이블의 PK가 자식테이블의 FK or PK로

 

 

좋은 데이터 모델의 요소 (품질 평가)

1. 완전성 : 업무에 필요한 모든 데이터가 모델에 정의

2. 중복배제 : 하나의 DB내에 동일한 사실은 한 번만

3. 업무규칙 : 많은 규칙을 사용자가 공유하도록 제공

4. 데이터 재사용 : 데이터가 독립적으로 설계돼야 함

5. 의사소통 : 업무규칙은 엔터티, 서브타입, 속성, 관계 등의 형태로 최대한 자세히 표현

6. 통합성 : 동일한 데이터는 조직전체에서 한 번만 정의, 참조 활용

 

 

엔터티

- 업무에 필요하고 유용한 정보를 저장, 관리 위한 집합적인 것, 보이지 않는 개념도 포함, 객체이다

- 단 1개의 식별자 보유

- 엔터티는 인스턴스의 집합

- 인스턴스는 엔티티 하나의 값, 속성의 집합이다

- 2개 이상의 인스턴스, 2개 이상의 속성, 1개 이상의 관계를 가져야 함

- 공통코드 / 통계성 엔티티는 관계 생략 가능

 

 

적절한 엔터티의 특징

1. 반드시 해당 업무에서 필요하고 관리하고자 함

2. 인스턴스를 구별하는 유일한 식별자에 의해 식별 가능

3. 영속적으로 존재하는 두 개 이상의 인스턴스의 집합

4. 업무 프로세스에 의해 이용되어야 함, 이용되지 않으면 잘못된 엔터티이다.

5. 반드시 속성이 있어야 함

6. 다른 엔터티와 최소 1개 이상의 관계가 있어야 함 (공통코드 / 통계성(READ ONLY) 엔티티는 관계 생략 가능)

 

 

<엔터티의 분류>

 

1. 유무형에 따른 분류 : 유형, 개념, 사건 엔터티

유형 : 물리적 형태 ex) 사원, 물품, 강사

개념 : 개념적 정보 ex) 조직, 보험상품

사건 : 업무수행 시 발생 ex) 주문, 청구, 미납

 

2. 발생시점에 따른 분류 : 기본/키, 중심, 행위 엔터티

기본 : 해당 업무에 원래 존재하는 정보, 관계에 의한 생성 X 독립적인 생성, 타 엔터티의 부모역할, 고유한 주식별자 가짐 ex) 사원, 부서

중심 : 기본 엔터티로부터 발생, 다른 엔터티와의 관계로 많은 행위 엔터티 생성

ex) 계약, 사고, 주문

행위 : 2개 이상의 부모 엔터티로부터 발생, 자주 바뀌거나 양이 증가

ex) 주문목록, 사원변경이력

 

3. 교차 엔터티

- 다대다 관계를 해소하기 위해 인위적으로 만들어진 엔터티

- N:1이 되는 중간 엔터티를 생성

- 실제 업무와 관련 없다

 

 

엔터티의 명명 

- 현업업무에서 사용하는 용어 사용, 약어 사용 금지, 단수명사 사용, 고유한 이름 사용, 생성의미대로 부여

 

 

속성

- 엔터티에 대한 자세하고 구체적인 정보

- 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 분리되지 않는 최소의 데이터 단위

- 한 개의 엔터티는 2개 이상의 인스턴스 집합

- 한 개의 엔터티는 2개 이상의 속성을 가짐

- 한 개의 속성은 1개의 속성값을 가짐, 1개 이상의 속성값 불가능

 

 

속성의 분류 : 기본, 설계, 파생 속성

기본 : 업무로부터 추출한 모든 일반적인 속성

설계 : 업무를 규칙화하기 위해 새로 만들거나 변형, 정의하는 속성, 업무상 존재하지 않는다. ex) 일련번호, 분류코드

파생 : 다른 속성에 영향받은 속성, 빠른 성능을 낼 수 있도록 원래 속성의 값을 계산한 값임, 적을수록 좋음 ex) 합

 

 

도메인

- 속성에 대한 데이터 타입, 크기, 제약사항 지정

- 각 속성이 가질 수 있는 값의 범위

- ex) 20자 내외, 0.0~ 4.0 이내

 

 

속성의 명명

1. 해당업무에서 사용하는 이름 부여

2. 서술식 속성명은 사용 금지, 복합 명사 사용

3. 약어 사용 금지

4. 구체적으로 명명하여 데이터 모델에서 유일성(동일한 속성명 X) 확보

 

 

 

728x90