인트로
안녕하세요. 오늘은 데이터베이스 애트리뷰트 종류에 대해 포스팅하겠습니다.
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 관계
잡설 ) SNS에서 계정 만들고 친구를 만들지 않는 '아일랜드 계정'이 전체 95%입니다. (man is an island)
'이론 > DB' 카테고리의 다른 글
[DB] 식별, 비식별관계와 강한,약한 개체 (0) | 2020.03.29 |
---|---|
[DB][SQL] SQL의 셀프조인 (0) | 2020.03.29 |
[DB] 데이터베이스의 1:1, 1:N, N:M 관계 (1) | 2020.03.29 |
[DB][SQL] 집계함수(COUNT, SUM, AVG, MAX, MIN) (0) | 2020.03.11 |
[DB] SQLD 35회차 시험 후기 (0) | 2019.12.10 |