SQLD 1-3 ] 속성
속성
→ 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
??? ... (그냥 간단하게 강사의 엔터티 안에 속성들은 이름, 주소, 생년월일, 계약일자 가 될수 있다.)
엔터티, 인스턴스, 속성, 속성값 에 대한 관계
→ 한 개의 엔터티는 두개 이상의 인스턴스의 집합이여야 한다.
→ 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
→ 한 개의 속성은 한 개의 속성값을 갖는다.
쉽게 사람(엔터티) 안에 속성들은 이름, 주소, 생년월일 이고, 홍길동, 서울, 1991년 은 속성값이 된다.
인스턴스는 홍길동, 서울, 1991년 이 한줄(한 세트)가 인스턴스.
속성의 특징
1. 엔터티와 마찬가지로 반드시 꼭 필요한 정보인지..
2. 정해진 주식별자에 함수적 종속성 을 가져야 한다.
3. 하나의 속성에는 한개의 값만 가진다.
속성의 특성 에 따른 분류
1. 기본속성 : 업무로부터 추출한 모든 속성. 예외가 몇가지 있긴하다. 이 예외들 빼고 다 기본속성이라고 보면됨
(코드성 데이터, 구분하기 위한 일련번호, 다른속성 계산, 이미 정의된 속성)
예를들어 제품이름, 제품년월, 제조원가 이런거.
2. 설계속성 : 업무상 필요한 데이터 이외(제품이름, 제품년월) 이런거 말고 업무를 조금 규칙화하기위해 새로 만든거
단일한 식별자를 부여하기 위해 모델 상에서 새로 정의하는 설계속성
예를들어 속성: 약품용기코드 (속성값: 001-식품용기, 002-약품용기)
3. 파생속성 : 계산된 값들이 오는 속성. 말그대로 다른곳에서 계산되서 파생되서 옴.. 다른 속성에 영향을 그만큼
받기 때문에 유의하고, 가급적 적게 정의하는게 안전함..
엔터티 구성방식에 따른 분류
→ PK (Primary Key) : 엔터티를 식별할 수 있는 속성
→ FK (Foreign Key) : 다른 엔터티와의 관계에서 포함된 속성
→ 일반 : 엔터티에 포함 되어있고, PK, FK에 포함되지 않은 속성
또, 속성 안에 세부적으로 의미를 쪼갤수 있는지 봐야된다!
→ 단순형 : 나이, 성별 등 이런것들은 딱봐도 그냥 단순형.
→ 복합형 : 주소 속성같은경우 시, 구, 동, 번지 등과 같이 조금 더 세부로 나뉠수 있어서..?
또, 속성은 하나의 값을 가지는데.. 이것마저도 여러개의 값이 나타나는 경우가 있다.
→ 단일값 : 속성 하나에 한개의 값을 가지는거. 주민등록번호 같이.
→ 다중값 : 여러개의 값을 가지는 경우. 전화번호 속성인데 집전화쓸수도있고, 휴대전화도 쓸수있어서.
다중값 속성의 경우 하나의 엔터티에 포함될수 없어서 1차 정규화를 하거나,
따로 엔터티 만들어서 관계로 연결시켜줘야된다.
도메인
→ 각 속성은 가질 수 있는 값의 범위를 도메인 이라고 한다.
예를들어.. 학생이라는 엔터티에 학점이라는 속성의 도메인은 0.0 ~ 4.5 의 실수 값으로 정의할수있다
속성의 명명
1. 해당업무에서 사용하는 이름을 부여한다.
2. 서술식 속성명은 사용하지 않는다.
3. 약어사용은 가급적 제한한다.
4. 전체 데이터모델에서 유일성 확보하는 것이 좋다.
댓글
이 글 공유하기
다른 글
-
SQLD 1-5 ] 식별자
SQLD 1-5 ] 식별자
2016.02.14 -
SQLD 1-4 ] 관계
SQLD 1-4 ] 관계
2016.02.12 -
SQLD 1-2 ] 엔터티
SQLD 1-2 ] 엔터티
2016.02.12 -
SQLD 1-1 ] 데이터 모델의 이해
SQLD 1-1 ] 데이터 모델의 이해
2016.02.12