Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- 싸피셜
- react
- QuerySetAPI
- SQL
- db
- 알고리즘
- 리액트
- SSAFY
- PWA
- Django
- pwa적용하기
- 백준
- 싸피10기
- 싸피
- Python
- vitepwa
- queryset
- 데코레이터
- TypeScript
- unionfind
- js
- VITE
- Javascript
- sqld
- 14658
- git
- 머신러닝종류
- SSAFYcial
- 셀프넘버
- 플로이드워셜
Archives
- Today
- Total
Meme's IT
[SQLD] 데이터 모델의 이해 본문
# 모델링
현실세계를 추상화, 단순화, 정확화해서 모델로 표현하는 과정
- 추상화: 일정한 형식에 맞춰 표현
- 단순화: 제한된 표기법이나 언어로 표현
- 명확성: 이해가 쉽게 표현
모델링의 관점들
- 데이터 관점(Data, What): 어떤 데이터와 관계 있는지 / 데이터 간의 관계는 무엇인지
- 프로세스 관점(Process, How): 해당 데이터를 가지고 무엇을 해야하는지
- 상관 관점(Data vs Process): 데이터를 가지고 하는 일에 따라 데이터가 어떻게 영향을 받고 있는지
# 데이터 모델링
정보 시스템 구축을 위한 데이터 관점의 업무 분석 기법
목적
- 정보에 대한 표기법을 통일해서 업무 내용을 분석하는 정확도를 높임
- 데이터 모델을 기초로 DB를 생성
중요성 및 유의점
- 중복을 최소화해라
- 비유연성을 버려라: 사소한 업무변화에 데이터 모델이 수시로 바뀌면 안됨
- 비일관성을 버려라: 데이터 간 상호 연관 관계에 대해 명확히 정의해야 함
데이터 모델링의 3단계 (키워드 위주로 외우자)
- 개념적 모델링: 업무 중심적, 포괄적, 추상화 수준이 높다
- 논리적 모델링: 시스템 구축/ key, 속성, 관계 / 재사용성 높음
- 물리적 모델링: 데이터베이스 이식 / 성능, 저장 등 물리적인 성격을 고려하여 설계
데이터 베이스의 스키마 구조: 외부 → 개념 → 내부
- 외부 스키마: 사용자 관점, DB를 이용하는 유저와 상관이 있음
- 개념 스키마: 사용자 관점을 통합 + 설계자 관점 데이터 모델링의 지향점
- 내부 스키마: 개발자 관점 + 저장 / DB가 물리적으로 저장된 구조
데이터 독립성(↔ 사상, Mapping)
- 논리적 독립성: 외부 스키마가 개념 스키마의 변화에 무관 / 논리적 사상 없음
- 물리적 독립성: 개념 스키마가 내부 스키마의 변화에 무관 / 물리적 사상 없음
# 데이터 모델링의 3요소
- 엔티티(= 어떤것, Entity)
- 속성(Attributes)
- 관계(Relationships)
# 데이터 모델 표기법(ERD, Entity Relationship Model)
1976년 피터첸이 개발, IE / Baker 기법이 많이 쓰임
ERD 작업 순서
1. 엔터티 그리기
2. 엔터티 배치
중요한 순서대로 왼쪽 상단 → 오른쪽 상단 → 왼쪽 하단 → 오른쪽 하단으로 배치
업무 흐름상 타 엔터티와 많은 관계를 가진 중심 엔터티를 중앙에 배치
3. 엔터티간 관계 설정
4. 관계명 기술
5. 관계의 관계차수(참여도) 기술 (1:1, 1:N, M:N)
[그림 추가]
6. 관계의 필수 여부 기술
'공부 > SQLD' 카테고리의 다른 글
[SQLD] 성능 데이터 모델링 (0) | 2023.10.18 |
---|---|
[SQLD] 식별자 (0) | 2023.10.17 |
[SQLD] 관계 (Relationship) (0) | 2023.10.17 |
[SQLD] 속성(Attributes) (0) | 2023.10.16 |
[SQLD] 엔터티 (Entity) (0) | 2023.10.16 |