데이터로그😎
[MySQL] 데이터 모델링 본문
데이터 모델링이란?
데이터 모델링
- 현실 세계의 데이터를 데이터 베이스로 옮기는 과정
- 데이터 베이스 설계의 핵심 과정
데이터 모델
- 개념적 데이터 모델
- 개체 - 관계 모델
- 논리적 데이터 모델
- 데이터베이스의 논리적 구조로 표현하는 도구
1. 개념적 데이터 모델
- 피터 첸(Peter Chen)이 제안한 개념적 데이터 모델
- 개체-개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현
- 핵심 요소: 개체, 속성, 관계
- 개체 - 관계 다이어그램 (E-R diagram) : 개체 - 관계 모델을 이용
개체 (Entity)
- 현실세계에서 사람이나 사물과 같이 구별되는 모든 것
- 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등
- 다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태, 즉 속성을 하나 이상 가지고 있음
- E-R diagram에서 STUDENT, COURSE, LECTURER, SUBJECTS에 해당
개체 타입 (Entity type) - 개체를 고유의 이름과 속성들로 정의한 것
- 파일 구조의 레코드 타입(record type)에 대응됨개체 인스턴스 (Entity Instance) - 개체를 구성화하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
- 개체 어커런스 (entity occurrence) 라고도 함
- 파일 구조의 레코드 인스턴스 (record instance)에 대응됨개체 집합 (Entity Set) - 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것
속성 (Attribute)
- 개체나 관계가 가지고 있는 고유의 특성
- 의미있는 데이터의 가장 작은 논리적 단위
- 파일 구조의 필드(field)와 대응됨
- E-R diagram에서 타원형으로 표현하고 타원 안에 이름을 표기
관계 (Relationship)
- 개체와 개체가 맺고 있는 의미 있는 연관성
- 개체 집합들 사이의 대응관계, 즉 매핑(mapping)을 의미
- 관계의 유형: 관계에 참여하는 개체 타입의 수 기준
- 이항 관계: 개체 타입 두 개가 맺는 관계
- 삼항 관계: 개체 타입 세 개가 맺는 관계
- 순환 관계: 개체 타입 하나가 자기 자신과 맞는 관계
- 관계의 유형: 매핑 카디널리티 기준
- 일대일(1:1) 관계
- 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 하나와 관계를 맺을 수 있음
- 개체 B의 각 개체 인스턴스도 개체 A의 개체 인스턴스 하나와 관계를 맺을 수 있음
- 일대다(1:n) 관계
- 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러개와 관계를 맺을 수 있음
- 개체 B의 각 객체 인스턴스는 개체 A의 개체 인스턴스 하나와 관계를 맺을 수 있음
- 다대다(n:m) 관계
- 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러개와 관계를 맺을 수 있음
- 개체 B의 각 개체 인스턴스가 개체 A의 개체 인스턴스 여러개와 관계를 맺을 수 있음
- 매핑 카디널리티 (Mapping Cardinality): 관계를 맺는 두 개체 집합에서 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수
- 관계 참여 특성
2. 논리적 데이터 모델
- 관계 데이터 모델
- 하나의 개체에 대한 데이터를 하나의 릴레이션에 저
출처
https://youtu.be/pNrxmHpzcYU?feature=shared
'SQL > MySQL' 카테고리의 다른 글
[MySQL] JOIN 🆚 서브쿼리 (0) | 2024.01.04 |
---|---|
[MySQL] 데이터베이스 & 유저 생성 (0) | 2024.01.01 |
[MySQL] 테이블 생성, 입력, 수정, 삭제 (0) | 2023.12.29 |
[MySQL] 테이블 정보 확인 (0) | 2023.12.29 |
[MySQL] 날짜형식 관련 함수 (0) | 2023.12.29 |