공든탑앱 열기

관계형 모델과 E-R 다이어그램

컴퓨터활용능력 1급 · 데이터베이스 기초 · 약 12분

쉽게 말하면

관계형 데이터베이스는 자료를 표로 저장해요. 표 하나를 릴레이션, 표의 한 줄을 튜플, 한 칸의 항목 이름을 애트리뷰트(속성)라고 불러요. 설계할 때는 먼저 'E-R 다이어그램'이라는 그림으로 무엇(개체)이 있고 서로 어떻게 연결(관계)되는지 그려요. 학생과 과목이 '수강'이라는 관계로 이어지는 식이에요.

시험용 정의

관계형 데이터 모델은 데이터를 표(릴레이션)로 나타낸다. 표의 행은 튜플(레코드), 열은 애트리뷰트(속성, 필드)이고, 한 애트리뷰트가 가질 수 있는 같은 타입의 원자값 집합을 도메인이라 한다. 애트리뷰트의 수는 차수(Degree), 튜플의 수는 카디널리티(Cardinality)다. 릴레이션에서 튜플은 모두 서로 다르고, 튜플 사이와 애트리뷰트 사이에는 순서가 없으며, 애트리뷰트 값은 더 나눌 수 없는 원자값이다. 애트리뷰트는 기본 키가 아니면 널(Null) 값을 가질 수 있다. 개념적 설계에 쓰는 E-R 다이어그램은 사각형(개체), 마름모(관계), 타원(속성), 밑줄 그은 타원(기본 키 속성), 이중 타원(다중값 속성), 이중 사각형(약한 개체), 선(연결)으로 그린다. 관계는 일대일(1:1)·일대다(1:N)·다대다(N:M)가 있고, 일대다는 '다' 쪽 테이블에 '일' 쪽의 키를 외래 키로 넣어 나타낸다.

비유로 이해하기

릴레이션은 출석부다. 출석부 한 줄이 학생 한 명(튜플), 이름·학번 같은 칸 제목이 애트리뷰트다. 칸 수가 차수, 학생 수가 카디널리티다. 같은 학생을 두 줄에 적지 않고, 줄의 순서는 의미가 없다.

자세히

용어 짝

관계형 모델Access·표에서뜻
릴레이션테이블표 하나
튜플레코드(행)자료 한 건
애트리뷰트필드(열)항목 하나. 가장 작은 논리 단위
도메인필드에 들어갈 수 있는 값의 범위성별의 도메인 = {남, 여}
차수(Degree)필드 수속성 개수
카디널리티(Cardinality)레코드 수튜플 개수

E-R 다이어그램 기호

기호뜻
사각형개체(Entity): 학생, 과목
마름모관계(Relationship): 수강
타원속성(Attribute): 이름, 학년
밑줄 그은 타원기본 키 속성
이중 타원다중값 속성 (전화번호 여러 개)
이중 사각형약한 개체 (다른 개체 없이는 존재할 수 없음)
선개체와 속성, 개체와 관계를 잇는다

일대다 관계를 테이블로

지원자 한 명이 경력을 여러 개 가지면, 경력을 지원자 테이블에 회사1·회사2처럼 늘려 쓰지 않는다. 경력 테이블을 따로 만들고 각 경력 레코드에 지원자ID(지원자 테이블의 기본 키)를 외래 키로 넣는다.

지원자(지원자ID, 이름, 연락처)
경력(경력ID, 지원자ID, 회사, 직무, 근무기간)

시험에 이렇게 나와요

확인 문제

Q1. E-R 다이어그램에서 관계(Relationship)를 나타내는 기호는?

  1. 사각형
  2. 마름모
  3. 밑줄 그은 타원
  4. 타원
정답 보기

2번 마름모

사각형은 개체, 마름모는 관계, 타원은 속성, 밑줄 그은 타원은 기본 키 속성이다.

Q2. 속성 5개, 레코드 20개인 릴레이션의 차수와 카디널리티는?

  1. 차수 25, 카디널리티 100
  2. 차수 5, 카디널리티 20
  3. 차수 5, 카디널리티 5
  4. 차수 20, 카디널리티 5
정답 보기

2번 차수 5, 카디널리티 20

차수는 속성(열) 수, 카디널리티는 튜플(행) 수다.

Q3. 릴레이션의 특징으로 옳지 않은 것은?

  1. 속성 사이에는 순서가 없다
  2. 속성 값은 원자값이다
  3. 튜플은 모두 서로 다르다
  4. 튜플 사이에는 순서가 있다
정답 보기

4번 튜플 사이에는 순서가 있다

튜플과 속성 사이에는 순서가 없다.

Q4. E-R 다이어그램에서 개체를 나타내는 기호는?

  1. 사각형
  2. 마름모
  3. 선
  4. 타원
정답 보기

1번 사각형

마름모는 관계, 타원은 속성이다.

Q5. 학과 하나에 학생이 여럿 속할 때 알맞은 테이블 구조는?

  1. 학과(학과코드, 학과명) 학생(학번, 이름)
  2. 학과(학과코드, 학과명, 학번1, 학번2) 학생(학번, 이름)
  3. 학과(학과코드, 학과명) 학생(학번, 이름, 학과코드)
  4. 학생(학번, 이름, 학과명1, 학과명2)
정답 보기

3번 학과(학과코드, 학과명) 학생(학번, 이름, 학과코드)

'다' 쪽인 학생 테이블에 학과코드를 외래 키로 넣는다.

헷갈리기 쉬운 O·X

관계형 모델의 애트리뷰트는 절대로 널(Null) 값을 가질 수 없다.

정답 보기

X 기본 키가 아닌 애트리뷰트는 Null을 가질 수 있다.

E-R 다이어그램에서 타원은 개체를 나타낸다.

정답 보기

X 타원은 속성, 개체는 사각형이다.

함께 보면 좋은 개념