02_SQLD_제2 절 엔터티 & 제3 절 속성
# SQL
제1 장 데이터 모델링의 이해
제2 절 엔터티(Entity)
-
엔터티의 개념
-
실체, 객체 / 실무적으론는 앤터티라고 부른다. 즉 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것
-
-
엔터티와 인스턴스에 대한 내용과 표기법
-
엔터티의 특징
-
반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.
-
유일한 식별자에 의해 식별이 가능해야 한다.
-
영속적으로 존재하는 인스턴스의 집합이어야 한다. (반드시 ‘두 개 이상’)
-
엔터티는 업무에 이용되어야 한다.
-
엔터티는 반드시 ‘두 개 이상’의 속성을 갖는다.
-
엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.
-
-
엔터티의 분류
-
우뮤형에 따른 분류 - 유형, 개념, 사건엔터티
-
발생시점에 따른 분류 - 기본(키), 중심, 행위엔터
-
스스로 생성할 수 있는지에 따라 - 독립, 의존 엔터티
-
-
엔터티의 명명
- 현업 업무에서 사용하는 용어를 사용
- 약어를 가능하면 사용하지 않는다.
- 단수 명사를 사용
- 모든 엔티티명은 유일해야 함
- 엔티티 생성 의미대로 이름을 부여
제3 절 속성(Attribute)
-
속성의 개념
-
업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터
즉, 속성이란 의미상 더 이상 분리되지 않으며, 엔터티를 설명하는 요소이며, 인스턴스의 구성요소이다.
-
-
엔터티, 인스턴스, 속성, 속성값
-
엔터티, 인스턴스, 속성, 속성값의 관계
- 한 개의 엔터티는 두 개 이상의 인스턴스 집합이어야 한다.
- 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
- 한 개의 속성은 한 개의 속성값을 갖는다.
-
속성의 표기법
-
IE 표기법
-
Barker 표기법
-
-
-
속성의 특징
-
반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.
-
정규화 이론에 근간하여 정해진 주식별자에 함수 종속성을 가져야 한다.
-
한 개의 속성은 한 개의 속성값을 갖는다. 만약 한 개의 속성에 여러 속성값을 갖는 다중 값일 경우 별도의 엔터티로 분리하여 관리한다.
-
-
속성의 분류
-
속성의 특성에 따른 분류
-
기본속성
- 업무로부터 추출한 모든 속성
-
설계속성
- 기본속성 외에 새롭게 만들거나 변형하여 정의한 속성
-
파생속성
- 타 속성에 의해 지속적으로 영향을 받아 값이 변하는 성질을 가지고 있는 속성
- 파생속성은 그 속성이 가지고 있는 계산방법에 대해 반드시 어떤 엔터티에 어떤 속성에 의해 영향을 받는지 정의가 되어야 한다.
- 파생속성은 꼭 필요한 경우에만 정의하여 업무로직이 속성내부로 스며들지 못하도록 주의해야 한다.
- 파생속성을 정의한 경우라면 그 값의 정합성을 유지할 수 있도록 해야 한다.
- 주로 통계관련 엔터티, 배치작업 수행 관련에 사용된다.
- 타 속성에 의해 지속적으로 영향을 받아 값이 변하는 성질을 가지고 있는 속성
-
-
엔터티 구성방식에 따른 분류
-
PK(Prime Key) == 엔터티를 식별할 수 있는 고유한 속성
-
FK(Foreign Key) == 다른 엔터티와의 관계로, 연결된 속성
-
일반 속성 == 엔터티에 포함되어 있고, PK, FK가 아닌 속성
-
추가로 의미를 쪼갤 수 있는지에 따라 단순형, 복합형으로 분류할 수 있다.
-
한 속성에 한 개의 값 → 단일값(Single Value)
-
한 속성에 여러 개의 값 → 다중값(Multi Value)
-
-
-
도메인(Domain)
-
각 속성이 가질 수 있는 값의 범위 (일종의 테이터 타입, 크기, 제약사항등을 지정하는 것)
ex) ‘‘학점'‘이라는 ‘‘도메인'‘은 0 <= X <= 4.5
-
-
속성의 명명(Naming)
- 가급적 현업에서 사용하는 이름을 부여한다.
- 서술식 속성명은 사용하지 않는다.
- 약어사용은 자제한다.
- 전체 데이터모델에서 유일성을 확보하는 것이 좋다.