YJ의 새벽
sqld (1) - 데이터 모델링의 이해 본문
- 모델링 특징
추상화 : 현실세계, 다양한 현상 일정한 양식인 표기법에 의해 표현
단순화 : 복잡한 현실세계를 약속된 규약 의해 제한된 표기법이나 언어로 표현
명확화 : 누구나 이해하기 쉽게 대상에 대한 애매모호함을 제거
- 모델링의 세 관점
데이터 관점 : 업무가 어떤 데이터와 관련이 있는지, 데이터간 관계 무엇인지
프로세스 관점 : 업무가 실제하고 있는 일이 무엇인지, 무엇을 해야하는지
상관 관점 : 업무 처리하는 방법에 따라 데이터가 어떻게 영향받고 있는지
- 데이터 모델링 정의
정보시스템 구축을 위한 데이터 관점의 업무 분석기법으로 현실세계 데이터에 대해
약속된 표기법에 의해 표현하는 과정,
데이터베이스 구축하기위한 분석, 설계과정.
- 데이터 모델링 유의점
중복 : 같은 시간 같은 데이터 제공
비유연성 : 사소한 업무변화에 데이터 모델이 수시로 변경되면 안됨.
비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의해야 함.
- 데이터 모델링의 작업 순서
1) 엔터티를 그린다
2) 엔터티를 적절하게 배치한다
3) 엔터티간 관계를 설정한다
4) 관게명을 기술한다
5) 관계의 참여도를 기술한다
6) 관계의 필수 여부를 기술한다
- 데이터 모델링의 3단계 진행 ( (추상적) 개념적 -- 논리적 -- 물리적 (구체적) ) --> 개 논 물 !!
개념적 데이터 모델링 : 추상화, 업무중심적, 포괄적, 전사적, EA수립시 사용
사용자 관점에서 데이터 요구사항을 식별
논리적 데이터 모델링 : KEY, 속성, 관계 표현, 재사용성 높음(정규화)
식별자확정 무결성 정의
물리적 데이터 모델링 : 실제 데이터베이스 이식할 수 있도록 성능,저장 등 물리적 성격 고려
- 데이터 독립성 요소 ( 외 개 내 !! )
외부 스키마 : 개인 사용자가 보는 개인적 DB스키마
개념 스키마 : 모든 사용자 관점을 통합한 전체 DB
내부 스키마 : 물리적 장치에서 데이터가 실제적 저장
- 데이터 모델링 세가지 요소
엔티티(Entity), 속성(Attribute), 관계(Relationships)
- 엔터티 개념
엔터티는 사람, 장소, 물건, 개념 등의 명사에 해당한다.
엔터티는 업무상 관리가 필요한 관심사에 해당한다.
엔터티는 저장이 되기위한 어떤 것 이다.
- 엔터티 특징
업무에서 필요하고 관리하고자 하는 정보여야 한다.
유일한 식별자에 의해 식별이 가능해야 한다. ★
반드시 속성이 있어야 한다. ★
인스턴스의 집합 이어야 한다. ( 따라서 하나의 엔터티는 두개 이상의 인스턴스로 구성 ) ★
다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다 ★
현업 업무에서 사용하는 용어를 이용한다. ★
가능하면 약어를 사용하지 않는다. ★
유일하게 이름이 부여되어야 한다. ★
단수 명사를 사용해야 한다.
- 속성(Attribute)의 개념
업무에서 필요로 한다.
의미상 더이상 분리되지 않는다. ★
인스턴스의 구성 요소이다.
서술식 속성 명은 사용하지 않는다.
약어 사용은 가급적 제한한다.
- 인스턴스 - 속성 - 속성값
한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다 ★
한 개의 엔터티는 두 개 이상의 속성을 갖는다 ★
한 개의 속성은 한 개의 속성값만 갖는다 ★
- 속성 분류
기본속성 : 업무분석을 통해 바로 정의한 속성
설계속성 : 업무상 존재하지는 않지만 설계를 하며 도출해 내는 속성 ( 코드성 속성 )
파생속성 : 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성 ( 계산된 속성 )
- 도메인(Domain) 의 정의
각 속성이 가질 수 있는 값의 범위
각 속성은 오직 도메인 내에 있는 값만 가질 수 있다.
- 관계 (Relationships) 의 분류
1) 존재에 의한 관계 ( 부서와 사원 )
2) 행위에 의한 관계 ( 고객과 주문 )
- 관계 표기법
관계명 , 관계차수 , 관계선택사양
- 관계 정의 시 고려 사항
두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가 ?
규칙이 서술되어 있는가 ?
관계연결을 가능하게 하는 동사가 있는가 ?
- 식별자의 특징
유일성 : 주식별자에 의해 엔터티 내에 모든 인스턴스들은 유일하게 구분되어야 한다.
최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.
불변성 : 지정된 주식별자의 값은 자주 변하지 않는 것이어야 한다.
존재성 : 주식별자가 지정되면 반드시 값이 들어와야 한다.
- 식별자 도출 기준
해당 업무에서 자주 이용되는 속성을 주식별자로 지정한다.
명칭,내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않는다.
주식별자가 복합으로 구성되는 경우, 너무 많은 속성이 포함되지 않도록 한다.
- 식별자 , 비식별자 관계
식별자 관계 : 부모의 주식별자가 자식 엔터티의 주식별자로 상속되는 경우
비식별자 관계 : 부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고
일반적인 속성으로만 사용하는경우
: 부모와 자식의 생명주기가 다른 경우 ( 별도로 소멸 )
: 자식엔터티에 별도의 주식별자를 생성하는것이 더 유리한경우
: SQL 문장이 길어져 복잡성이 증가되는것 방지.
'SelfStudy > sqld' 카테고리의 다른 글
sqld (4) - SQL 활용 (0) | 2024.03.06 |
---|---|
sqld (3) - SQL 기본 (0) | 2024.02.21 |
sqld (2) - 데이터 모델과 성능 (0) | 2024.02.21 |