52
데이터베이스의 필요성 데이터베이스의 정의와 특성 02-01

데이터베이스의필요성 데이터베이스의정의와특성mi.cau.ac.kr/teaching/lecture_db_design/W02F.pdf · 데이터베이스, 데이터베이스관리시스템, 데이터베이스시스템의차이를이해한다

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

• 데이터베이스의 필요성• 데이터베이스의 정의와 특성

02-01

2

► 데이터와 정보의 차이를 이해한다.► 데이터베이스의 필요성을 알아본다.► 데이터베이스의 정의에 숨겨진 의미와 주요 특성을 이해한다.

학습목표

3

01 데이터베이스의 필요성

데이터와 정보

데이터(data)• 현실 세계에서 단순히 관찰하거나 측정해 수집한 사실이나 값

정보(information)• 의사 결정에 유용하게 활용할 수 있도록 데이터를 처리한 결과물

정보 또한 다시 데이터로 간주될 수 있다.

그렇다면 언제까지?

4

01 데이터베이스의 필요성

우유가 정제되면 파괴되는영양소가 있듯이

데이터도 가공되면사라지는 정보가 있음

5

01 데이터베이스의 필요성

정보 처리(information processing)데이터에서 정보를 추출하는 과정 또는 방법

데이터

정보

Raw 데이터란?

6

01 데이터베이스의 필요성

정보 시스템과 데이터베이스

정보 시스템(information system)• 조직 운영에 필요한 데이터를 수집하여 저장해두었다가 필요할 때 유용한 정

보를 만들어 주는 수단

데이터베이스

• 정보 시스템 “내부에서” 데이터를 저장하고 있다가

필요할 때 제공하는 역할을 담당

새로운 제품을 만들어야 한다면우리는 무엇에 기대야 하는가?

7

01 데이터베이스의 필요성

8

02 데이터베이스의 정의와 특성

데이터베이스(DB; DataBase)

특정 조직의 여러 사용자가 공유하여 사용할 수 있도록

통합해서 저장한 운영 데이터의 집합

integrated data

shared data

stored data

operational data

9

02 데이터베이스의 정의와 특성-정의

공유 데이터

특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터

통합 데이터

최소의 중복과 통제 가능한 중복만 허용하는 데이터

저장 데이터

컴퓨터가 접근할 수 있는 매체에 저장된 데이터

운영 데이터

조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터

10

02 데이터베이스의 정의와 특성

데이터베이스의 특성

real-time accessibility continuous evolution

contents reference concurrent sharing

각 항목에 대해서는 다음 슬라이드에서 설명

11

02 데이터베이스의 정의와 특성-특성

실시간 접근

사용자의 데이터 요구에 실시간으로 응답

계속 변화

데이터의 계속적인 삽입, 삭제, 수정을 통해 현재의 정확한 데이터를 유지

동시 공유

서로 다른 데이터의 동시 사용뿐만 아니라 같은 데이터의 동시사용도지원

내용 기반 참조

데이터가 저장된 주소나 위치가 아닌 내용으로 참조

예) 재고량이 1,000개 이상인 제품의 이름을 검색하시오.

12

02 데이터베이스의 정의와 특성

단말의 시스템이서로 달라도같은 정보를

활용할 수 있게!

• 데이터베이스 관리 시스템의 등장 배경• 데이터베이스 관리 시스템의 정의• 데이터베이스 관리 시스템의 장단점• 데이터베이스 관리 시스템의 발전 과정

02-02

2

► 파일 시스템의 문제점과 데이터베이스 관리 시스템의 필요성을 알아본다.► 데이터베이스 관리 시스템의 필수 기능을 살펴본다.► 데이터베이스 관리 시스템의 장단점을 알아본다.► 데이터베이스 관리 시스템의 발전 과정을 살펴본다.

학습목표

3

01 데이터베이스 관리 시스템의 등장 배경

파일 시스템(file system)데이터를파일로관리하기위해파일을생성·삭제·수정·검색하는기능을제공하는소프트웨어

응용프로그램마다필요한데이터를별도의파일로관리함

4

01 데이터베이스 관리 시스템의 등장 배경

파일 시스템의 문제점

같은내용의데이터가여러파일에중복저장된다

응용프로그램이데이터파일에종속적이다

데이터파일에대한동시공유, 보안, 회복기능이부족하다

응용프로그램개발이쉽지않다

5

01 데이터베이스 관리 시스템의 등장 배경

파일 시스템의 주요 문제점

같은내용의데이터가여러파일에중복저장된다데이터중복성

• 저장공간의낭비는물론데이터일관성과데이터무결성을유지하기어려움

데이터 통합

6

01 데이터베이스 관리 시스템의 등장 배경

파일 시스템의 주요 문제점

응용프로그램이데이터파일에종속적이다데이터종속성

• 사용하는파일의구조를변경하면응용프로그램도함께변경해야함

7

02 데이터베이스 관리 시스템의 정의

데이터베이스 관리 시스템

DBMS(DataBase Management System)

파일시스템의문제를해결하기위해제시된소프트웨어

조직에필요한데이터를데이터베이스에통합하여저장하고관리함

8

02 데이터베이스 관리 시스템의 정의

데이터베이스 관리 시스템에서의 데이터 관리

9

02 데이터베이스 관리 시스템의 정의

데이터베이스 관리 시스템의 주요 기능

10

03 데이터베이스 관리 시스템의 장단점

11

04 데이터베이스 관리 시스템의 발전 과정

1세대 : 네트워크 DBMS, 계층 DBMS네트워크 DBMS : 데이터베이스를그래프형태로구성

• 예) IDS(Integrated Data Store)

계층 DBMS : 데이터베이스를트리형태로구성

• 예) IMS(Information Management System)

주문

판매

담당

관리 소속

주문고객 판매상품

12

04 데이터베이스 관리 시스템의 발전 과정

2세대 : 관계 DBMS관계 DBMS : 데이터베이스를테이블형태로구성

• 예) 오라클(Oracle), MS SQL 서버, 액세스(Access), 인포믹스(Informix), MySQL

13

04 데이터베이스 관리 시스템의 발전 과정

3세대 : 객체지향 DBMS, 객체관계 DBMS객체지향 DBMS : 객체를이용해데이터베이스를구성

• 예) 오투(O2), 온투스(ONTOS), 젬스톤(GemStone)

객체관계 DBMS : 객체 DBMS + 관계 DBMS

객체관계 DBMS와 객체지향 DBMS는

수업 마지막에 부분에서 공부하게 됩니다!

• 데이터베이스 시스템의 정의• 데이터베이스의 구조• 데이터베이스 사용자• 데이터 언어• 데이터베이스 관리 시스템의 구성

02-03

2

► 데이터베이스, 데이터베이스 관리 시스템, 데이터베이스 시스템의 차이를 이해한다.► 데이터베이스 시스템의 구성 요소를 살펴본다.► 데이터베이스 3단계 구조에서 데이터 독립성의 개념을 실현하는 방법을 이해한다.► 데이터 언어별 특징을 알아본다.► 데이터베이스 사용자별 특징을 알아본다.► 데이터베이스 관리 시스템의 구성을 알아본다.

학습목표

3

01 데이터베이스 시스템의 정의

데이터베이스 시스템(DBS; DataBase System)데이터베이스에데이터를저장하고, 이를관리하여조직에필요한정보를

생성해주는시스템

4

02 데이터베이스의 구조

스키마와 인스턴스

스키마(schema)

• 데이터베이스에저장되는데이터구조와제약조건을정의한것

인스턴스(instance)

• 스키마에따라데이터베이스에실제로저장된값

5

02 데이터베이스의 구조

3단계 데이터베이스 구조

미국표준화기관인 ANSI/SPARC에서제안

데이터베이스를쉽게이해하고이용할수있도록하나의데이터베이스

를관점에따라세단계로나눈것

• 외부단계(external level) : 개별사용자관점

• 개념단계(conceptual level) : 조직전체의관점

• 내부단계(internal level) : 물리적인저장장치의관점

각단계별로다른추상화(abstraction) 제공• 내부단계에서외부단계로갈수록추상화레벨이높아짐

6

02 데이터베이스의 구조

7

02 데이터베이스의 구조

8

02 데이터베이스의 구조

3단계 데이터베이스 구조 : 외부 단계

데이터베이스를개별사용자관점에서이해하고표현하는단계

데이터베이스하나에외부스키마가여러개존재할수있음

• 외부스키마(external schema)

‒ 외부단계에서사용자에게필요한데이터베이스를정의한것

‒ 각사용자가생각하는데이터베이스의모습, 즉논리적구조로사용자마다다름

‒ 서브스키마(sub schema)라고도함

9

02 데이터베이스의 구조

3단계 데이터베이스 구조 : 개념 단계

데이터베이스를조직전체의관점에서이해하고표현하는단계

데이터베이스하나에개념스키마가하나만존재함

• 개념스키마(conceptual schema)

‒ 개념단계에서데이터베이스전체의논리적구조를정의한것

‒ 조직전체의관점에서생각하는데이터베이스의모습

‒ 전체데이터베이스에어떤데이터가저장되는지, 데이터들간에는어떤관계가존재

하고어떤제약조건이존재하는지에대한정의뿐만아니라, 데이터에대한보안정책

이나접근권한에대한정의도포함

10

02 데이터베이스의 구조

3단계 데이터베이스 구조 : 내부 단계

데이터베이스를저장장치의관점에서이해하고표현하는단계

데이터베이스하나에내부스키마가하나만존재함

• 내부스키마(internal schema)

‒ 전체데이터베이스가저장장치에실제로저장되는방법을정의한것

‒ 레코드구조, 필드크기, 레코드접근경로등물리적저장구조를정의

내부 단계에서는 하드웨어의 관점에서

데이터를 바라보게 된다.

11

02 데이터베이스의 구조

12

02 데이터베이스의 구조

3단계 데이터베이스 구조의 사상 또는 매핑

스키마사이의대응관계

• 외부/개념사상 : 외부스키마와개념스키마의대응관계

‒ 응용인터페이스(application interface)라고도함

• 개념/내부사상 : 개념스키마와내부스키마의대응관계

‒ 저장인터페이스(storage interface)라고도함

미리정의된사상정보를이용하여사용자가원하는데이터에접근

데이터베이스를 3단계 구조로 나누고 단계별로 스키마를 유지하며

스키마 사이의 대응 관계를 정의하는 궁극적인 목적

데이터 독립성의 실현

13

02 데이터베이스의 구조

데이터 독립성(data independency)하위스키마를변경하더라도상위스키마가영향을받지않는특성

논리적데이터독립성

• 개념스키마가변경되어도외부스키마는영향을받지않음

• 개념스키마가변경되면관련된외부/개념사상만정확하게수정해주면됨

물리적데이터독립성

• 내부스키마가변경되어도개념스키마는영향을받지않음

• 내부스키마가변경되면관련된개념/내부사상만정확하게수정해주면됨

14

02 데이터베이스의 구조

15

02 데이터베이스의 구조

데이터 사전(data dictionary)시스템카탈로그(system catalog)라고도함

데이터베이스에저장되는데이터에관한정보, 즉메타데이터를유지하는시스템데이터베이스

• 메타데이터(meta data) : 데이터에대한데이터

스키마, 사상정보, 다양한제약조건등을저장

데이터베이스관리시스템이스스로생성하고유지함

일반사용자도제한적인수준에서접근가능

16

02 데이터베이스의 구조

데이터 디렉토리(data directory)데이터사전에있는데이터에실제로접근하는데필요한위치정보를

저장하는시스템데이터베이스

일반사용자의접근은허용되지않음

사용자 데이터베이스(user database)사용자가실제로이용하는데이터가저장되어있는일반데이터베이스

17

03 데이터베이스 사용자

데이터베이스 사용자

데이터베이스를이용하기위해접근하는모든사람

이용목적에따라데이터베이스관리자, 최종사용자, 응용프로그래머로구분

18

03 데이터베이스 사용자

데이터베이스 관리자(DBA; DataBase Administrator)데이터베이스시스템을운영및관리하는사람

주로 데이터 정의어와 데이터 제어어를사용

주요업무

• 데이터베이스구성요소선정

• 데이터베이스스키마정의

• 물리적저장구조와접근방법결정

• 무결성유지를위한제약조건정의

• 보안및접근권한정책결정

• 백업및회복기법정의

• 시스템데이터베이스관리

• 시스템성능감시및성능분석

• 데이터베이스재구성

19

03 데이터베이스 사용자

최종 사용자(end user)데이터베이스에접근하여데이터를조작(삽입·삭제·수정·검색)하는사람

주로 데이터 조작어를사용

캐주얼사용자와초보사용자로구분

응용 프로그래머(application programmer)데이터언어를삽입하여응용프로그램을작성하는사람

주로데이터조작어를사용

20

03 데이터베이스 사용자

21

04 데이터 언어

데이터 언어

사용자와데이터베이스관리시스템간의통신수단

사용목적에따라데이터정의어, 데이터조작어, 데이터제어어로구분

22

04 데이터 언어

데이터 정의어(DDL; Data Definition Language)스키마를정의하거나, 수정또는삭제하기위해사용

데이터 조작어(DML; Data Manipulation Language)데이터의삽입·삭제·수정·검색등의처리를요구하기위해사용

절차적데이터조작어와비절차적데이터조작어로구분

• 절차적데이터조작어(procedural DML)

‒ 사용자가어떤(what) 데이터를원하고

그데이터를얻기위해어떻게(how) 처리해야하는지도설명

• 비절차적데이터조작어(nonprocedural DML)

‒ 사용자가어떤(what) 데이터를원하는지만설명

‒ 선언적언어(declarative language)라고도함

23

04 데이터 언어

24

04 데이터 언어

데이터 제어어(DCL; Data Control Language)내부적으로필요한규칙이나기법을정의하기위해사용

사용목적

‒ 무결성 : 정확하고유효한데이터만유지

‒ 보안 : 허가받지않은사용자의데이터접근차단, 허가된사용자에권한부여

‒ 회복 : 장애가발생해도데이터일관성유지

‒ 동시성제어 : 동시공유지원

25

05 데이터베이스 관리 시스템의 구성

데이터베이스 관리 시스템

데이터베이스관리와사용자의데이터처리요구수행

주요구성요소

• 질의처리기(query processor)

‒ 사용자의데이터처리요구를해석하여처리

‒ DDL 컴파일러, DML 프리컴파일러, DML 컴파일러, 런타임데이터베이스처리기,

트랜잭션관리자등을포함

• 저장데이터관리자(stored data manager)

‒ 디스크에저장된사용자데이터베이스와데이터사전을관리하고

26

05 데이터베이스 관리 시스템의 구성

Thank You