• 검색 결과가 없습니다.

관계 데이터베이스

N/A
N/A
Protected

Academic year: 2022

Share "관계 데이터베이스"

Copied!
11
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

관계 데이터 모델과

Chap.3

관계 데이터 모델과

관계 데이터베이스

(2)

 관계모델의 개념

예제를 통한 관계 데이터베이스 설계 내 용

 예제를 통한 관계 데이터베이스 설계

 관계 제약조건

(3)

 관계 모델은 E.F. CODD가 1972년 제안한 데이터 모델로써 오늘날 대부분의 데이터베이스 관리시스템에서 지원하는 데이터 모델임

 관계 모델은 실세계 데이터를 행과 열로 된 표(테이블, 릴레이션) 형태로 저장하고, 한 테이블의 필드 값을 이용하여 다른 테이블에 관련된 데이터를 찾는 식으로 검색하는 데이터 모델

관계모델의 개념

실세계 데이타

(4)

(예) Student(Name, SSN, HomePhone, Address, OfficePhone, Age, Gpa)

관계모델의 개념

STUDENT

Benjamin Bayer Katherine Ashly

305-61-2435 381-62-1245

Name SSN HomePhone Address OfficePhone Age Gpa

373-1616 375-4409

2918 BlueBonnet Lane 125 Kirby Road

null null

19 18

3.21 2.89

릴레이션의 이름 애트리뷰트 (필드, 속성) 애트리뷰트 이름

Katherine Ashly Dick Davidson Charles Cooper Barbara Benson

381-62-1245 422-11-2420 489-22-1100 533-69-1238

375-4409 null 376-9821 839-8461

125 Kirby Road 3452 Elgin Road 265 Lark Lane 7384 Fontana Lane

null 749-1253 749-1253

null

18 25 28 19

2.89 3.53 3.93 3.25

튜플

애트리뷰트의 값

Primary Key

관계 모델에서

− 데이터베이스는 테이블(릴레이션)들의 집합 (모임)으로 표현되며,

− 테이블은 튜플 (행, 레코드)들의 집합으로 표현되고,

− 튜플은 애트리뷰트 (컬럼, 필드, 혹은 속성)들로 구성됨

• 각 학생은 레코드로 표시되고, 레코드의 각 필드는 단일값을 가진다.

• 각 테이블에는 모든 레코드에서 서로 다른 값을 가지는 필드(들)가 있어햐 함 : 주 키 (primary key)

(5)

릴레이션의 특징

• 릴레이션에서 튜플의 순서는 의미가 없음

• 집합에서 원소 순서가 무의미한 것과 마찬가지

• 각 튜플 내에서의 (필드) 값들의 순서

• n-튜플은 n 개 값의 리스트이며, 한 투플 내에서 값들의 순서는 중요함 (리스트에서 원소의 순서는 중요한 의미를 가짐)

관계모델의 개념

중요함 (리스트에서 원소의 순서는 중요한 의미를 가짐)

• 튜플 내의 필드값

• 나눌 수 없는 원자 값들(atomic values)로 한정하며, 집합 속성이나 복합속성은 허용하지 않음 (별도의 테이블로 저장함)

• 값을 알 수 없거나 해당되는 값이 없을 때에는 null 이라는 특수 값을 사용함

1 a

2 b

3 c

4 d

2 b

1 a

3 c

4 d

==

(6)

 제약조건

– 도메인 제약조건

• 각 필드의 값은 반드시 그 필드의 도메인에 속하는 원자값 이어야 한다.

• 예를들어, Student 테이블의 Gpa 필드의 값은 4.5 이내의 실수값이어야 한다.

– 엔티티 제약조건

• 테이블마다 투플을 서로 구분할 수 있는 필드가 존재하며, 이 필드를 Primary key (기본 키)라고 한다.

• 기본 키 값은 널 값이 될 수 없다는 조건을 엔티티 무결성 제약조건이라고 한다.

관계모델의 개념

• 기본 키 값은 널 값이 될 수 없다는 조건을 엔티티 무결성 제약조건이라고 한다.

• 예를들어, Student 테이블에서 SSN 필드는 각 학생들을 구분하는 필드이다.

– 참조 무결성 제약조건

• 한 테이블의 필드 값은 다른 테이블의 기본 키 값을 참조할 때 두 테이블 사이에 참조무결성 제약조건이 있다고 한다.

• 예를들어, Student 테이블의 dno 필드 값은 Department 테이블의 dnumber 필드 값을 가져야 한다.

• 이 때, Student 테이블의 dno 필드를 외래키(foreign key)라고 부른다.

dno dnumber

Student Department

(7)

 실세계 데이터를 어떻게 테이블(들)로 모델링하는가 ?

– 실세계 정보를 분석한 후 몇 개의 테이블로 구성되는가 ?

• 극단적으로 하나의 테이블에 모든 정보를 저장할 수도 있음

• Universal Table

– 각 테이블의 구조 (필드와 키)는 어떻게 되는가 ?

관계 데이터베이스 설계

실세계 데이타

Τ1 Τ2

Τ3

Τ4 Τ5

(8)

Departments Employees

Projects

회사

다음과 같은 회사의 데이터베이스를 구축하는 문제를 생각하자.

몇 개의 테이블 ? 각 테이블의 구조는 ?

이름, 주민번호, 생일, 주소, 성별, 연봉, 상사, 근무부서

부서명, 부서번호, 관리자, 관리시작일

예제를 통한 관계 데이터베이스 설계

Projects

사업−1

Dependents

이름, 성별, 생일, 관계, 부모주민번호

프로젝트 이름, 프로젝트 번호, 위치, 관리부서

(9)

Departments Employees

Projects 사업−1 Dependents

회사

1. Employee와 Department를 하나의 테이블로 표현

Employee 정보 Department 정보

FNAME MINIT LNAME

SSN

BDATE ADDRESS SEX SALARY SUPERSSN dname

dno

mgrssn mgr-str-date John B Smith 123456789 09-Jan-55 731 Fondren,

Houston, TX M 30000 333445555 Research 5 333445555 22-May-78

Franklin T Wong 333445555 08-Dec-45 638 Voss, Ho

uston, TX M 40000 888665555 Research 5 333445555 22-May-78

Alicia J Zelaya 999887777 19-Jul-58 3321 Castle,

Spring, TX F 25000 987654321 Administration 4 987654321 01-Jan-85 Jennifer S Wallace 987654321 20-Jun-31 291 Berry, Bel

laire, TX F 43000 888665555 Administration 4 987654321 01-Jan-85 Ramesh K Narayn 666884444 15-Sep-52 975 Fire Oak,

Humble, TX M 38000 333445555 Research 5 333445555 22-May-78

Joyce A English 453453453 31-Jul-62 5631 Rice, Ho

uston, TX F 25000 333445555 Research 5 333445555 22-May-78

Ahmad V Jabbar 987987987 29-Mar-59 980 Dallas, H

ouston, TX M 25000 987654321 Administration 4 987654321 01-Jan-85 James E Borg 888665555 10-Nov-27 450 Stone, H

ouston, T M 55000 null Headquarters 1 888665555 19-Jun-71

데이터 중복 !

− 공간 낭비

− 데이터 일치성 문제

(10)

FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO John B Smith 123456789 09-Jan-55

731 Fondren, Houston, TX

M 30000 333445555 5 Franklin T Wong 333445555 08-Dec-45

638 Voss, Houston, TX

M 40000 888665555 5 Alicia J Zelaya 999887777 19-Jul-58

3321 Castle, Spring, TX

F 25000 987654321 4 Jennifer S Wallace 987654321 20-Jun-31

291 Berry, Bellaire, TX

F 43000 888665555 4

Employee

2. Employee 와 Department 를 분리하여 두 개의 테이블로 표현 (테이블 분할, 정규화) Employee와 Department는 N:1 관계 => n-side의 필드(DNO)로 관계 정보를 표현함

키 외래키 (관계정보)

Ramesh K Narayn 666884444 15-Sep-52

975 Fire Oak, Humble, TX

M 38000 333445555 5 Joyce A English 453453453 31-Jul-62

5631 Rice, Houston, TX

F 25000 333445555 5 Ahmad V Jabbar 987987987 29-Mar-59

980 Dallas, Houston, TX

M 25000 987654321 4 James E Borg 888665555 10-Nov-27

450 Stone, Houston, T

M 55000 null 1

Department

DNAME DNUMBER MGRSSN MGRSTARTDATE Research 5 333445555 22-May-78 Administration 4 987654321 01-Jan-85 Headquarters 1 888665555 19-Jun-71

(11)

요약 - 관계의 표현

- Employee & Department는 N-1 관계임

- N-side Table인 Employee 테이블의 DNO 필드에 관계 정보를 표현함

e1 e2 e3

r1 r2 r3

d1

EMPLOYEE WORKS_FOR DEPARTMENT

e3 e4 e5 e6 e7 . .

r3 r4 r5 r6 r7 :

d1

d2

d3

.

.

.

참조

관련 문서

} 릴레이션 스키마 (RELATION SCHEMA)와 릴레이션 인스턴스(REALTION INSTANCE)로 구성된 서로 다른 이름을 가진 릴레이션 (RELATION)들의 집합..

후보 키가 아닌 모든 속성들이 후보 키에 함수 종속된다. 모든

역할은 두 개체 클래스가 하나 이상의 관계 타입과 연결되거나, 하 나의 관계 타입이 개체 클래스 자신과 연결된 상황에서 중요. 한 사람은 1명

워치는 Zepp 앱의 데이터를

– 빅데이터 프로젝트에서 거대한 양의 데이터를 Hadoop 환경에 서 데이터 웨어하우스 (혹은 데이터베이스)로 이동시키는 경우 운영 메타 데이터를 갖고서 전체 과정에서 어떤 일이

– 자연 조인에서는 조인 애트리뷰트들이 양쪽의 릴레이션에서 동일한 이름을 가져야 하며, 그렇지 않는 경우 조인 속성의 이름을 먼저 동일하게 변경해야 함.. –

[그림 4.7] COMPANY 데이터베이스 스키마에 표시된 참조 무결성 제약 조건들. PNAME PNUMBER

보안에 대한 Microsoft의 포괄적인 접근 방식은 데이터 센터, 휴대폰, 데스크톱의 데이터 또는 인터넷을 통해 전송 중인 데이터를 포함하여 위치에