본문 바로가기

이론/DB

[DB] 데이터베이스 애트리뷰트 종류(단순, 복합, 유도, NULL)

인트로

안녕하세요. 오늘은 데이터베이스 애트리뷰트 종류에 대해 포스팅하겠습니다.

 

1) 단순 애트리뷰트

더이상 분해할 수 없는 애트리뷰트를 단순 애트리뷰트라고 한다.

예를 들어, '학년', '전화번호'는 더이상 분해할 수 없으므로 단순애트리뷰트라고 합니다.

 

2) 복합 애트리뷰트

더 분해할 수 있는 애트리뷰트를 복합 애트리뷰트라고 합니다.

[예시] 주소의 경우,'주소'라는 애트리뷰트가 도, 시, 동 등으로 분해할 수 있으므로 '복합애트리뷰트' 입니다.

만약 '주소'를 데이터베이스에 저장할 것이라면, 복합 애트리뷰트인 주소를 개체로 만들것인가 애트리뷰트화 할것인가에 대한 결정이 꼭 필요합니다.

 

3) 단일 값 애트리뷰트 

하나의 애트리뷰트가 하나의 값을 가질 수 있을 때 '단일 애트리뷰트'라고 합니다.

 

4) 다중 값 애트리뷰트 

하나의 애트리뷰트가 여러 개를 가질 수 있을 때, 다중값 애트리뷰트라고 합니다. 

예를 들어, 이메일 주소를 여러 개 가질 수 있는 경우 이러한 이메일 주소 애트리뷰트는 다중값 애트리뷰트입니다.

학생 개체 안에 email이 있는 데, 다중값 애트리뷰트라면 테이블을 만들 때 학생 테이블을 만들고 학생 email이라는 테이블을 만들어야 합니다. 

학생에서 '이메일'을 따로 개체로 빼서 '학생 이메일'이라는 개체를 만들었을 경우

 

5) 유도 애트리뷰트

유도애트리뷰트는 기본적인 속성이 아니기때문에, 애트리뷰트를 표현할 것인지 아닌지는 응용에따라 다릅니다. 

유도 애트리뷰트는 기본값이 바뀌면 자동으로 바뀌는 제약조건이 생기기 떄문에 불편할 수 있습니다.

 

6) NULL 애트리뷰트

NULL은 데이터베이스안에서 중요한 의미를 가집니다. NULL은 애트리뷰트의 타입에 상관없이 언제든지 지정이 될 수 있다.

예를 들어, 학생 개체의 '이름'이 NULL 애트리뷰트라면 , 학생의 이름이 아직 지정되지 않았다는 것을 의미한다. 

* 기본키는 NULL을 가질 수 없습니다. 

 

7) NOT NULL 애트리뷰트 

간단하게, NULL값을 가지면 안되는 애트리뷰트를 의미합니다.

학생과 과목의 '등록' 관계

(예시) 학생과 과목간에 '등록'이라는 관계를 가집니다. 관계에는 항상 이름이 있습니다.

관계 타입의 개체(등록)는 다른 개체(학생, 과목)를 묶어주는 역할을 한다. 

** 데이터베이스 모델링시 제일 중요한 것중에 하나가 매핑 카디널리티입니다.

매핑 카디널리티란, 관계 타입의 제약조건입니다.

아래의 글에 데이터베이스의 매핑카디널리티에 대해 자세히 나와있습니다 :) 

감사합니다.

 

2020/03/29 - [이론 수업/데이터베이스] - [DB] 데이터베이스의 1:1, 1:N, N:M 관계

 

[DB] 데이터베이스의 1:1, 1:N, N:M 관계

사상 원소수(mapping cardinarlity)에 대해서 알아봅시다. 매핑 카디널리티에는 3가지가 있습니다. 1) 1:1관계 2) 1:N 관계 3) N:M 관계 1) 1:1관계 왼쪽 개체와 오른쪽 개체가 반드시 '하나'로만 매핑되어야 한다..

life-with-coding.tistory.com

 

잡설 ) SNS에서 계정 만들고 친구를 만들지 않는 '아일랜드 계정'이 전체 95%입니다. (man is an island)