레이션(Relation) = 테이블
관계형 데이터베이스
- 현재 가장 많이 사용되고 있는 데이터베이스
- 엔티티(Entity)나 관계(Relation)를 모두 행과 열로 구성된 표 형식으로 데이터를 관리
릴레이션(Relation) = 테이블
- 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위
릴레이션 스키마
- 릴레이션 이름과 일정수의 속성들의 집합으로 구성
릴레이션 인스턴스
- 어느 한 시점에서 릴레이션에 포함되어 있는 튜플의 집합
속성(Attribute) = 열
- 릴레이션에서 관리하는 구체적인 정보 항목에 해당하며 엔티티의 특성을 기술
튜플(Tuple) = 행
- 속성의 모임으로 구성
- 릴레이션에서 각각의 행에 해당
- 파일 구조에서 레코드와 같은 의미
ex) ‘사원’은 릴레이션을 나타내는 이름이고 ‘사원번호 : 101, 이름 : 김사랑,
직급 : 사원, 급여 : 250, 부서명 : 인사부’는 ‘사원’
릴레이션을 구성하는 튜플이다.
튜플의 수를 카디날리티(Cardinality, 기수, 대응수)라고 함.
도메인(Domain)
도메인
- 릴레이션에 포함된 각각의 속성들이 취할 수 있는 같은 타입의 원자(atomic) 값들의 집합
도메인의 정의에 대한 예
- CREATE DOMAIN DEMPNO INTEGER
- CREATE DOMAIN DEMPNAME VARCHAR(30)
- CREATE DOMAIN DSALARY INTEGER
도메인이라는 개념이 필요한 이유
- 릴레이션에 저장되는 데이터 값들이 본래 의도했던 값들만 저장되고 관리되도록 하는데 있음.
릴레이션 스키마와 인스턴스
릴레이션
- 릴레이션 스키마(릴레이션 타입) + 릴레이션 인스턴스(릴레이션 어커런스)
정의
릴레이션이름 (기본키, 속성이름, 속성이름, … 속성이름n)
문제(3.1)
- 사원(사원번호, 이름, 직급, 주민번호, 급여, 부서명)
사원 릴레이션 스키마에서 릴레이션의 이름, 속성, 기본키
를 구별해 보자.
릴레이션 이름 : 사원
기본키 : 사원번호
속성 : 이름, 직급, 주민번호, 급여, 부서명
속성간의 순서
릴레이션을 구성하는 속성 간의 순서는 중요하지 않다.
- 한 릴레이션 내의 속성들의 순서를 바꾼다고 해서 다른 릴레이션이 되지는 않음
- 관계 데이터베이스에서 속성값은 릴레이션 내에서의 속성의 위치에 의해서가 아니고 속성 이름에 의해서 참조되기 때문
상이한 튜플
한 릴레이션에 포함된 튜플들은 모두 다르다.
- 릴레이션의 각 튜플을 살펴보면 어떠한 튜플도 정확하게 동일한 값을 갖지 않음
- 릴레이션은 튜플의 집합이기에 튜플을 유일하게 식별하기 위해 고유한 값을 저장하는 속성이 적어도 한 개 있어야 함
- 키는 속성 혹은 속성의 집합으로 키 덕분에 테이블에 중복된 튜플이 존재할 수 없게 됨
예
<부서> 테이블의 부서 번호나 <사원> 테이블의 사원번호 혹은 주민번호가 키에 해당한다.
튜플의 순서
릴레이션에 포함된 튜플의 순서는 중요하지 않다.
- 튜플이 물리적으로 저장될 경우에는 저장하는 순서에 따라서 튜플의 순
서가 정해지고 출력을 하게 되면 먼저 저장된 것이 위에, 나중에 저장된
것이 아래에 출력됨
- 대규모 릴레이션일 경우 튜플의 위치를 일일이 기억한다는 것은 불가능
하고 그럴 이유도 없음
- 실질적으로 상용되는 DBMS는 효율성을 위해서 튜플의 순서를 바꿀 수
있는 여러 가지 방법을 제공하여 릴레이션에 포함된 튜플의 순서는 무의미
릴레이션의 변동성
튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.
속성의 명칭과 값
속성의 유일한 식별을 위해 속성의 명칭은 유일해야 하지만 속성이 구성하는 값은 동일할 수 있다.
튜플의 속성
속성은 더 이상 쪼갤 수 없는 원잣값만을 저장해야 한다.
- 속성에는 여러 개의 값들을 리스트나 집합 형태로 저장할 수 없음
- 하나의 속성이 두 개 이상의 값을 갖게 되면 릴레이션을 하나 추가한 후에 이를 참조할 수 있도록 해야 함
'DB > 수업' 카테고리의 다른 글
7. 데이터 종속성과 정규화(4-1) (0) | 2017.05.15 |
---|---|
6. 관계 데이터 모델과 관계 무결성 제약조건(3-2) (0) | 2017.05.08 |
4. 데이터 모델(2-2) (0) | 2017.04.28 |
3. 데이터 모델(2-1) (0) | 2017.04.24 |
2. 데이터 베이스의 개념2(1-2) (0) | 2017.04.13 |