일대일, 일대다, 다대다 관계 모델에 대해 설명해보세요.

  • 관계 모델(relational model)

데이터를 행과 열로 된 관계의 표 형태로 저장하고, 한 표의 지정된 행(속성)을 이용하여 다른 표에 추가적인 데이터를 찾는 식으로 검색하는 데이터 모델. E.F. 코드가 제창한 데이터 모델의 하나인데, 단순한 표 형식으로 표현하는 것부터 출발하여 여러 가지 관계의 정규형이 제안되었다.

데이터 모델에는 이 밖에도 계층 모델, 망 모델 등이 있으나 오늘날 데이터베이스 관리 시스템(DBMS), 특히 마이크로컴퓨터용 데이터베이스에서 가장 많이 구현되는 것은 관계 모델이다.

  • 관계 데이터 모델의 장점

① 데이터 모델 구조가 탄력적이어서 필요할 때 테이블 사이의 연결을 통해 데이터를 생성 및 처리 할 수 있다.

② 데이터 정의 언어와 데이터 조작언어가 간단하여 비전산요원도 쉽게 사용할 수 있다.

③ 데이터들간의 복잡한 관계를 개념적으로 분명하고 간단하게 표현하고 강력한 데이터 조작능력을 제공한다.

④ 데이터의 첨가, 삭제, 수정이 쉽고 미래의 정보요구에 신축성 있게 대응할 수 있다.

  • 관계 데이터 모델의 단점

① 기억용량이 많이 필요하다.

② 정보추출에 시간이 많이 소요된다.

③ 각 표마다 인덱스가 수반되어 번거로울 수 있다.

  • 관계 설정

- 관계란 여러 테이블의 데이터를 연결시키는 것을 말한다.

- 하나의 거대한 테이블보다는 연관된 필드를 중심으로 여러 개의 테이블을 유기적으로 관리하는 것이 효과적이다.

- 이를 위해 테이블간의 관계설정을 한다.

- 연결이 효과적일수록 데이터베이스가 효과적이고 탄력적 기능을 수행하게 된다.

- 관계 설정으로 연결되는 두 필드는 같은 데이터 형식이어야 하며, 같은 종류의 정보가 들어 있어야 한다.

- 숫자 형식은 필드 크기도 같아야 한다. [숫자]필드와 [일련번호]는 서로 대응시킬 수 없다.

- 관계의 종류 : 일대일관계, 일대다 관계, 다대다 관계

  • 일대일 관계

2개의 테이블이 하나의 필드를 기준으로 관계가 설정되어 있다.

관계 설정된 두 테이블의 각 필드 값은 각 테이블에서 유일하다.

즉, 각 필드는 해당 테이블에서 기본키로 설정되어 있다.

기본키로 설정된 2개의 필드를 이용하여 연결된 관계를 [일대일] 관계라고 한다.

ex) A테이블 : 학번 → B테이블 : 학번

A테이블에 있는 학번만이 B테이블에 입력된다.

A테이블에 먼저 학번을 입력해야지만, B테이블에 학번이 입력된다.

보안이나 성능 향상을 위해 사용한다.

  • 일대다 관계

▪ 기본키인 필드와 기본키가 아닌 필드를 기준으로 관계설정
▪ 기본킹인 필드는 해당 테이블에서 데이터가 유일하다.
▪ 기본키가 아닌 필드는 해당 테이블에서 데이터가 여러 개 일 수 있다.
▪ 즉, 기본키 필드와 기본키가 아닌 필드를 연결한 경우를 [일대다]관계라 한다.
▪ 기본적으로 하위시트 연결은 [일대일] 보다는 [일대다] 관계가 더 우선권을 가진다.

  • 다대다 관계

두 테이블이 서로 한 개 이상의 연관된 레코드를 가질 수 있다.

두 테이블을 직접 연결 불가능. 제 3의 테이블에 의한 관계 설정

데이터베이스

Trigger란?

데이터베이스

데이터베이스 테이블을 정규화하는 의의는 무엇입니까?

커뮤니티 Q&A

이론과 관련된 게시글이에요.

이해가 안 되거나 궁금한 점이 있다면 커뮤니티에 질문해 보세요!

게시글 작성하기