심심한잉여의 잡동사니

[SQLD] 데이터 모델링의 이해 -1 본문

자격증/SQLD

[SQLD] 데이터 모델링의 이해 -1

심심한잉여 2022. 5. 4. 10:48
반응형

모델링 특징
 - 추상화 : 현실세계, 다양한 현상 일정한 양식인 표기법에 의해 표현
 - 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현
 - 명확화 : 누구나 이해하기 쉽게 대상에 대한 애매모호함을 제거 

모델링의 세 가지 관점
 - 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지, 데이터간 관계 무엇인지(What, Data)
 - 프로세스 관점 : 업무가 실제하고 있는 일 무엇인지, 무엇을 해야하는지 (How, Process)
 - 상관 관점 : 업무 처리하는 방법에 따라 데이터 어떻게 영향 받고 있는지 (Interaction)

데이터 모델링 정의
정보시스템 구축을 위한 데이터 관점의 업무 분석 기법으로 현실세계 데이터에 대해 약속된 표기법에 의해 표현하는 과정이고 데이터베이스 구축하기 위한 분석, 설계과정이다.

데이터모델링 기능
명세화, 구조화, 문서화, 다양한 관점, 상세수준 표현

데이터 모델링의 유의점
중복, 비유연성, 비일관성

데이터 모델링 중요성
 - 파급효과가 크다(Leverage)
 - 복잡한 정보 요구사항의 간결한 표현(Conciseness)
 - 데이터 품질을 유지(Data Quality)

데이터 모델링의 3단계 진행
 - (추상적)개념적 → 논리적 → 물리적(구체적)
 1. 개념적 데이터 모델링(in 계획 분석 단계) : 추상화, 업무중심적, 포괄적, 전사적, EA수립시 사용
 2. 논리적 데이터 모델링(in 분석단계) : KEY, 속성, 관계 표현, 재사용성 높음(정규화)
 3. 물리적 데이터 모델링(in 설계단계) : 실제 데이터베이스 이식할 수 있도록 성능, 저장 등 물리적 성격 고려

데이터 모델링 세가지 요소
 - (어떤 것(Thing) - 엔티티(Entity)), 속성(Attribute), 관계(Relationships)

좋은 데이터 모델의 요소
 - 완정성
 - 중복배제
 - 업무규칙
 - 데이터 재사용
 - 의사소통
 - 통합성

데이터 모델에 표시할 요소
 - 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계 
 - 연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 직업에 대한 명세
                         , 데이터베이스를 조작하는 기본 도구
 - 제약조건(Constraint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

데이터 독립성 요소
 - 외부 스키마 : 개개 사용자가 보는 개인적 DB 스키마
 - 개념 스키마 : 모든 사용자 관점을 통합한 전체 DB
 - 내부 스키마 : 물리적 장치에서 데이터가 실제적 저장

데이터 독립성 필요 이유
 - 유지보수 비용 증가
 - 데이터 중복성
 - 복잡성 증가
 - 요구사항 대응 저하

ANSI / SPARC 3단계 구조
 - 논리적 독립성(외부단계 - 개념적단계)
 개념적 스키마 변경, 외부 스키마 영향 없음, 논리적 구조 변경되어도 응용프로그램 영향 없음

 - 물리적 독립성(개념적 단계 - 내부적 단계)
 내부 스키마 변경, 외부/개념 스키마 영향 없음, 저장장치의 구조 변경은 응용프로그램과 개념스키마에 영향없음

개체(Entity)의 개념
 - 데이터베이스에 표현하기 위한 어떤 것

개체(Entity)의 특징
 - 업무에서 필요한 정보
 - 식별이 가능해야함
 - 인스턴스의 집합(두 개 이상)
 - 속성을포함하고 관계가 존재

개체(Entity)의 분류
 1. 유무형
 - 유형 : 물리적인 형태, 안정적(사원, 물품, 강사)
 - 개념 : 물리적 형태가 존재하지 않고 관리해야 할 개념적 정보(조직, 보험상품)
 - 사건 : 업무 수행함에 따라 발생됨(주문, 청구, 미납)

 2. 발생시점(기본 → 중심 → 행위)
 - 기본 : 원래 존재하는 정보, 독립적으로 생성가능(사원, 부서 고객)
 - 중심 : 기본엔터티로부터 발생되고 업무에 있어서 중심적인 역할(계약, 접수)
 - 행위 : 두 개 이상의 부모엔터티로부터 발생되고 자주 내용 바뀌거나 데이터 양 증가(주문내역, 계약진행)

속성(Attribute)의 개념
 - 데이터의 가장 작은 논리적 단위, 개체를 구성하는 항복, 파일 구조상의 데이터 항목

속성(Attribute)의 분류
 - 기본 속성 (업무로부터 추출한 모든 속성_원래 속성)
 - 설계 속성 (코드성 속성, 1:1 치환)
 - 파생 속성 (계산된 값)

도메인(Domain)의 정의
 - 각 속성이 가질 수 있는 값의 범위

관계(Relationships)의 개념
 - 개체간의 관계 또는 속성간의 관계
 - 엔티티의 인스턴스 사이의 논리적인 연관성 존재(페어링) → 페이링의 집합이 관계(Relation)

관계(Relationships) 표기법
 - 관계명, 관계차수, 관계선택사양

관계(Relationships) 체크 사항
 - 연관 규칙 존재, 엔터티 사이 정보 조합이 발생, 관계 연결에 대한 규칙 서술, 관계연결 가능하게 하는 동사

식별자 정의
 - 엔터티 내에서 인스턴스를 구분하는 구분자

식별자 분류
 - 대표성 여부
 - 스스로 생성 여부
 - 속성의 수
 - 대체 여부

식별자의 특징
 - 유일성
 - 희소성
 - 불변성
 - 존재성

비식별자 정의
 - 부모 속성을 자식의 일반 속성으로 사용

식별자 / 비식별자 관계
 - 식별자 관계 : 부모로부터 받은 식별자를 자식엔터티의 주식별자로 이용
 - 비식별자 관계 : 부모로부터 속성을 받았지만 일반속성으로 사용

비식별자 관계 설정 고려사항
 관계분석 → 관계의 강/약 분석 → 자식테이블 독립 PK 필요 → SQL 복잡도 증가

식별자 관계 설정 고려사항
 - 강한관계
 - 주식별자 PK 사용

반응형

'자격증 > SQLD' 카테고리의 다른 글

[SQLD] SQL활용 JOIN, 서브쿼리  (0) 2022.05.11
[SQLD] SQL기본 GROUP BY, ROWNUM, JOIN  (0) 2022.05.10
[SQLD] SQL기본 연산자, 함수  (0) 2022.05.09
[SQLD] DML,DCL,DDL,TCL  (0) 2022.05.06
[SQLD] 데이터 모델과 성능 -2  (0) 2022.05.05