DB/수업2017. 4. 30. 23:06

레이션(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는 효율성을 위해서 튜플의 순서를 바꿀 수 

있는 여러 가지 방법을 제공하여 릴레이션에 포함된 튜플의 순서는 무의미 


릴레이션의 변동성 

 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다. 


속성의 명칭과 값  

 속성의 유일한 식별을 위해 속성의 명칭은 유일해야 하지만 속성이 구성하는 값은 동일할 수 있다.  


튜플의 속성 

 속성은 더 이상 쪼갤 수 없는 원잣값만을 저장해야 한다. 

- 속성에는 여러 개의 값들을 리스트나 집합 형태로 저장할 수 없음 

- 하나의 속성이 두 개 이상의 값을 갖게 되면 릴레이션을 하나 추가한 후에 이를 참조할 수 있도록 해야 함 

 






Posted by 멜데스