17
1 제 3 제 제제 제제제제제제 제제 2. 제제 제제 3. 제제 제제제 제제 1. 제제

제 3 장 관계 데이터베이스 모델

  • Upload
    gabby

  • View
    66

  • Download
    0

Embed Size (px)

DESCRIPTION

제 3 장 관계 데이터베이스 모델. 1. 개요. 2. 기본 개념. 3. 관계 데이터 제약. 제 3 장 관계 데이터베이스 모델. 1. 개요. Data Model ( 데이터 모델 ) - 현실 세계의 데이터를 컴퓨터라는 저장 장치에 저장하기 위한 방법. 데이터 모델의 종류 - hierarchical data model - network data model - relational data model - PowerPoint PPT Presentation

Citation preview

Page 1: 제  3  장 관계 데이터베이스 모델

1

제 3 장 관계 데이터베이스 모델제 3 장 관계 데이터베이스 모델

2. 기본 개념2. 기본 개념

3. 관계 데이터 제약3. 관계 데이터 제약

1. 개요1. 개요

Page 2: 제  3  장 관계 데이터베이스 모델

2

1. 개요1. 개요

Data Model ( 데이터 모델 )

- 현실 세계의 데이터를 컴퓨터라는 저장 장치에 저장하기 위한 방법

데이터 모델의 종류 - hierarchical data model

- network data model

- relational data model

- object-oriented data model

- object-relational data model

Relational Data Model ( 관계 데이터 모델 )

- 1970 년도 E. F. Codd 에 의해 발명 됨 .

- Relational Data Model 은 열 (column) 과 행 (row) 으로 이루어진 테이블 ( 릴레이션 ) 과 수학적으로 정의된 연산들로

구성된다 .

제 3 장 관계 데이터베이스 모델

Page 3: 제  3  장 관계 데이터베이스 모델

3

1.1 관계 데이터 모델 1.1 관계 데이터 모델

현실 세계의 자료를 관계 데이터 모델로 표현 “ 사원 중 사번이 C0101 인 인사과 이재준 사원의 1 월 급여는 200

만원이다 .”

이 내용을 관계 데이터 모델 구조로 표현하면 아래와 같다 .사원

관계 데이터 모델에서는 이렇게 현실 자료를 표 (Table) 형태로 나타내는데 이런 표를 릴레이션 (Relation) 이라고

부른다 .

제 3 장 관계 데이터베이스 모델

사번 부서 이름 월 급여

C0101 인사과 이재준 1 200

Page 4: 제  3  장 관계 데이터베이스 모델

4

1.2 관계 데이터 모델의 구조1.2 관계 데이터 모델의 구조

릴레이션 구조와 구성 요소

Employee

TupleRelationInstance

RelationScheme

RelationName

Attribute

• Attribute( 속성 ) : 릴레이션의 열 (Column)• Tuple( 투플 ) : 릴레이션의 행 (Row)• Degree( 차수 ) : 속성의 개수 , 즉 위 릴레이션에서는 5• Cardinality( 카디널리티 ): 투플의 개수 , 즉 위 릴레이션에서는 3• Domain( 도메인 ) : 속성에 들어 갈 수 있는 자료의 집합 예 ) 속성 성별의 도메인은 무엇인가 ? { 남자 , 여자 }

제 3 장 관계 데이터베이스 모델

Num Name Addr Email Tel

C0101 이재준 서울 … Joon@... 02-123…

C0102 유지현 인천 … huyn@... 032-234…

D0101 박상원 경기 … won@... 031-345…

Page 5: 제  3  장 관계 데이터베이스 모델

5

관계 데이터 모델의 용어 정의관계 데이터 모델의 용어 정의

Attribute

Domain

Tuple

Relation

CardinalitySimple Attribute vs. Composite Attribute

Single-valued Attribute vs. Multivalued Attribute

단순 도메인 (Simple Domain)

복합 도메인 (Complex Domain)

릴레이션 스키마 (Relation Schema)릴레이션 내포 (Relation Intension)

릴레이션릴레이션 외연 (Relation Extension)

Degree

Key

릴레이션 스킴 (Relation Scheme)

릴레이션 인스턴스 (Relation Instance)

데이터베이스 스키마(Database Schema)

데이터베이스 인스턴스(Database Instance)

Null Attribute

Derived Attribute

제 3 장 관계 데이터베이스 모델

Page 6: 제  3  장 관계 데이터베이스 모델

6

2. 기본개념 2.1 릴레이션 2. 기본개념 2.1 릴레이션

Relation Scheme - 릴레이션 이름 (R) 과 릴레이션을 구성하는 속성 이름 (A1, A2, A3, . . . An) 들의 합으로

표현하며 ,

R (A1, A2, A3, . . . An) 과 같이 표현한다 .

앞 장 Employee 릴레이션의 릴레이션 스킴은 Employee(Num, Name, Addr, Email, Tel)

Relation Instance ( instance = example ) - 어느 한 시점에 릴레이션 R 에 포함되는 투플 (tuple) 의 집합을 의미하는 것으로 실제

값이라고도 함 .

Database SchemaDatabase Schema Database InstanceDatabase Instance

(Relation Scheme) (Relation Instance)

ㄲ딤셔 (Relation)ㄲ딤셔 (Relation)

(Relation Scheme) (Relation Instance)

RelationRelation

Relation Scheme Relation Instance

릴레이션들의 모임이 데이터베이스 이므로릴레이션 스킴의 모임이 데이터베이스 스키마가 되고

릴레이션 인스턴스들의 모임이 데이터베이스 인스턴스가 된다 .

제 3 장 관계 데이터베이스 모델

Page 7: 제  3  장 관계 데이터베이스 모델

7

2.2 릴레이션 특성2.2 릴레이션 특성

한 릴레이션에는 중복된 투플이 존재하지 않는다 .

제 3 장 관계 데이터베이스 모델

Employee

Name Hobby

사원 1 수영

사원 2 영화감상

사원 3 영화감상

사원 1 수영

한 릴레이션을 구성하는 속성들 간에는

순서가 없다 .

한 릴레이션을 구성하는 튜플들간에는 순서가 없다 .

Employee2

Hobby Name

게임 사원 1

영화감상 사원 2

음악감상 사원 3

Employee1

Name Hobby

사원 1 게임

사원 2 영화감상

사원 3 음악감상

==

Employee2

Name Hobby

사원 1 게임

사원 3 음악감상

사원 2 영화감상

Employee1

Name Hobby

사원 1 게임

사원 2 영화감상

사원 3 음악감상

==

Page 8: 제  3  장 관계 데이터베이스 모델

8

Attribute( 속성 ) 이란 릴레이션의 열 (column)

이며 , 파일 시스템의 Field( 속성 ) 에 해당한

다 .

속성의 분류

2.3 속성2.3 속성

AttributeAttribute

• 단순 속성 (Simple Attribute)

• 단순 속성 (Simple Attribute)

• 널 속성 (Null Attribute)

• 널 속성 (Null Attribute)

• 유도 속성 (Derived Attribute)

• 유도 속성 (Derived Attribute)

단순 속성 : 속성값이 하나의 의미만을 가지는 것 .

널 속성 : 속성 값이 널 값 (null value) 인 것 .

유도 속성 : 새롭게 유도해 낸 속성 .

제 3 장 관계 데이터베이스 모델

Page 9: 제  3  장 관계 데이터베이스 모델

9

속성의 종류속성의 종류

Single-valued Attributevs.

Multivalued Attribute

• 사원 번호

• 사원 전화 번호

Null Attribute• A null value is used when an entity does not have a value for an attribute

• Null can designate that an attribute value is unknown

• An unknown value may be either missing or not known.

Derived Attribute• 사원 입사 날짜 : base or stored attribute

• 재직 기간 = 현재 날짜 - 입사 날짜

Simple Attributevs.

Composite Attribute

Employee

Emp. Name

이름성

Emp. Addr

시 / 도 구 / 군 읍 / 면 / 동 번지 우편번호

EntitySet

CompositeAttribute

ComponentAttribute

제 3 장 관계 데이터베이스 모델

Page 10: 제  3  장 관계 데이터베이스 모델

10

2.2.2 복합 속성2.2.2 복합 속성

Employee

Name

이름성

Addr

시 / 도 구 / 군 읍 / 면 / 동 번지 우편번호

EntitySet

EntitySet

CompositeAttribute

CompositeAttribute

ComponentAttribute

ComponentAttribute

Birth Day

Year Month Day

Composite Attribute 구성 예

제 3 장 관계 데이터베이스 모델

Page 11: 제  3  장 관계 데이터베이스 모델

11

2.3 속성2.3 속성

Employee

널 속성의 개념

■ 아직 알려지지 않음 정보가 존재하는 것을 알고 있으나 데이터를 입력하는 시점에서 그 내용을 알지 못하고 있는 경우에 사용한다 . 위 릴레이션에서 “ Birth Day” 데이터의 경우 생년월일이 있는 것은 알지만 아직 알려지지 않은 경우 임시로 null 로 설정해 둔다 .

■ 해당 없음 “Tel” 데이터의 경우 아직 휴대전화가 없는 사람은 전화번호 정보가 없으므로 데이터의 입력 대상에 해당되지 않는다 .

제 3 장 관계 데이터베이스 모델

Num Name Birth Day

Email Tel

C0101 이재준 1981.10.1

Joon@... 011 123 …

C0102 유지현 huyn@... 010 123 …

D0101 박상원 1989.1.31

won@...

Page 12: 제  3  장 관계 데이터베이스 모델

12

2.4 도메인2.4 도메인

학번 생일이름 학과 학년

INT(7)숫자 7 자리

INT(6)숫자 6 자리

CHAR(10)문자 10 자리

CHAR(10)문자 10 자리

INT(1)숫자 1 자리

속성 이름

속성 유형

서울특별시부산광역시대구광역시광주광역시대전광역시인천광역시

서울특별시부산광역시대구광역시광주광역시대전광역시인천광역시

컴퓨터정보통신실용음악유아교육

컴퓨터정보통신실용음악유아교육

도메인도메인 도메인 안됨도메인 안됨

도메인 (domain) 은 특정 속성이 가질 수 있는 원자 값들의 집합을 가리킴

제 3 장 관계 데이터베이스 모델

Page 13: 제  3  장 관계 데이터베이스 모델

13

2.5 관계 데이터 모델의 키 2.5 관계 데이터 모델의 키

키 (Key) 는 릴레이션의 투플을 유일하게 식별할 수 있는 속성의 집합 .

유일성 (Uniqueness)

- 속성의 집합인 키의 내용이 릴레이션내에서 유일하다는 특성 .

최소성 (Minimality)

- 속성의 집합인 키가 릴레이션의 모든 투플을 유일하게 식별하기 위하여 꼭 필요한 속성들로 구성되는 것 .

예 ) 학생 ( 학번 , 이름 , 주소 , 생일 , 집전화 , 핸드폰 , 키 , 몸무게 , …)

위 릴레이션에서 키가 될 수 있는 속성은 어떤 것인가 ?

학번 : 2000081001, 2000081002, … 데이터가 같은 것이 하나도 없으므로 된다 .

이름 : 홍길동 , 김유신 , 홍길동 , … 같은 이름을 가진 학생이 있을 수 있으므로 키가 안됨

생일 : 같은날이 생일인 학생이 있을 수 있으므로 키가 안됨 집전화 : 형제가 같은 학년 같은 과에 다닌다면 ? 안되겠죠 ! 쌍둥이

핸드폰 :

키 :

제 3 장 관계 데이터베이스 모델

Page 14: 제  3  장 관계 데이터베이스 모델

14

2.5 관계 데이터 모델의 키 2.5 관계 데이터 모델의 키

후보키 : 유일성과 최소성을 만족하는 키 . ( 앞장의 예에서 , 학번 , 핸드폰 )

기본키 : 후보키들 중 하나를 선정해 사용하는 것 ( 학번 )

외래키 : 한 릴레이션의 속성의 집합이 다른 릴레이션에서

기본 키로 이용되는 것 .

키 (Key)키 (Key)

후보키(Candidate key)

후보키(Candidate key)

기본키(Primary key)

기본키(Primary key)

외래키(Foregine key)

외래키(Foregine key)

제 3 장 관계 데이터베이스 모델

Page 15: 제  3  장 관계 데이터베이스 모델

15

2.6 외래키의 개념2.6 외래키의 개념

이형묵최내원박성원

이름

홍길동김유신강감찬이순신

:

이름

서울…경기도…인천…

경기도… :

주소

19800505198110091980120719810817

:

생년월일

P0001P0002P0003

:

T102T103T302

116111631265

경기…경기…서울…

교수번호 연구실 전화 주소

81001810028200182002

:

컴퓨터컴퓨터전자전자

:

2211:

0233555190346335541103254911150428601144

:

학번 학과 학년 전화

P0001P0002P0003P0003

:

지도교수

교수

학생

학생릴레이션의

기본키

교수릴레이션의

기본키

학생릴레이션의

외래키

학생 릴레이션의 지도교수

속성은 교수 릴레이션에서 기본키로 사용된다 .

제 3 장 관계 데이터베이스 모델

Page 16: 제  3  장 관계 데이터베이스 모델

16

3. 관계 데이터 제약3. 관계 데이터 제약

개체 무결성 제약

- 릴레이션의 기본키 속성은 절대 널 값을 가질 수 없는 것 .

참조 무결성 제약

- 릴레이션의 외래키 속성은 참조할 수 없는 값을 가질 수 없는 것 .

제 3 장 관계 데이터베이스 모델

Page 17: 제  3  장 관계 데이터베이스 모델

17

3. 관계 데이터 제약3. 관계 데이터 제약

81001810028200182002

null:

이형묵최내원박성원

:장미희

이름

홍길동김유신강감찬이순신

을지문덕

이름

서울…경기도…인천…

경기도…서울…

주소

P0001P0002P0003

:P0050

교수번호

학번

P0001P0002P0003P0003P0099

지도교수

교수

학생

개체 무결성제약 위반

교수릴레이션의

기본키

학생릴레이션의

외래키

참조 무결성제약 위반

기본키는널 값을

가질 수 없다 .

P099 는 교수 릴레이션의교수번호 속성이

가지고 있지 않은 값이다 .

제 3 장 관계 데이터베이스 모델