• 검색 결과가 없습니다.

데이터 모델

N/A
N/A
Protected

Academic year: 2022

Share "데이터 모델"

Copied!
15
0
0

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

전체 글

(1)

데이터베이스 시스템 개념과

Chap. 2

아키텍처

(2)



데이터 모델



데이터베이스 인터페이스

내 용



DBMS 구조



데이터베이스 아키텍처



데이터베이스 유틸리티

(3)



실세계 데이터를 어떤 구조로 저장하고, 어떤 연산으로 관리할 것인가 ? 데이터 모델 = 저장구조와 연산을 의미함



이 강좌에서는 관계형 모델을 가정함

데이터 모델

학생(학번, 이름, 전화, 학과, 키, ) 학과(학과명, 전화, 사무실위치, )

실세계 정보

학과(학과명, 전화, 사무실위치, ) 도서(도서명, 출판사, 저자, )

학생

학과

학과명 전화번호

이름

학생

학과

저자 도서

관계형모델 테이블 구조 계층형모델 망형모델

SQL 연산

(4)



외부모델 (외부 뷰)

– 각 사용자가 필요로 하는 “테이블의 일부 (뷰)”

예: 인사과 직원은 인사관련 테이블 (인사-뷰) 사용 자재과 직원은 자재관련 테이블 (자재-뷰) 사용



개념모델

데이터 모델 – 3단계

대리점 최종 사용자

개념모델

– DB 내의 전체 테이블 집합 (전체 DB 구조) – 외부모델을 내부모델로 매핑하는 역할



내부모델 (저수준 또는 물리적 데이터 모델)

– 디스크 저장구조를 명시함

예: 학생 테이블은 1번 시스크 300번지부터

12000번지까지 저장되며, 이름 필드는 1번 디스크 500번지부터 550번지까지 저장되어 있음

자동차 공장 대리점 정비소

(5)

• 외부 모델 혹은 뷰

특정 사용자의 관심부분을 뷰로 제공 나머지는 각 사용자로부터 은폐함

데이터 모델 – 3단계

외부스키마

•개념 모델

데이터베이스 내 전체 테이블들의 집합

• 내부 모델

디스크 저장구조의 세부 사항과 DB에 대한 접근 경로(인덱스)들의 집합

(데이터 저장위치, 검색도구 등)

(6)



관계형 DBMS의 3단계 모델은 뛰어난 데이터 독립성을 제공함



모델간 사상

– 사용자가 외부 스키마 (뷰)를 참조하여 데이터를 요구하면 이를 데이터베이스 내에서 개념 스키마에 대한 요구로 변환하고, 다시 내부 스키마에 대한 요구로의 변환 과정을 거쳐 해당 디스크에 접근하여 데이터를 추출한 후 사용자에게 뷰의

데이터 모델 - 데이터 독립성

형태로 제공하는 과정



데이터 독립성 - 정의

– 상위 수준의 스키마를 변경할 필요 없이 하위 수준의 스키마를 변경할 수 있는 성질로써 저장구조가 변경되어도 뷰 사용자는 영향을 받지 않는 성질

– 사용자 편의성, 응용의 안정성 등 데이터베이스의 지속적인 발전을 위해 중요한 성질임

– 파일 시스템의 경우 파일의 구조가 변경되면 이를 사용하는 응용 프로그램에서 심각한 영향을 받게 됨 (DB 출현의 동기)

(7)



데이터베이스 언어

– 데이터 정의어(DDL: Data Definition Language)

• 테이블이나 인덱스 및 뷰를 생성하고 삭제하는 명령어

– 데이터 조작어(DML: Data Manipulation Language)

• 데이터를 삽입, 삭제, 수정하기 위한 조작 언어

데이터베이스 인터페이스

– 질의어 (Query)

• SQL (Structured Query Language)

Database

DBMS

DDL

DML

(SQL)

SQ

L

(8)



GUI 인터페이스

– 브라우징을 위한 메뉴 기반 인터페이스 – 폼 기반 인터페이스

– 그래픽 사용자 인터페이스

데이터베이스 인터페이스

– 그래픽 사용자 인터페이스 – 자연어 인터페이스

– 초보자를 위한 인터페이스

– 데이터베이스 관리자를 위한 인터페이스

(9)

데이터베이스 인터페이스 - GUI

• MS ACCESS GUI (테이블 만들기)

(10)

데이터베이스 인터페이스 – 예 (폼 보고서)

(11)



저장 데이터 관리자

– 디스크에 저장되어 있는 DB(데이터베이스 또는 카탈로그)에 대한 접근을 제어



데이터 정의어 컴파일러

– 데이터 정의어로 명시된 스키마 정의들을 처리

– 스키마들에 대한 정보(메타 데이터)를 DBMS 카탈로그 안에 저장



런타임 데이터베이스 처리기 (run-time database processor)

– 수행시 데이터베이스 접근을 처리

DBMS 구성모듈

– 수행시 데이터베이스 접근을 처리



질의 컴파일러

– 대화식으로 입력된 고수준 질의들을 처리



프리 컴파일러

(precompiler)

– 호스트 프로그래밍 언어로 작성된 응용 프로그램에서 데이터 조작어 명령들을 추출



데이터 조작어 컴파일러

– 데이터 조작어 명령들을 데이터베이스 접근을 위한 목적 코드로 컴파일

(12)

DBMS 구성모듈

질의처리기

저장관리기

(13)



Client-Server 아키텍처

– 사용자수가 많아지면 서버의 성능이 급격하게 저하됨

– 서버 측에서 모든 사용자의 연결정보를 가지고 있어야 하며, 연결상태를 유지해야 함 (부담)

– 예: 수강신청 DB와 수강신청 프로그램 및 사용자 화면(client)

데이터베이스 아키텍처

응용 서버 DB 서버

Database

PC WS … PC

서버

(응용 프로그램 서버와 데이터베이스 서버)

GUI / 자료입출력 / 간단한 계산 등

(14)



3-tier Architecture

– 서버를 기능에 따라 분리함 (응용서버, DB서버)

– 응용서버를 여러 개 둘 수 있으며, DB는 필요할 때만 (클라이언트가 모르게) 연결하므로 보안강화, 성능향상 (대용랑 DB, 사용자가 많을 때 사용)

데이터베이스 아키텍처

Gui Web GUI

Gui Web GUI

물건을 배송하는 문제로 비유하면, 직접 내가 배달 할 수도 있고

(클라이언트/서버방식)

택배 회사를 통해서 배달 할 수도 있다

(3-tier 방식)

물건 수량이 적고 그 횟수가 적다면 직접 배달하는 것이 빠르고 저렴한 방법이겠지만, 물건량이 많고 횟수가 빈번하다면

택배회사와 계약을 맺는 것이 빠르고 비용절감

(15)



유틸리티는 데이터베이스 관리자의 시스템 운영을 도와주는 SW – 적재 (loading)

• 데이터 화일을 자동적으로 데이터베이스 테이블 형식으로 변환해서 저장함

– 백업 (backup)

• 전체 데이터베이스를 테이프에 복사하여 백업 사본을 만듦

데이터베이스 유틸리티

– 화일 재조직 (reorganization)

• 성능 향상을 위해 데이터베이스 화일 구조를 다른 화일 구조로 재조직함

– 성능 모니터링 (performance monitoring)

• 데이터베이스의 사용을 모니터해서 사용 통계를 데이터베이스 관리자에게 제공함

• 이 정보는 관리자가 데이터베이스 성능을 향상시키기 위해서

화일들을 재조직할 것인지를 결정하는데 사용됨

참조

관련 문서

그러나 보다 엄밀한 잠재GDP의 추정을 위해서는 생산함수에 대한 가정을 위시하여 여러 기 술적 가정이 수반되며, 이러한 과정을 거쳐 추정된 잠재GDP의 적정성에 대해서도 많은

레코드를 선택할 기존 테이블의 이름입니다 단일 또는 다중 테이블이나 쿼리를 사용할

환경정책기본법의 기본이념, 오염원인자의 비용부담책임, 배출규제, 환경오염피해 에 대한 무과실책임 등의 조문들이 분석대상이 되며, 국가ㆍ중앙행정기관ㆍ지방자치단체 의

“요컨대, 고등학교 과정을 제대 로 마치지 못했거나 정규 대학교육 과정을 제대로 이수하지 못한 청년들에 대한 고용 정책과, 대학의 정규교육 과정을 이수하여 ‘번듯한’

DSTDEVP 선택한 데이터베이스 엔트리들의 전체 모집단에 대한 표준편차를 구한다. DSUM 찾을 조건에 맞는 레코드의 필드 열에

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

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

런타임 데이터베이스 처리 (Runtime DB Processor) 내부 형태 질의문. (Internal