반응형

#1. 데이터 모델의 중요성 및 유의점

1) 중복(Duplication) : 같은 시간, 같은 데이터 제공

2) 비유연성(Inflexibility) 

    - 사소한 업무 변화에 데이터 모델이 수시로 변경이 되면 안됨. (유지보수의 어려움이 있음)

    - 데이터 정의를 사용 데이터 사용 프로세스와 분리

3) 비일관성(Insonsistency) : 데이터 간 상호 연관 관계에 대해 명확히 정의  

 

#2. 데이터 모델링

1) 개념적 데이터 모델링 : 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링 진행, 전사적 데이터 모델링, EA 수립시 많이 사용

2) 논리적 데이터 모델링 : 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재 사용성이 높음

3) 물리적 데이터 모델링 : 실제로 데이터베시으에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계

 

#3. 데이터 스키마 구조 3단계

1) 외부 스키마 (External Scheme) : 개개 사용자가 보는 개인적인 DB 스키마

2) 개념 스키마 (Concept Scheme) : 모든 사용자 관점을 통합적 전체 DB

3) 내부 스키마 (Internal Scheme) : 물리적 장치에서 데이터가 실제적 저장

 

#4. ERD (Entity-Relationship Design) 작성 순서

1) 엔티티를 그린다.

2) 엔티티를 적절하게 배치한다.

3) 엔티티간 관계를 설정한다.

4) 관계명을 기술한다.

5) 관계의 참여도를 기술한다.

6) 관계의 필수여부를 기술한다.

 

#5. 엔티티(업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것) 의 특징

1) 반드시 해당 업무에서 필요하고 관리하고 하는 정보이어야 한다. (예) 환자, 토익의 응시횟수 등

2) 유일한 식별자에 의해 식별이 가능해야 한다.

3) 영속적으로 존재하는 인스턴스의 집합이어야 한다. (두 개이상의 인스턴스 집합)

4) 엔티티는 업무 프로세스에 의해 이용되어야 한다.

5) 엔티티는 반드시 속성이 있어야 한다.

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

 

#6. 발생 시점에 따른 엔티티 분류

1) 기본 엔티티(Key 엔티티) : 그 업무에 원래 존재하는 정보, 타 엔티티의 부모 역할, 자신의 고유한 주식별자를 가짐 ex) 사원, 부서

2) 중심 엔티티 : 기본 엔티티로부터 발생, 다른 엔티티와의 관계로 많은 행위 엔티티 생성 ex) 계약, 사고, 주문

3) 행위 엔티티 : 2개 이상의부모 엔티티로부터 발생, 자주 바뀌거나 양이 증가 ex) 주문목록, 사원변경이력

 

#7. 엔티티의 이름을 부여하는 방법

1) 현업 업무에서 사용하는 용어 사용 (약어 사용 금지)

2) 단수 명사 사용

3) 고유한 이름 사용

4) 생성 의미대로 부여

 

#8. 엔티티, 인스턴스 속성, 속성 값의 관계

1) 한 개의 엔티티는 두 개 이상의 인스턴스의 집합이어야 한다.

2) 한 개의 엔티니는 두 개 이상의 속성을 갖는다.

3) 한 개의 속성은 한 개의 속성값을 가진다.

 

#9. 속성(Attribute)

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

2) 엔티티에 대한 자세하고 구체적인 정보를 나타낸다.

3) 분류

   - 기본 속성(Basic Attribute) : 업무로부터 추출한 모든 일반적인 속성 (원래 가지고 있어야 하는 속성) ex) 원금, 이자율, 예치기간

   - 설계 속성(Designed Attribute) : 업무를 규칙화하기 위해 새로 만들거나 변형, 정의하는 속성 ex) 일련번호, 예금 분류

   - 파생 속성(Derived Attribute) : 다른 속성에 영향을 받아 발생하는 속성, 빠른 성능을 낼 수 있도록 원래 속성의 값을 계산, 적을 수록 좋음 ex) 합, 이자

 

#9.1 속성의 명칭 부여

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

2) 서술식 속성명은 사용하지 않는다.

3) 약어 사용은 가급적 제한한다.

4) 전체 데이터 모델에서 유일성 확보하는 것이 좋다. ex) 직원이름, 고객이름

 

#10. 도메인(Domain)

1) 각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인이라 함

2) 엔티티 내에서 속성에 대한 데이터 타입과 크기 그리고 제약사항을 지정하는 것

 

#11. 관계

1) 엔티티의 인스턴 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태, 관계 페어링의 집합

2) 표기법

  - 관계명 : 관계의 이름

  - 관계 차수 : 1:1, 1:M, M:N

  - 관계 선택성(관계 선택사항) : 필수관계, 선택관계

3) 체크 사항

   - 2개의 엔티티 사이에 관심있는 연관 규칙이 있는가?

   - 2개의 엔티티 사이에 정보의 조합 발생 한가?

   - 업무기술서, 장표에 관계 연결에 대한 규칙 서술이 가능한가?

   - 업무기술서, 장표에 관계 연결을 가능케 하는 동사가 있는가?   

 

반응형

'Development > DB' 카테고리의 다른 글

[DB] ORA-06512 에러 원인과 해결 방법  (0) 2024.07.01
[DB] ORA-01013 에러 원인과 해결 방법  (0) 2024.07.01
[DB] SQL의 기본과 활용 - 2  (0) 2022.09.02
[DB] SQL의 기본과 활용 - 1  (0) 2022.08.31
[DB] Oracle Listener  (0) 2020.04.08

+ Recent posts