[SQL] 데이터의 모델링 및 개념 이해
데이터 모델링
현실 세계를 단순화 하여 표현하는 기법
- 모델링의 특성
- 추상화
- 단순화
- 명확화
- 추상화
- 모델링의 관점
- 데이터 관점
- 프로세스 관점
- 데이터와 프로세스의 상관 관점
- 데이터 관점
- 모델링의 단계
- 개념적 데이터 모델링 : 추상화 레벨이 가장 높음. 업무 중심적이고 포괄적
- 논리적 데이터 모델링 : 재사용성이 가장 높음. Key, 속성, 관계 등이 포함
- 물리적 데이터 모델링 : 실제 DB로 구현할 수 있도록 성능이나 가용성 등을 고려
- 개념적 데이터 모델링 : 추상화 레벨이 가장 높음. 업무 중심적이고 포괄적
- 데이터의 독립성
- 3단계 스키마 구조
- 외부 스키마 : 각 사용자가 보는 DB의 스키마를 정의
(↕ 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향X) - 개념 스키마 : 모든 사용자가 보는 DB의 스키마를 통합하여 관계와 함께 나타냄.
(↕ 물리적 독립성 : 내부 스키마가 변경되어도 외부/개념 스키마는 영향X) - 내부 스키마 : 물리적인 저장구조. 실질적인 저장구조, 컬럼 정의, 인덱스 등이 표현
- 외부 스키마 : 각 사용자가 보는 DB의 스키마를 정의
- 3단계 스키마 구조
엔터티
식별이 가능한 객체. 독립체.
- 엔터티의 특징
- 업무에서 쓰이는 정보여야 함
- 유니크함을 보장할 수 있는 식별자가 있어야 함
- 2개 이상의 인스턴스를 가지고 있어야 함
- 반드시 속성을 가지고 있어야 함
- 다른 엔터티와 1개 이상의 관계를 가지고 있어야 함
- 업무에서 쓰이는 정보여야 함
- 엔터티의 분류
-
유형 VS 무형
1) 유형 엔터티 : 물리적인 형태, 존재, 안정적, 지속적
2) 개념 엔터티 : 물리적인 형태 없음. 개념적
3) 사건 엔터티 : 행위를 함으로써 발생. 빈번하고 통계 자료로 이용 가능 -
발생시점
1) 기본 엔터티 : 독립적으로 생성. 자식 엔터티를 가질 수 있음
2) 중심 엔터티 : 기본 엔터티로부터 파생, 행위 엔터티 생성
3) 행위 엔터티 : 2개 이상의 엔터티로부터 파생
-
속성
사물이나 개념의 특징을 설명해줄 수 있는 항목
더 이상 쪼개지지 않는 레벨이어야 하고 프로세스에 필요한 항목이어야 함
- 속성의 분류
-
속성에 따른 분류
1) 기본속성 : 엔터티의 가장 일반적이고 많은 비중을 차지하는 속성. 바로 정의가 가능함. (ex. 학교, 학과)
2) 설계속성 : 실제 존재하지는 않지만 설계 과정에서 합리적인 모델링을 위해 만들어진 속성 (ex. 학번)
3) 파생속성 : 다른 속성으로 부터 파생된 속성. 계산된 값이나 가공된 값 (ex. 수강자 수) -
구성방식의 분류
1) PK속성 : 엔터티의 인스턴스들을 식별할 수 있는 속성
2) FK속성 : 다른 엔터티의 속성에서 가져온 속성
3) 일반속성 : PK와 FK를 제외한 나머지 속성
-
관계
엔터티간의 관계
- 관계의 분류
- 존재 관계
- 행위 관계
- 존재 관계
- 표기법
- 관계명 : 관계의 이름
- 관계차수 : 관계에 참여하는 수 (1:1, 1:M, N:M)
- 관계선택사양 : 필수여부
- 관계명 : 관계의 이름
식별자
각각의 인스턴스를 구분 가능하게 만들어주는 대표 속성
- 주식별자
PK. 하나의 속성이 주식별자일수도 있고, 여러개의 속성이 주식별자일수도 있음
- 주식별자의 특징
1) 유일성
2) 최소성
3) 불변성
4) 존재성
- 주식별자의 특징
- 식별자의 분류
- 대표성 여부
- 주 식별자 : 유일성,최소성,불변성,존재성을 가진 대표 식별자. 다른 엔터티와 참조 관계로 연결
- 보조 식별자 : 식별할수는 있지만 대표 식별자는 아님. 참조관계로 연결되지 않음
- 주 식별자 : 유일성,최소성,불변성,존재성을 가진 대표 식별자. 다른 엔터티와 참조 관계로 연결
- 스스로 생성되었는지 여부
- 내부 식별자 : 엔터티 내부에서 스스로 생성됨
- 외부 식별자 : 다른 엔터티에서 온 식별자. 연결고리 역할
- 내부 식별자 : 엔터티 내부에서 스스로 생성됨
- 단일 속성의 여부
- 단일 식별자 : 하나의 속성으로 구성
- 복합 식별자 : 두 개 이상의 속성으로 구성
- 단일 식별자 : 하나의 속성으로 구성
- 대체 여부
- 원조 식별자 : 업무 프로세스에 존재하는 식별자. 가공되지 않은 본질 식별자
- 대리 식별자 : 주식별자의 속성이 두 개 이상인 경우 그 속성을 하나로 묶어서 사용하는 인조식별자
- 원조 식별자 : 업무 프로세스에 존재하는 식별자. 가공되지 않은 본질 식별자
- 대표성 여부
- 식별자 관계 VS 비식별자 관계
- 식별자 관계
- 부모 엔터티의 식별자가 자식 엔터티의 주 식별자가 되는 관계
- 부모 엔터티가 있어야 생성 가능
- 단일 식별자인지 복합 식별자인지에 따라 1:1이거나 1:M
- 부모 엔터티의 식별자가 자식 엔터티의 주 식별자가 되는 관계
- 비식별자 관계
- 부모 엔터티의 식별자가 자식 엔터티의 일반속성이 되는 관계
- 일반 속성은 null이 될수 있으므로, 부모엔터티가 없는 자식 엔터티 생성이 가능
- 부모 엔터티의 식별자가 자식 엔터티의 일반속성이 되는 관계
- 식별자 관계