slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
1. 데이타베이스의 개념 PowerPoint Presentation
Download Presentation
1. 데이타베이스의 개념

Loading in 2 Seconds...

play fullscreen
1 / 31

1. 데이타베이스의 개념 - PowerPoint PPT Presentation


  • 227 Views
  • Uploaded on

1. 데이타베이스의 개념. 데이타베이스의 용어. " 데이타베이스 ”용어의 기원 1963.6 제 1 차 SDC 심포지움 컴퓨터 중심의 데이타베이스 개발과 관리 Development and Management of a Computer-centered Data Base 1965.9 제 2 차 SDC 심포지움 컴퓨터 중심의 데이타베이스 시스템 Computer-centered Data Base Systems.  데이타베이스란 ?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '1. 데이타베이스의 개념' - temima


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2
데이타베이스의 용어
  • "데이타베이스”용어의 기원
    • 1963.6 제1차 SDC 심포지움
      • 컴퓨터 중심의 데이타베이스 개발과 관리
      • Development and Management of a Computer-centered Data Base
    • 1965.9 제2차 SDC 심포지움
      • 컴퓨터 중심의 데이타베이스 시스템
      • Computer-centered Data Base Systems
slide3
데이타베이스란 ?
    • 한 조직의 여러 응용 시스템들이 공용(Shared)하기 위해 통합(Integrated), 저장(Stored)한 운영(Operational) 데이타의 집합
  • 통합된 데이타 (integrated data)
    • 최소의 중복(minimal redundancy)
    • 통제된 중복(controlled redundancy)
  • 저장 데이타 (stored data)
    • 컴퓨터가 접근 가능한 저장 매체에 저장
    • 테이프, 디스크 등
  • 운영 데이타 (operational data)
    • 한 조직의 고유 기능을 수행하기 위해 필요한 데이타
  • 공용 데이타 (shared data)
    • 한 조직의 여러 응용 프로그램이 공동으로 소유, 유지, 이용하는 데이타
slide4
데이타베이스의 특성
  • 실시간 접근성(real-time accessibilities)
    • 질의에 대한 실시간 처리 및 응답
  • 계속적인 변화 (continuous evolution)
    • 갱신, 삽입, 삭제 : 동적 특성
  • 동시 공용 (concurrent sharing)
    • 여러 사용자가 동시에 사용
  • 내용에 의한 참조 (content reference)
    • 위치나 주소가 아닌 값에 따라 참조
slide5
데이터베이스관리시스템
  • DBMS
    • 데이터베이스를 운영하는 시스템
    • 데이터베이스에 대한 구성, 접금, 관리 유지를 위한 모든 기능을 제공
  • DBMS의 목적
    • 데이터의 독립성  데이터의 종속성
      • 데이터의 논리적 구조나 물리적 구조가 변경되도 응용 프로그램은 영향 받지 않는 것
slide6
데이터의 종속성
  • 데이터 종속성
    • 응용 프로그램과 데이터간의 상호 의존 관계가 존재한다는 것으로 데이터의 구성 방법이나 접근 방법의 변경 시 응용프로그램도 같이 변경시켜야 한다는 것을 의미
      • (a) 이진탐색 (b)로 변경되면 선형탐색을 해야 함
data independency
데이타 독립성(Data Independency)
  • DBMS의 궁극적 목적

 데이타의 독립성 --> 데이터의 종속성 문제 해결

i.논리적 데이타 독립성

      • 응용 프로그램에 영향을 주지 않고 논리적 데이타 구조의 변경이 가능
      • 응용 프로그램의 효율적 개발 가능

ii. 물리적 데이타 독립성

      • 응용 프로그램과 논리적 데이타 구조에 영향을 주지 않고 물리적 데이타 구조의 변경이 가능
      • 저장 장치의 효율적 개발
  • 데이타 독립성 구현 기법
    • 사상(mapping)
slide8

......

응용 프로그램 1

응용 프로그램 2

응용 프로그램 n

프로그램의

데이타 구조

......

A

B

C

D

B

E

F

G

A

C

논리적 구조 사상

데이타베이스의

논리적 구조

...

A

B

C

D

E

F

G

H

물리적 구조 사상

A

B

C

데이타베이스의

물리적 구조

D

E

F

G

H

...

데이타 구조 간의 사상과 데이타 독립성
slide9
데이터베이스 관리 시스템
  • 정의
    • 데이터베이스를 생성하여 운영하는데 필요한 기능을 제공하는 소프트웨어(DBMS)
  • 기능
    • 정의 기능  DDL (Data Definintion Language)
      • 데이타베이스의 구조를 정의하는 기능
      • ex) create, alter, drop
    • 조작 기능  DML (Data Manipulation Language)
      • 데이터에 대한 검색, 갱신, 삽입, 삭제를 지원
      • ex) select, insert, update, delete
    • 제어기능  DCL (Data Control Language)
      • 데이터의 일관성유지를 위한 보안, 권한 등에 대한 기능
      • ex) GRANT, REVOKE, COMMIT, ROLLBACK
slide11

DBMS의 장단점

  • 장점
    • 데이타 중복(redundancy)의 최소화
    • 데이타의 공용(sharing)
    • 일관성(consistency) 유지
    • 무결성(integrity) 유지
    • 보안(security) 보장
    • 표준화(standardization) 용이
    • 전체 데이타 요구의 파악 조정
  • 단점
    • 운영비의 오버헤드
    • 복잡한 자료 처리 방법
    • 어려운 백업, 회복
    • 시스템의 취약성
slide12
관계형데이타베이스
  • 현재 가장 많이 쓰이고 있는 논리적 데이터 모델
    • 관계형 데이터 모델(Relational Data Model)
    • 1970년대 E.E Codd박사에 의하여 제안
  • 관계형 데이터 모델을 사용하는 이유
    • 모델의 구조가 단순
    • 집합 이론이라는 수학적 이론에 기반
    • SQL이라는 간단한 비절차적 언어
  • 데이터 모델 (SOC)
    • 구조(Structure)
    • 연산(Operation)
    • 제약조건(Constraint)
slide13
관계형 데이터 모델

관계형 데이터 모델

데이터 구조

관계 연산

제약 조건

릴레이션

집합 연산

관계 연산

무결성 규칙

  • 튜플 집합
  • 속성 집합
  • UNION, INTERSECT
  • DIFFERENCE, PRODUCT
  • 엔터티 무결성 규칙
  • 참조 무결성 규칙
  • 도메인 무결성 규칙
  • RESTRICTION, PROJECTION
  • DIVIDE, JOIN
slide14
관계형 데이터 모델의 구조
  • 릴레이션(relation)
    • 2차원 테이블 구조
    • 튜플(tuple)과 속성(attribute)의 집합으로 구성

STUDENT릴레이션

속성명

릴레이션스키마

인스턴스

튜플

속성

relation
Relation의 특징
  • 릴레이션에 저장된 튜플들은 유일
    • 릴레이션은튜플들의 집합이기 때문에 하나의 릴레이션에는 동일한 튜플이 저장될 수 없음
  • 릴레이션에 저장된 튜플간에는 순서 관계가 없음
    • 하나의 집합내에서 원소간의 순서는 무의미하기 때문에 릴레이션에 저장된 튜플끼리는 순서 관계가 없다
    • 주의 할 것은 튜플의 속성간에는 순서가 존재한다.
  • 릴레이션을 구성하는 속성간에는 순서가 없음
    • 학생1(학번, 이름, 주민번호, 사용자ID)과 학생2(학번, 주민번호, 이름, 사용자ID)는 동일한 릴레이션
  • 모든 속성 값은 원자 값(atomic value)
    • 속성 값은 더 이상 나뉘어질 수 없는 논리적인 최소 단위를 의미
    • 예 : 이름
slide16
관계 연산자
  • 릴레이션을 처리하기 위한 연산의 집합
    • 릴레이션: 투플의 집합
  • 기본 연산
    • 일반 집합 연산자 : 합집합 교집합 차집합카티션프로덕트
    • 순수 관계 연산자 : 실렉트 프로젝트 조인 디비전
  • 폐쇄성질 (closure property)
    • 피연산자와 연산 결과가 모두 릴레이션
    • 중첩(nested)된 수식의 표현이 가능
slide17
관계연산자의 주의점
  • 합병가능(union-compatible)한 릴레이션
    • ∪, ∩, - 연산의 피연산자들은

ⅰ. 차수가 같아야 함

ⅱ. 대응 애트리뷰트 별로 도메인이 같아야 함

iii. 대응되는 애크리뷰트 별로 의미가 같아여 함

  • ∪, ∩, × 연산은 결합적(associative)임 A∪B∪C = (A∪B)∪C = A∪(B∪C)
  • ∪, ∩, × 연산은 교환적(commutative)임 A∪B = B∪A
  • - 는 비교환적 (non-commutative)
slide18
일반집합연산자

. 합집합 (union,∪)

R∪S = { t | t∈R ∨ t∈S }

|R∪S| ≤ |R| + |S|

ⅱ. 교집합 (intersect,∩)

R∩S = { t | t∈R ∧ t∈S }

|R∩S| ≤ min{ |R|, |S| }

ⅲ. 차집합(difference,-)

R­S = { t | t∈R ∧ t  S }

|R­S| ≤ |R|

ⅳ. 카티션프로덕트(cartesian product,×)

R×S = { r·s | r∈R ∧ s∈S }

· : 접속(concatenation)

|R×S| = |R|×|S|

차수(degree) = R의 차수 + S의 차수

select 1
실렉트 (SELECT, )(1)
  • A, B가 릴레이션 R의 애트리뷰트일 때,

Av(R) = { r | r∈R ∧ r.Aθv }

AB(R) = { r | r∈R ∧ r.Aθr.B }

조건식(predicate)

단, θ(theta) = { <, >, ≤, ≥, =, ≠ }

v : 상수

  • 선택 조건을 만족하는 릴레이션의 수평적 부분집합 (horizontal subset)
slide20
실렉트 (2)
  • example

  학과 = '컴퓨터' (학생)

  학번 = 300  과목번호='C312'(등록)

  중간성적<기말성적(등록)

  • 데이타언어식 표현

R WHERE 조건식

  • 조건2(조건1(R)) = 조건1(조건2(R))

= 조건1 조건2 (R)

  • 선택도(selectivity) :
    • 선택 조건에 의해 선택된 투플의 비율
    • 선택도가 작은 조건부터 먼저 적용
project
프로젝트 (PROJECT, )
  • 릴레이션R(X)에서

Y⊆X 이고 Y={B1,B2, … ,Bm} 이면,

Y(R)={ <r.B1, ... , r.Bm> | r∈R }

  • example
    • 학생(학번,이름,학년)에서  이름(학생)
  • 릴레이션의 수직적 부분집합(vertical subset)
  • 생성된 중복 투플은 제거
  • Y(X(R)) = Y(R)
join 1
조인 (JOIN, )(1)
  • 세타조인 (theta-join)

R(X), S(Y), A∈X, B∈Y 에 대하여

R AθB S = { r · s | r∈R ∧ s∈S ∧ ( r.Aθs.B) }

    • A, B : joining attribute
    • 결과 차수 = R의 차수 + S의 차수
  • example
    • 학생 학번=학번 등록
  • 동일조인 (equi-join)

세타조인에서 θ가 "="인 경우

R A=BS = { r·s | r∈R ∧ s∈S ∧ ( r.A=s.B ) }

slide23
조인 (2)
  • 자연조인 (natural join, N) 보통 Join 이라면 자연조인을 말함

R(X), S(Y)의 조인 애트리뷰트를 Z(=X∩Y)라 하면

R NS

= {<r · s>[X∪Y] | r∈R∧s∈S∧r[Z]=s[Z] }

= X∪Y(R Z=ZS)

= X∪Y( Z=Z(R×S))

즉 동일조인의 결과 릴레이션에서애트리뷰트의 중복을 제거함

division 1
디비전 (DIVISION, ÷)(1)
  • 릴레이션 R(X), S(Y) 에 대하여

Y X이고 Z =X-Y이면 R(X)=R(Z,Y)

R÷S

={ t | t∈ Z(R) ∧ t · s∈R for all s∈S } //see page 165

의미: S(Y)의 모든 투플에 연관되어 있는 R[Z]의 투플 선택

Note : (R ÷ S) × S ⊆ R

slide25
디비전(2)

학과목(SC)

과목1(C1)

과목2(C2)

과목3(C3)

  • example

학번

(SNO)

과목번호

(CNO)

과목번호

(CNO)

과목번호

(CNO)

과목번호

(CNO)

100

C413

C413

C312

C312

100

E412

C413

C413

200

C123

E412

300

C312

300

C324

300

C413

SC ÷ C1

SC ÷ C2

SC ÷ C3

400

C312

400

C324

학번

(SNO)

학번

(SNO)

학번

(SNO)

400

C413

400

E412

100

300

400

500

C312

300

400

400

rename
개명 연산 (RENAME, ρ)
  • 중간 결과 릴레이션에 이름을 지정하거나 애트리뷰트 이름을 변경할 때 사용
    • ρS(E)

관계 대수식 E의 결과 릴레이션의 이름을 S로 지정

    • ρS(B1,B2, … ,Bm )(E)

관계 대수식 E의 결과 릴레이션의 이름을 S로 지정하면서 애트리뷰트 이름을 각각 B1,B2, … ,Bm으로 변경

    • ρ(B1,B2, … ,Bm )(E)

애트리뷰트 이름만 각각 B1,B2, … ,Bm으로 변경

slide27

10

PRODUCT

DIVIDE

a

b

c

x

y

a

b

c

x

y

a

a

b

b

c

c

a

a

b

b

c

c

x

y

x

y

x

y

x

y

x

y

x

y

UNION

INTERSECT

DIFFERENCE

RESTRICTION

PROJECTION

JOIN

a1

a2

a3

b1

b1

b2

b1

b2

b3

c1

c2

c3

a1

a2

a3

b1

b1

b2

c1

c1

c2

slide28
제약조건
    • 릴레이션의 특성 중 하나가 각 튜플은 같은 릴레이션에 속한 다른 튜플과는 다른 유일성을 만족해야 한다
    • 투플을 유일하게 식별할 수 있는 애트리뷰트 집합
    • 후보키, 기본키, 대체키, 수퍼키
  • 후보키(candidate key)
    • 릴레이션R(A1, A2, ..., An)에 대한 애트리뷰트 집합K = { Ai , Aj , ..., Ak }로서 아래 성질을 만족하면 후보키

① 유일성(uniqueness)

각 투플의K (= { Ai , Aj , ..., Ak }) 의 값(< Vi , Vj , ..., Vk >)은 유일

② 최소성(minimality)

K는 투플을 유일하게 식별하기 위해 필요한 애트리뷰트로만 구성

slide29
Key
  • 수퍼키(super key)
    • 유일성(uniqueness)은 만족하지만 최소성(minimality)을 만족하지는 않는 애트리뷰트의 집합
  • 기본키(primary key)
    • 후보키(candidate key)중에서 데이타베이스 설계자가 지정한 하나의 키
    • 각 투플에 대한 기본키 값은 항상 유효(no null value)
  • 대체키 (alternate key)
    • 후보키중에기본키를 제외한 나머지 후보키
    • 예) 학생테이블에 학번과 주민번호가 있을 경우
      • 학번- 기본키
      • 주민번호- 대체키
slide30
외래키
  • 외래키(foreign key)
    • 릴레이션R1에 속한 애트리뷰트 집합 FK가릴레이션 R2의 기본키일 때 FK는 R1의 외래키이다.
    • (FK의 도메인) = (R2의 기본키의 도메인)
    • FK의 값은 R2에 존재하는 값이거나 null이다.
    • R1과 R2가 반드시 다른 릴레이션일 필요는 없다.
    • R1을 참조 릴레이션(referencing relation), R2를 참조된 릴레이션(referenced relation)이라 한다.
integrity constraint
무결성 제약(Integrity Constraint)
  • null 값
    • 정보 부재를 명시적으로 표현하는 특수한 데이타 값

① 알려지지 않은 값(unknown value)

② 해당 없음(inapplicable)

  • 도메인 무결성(Domain integrity)
    • 릴레이션의 속성이 지켜야할 제약 사항
      • 학생의 학년은 1~4의 값만 가져야 한다.
  • 개체 무결성(entity integrity)
    • 기본키 값은 언제 어느 때고 null값을 가질 수 없다.
  • 참조 무결성(referential integrity)
    • 외래키의 값은 참조된 릴레이션의기본키 값이거나 null이다.