관계형 데이터베이스는 데이터를 테이블로 표현한다.
문서를 작성할 때 흔히 만드는 표를 생각하면 이해하기 쉽다.
관계형데이터베이스는 이와 같이 데이터를 항목으로 구분하여 , 테이블로 구성하는 것이다.
이렇게 하면 테이블의 생성이나 항목의 분할과 결합을 자유롭게 할 수 있어서 편리하기 때문에 관계형 데이터베이스는 데이터베이스 시장의 주류로 자리를 잡고 있다.
관계형 데이터베이스의 특징은 다음과 같다.
각각의 열은 유일한 이름을 가지고 있으며 , 자신만의 타입을 가지고 있다.이러한 열은 필드(field) 또는 속성(attribute) 라고도 부른다.
행은 관계된 데이터의 묶음을 의미한다.
한 테이블의 모든 행은 같은 수의 열을 가지고 있다.
행은 튜플 또는 레코드 라고도 부른다.
테이블은 각각의 행과 열에 대응하는 값을 가지고 있다.
이러한 값은 열의 타입에 맞는 값이어야한다.
테이블에서 행의 식별자로 이용되는 열을 키(key) 또는 기본 키(primary key)라고 합니다.
즉, 테이블에 저장된 레코드를 고유하게 식별하는 후보 키(candidate key) 중에서 데이터베이스 설계자가 지정한 속성을 의미합니다.
one to one
`테이블 A의 row 와 테이블B의 row 가 정확히 일대일 매칭이 되는 관계를 one to one 관계라고 한다.
one to many
`테이블 A의 row 가 테이블B의 여러 row 와 연결이 되는 관계를 one to many 관계라고 한다.
일대다 관계는 하나의 부모 엔티티에 연결된 자식 엔티티가 여러 개가 될 수 있는 관계입니다. (1:N) 예시로 부서와 사원의 관계를 들 수 있습니다.
다대다 관계는 하나의 부모 엔티티와 연결된 자식 엔티티가 여러 개가 될 수 있고 여러 개의 부모 엔티티와 연결된 자식 엔티티가 하나가 될 수 있는 관계입니다. (N:M)
예시로 고객과 상품의 관계를 들 수 있습니다. 고객 한 명이 여러 개의 상품을 주문할 수도 있고 여러 명의 고객이 하나의 상품을 주문할 수 있기 때문에 다대다 관계라고 할 수 있습니다.
다른 예시로는
한 학생은 여러가지 수업을 들을 수가 있다.
마찬가지로 한 수업은 여러명의 학생이 들을 수가 있다 .
예시에서는 두 개의 엔티티간의 관계였지만 중복의 문제가 발생할 수 있기 때문에 다대다 관계를 구현하기 위해서 중간에 하나의 엔티티를 추가해야 합니다. 그러면 고객 입장에서 봤을 때 여러 개의 주문을 통해 여러 상품을 구매할 수 있고 상품 입장에서도 여러 개의 주문을 통해 여러 명의 고객이 하나의 상품을 구매할 수 있습니다. 다대다 관계는 위와 같이 간접적으로 구현됩니다.