관계형 모델 (Relational Model)
1. 관계형 모델
"관계형 모델"은 함수 종속(Functional Dependency)에 의해 정규화(Normalization)된 모델이다. "함수 종속"이란, 어떤 릴레이션 R에서 X, Y가 릴레이션 R의 부분 속성(Attribute)이라고 할 때 속성 X의 도메인 값 각각에 대해 시간에 관계 없이 항상 속성 Y의 도메인 값이 오직 한개만 연관된다면 Y는 X의 함수 종속이라고 하고, X(결정자) -> Y(종속자)로 표시한다.
함수 종속과 정규화에 대해서는 나중에 자세히 다루도록 하겠다.
관계형 모델은 데이터를 컬럼(column = 열)과 로우(row = 행)를 이루는 하나 이상의 테이블(또는 관계)로 정리하며, 고유 키(Primary key)가 각 로우(row)를 식별한다. 로우는 레코드나 튜플(tuple)로 부른다. 일반적으로 각 테이블은 하나의 엔티티 타입(고객이나 제품과 같은)을 대표한다. 로우는 그 엔티티 종류의 인스턴스(예: "Lee" 등)를 대표하며 컬럼은 그 인스턴스의 속성이 되는 값들(예: 주소나 가격)을 대표한다.
2. 관계
관계(relation 릴레이션)의 각 항목들에 대한 이미지이다.
출처: <http://wiki.gurubee.net/pages/viewpage.action?pageId=28115249>
3. 키 (Key)
키(Key)란, 한 릴레이션 내에서 특정 튜플만을 식별해 낼 수 있는 속성 혹은 속성들의 집합이다.
1) 키의 특성
- 유일성 (Uniqueness)
- 릴레이션 내에서 같은 중복되는 튜플이 존재하지 않으며,
- 키의 값이 릴레이션 내에 유일하다는 특성
- 키의 값으로 릴레이션 내에 있는 튜플들을 식별한다.
- 키는 꼭 필요한 최소한의 속성들로 이루어져야 한다.
- Relational calculus
<http://emzei.tistory.com/234?category=514691>
사실, Relational algebra와 Relational calculus는 서로 다른 표현법일 뿐이다. 따라서, 상황에 따라 하나를 골라서 사용하면 될 것이다. 또는, 둘 중에 사용하기 편리한 것을 사용해도 된다.
5. 관계형 모델 제약 (Constraints of Relational Model)
1) 릴레이션에서 각 튜플은 유일해야 한다.
2) 속성의 모든 값이 동일한 튜플이 존재할 수 없으며, 식별자의 값이 같은 튜플이 존재해서는 안된다.
3) 속성은 단일값이 사용 되어야 하며, 다중 값이나 복합값이 존재해서는 안된다.
4) 전체 모델에서 릴레이션의 이름은 유일해야 하며, 릴레이션 내의 속성 이름도 유일해야 한다. ( = 동일한 릴레이션이 있으면 안된다)
5) 릴레이션 내의 튜플의 순서는 중요하지 않다.
6) 한 릴레이션에는 하나의 데이터 주제만이 포함될 수 있다.
7) 모든 릴레이션은 함수 종속 규칙을 따라야 한다.
8) 릴레이션이 정규화(Normalization)되지 않으면 관계형 모델이라 할 수 없다.
9) 정규화 된 릴레이션 사이에는 외래 식별자(Foreign Identifier)를 통해서 연관 관계가 성립하게 된다.
'DB' 카테고리의 다른 글
데이터베이스 정규화 (0) | 2022.03.31 |
---|---|
E-R 모델 (E-R Model) (0) | 2018.10.22 |
데이터베이스 기본 지식 (0) | 2018.10.07 |