You are on page 1of 6

www.gisa79.

com

3 관계 데이터베이스 모델과 언어

3.1 관계 데이터 모델

(1) 관계 데이터 모델
1) 관계 데이터 모델 정의
① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key)와 이를
참조하는 외래키(foreign key)로 표현하는 데이터 모델 0010

② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)로 사용하


고 개체 집합들 사이의 관계를 공통속성으로 연결하는 독립된 형태의 데이터
모델 9910

③ Database management systems that process data from the perspective


of a relational database structure use a set of two dimensional tables
to represent the logical relationships among the records of a user's
files. (관계 데이터베이스 구조의 관점에서 데이터를 처리하는 DBMS는 사용
자 파일의 레코드 간의 논리적인 관계를 표현하기 위해 2차원 테이블의 집합
을 사용한다.) 0405

(2) 릴레이션
1) 릴레이션의 구조 0003 0010 0106 0605 0305 0509

릴레이션 차수 (= 7)

단순속성 복합속성
학생(STUDENT)
생일 릴레이션
키 학번 이름 학과 학년 (S_BIRTH) 스킴
(S_NO) (S_NAME) (DEPT) (YEAR) 년 월 일
(YEAR) (MONTH) (DATE)
9711001 엄두섭 컴퓨터 3 1974 5 8

카디널리티 9812045 한근희 교육 2 1975 10 9


투 릴레이션
(= 4) 플 인스턴스
9913051 이동석 국어 1 1976 12 7

9914021 윤재형 미술 1 1976 8 17

INT(7) CHAR(10) CHAR(6) INT(1) INT(2) INT(2) INT(2)


INT(6)
단순 도메인
복합 도메인

① Entity(개체)와 Relation(관계)으로 구성
• 릴레이션 스킴과 릴레이션 인스턴스(릴레이션의 외연)로 구성
• In relational database terminology, a row is called a tuple, a column
name is called an attribute, and the table is called a relation. (관계
형 데이터베이스 용어에서 행은 튜플이라 하고, 열은 속성이라 하며, 릴레
이션은 테이블이라고 한다.) 0609 0605

② 개체 (Entity) 0509 0010 |오|답|쪽|지|


개체(Entity) 오답
• 데이터베이스가 표현하려고 하는 유형, 무형의 정보대상으로 존재하면서 ✗속성들이 가질 수 있는 모
든 값들의 집합
서로 구별될 수 있는 것
• 데이터베이스에 표현하려고하는 현실 세계의 대상체

45
PART 1 | 데이터베이스

• 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성


• 파일의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 수행
• The basic object that the ER model represents as an entity, which
is a "thing" in the real world with an independent existence. (실세계
에서 독립적으로 존재하는 “사물”인 객체를 ER 모델에서는 개체(entity)라
고 표현한다.) 0203

③ 속성 (attribute)
• 개체의 특성을 기술
• 개체가 가지고 있는 성질을 나타냄
• 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데
이터 필드에 해당됨 0308

• Each entity has particular attributes.


(각 개체는 특정한 속성들을 가진다.) 0303

• The atomic attribute is called in that attributes are not divisible.


(더 이상 나누어지지 않는 속성을 원자속성이라 함) 0010
④ 도메인 (domain) 9910

• 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(atomic) 값들의 집합


0205 0209 0303 0305 0405 0503 0509 9904 0106 0403 0405 0409 0505 0605 0609

• 실제 애트리뷰트 값이 나타날 때 그 값의 합법여부를 시스템이 검사하는


데에도 이용됨
• 표현되는 속성 값의 범위를 나타냄
• The collection of data items(fields) of the same type, in a relation.
(릴레이션에서, 동일한 타입의 데이터 항목(필드)의 집합) 0403

• Each simple attribute of an entity type is associated with a value


set, which specifies the set of values that may be assigned to that
attribute for each individual entity. (개체 타입의 각 속성은 값들의 집합
과 연관되는데, 각 개별 개체의 속성에 속할 수 있는 값들의 집합을 나타
낸다.) 0305

|오|답|쪽|지| ⑤ 튜플(Tuple) 0403 0003 0109 0405


튜플(Tuple) 오답
✗테이블에서 열에 해당됨 • 데이터베이스의 관계모형에서 사용하는 테이블의 행을 구성하는 애트리뷰
트 값들의 집합
• 테이블에서 행(레코드)과 유사 0509

⑥ 관계 (relation)
• 개체간의 상호 작용을 나타냄
⑦ 차수 (degree) 0010 0609 9904 0010 0403

• The number of attributes n of its relation schema. (릴레이션 스키마를


구성하는 속성의 개수)
⑧ 카디널리티(cardinality) 0109 0203 0303 0405 0603
9904 9906 0007 0010 0203 0209 0303 0403 0603 0609

• 릴레이션(relation)에 포함되어 있는 튜플(tuple)의 수


• The quantity of tuples in consist of the relation.
(릴레이션을 구성하는 튜플들의 수)

46
www.gisa79.com

2) 릴레이션의 특성 9910 0409 0503 0505 0509 0603 0605 0609 9906 0405 0503 0505 0509 0603 |오|답|쪽|지|
릴레이션의 특성 오답
① 한 릴레이션에 포함된 튜플들은 모두 상이함(유일성을 가짐) ✗한 릴레이션을 구성하는 애
트리뷰트 사이에는 일정한
② 한 릴레이션에 포함된 튜플 사이에는 순서가 없음 순서가 있음
✗모든 속성 값은 원자 값으
③ 모든 속성 값은 원자값 0405 로 간주할 수 없음
✗속성간의 순서는 있음
④ 속성은 릴레이션 내에서 유일한 이름을 가짐 ✗중복된 튜플을 포함할 수
있음
⑤ 속성들 간에는 순서가 없음 ✗속성의 복합값
※ 용어 비교 ✗한 릴레이션에 나타난 속성
값은 논리적으로 분해 가능
한 값이어야 함
관계 데이터 모델 파일 시스템 비 고 ✗하나의 릴레이션에서 튜플
의 순서는 존재함
릴레이션 (Relation) 파일 (File) 테이블 (Table) ✗한 Relation에 포함된 속성
값은 모두 상이함
튜플 (Tuple) 레코드 (Record) 행 (Row)
속성 (Attribute) 필드 (Field) 열 (Column)
릴레이션 차수 (Relation Degree) 속성의 개수
카디널리티 (Cardinality) 튜플의 개수

(3) 키 (KEY)
1) 키의 개념 0503

데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이


되는 속성
<학생> <수강>
학번 과목명 학번 성명 주민등록번호
9984015 데이터베이스 9984015 홍길동 801010-1234567
9984015 영어회화 0284029 임꺽정 820505-1357901
0284029 데이터베이스 0284070 일지매 830717-1121110
0284070 알고리즘 0484002 성춘향 851225-2850610
0284070 한국사
0284070 운영체제
0484002 영어회화

2) 키의 종류
① 기본키 (primary key) 0205

• 테이블의 유일한 식별자


• 테이블에서 기본키로 지정된 열(column)은 같은 값을 가질 수 없음
• 후보키 중에서 특별히 선정된 키로 중복값을 가질 수 없음
• 후보키의 성질을 가짐 (유일성, 최소성 모두 만족)
• NULL 값을 가질 수 없음
예) <학생> 릴레이션에서 후보키인 학번이나 주민등록번호 중에서 선택하여
기본키 설정 가능
<수강> 릴레이션에서의 (학번, 과목명)
※ NULL: 데이터베이스에서 아직 알려지지 않거나 모르는 값으로서 해당 없음
등의 이유로 정보 부재를 나타내기 위해 사용하는 특수한 데이터 값) 즉, 공
백(space)도, 영(zero)도 아닌 부재정보(missing information)를 나타냄 9910

0203 0205 0303 0409 0509 0605

47
PART 1 | 데이터베이스

|오|답|쪽|지| ② 기본키의 특성 9904


기본키 특성 오답
✗검색할 때 꼭 필요함 • NOT NULL 0103

• UNIQUE 함
• 외래키로 참조됨
③ 외래키 (foreign key) 0205

• 어떤 릴레이션 R1의 기본키의 값들과 일치함을 요구하는 다른 릴레이션


R2의 한 속성
• 외래키는 참조 릴레이션의 기본키와 동일한 키 속성을 가짐
예) <수강> 릴레이션의 학번은 <학생> 릴레이션의 기본키인 학번을 참조하
고 있으므로 <수강> 릴레이션의 학번이 외래키가 됨
④ 후보키 (candidate key)
• 릴레이션에 있는 모든 튜플들을 유일하게 식별할 수 있는 하나 또는 몇 개
의 애트리뷰트 집합
• 튜플을 유일하게 구분할 수 있는 최소 슈퍼키 (하나의 속성으로 이루어짐)
• 유일성과 최소성 모두 만족
예) <학생> 릴레이션의 학번, 주민등록번호 <수강> 릴레이션의 (학번, 과목명)
⑤ 대체키 (alternate key)
• 후보키가 둘 이상 되는 경우에 그 중에서 어느 하나를 선정하여 기본키라
지정하면, 나머지 후보키들은 대체키가 됨 (후보키 - 기본키 = 대체키)
예) <학생> 릴레이션에서 학번이 기본키로 설정시 주민등록번호는 대체키가 됨
⑥ 슈퍼키 (super key)
• 유일성만 있고 최소성이 없는 애트리뷰트 집합
• 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
예) <학생> 릴레이션의 학번, 주민등록번호, (학번, 주민등록번호), (학번, 성
명, 주민등록번호) 등
※ 유일성(Uniqueness): 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수
있어야 함
※ 최소성(Minimality): 키를 구성하는 속성 하나를 제거하면 유일하게 식별할
수 없도록 꼭 필요한 최소의 속성으로 구성되어야 함

(4) 무결성 (Integrity) 0603 0505

1) 권한이 부여된 사용자에 의하여 발생할 수 있는 데이터베이스의 오류를 방지하


기 위함

2) 데이터베이스를 정확하고 유효하게 유지 (데이터의 정확성) 9910

3) 제약조건에 의해 무결성 유지

4) 무결성 규정에는 규정이름, 검사 시기, 제약조건 등을 명시

5) 트리거는 트리거 조건이 만족되는 경우에 취해야 하는 조치를 명세

6) The DBMS can maintain the integrity of the database by not allowing
more than one user to update the same record at the same time. (DBMS
는 한 명 이상의 사용자가 동시에 같은 레코드를 수정하지 못하게 함으로써 데
이터베이스의 무결성을 유지할 수 있다.) 0403

48
www.gisa79.com

(5) 무결성 제약조건


1) 개체 무결성 제약조건 9908 0010 0203 0205 9906 9908 9910 0003 0106 0203 0209 0303 0503

한 릴레이션의 기본키를 구성하는 어떠한 속성 값도 널(NULL)값이나 중복 값


을 가질 수 없다는 것을 의미

2) 참조 무결성 제약조건 9904 0403 0005 0007 0010 0308 0405 0409

① 릴레이션 R1에 저장된 튜플이 릴레이션 R2에 있는 튜플을 참조하려면 참조


되는 튜플이 반드시 R2에 존재해야 한다는 데이터 무결성 규칙 (R2의 기본
키를 R1의 외래키로 참조함) 0010 0505 9904 0103 0109

② 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음 0308 0505

|기|출|문|제| 0509
4. 데이터베이스의 구성 요소 중 데이터베이스가 표
현하려고 하는 유형, 무형의 정보대상으로 존재
0010 하면서 서로 구별될 수 있는 것은?
가. relation 나. attribute
1. 다음의 논리적인 데이터 모델에서 데이터간의 관
계를 기본키(primary key)와 이를 참조하는 외래 다. tuple 라. entity
키(foreign key)로 표현하는 데이터 모델은?
0403
가. 관계형 데이터 모델
5. 데이터베이스에 관련된 용어의 설명으로 옳지 않
나. 네트워크 데이터 모델
은 것은?
다. 계층적 모델 가. 튜플(tuple) - 테이블에서 열에 해당된다.
라. 객체지향 데이터 모델 나. 애트리뷰트(attribute) - 데이터의 가장 작은
논리적 단위로서 파일 구조상의 데이터 항목
0405 또는 데이터 필드에 해당한다.
2. 다음 영문의 괄호에 적합한 database system 다. 릴레이션(relation) - 릴레이션 스킴과 릴레이
은? 션 인스턴스로 구성된다.
Database management systems that 라. 도메인(domain) - 애트리뷰트가 취할 수 있
process data from the perspective of a ( 는 값들의 집합이다.
) structure use a set of two dimensional
0305
tables to represent the logical 6. 다음은 무엇에 대한 설명인가?
relationships among the records of a Each simple attribute of an entity type is
user's files. associated with a value set, which

가. hierarchical database specifies the set of values that may be


나. network database assigned to that attribute for each
다. relational database individual entity.
라. object-oriented database 가. Domains 나. Schemas
다. Attributes 라. Tuples
0609
3. 괄호 한 내용으로 옳게 짝지어진 것은? 0010

In relational database terminology, a row is 7. What is the degree of a relation?


called a(an) ( ① ), a column name is called 가. the number of occurrences n of its
a(an) ( ② ), and the ( ③ ) is called a relation schema
relation. 나. the number of tables n of its relation
schema
가. ① tuple ② table ③ attribute 다. the number of attributes n of its relation
나. ① table ② attribute ③ tuple schema
다. ① tuple ② attribute ③ table 라. the number of key n of its relation
라. ① attribute ② tuple ③ table schema

49
PART 1 | 데이터베이스

0405 0603
8. What is the quantity of tuples in consist of 12. 데이터베이스 무결성에 관한 설명으로 옳지 않
the relation? 은 것은?
가. Degree 나. Instance 가. 개체 무결성 규정은 한 릴레이션의 기본 키를
다. Domain 라. Cardinality 구성하는 어떠한 속성 값도 널(NULL) 값이나
중복 값을 가질 수 없음을 규정하는 것이다.
9910 0605 나. 무결성 규정에는 규정이름, 검사 시기, 제약
9. 릴레이션의 특성에 대한 설명으로 잘못된 것은? 조건 등을 명시한다.
가. 한 릴레이션에 포함된 튜플들은 모두 상이하 다. 도메인 무결성 규정은 주어진 튜플의 값이 그
다. 튜플이 정의된 도메인에 속한 값이어야 한다
나. 한 릴레이션에 포함된 튜플 사이에는 순서가 는 것을 규정하는 것이다.
없다. 라. 트리거는 트리거 조건이 만족되는 경우에 취
다. 한 릴레이션을 구성하는 애트리뷰트 사이에는 해야 하는 조치를 명세한다.
일정한 순서가 있다.
라. 모든 애트리뷰트 값은 원자값이다. 0403
13. 다음 ( )에 적합한 단어는?
0405
The DBMS can maintain the ( ) of the
10. 릴레이션의 성질(property)로 적합한 것은? database by not allowing more than one user
가. 중복된 튜플이 존재한다. to update the same record at the same time.
나. 튜플 간의 순서가 정의된다.
가. independence 나. integrity
다. 속성 간의 순서가 정의된다.
다. redundancy 라. security
라. 모든 속성 값은 원자값이다.

0205 0203
0205
14. 한 릴레이션의 기본키를 구성하는 어떠한 속성
11. 다음 괄호에 적합한 내용은?
값도 널(NULL)값이나 중복 값을 가질 수 없다는
The ( ) is a unique identifier for 것을 의미하는 것은?
the table - that is, a column with the 가. 개체 무결성 제약 조건
나. 참조 무결성 제약 조건
property that no two rows of the table
다. 보안 무결성 제약 조건
contain the same value in that column.
라. 정보 무결성 제약 조건
가. alternate key 나. candidate key
0403
다. foreign key 라. primary key
15. 릴레이션 R1에 저장된 튜플이 릴레이션 R2에
있는 튜플을 참조하려면 참조되는 튜플이 반드시
R2에 존재해야 한다는 데이터 무결성 규칙은?
가. 개체 무결성 규칙(Entity Integrity Rule)
나. 참조 무결성 규칙(Referential Integrity Rule)
다. 영역 무결성 규칙(Domain Integrity Rule)
라. 트리거 규칙(Trigger Rule)

50

You might also like