DB/오라클 SQL

관계형 데이터베이스 설계 - 설계 용어

joah.k 2021. 1. 17. 17:55
728x90

엔티티 : 데이터로 모아 보관될 수 있는 단위가 되는 개념. 엔티티 사이의 관계 설정이 중요하다. 
           ex ) 온라인 판매 시스템 => product, customer, supplier 엔티티들  

테이블 : 행과 열로 이루어진 2차원이 구조. 데이터는 테이블과 파일로 구성되는데, 각 열은 '필드'를 나타내며 엔티티의 속성이다. 각 행은 '레코드'로써 엔티티에 속하는 개별 인스턴스가 표현된 것이다. 
* 테이블과 파일은 서로 다른 의미를 가지고 있지만 관계형 데이터베이스에서는 구별하지 않고 사용될 수도 있다. 

필드 : '속성'이라고도 부르며 엔티티에 대한 특징이나 사실이다. ex) customer 테이블에서의 필드 - 고객ID, 이름, 전화번호, 이메일 ...
* 하나 이상의 엔티티에 포함되는 속성을 '공통 필드'라고 한다. 여러 종류의 관계에서 엔티티를 링크하는 데 사용된다.  

레코드 : 관련된 필드들의 집합. '튜플tuple'이라고도 불린다. 특정한 고객, 주분, 프로덕트와 같은 엔티티의 인스턴스를 나타낸다. 저장에 필요한 정보량에 따라 레코드의 필드 개수가 결정된다. 

튜플 : 릴레이션을 구성하는 각 행, 속성의 모임 

 

-- key : 데이터베이스에서 다른 튜플들과 구별할 수 있는 유일한 식별자가 될 수 있는 속성 

기본키(Primary key) : 데이터 구조를 구성하거나 접근하고 보관하기 위해서 키 필드를 사용한다. 엔티티의 특정한 멤버를 구별하기 위하여 사용되는 필드 또는 필드의 조합을 말한다. ex) customer 테이블에서 고객ID
* 기본키는 두 개 이상의 필드로 구성될 수도 있다.
   ex) 학생이 세 개의 강좌에 등록 => 학생 번호는 세 개의 레코드로 존재.
        만약 10명 학생이 있다면 10개의 서로 다른 레코드들이 기본키를 위하여 존재할 것이다.  

후보키(Candidate key) : 기본키를 사용할 때 필드나 필드의 조합을 선정한다. 이 때 기본키로 선정될 수 있는 필드. ex) 모든 사원이 고유한 사원 번호를 가진다면 사원번호나 주민번호를 기본키로 사용할 수 있다. 
* 기본키로 하나만 선정할 수 있기 때문에 데이터량이 적고 사용하기 편한 것을 선택해야 한다. 

외부키(Foreign key) : 두 테이블 사이에 관계를 형성시키기 위하여 사용되는 다른 테이블의 기본키. 기본키와 다르게 외부키는 고유할 필요는 없다. 
  ex) 학생A의 지도교수 번호가 232 일 때,
       지도교수 테이블에서는 232가 유일해야 하지만 학생 테이블에서는 여러 번 출연할 수 있다. 

보조키=대체키 (Alternate key) : 레코드에 접근하거나 탐색하는 데 사용될 수 있는 필드나 필드의 조합. 보조키는 고유하지 않다. 
 ex) 특정한 우편번호로 그 지역만의 고객 레코드를 접근할 필요가 있다면 우편번호 필드를 보조키로 사용할 것이다.
* 보조키가 필요한 이유는 테이블에 오직 하나의 기본키만을 가질 수 있기 때문이다.
 ex) 고객 테이블에서고객 번호는 고유한 값을 가지므로 기본키이다. 그러나 고객의 이름은 알지만 고객 번호는 모를 수 있다. 고객 '홍길동' 정보로 접근하고자 할 때, 고객 번호는 모르지만 '홍길동' 이름의 모든 고객의 레코드를 탐색하여 그 중에 선택할 수 있다. 

 

728x90