[ 데이터베이스 ] 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) 확보
'Back-End > SQL 개발자 자격증' 카테고리의 다른 글
[ 데이터베이스 ] Built in Function (0) | 2023.11.12 |
---|---|
[ 데이터베이스 ] Foreign key specification options (1) | 2023.11.06 |
[ 데이터베이스 ] ERD, Data Modeling, Normalization (0) | 2023.11.01 |
[ 데이터베이스 ] Optimizer, Execution Plan 2 (1) | 2023.10.30 |
[ 데이터베이스 ] Optimizer, Execution Plan (1) | 2023.10.28 |