Jeunwork space

sqld - 데이터 모델링, 엔티티, 관계, 속성 본문

sqld

sqld - 데이터 모델링, 엔티티, 관계, 속성

jeunwork 2021. 8. 31. 20:17

출처 : 가지고 있는 sqld 개념요약 파일 +

SQLD 선행학습 - 劉처사 

https://www.youtube.com/watch?v=yzyqg5k7lMM&list=PLKdqgOvYNmcYTIorED1PuDaJ0_pX4HjC_&index=1 

모델링

- 일정한 표기법에 의해 규칙을 가지고 표기하는 것

- 특징 : 추단명(추상화, 단순화, 명확화)

- 정보시스템 구축에서 활용 : 계획/분석/설계 할 때 업무를 분석하고 설계하는데 이용. 구축/운영 단계에서 변경과 관리목적 

- 모델링 관점 3가지

  • 데이터 관점 : 업무와 데이터 또는 데이터와 데이터간의 관계
  • 프로세스 관점 : 업무가 실제 하는 일 또는 무엇을 해야 하는지
  • 상관 관점 : 업무가 처리하는 일의 방법에 따라 데이터가 받는 영향

데이터 모델링(Data Modeling)

- 현실 세계의 업무적인 프로세서를 물리적으로 데이터베이스화하기 위한 과정

- 실체와 관계를 중심으로 체계적으로 표현하고 문서화하는 기법

- 정보 시스템의 중심을 데이터의 관점에서 접근하는 데이터 중심의 분석 방법

- 어떤 데이터가 존재하며 업무에서 필요로 하는 정보가 무엇인지를 분석하는 과정

- 구성요소 : 엔티티, 관계, 속성

- 기능 

  • 시스템 가시화 도움
  • 시스템 구조와 행동 명세화 가능
  • 시스템 구축 - 구조화 된 틀 제공
  • 시스템 구축과정에서 결정한 것 문서화
  • 다양한 영역 집중 위해 다른 영역 세부사항 숨김(다양한 관점 제공)
  • 특정 목표에 따라 구체화된 상세 수준의 표현방법 제공

- 중요성 : 파급효과, 간결한 표현, 데이터품질 유지

- 유의점 : 중복, 비유연성, 비일관성

- 진행 3단계

  1. 개념(계획/분석) : 추상화, 업무중심, 포괄, 전사적, EA수립
  2. 논리(분석) : [KEY, 속성, 관계] 표현, 재사용성, 정규화
  3. 물리(설계) : 데이터베이스 이식, 성능/저장 등 물리적 성격 고려. 구체적

데이터 독립성의 필요성

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

 

데이터 독립성의 효과

- 각 view의 독립성 유지, 계층별 view에 영향 주지 않고 변경 가능

- 단계별 Schema에 따라 DDL과 DML의 다름을 제공

- 구조 / 독립성 / 사상(mapping)

 

ANSI / SPARC 데이터벵스 3단계 구조 및 독립성

 - 외부단계 / 개념단계 / 내부적 단계 

 - 논리적 독립성 : 개념스키마 변경되어도 외부스키마에 영향 없. 사용자 특성에 맞게 변경 가능. 통합구조 변경가능

 - 물리적 독립성 : 내부스키마 변경되어도 외부/개념스키마 영향 없. 물리적 구조, 개념 구조 상호간 영향 없이 서로 변경가능

 

- 사상(Mapping) : 상호 독립적인 개념을 연결시켜주는 다리

  • 논리적 사상 : 외부화면 및 사용자 인터페이스 스키마 구조는 개념스키마와 연결됨
  • 물리적 사상 : 개념스키마 구조와 물리적 저장된 구조(테이블스페이스)와 연결됨

좋은 데이터 모델의 요소 6가지

완전성 / 중복배제 / 업무규칙 / 데이터 재사용 / 의사소통 / 통합성

 

데이터 모델링의 3요소 

Things, Attributes, Relationships

 

엔티티

- 업무에서 꼭 필요한 정보

- 유일한 식별자로 식별이 가능해야 함

- 인스턴스 2개 이상의 집합

- 데이터베이스에 자료로 표현하려는 것 

- 사람이 생각하는 개념이나 정보단위 같은 현실 세계의 대상체

- 테이블 

- 분류 

  • 유무형 : 유형, 개념, 사건
  • 발생시점 : 기본 → 중심 → 행위 

- 엔티티의 명명 

  • 가능한 현업 업무에서 사용하는 용어 사용.
  • 가능하면 약어 사용 X
  • 단수명사 사용
  • 모든 엔티티에서 유일한 이름 부여
  • 생성 의미대로 이름 부여

- 강한 엔티티, 약한 엔티티 타입

  • 강한 엔티티를 부모 엔티티, 정규 엔티티 타입이라고 하며 독자적으로 존재한다.
  • 약한 엔티티는 키를 형성하기에 충분한 속성을 갖지 못한 자식엔티티, 종속 엔티티로 부모로부터 상속받는다. 
  • 자기 자신의 속성만으로는 키를 명세할 수 없는 엔티티

 

속성

- 어떤 것이 가지는 성격

- 데이터의 가장 작은 논리적 단위

- 하나의 엔티티는 한 개 이상의 속성으로 구성

- 각 속성은 엔티티의 특선, 상태 등을 기술 

- 컬럼

- 속성의 유형

  • 단순 속성과 복합 속성
  • 단일 값 속성과 다중 값 속성
  • 유도 속성과 저장 속성
  • 널(null) 속성

- 특징 

반드시 해당 업무에서 필요하고 관리하고자 하는 정보

정규화 이론에 근간, 정해진 주식별자에 함수적 종속성을 가져야 함

하나의 속성에는 1개의 값만 가짐. 다중값일 경우 별도의 엔티티 이용하여 분리

 

- 분류

  • 기본속성 : 업무로부터 추출한 모든 속성
  • 설계속성 : 새로 만들거나 정의하는 속성
  • 파생속성 : 다른 속성의 영향 받아 발생 

- 구성 방식에 따른 분류 : PK(기본키) / FK(외래키) / 일반속성

 

도메인

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

 

속성의 명명

  • 해당 업무에서 사용하는 이름 부여
  • 서술식 속성명 사용 X
  • 약어 사용 가급적 X
  • 전체 데이터 모델에서 유일성 확보하는 것이 좋음

관계

- 업무가 관여하는 어떤 것 간의 관계

- 엔티티와 엔티티 혹은 엔티티와 속성 간의 연관성

- 일반적으로 동사형으로 표현

- 카디널리티(Cardinality) : 관계의 대응 엔티티 수. 1:1, 1:N, N:M

 

개념적 데이터 모델링 

- 현실세계를 추상화하여 개념적으로 표현하여 이해하기 쉽게 할 뿐만 아니라 의사소통을 원활하게 해주는 과정

- 정보 모델링

- 개체 관계 모델 : 기술된 엔티티 타입과 이 엔티티 타입들 간의 관계를 이용하여 현실 세계를 표현하는 가장 대표적인 개념적 데이터 모델 -> ERD

 

논리적 데이터 모델링

- 개념적 데이터 모델은 DBMS가 직접 이해할 수 없으므로 컴퓨터가 이해할 수 있도록 논리적 데이터 모델로 변환

- 데이터 모델링

- 관계 데이터 모델, 계층 데이터 모델, 네티워크 데이터 모델 등이 있음 

- 관계 데이터 모델 

  • 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델
  • 표를 이용해서 데이터 상호관계를 정의하는 구조 
  • 관계 스키마, IE표기법으로 표현할 수 있다.

 

물리적 데이터 모델링

 

 

 

'sqld' 카테고리의 다른 글

sql 개발자(sqld) 42회 합격!  (0) 2021.10.01
sqld - 정규화, 함수 종속  (0) 2021.08.31
Comments