Jeunwork space
sqld - 데이터 모델링, 엔티티, 관계, 속성 본문
출처 : 가지고 있는 sqld 개념요약 파일 +
SQLD 선행학습 - 劉처사
https://www.youtube.com/watch?v=yzyqg5k7lMM&list=PLKdqgOvYNmcYTIorED1PuDaJ0_pX4HjC_&index=1
모델링
- 일정한 표기법에 의해 규칙을 가지고 표기하는 것
- 특징 : 추단명(추상화, 단순화, 명확화)
- 정보시스템 구축에서 활용 : 계획/분석/설계 할 때 업무를 분석하고 설계하는데 이용. 구축/운영 단계에서 변경과 관리목적
- 모델링 관점 3가지
- 데이터 관점 : 업무와 데이터 또는 데이터와 데이터간의 관계
- 프로세스 관점 : 업무가 실제 하는 일 또는 무엇을 해야 하는지
- 상관 관점 : 업무가 처리하는 일의 방법에 따라 데이터가 받는 영향
데이터 모델링(Data Modeling)
- 현실 세계의 업무적인 프로세서를 물리적으로 데이터베이스화하기 위한 과정
- 실체와 관계를 중심으로 체계적으로 표현하고 문서화하는 기법
- 정보 시스템의 중심을 데이터의 관점에서 접근하는 데이터 중심의 분석 방법
- 어떤 데이터가 존재하며 업무에서 필요로 하는 정보가 무엇인지를 분석하는 과정
- 구성요소 : 엔티티, 관계, 속성
- 기능
- 시스템 가시화 도움
- 시스템 구조와 행동 명세화 가능
- 시스템 구축 - 구조화 된 틀 제공
- 시스템 구축과정에서 결정한 것 문서화
- 다양한 영역 집중 위해 다른 영역 세부사항 숨김(다양한 관점 제공)
- 특정 목표에 따라 구체화된 상세 수준의 표현방법 제공
- 중요성 : 파급효과, 간결한 표현, 데이터품질 유지
- 유의점 : 중복, 비유연성, 비일관성
- 진행 3단계
- 개념(계획/분석) : 추상화, 업무중심, 포괄, 전사적, EA수립
- 논리(분석) : [KEY, 속성, 관계] 표현, 재사용성, 정규화
- 물리(설계) : 데이터베이스 이식, 성능/저장 등 물리적 성격 고려. 구체적
데이터 독립성의 필요성
- 유지보수 비용 증가, 데이터 중복성 증가, 데이터 복잡성 증가, 요구사항 대응 저하
데이터 독립성의 효과
- 각 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 |