SQLD - 데이터 모델링의 이해 (1)
1. 모델링의 3대 특징 - 단순화, 명확화, 추상화
2. 데이터 모델 - 개념 데이터 모델, 논리 데이터 모델, 물리 데이터모델
3. 데이터 모델의 구분
개념 데이터 모델 : 추상화 수준이 높고 업무 중심적이며 포괄적인 수준의 모델링
논리 데이터 모델 : 업무에 대한 키, 속성, 관계 등을 정확하게 표현하는 모델링
물리 데이터 모델 : 데이터베이스 이식을 위해 성능, 저장 등의 물리적 요소를 고려하여 설계하는 모델링
4. 엔터티 : 정보를 저장할 수 있는 어떤 것
, 데이터베이스 내에서 변별 가능한 객체
, 변별할 수 있는 사물
, 실제 세상에 있는 객체 등
5. 속성 > 인스턴스 > 엔터티
엔터티는 인스턴스의 집합이며 인스턴스들의 성격을 구체적으로 설명하는 항목이 속성
6. 식별자 - 엔터티의 여러 속성 중 각 인스턴스를 유일하게 식별할 수 있는 하나 이상의 속성
7. 부모엔터티의 식별자를 자식 엔터티의 식별자로 상속하면 '식별관계', 일반속성으로 상속하면 '비식별관계'
8. 부모 엔터티의 일반 속성을 자식 엔터티의 속성으로 정의하는 것은 정상적인 관계속성이 아니다.
전혀 과련없이 이름만 같은 속성이거나, 부모 속성을 반정규화한 중복 속성일 수 있음
9. 부모 엔터티 기준으로 자식 엔터티를 필수 관계로 정의한다면,
부모 인스턴스 별로 자식 인스턴스를 반드시 등록해야 한다.
9-1. 부모 엔터티 기준으로 자식 엔터티를 선택 관계로 정의한다면,
부모 인스턴스만 등록하고 자식 인스턴스는 등록하지 않아도 된다.
10. 자식 엔터티 기준으로 부모 엔터티를 필수 관계로 정의한다면,
부모 인스턴스를 먼저 등록한 후에 자식 인스턴스를 등록해야 한다.
10-1. 자식 엔터티 기준으로 부모 엔터티를 선택 관계로 정의한다면,
부모 없이 자식 인스턴스만 등록 할 수 있다. (FK 칼럼에 NULL입력)