1. 개체 관계 다이어그램(ERD; Entity-Relationship Diagram)
- E-R 다이어그램은 E-R 모델을 표현하기 위한 것인데 E-R 모델은 개체 타입(Entitiy Type)과 각 타입 간의 관계 타입(Relationship Type)을 이용해 현실 세계를 개념적으로 표현한 것이다.
2. ERD 표기법
- E-R 다이어그램 표기법에는 피터 첸 표기법, 정보 공학 표기법, 바커 표기법 등이 있는데, 이중 E-R모델을 제안한 피터 첸의 표기법이 가장 기본적이다.
2.1. 피터 첸 표기법
- 피터 첸 표기법(Peter Chen Notation)은 1976년 피터 첸(Peter Chen)이 개발한 표기법이다.
기호 | 기호 이름 | 의미 |
사각형 | 개체(Entitiy) 타입 | |
마름모 | 관계(Relationship) 타입 | |
타원 | 속성(Attribute) 타입 | |
이중 타원 | 다중값 속성(복합 속성) | |
밑줄 타원 | 기본키 속성 | |
복수 타원 | 복합 속성 | |
관계 | 1:1, 1:N, N:M 등의 개체 간 관계에 대한 대응수를 선위에 표시 | |
선, 링크 | 개체 타입과 속성을 연결 |
2.2. 정보 공학 표기법
- 정보 공학 표기법은 1981년 클리프 핀켈쉬타인(Clive Linkelstein)과 제임스 마틴(James Martin)이 공동 개발했다.
- 관계 표기 기호
기호 | 의미 |
| | 필수(Mandatory) |
O | 선택적(Optional) |
< | 다중(Multtiple) |
3. 관계형 데이터베이스
- 1970년 IBM에 근무하던 코드(E. F. Codd)에 의해 처음 제안됐다.
- 관계형 데이터베이스를 구성하는 개체(Entity)나 관계(Relationship)를 모두 릴레이션(Relation)이라는 표(Table)로 표현
- 장점: 간결하고 보기 편리하며, 다른 데이터베이스로의 변환이 용이
- 단점: 성능이 다소 떨어진다. 예를들어 한 가지 데이터만 조회하려 해도 릴레이션 전체를 사용해야 하기 때문, 이런 단점을 보완하기 위해 NoSQL(non SQL 또는 non Relational)이라고 관계가 없는 비 관계형 데이터베이스가 있다.
4. 관계형 데이터베이스 릴레이션(Relation) 구조
- 튜플(tuple)
- 릴레이션을 구성하는 각각의 행
- 속성의 모임으로 구성
- 파일 구조에서 레코드와 같은 의미
- 튜플의 수를 카디널리티(Cardinality) 또는 기수, 대응수 라고도 함
- 위 사진 <학생> 릴레이션에서 카디널리티는 4이다.
- 속성(Attribute)
- 데이터베이스를 구성하는 가장 작은 논리적 단위
- 파일 구조에서 데이터 항목 또는 데이터 필드에 해당
- 개체의 특성을 기술
- 속성의 수를 디그리(Degree) 또는 차수라고 함
- 위 사진 <학생> 릴레이션에서 차수(디그리)는 5이다.
- 도메인(Domain)
- 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합
- 실제 애트리뷰트 값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는 데에도 이용
- 위 사진의 <학생>릴레이션의 '학년' 도메인은 1~4이다.
정보처리기사 필기 기출문제
50. E-R 모델의 표현 방법으로 옳지 않은 것은? ③ [정답률: 26%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제) |
|
① 개체타입 : 사각형 | |
② 관계타입 : 마름모 | |
③ 속성 : 오각형 | E-R모델에서 속성은 타원형이다. |
④ 연결 : 선 |
53. 하나의 애트리뷰트가 가질 수 있는 원자값들의 집합을 의미 하는 것은? ① [정답률: 79%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제) |
|
① 도메인 | 애트리뷰트, 원자값들의 집합 - 도메인 |
② 튜플 | |
③ 엔티티 | |
④ 다형성 |
42. 다음 관계형 데이터 모델에 대한 설명으로 옳은 것은? ④ [정답률: 30%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제) |
|
① relation 3개, attribute 3개, tuple 5개 | |
② relation 3개, attribute 5개, tuple 3개 | |
③ relation 1개, attribute 5개, tuple 3개 | |
④ relation 1개, attribute 3개, tuple 5개 | attribute는 속성: 고객ID, 고객이름, 거주도시 tuple은 레코드(행): (S1, 홍길동, 서울), (S2, 이정재, 인천) ... 위 릴레이션 용어 표 참조 |
60. 릴레이션에 대한 설명으로 거리가 먼 것은? ④ [정답률: 28%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제) |
|
① 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다. | |
② 한 릴레이션에 포함된 튜플들은 모두 상이하다. | |
③ 애트리뷰트는 논리적으로 쪼갤 수 없는 원자값으로 저장한다. | |
④ 한 릴레이션에 포함된 튜플 사이에는 순서가 있다. | 릴레이션의 튜플에는 순서가 없다. |
46. 개체-관계 모델의 E-R 다이어그램에서 사용되는 기호와 그 의미의 연결이 틀린 것은? ② [정답률: 30%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
① 사각형 - 개체 타입 | |
② 삼각형 - 속성 | E-R다이어그램에서 속성은 타원형이다. |
③ 선 - 개체타입과 속성을 연결 | |
④ 마름모 - 관계 타입 |
57. A1, A2, A3 3개 속성을 갖는 한 릴레이션에서 A1의 도메인은 3개 값, A2의 도메인은 2개 값, A3의 도메인은 4개 값을 갖는다. 이 릴레이션에 존재할 수 있는 가능한 튜플(Tuple)의 최대 수는? ① [정답률: 26%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
① 24 | 튜플의 최대 수는 각 속성의 도메인의 값을 모두 곱한 값이다. 그 이유는 도메인은 하나의 속성이 취할 수 있는 같은 타입의 원자 값들의 집합이기 때문에 각각 다른 속성의 값들이 원자값으로 모두 다를 경우 최대 3 * 2 * 4 = 24, 튜플의 최대 수는 24개이다. |
② 12 | |
③ 8 | |
④ 9 |
59. 한 릴레이션 스키마가 4개 속성, 2개 후보키 그리고 그 스키마의 대웅 릴레이션 인스턴스가 7개 튜플을 갖는다면 그 릴레이션의 차수(degree)는? ③ [정답률: 27%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
① 1 | |
② 2 | |
③ 4 | 릴레이션에서 차수(degree)는 속성이다. 즉, 4개의 속성을 갖고 있으므로 차수는 4이다. |
④ 7 |