데이터베이스 구축
릴레이션의 특징
원본 49~50쪽
한 릴레이션에는 똑같은 튜플이 포함될 수 없으므로 릴레이션에 포함된 튜플들은 모두 상이하다. <학생> 릴레이션을 구성하는 김예소 레코드는 김예소에 대한 학적 사항을 나타내는 것으로 <학생> 릴레이션 내에서는 유일하다.
한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
<학생> 릴레이션에서 김예소 레코드와 고강민 레코
드의 위치가 바뀌어도 상관없다.
튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다. <학생> 릴레이션에 새로운 학생의 레코드를 삽입하거나 기존 학생에 대한 레코드를 삭제함으로써 테이블은 내용 면에서나 크기 면에서 변하게 된다.
릴레이션 스키마를 구성하는 속성들 간의 순서는 중요하지 않다. 학번, 이름 등의 속성을 나열하는 순서가 이름, 학번순으로 바뀌어도 데이터 처리에는 아무런 영향을 미치지 않는다.
속성의 유일한 식별을 위해 속성의 명칭은 유일해야 하지만, 속성을 구성하는 값은 동일한 값이 있을 수 있다. 각 학생의 학년을 기술하는 속성인 ‘학년’은 다른 속성명들과 구분되어 유일해야 하지만 ‘학년’ 속성에는 2, 1, 2, 4 등이 입력된 것처럼 동일한 값이 있을 수 있다.
릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 속성들의 부분집합을 키(Key)로 설정한다. <학생> 릴레이션에서는 ‘학번’이나 ‘이름’이 튜플들을구분하는 유일한 값인 키가 될 수 있다.
속성의 값은 논리적으로 더 이상 쪼갤 수 없는 원자값만을 저장한다. ‘학년’에 저장된 1, 2, 4 등은 더 이상 세분화할 수 없다.