• 검색 결과가 없습니다.

 데이타베이스 사용자들

N/A
N/A
Protected

Academic year: 2022

Share " 데이타베이스 사용자들"

Copied!
41
0
0

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

전체 글

(1)

1. 정보관리와 데이타베이스 시스템

(2)

이 장의 주요 내용

 정보 시스템에서 데이타베이스의 중요성

 데이타베이스 시스템 구성 요소

 데이타베이스 사용자들

 데이타베이스 개념과 구조

 데이타베이스 시스템의 주요 역사

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 2

(3)

정보 시스템(information System) – 1/2

 데이타(Data)

비트들의 모음

현실 세계(real world)로부터 단순한 관찰이나 측정을 통해 수집 된 사실(facts)이나 값(value)

 정보(Information)

특정 해석이나 의미를 가지는 데이타

어떤 상황에 대한 적절한 결정을 할 수 있게 하는 근거

데이타의 유효한 해석(interpretation)나 데이타 상호 간의 관계 (relationship)를 말함

(4)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 4

정보 시스템(information System) – 2/2

 한 기관을 위해 데이타를 수집,조직,저장하고 필요 시에 처리하여 의사 결정에 유용한 정보를 생성,분배하는 수단

 데이타베이스 시스템 : 정보 처리 시스템이 그 기능을 효 과적으로 수행 할 수 있게 하는 도구

데이타 처리 정보

현실세계

저 장 데이타

의사결정

... ...

(5)

경제에서 데이타베이스 활용 예

 비즈니스(Business) 분야에서 중요한 비즈니스 정보를 저 장하고, 그 정보의 정확성을 유지하고, 필요할 때 이용이 가능하도록 모든 기능을 데이타베이스에 의존

 예 : Wal-Mart에서 데이타베이스 활용

데이타베이스 : 모든 판매 기록을 저장

회사를 운영하고 판매 전략을 세우기 위해 정보를 분석을 위해 이용

예 : 물품 판매 비교 및 변화, 장바구니 분석, 고객의 성향 및 일반적 인 행동 분석

(6)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 6

데이타베이스 시스템(Database System)

 소프트웨어와 데이타의 결합

 구성 요소

물리적 데이타베이스 : 데이타 내용을 포함하는 화일들의 집합

스키마 (메타데이타) : 물리적 데이타베이스의 정보 내용을 명세

데이타베이스 관리 시스템 : 데이타베이스 안의 내용을 접근하 고 변경할 수 있는 소프트웨어

데이타 정의, 관리 언어 : 스키마를 정의하고 데이타베이스에 접 근하기 위해 사용하는 언어

(7)

단순화된 데이타베이스 시스템

(8)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 8

데이타베이스 정의

 “한 조직의 여러 응용 시스템들이 공용 (shared)하기 위 해 통합(Integrated), 저장 (Stored)한 운영(Operational) 데이타의 집합”

통합된 데이타 (integrated data)

최소의 중복(minimal redundancy) 또는 통제된 중복(controlled redundancy)

저장 데이타 (stored data)

컴퓨터가 접근 가능한 저장 매체에 저장(디스크 등)

운영 데이타 (operational data)

한 조직의 고유 기능을 수행하기 위해 필요한 데이타

공용 데이타 (shared data)

한 조직에 있는 여러 응용 프로그램이 공동으로 소유, 유지, 이용하 는 데이타

(9)

데이타베이스의 특징

 온라인 접근성(online accessibilities)

질의에 대한 실시간 처리 및 응답

 계속적인 변화(continuous evolution)

새로운 데이터의 삽입, 기존 데이터의 삭제, 갱신으로 현재의 상 태를 유지 : 동적 특성

 동시 공용(concurrent sharing)

서로 다른 목적을 가진 응용들을 여러 사용자가 동시에 사용

 내용에 의한 참조(content reference)

(10)

10

스키마(Schema)

 데이타베이스에 대한 기술(description)

예: 데이터 구조, 타입, 제약 조건

 DBMS 카탈로그(catalog)에 저장

카탈로그에 저장된 정보를 메타데이타(metadata)라고 부름

 데이타베이스 시스템은 자기 기술적(self-describing)

 DBMS는 시스템 카탈로그로부터 데이타베이스에 대한 정 의를 가져와 데이타베이스를 접근하므로 다양한 데이타 베이스들을 접근할 수 있음.

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용

(11)

데이타베이스 관리 시스템

 DBMS : Database Management System

 응용 프로그램과 데이타의 중재자로서 모든 응용 프로그 램들이 데이타베이스를 공용할 수 있게 관리해 주는 소프 트웨어 시스템

 기능(functions)

정의(definition) 기능

조작(manipulation) 기능

제어(control) 기능

(12)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 12

데이타베이스 관리 시스템 : 정의 기능

 하나의 저장 구조로 여러 사용자의 관점을 만족시킬 수 있도록 데이타베이스 구조를 정의 할 수 있는 기능

 정의 기능의 요건

데이타의 논리적 구조를 명세

물리적 저장 구조 명세

물리적/논리적 사상 명세

(13)

데이타베이스 관리 시스템 : 조작 기능

 사용자 - 데이타베이스 인터페이스

 사용자의 요구에 따라 체계적으로 데이타베이스를 접근 하고 조작할 수 있는 기능

데이터의 검색, 갱신, 삽입, 삭제 등 데이타베이스 연산을 지원

 조작 기능의 요건

사용이 쉽고 자연스러워야 함

연산의 완전한 명세 가능

효율적인 데이터 접근

(14)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 14

데이타베이스 관리 시스템 : 제어 기능

 공용 목적으로 관리되는 데이타베이스의 내용에 대해 데 이타의 정확성과 안전성을 유지하는 기능

 제어 기능의 요건

데이터의 삽입, 삭제, 갱신 작업에 대한 데이터의 무결성 (integrity) 유지

정당한 사용자가 허가된 데이터만 접근 할 수 있도록 보안 유지 및 권한 검사

여러 사용자가 데이타베이스를 동시에 접근하여 데이터를 처리 할 때 데이타베이스와 처리 결과가 항상 정확성을 유지하도록 병행 수행 제어(concurrency control)

(15)

관계 데이타베이스 관리 시스템 예

 BitHit Video를 위한 Customer 테이블

데이타베이스 구조: 와 데이터:

Customer 테이블

논리적 표현: (스키마) Customer (accountId, lastName, firstName)

데이타베 이스 정 의: 테이블 생성문

create table Customer (accountId integer, lastName char(20), firstName char(20))

accountId lastName firstName

101 Block Jane

102 Hamilton Cherry

103 Harrison Kate

104 Breaux Carroll

(16)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 16

데이타베이스 시스템 사용자 - 1/2

 최종 사용자(end user) : 데이타베이스에 저장된 정보를 이용하여 필요한 작업을 수행하는 사람

일반 사용자

간단한 인터페이스를 통해 시스템에 접근

데이타베이스 내용을 직접 변경 못함

데이타베이스 지식을 가진 사용자

데이타 삽입, 삭제, 갱신 등 다양한 작업을 수행

 데이타베이스 설계자

사용자의 요구를 수렴해 시스템 명세서를 만듦

정보 내용을 명세하고 데이타베이스를 구축하는 소프트웨어 전 문가

개념적 설계, 논리적 설계, 물리적 설계 담당

(17)

데이타베이스 시스템 사용자 - 2/2

 응용 개발자

데이타베이스 시스템의 기능을 이용해 응용 프로그램을 설계하 고 개발

사용자 인터페이스, 데이타 분석 프로그램, 다양한 비즈니스 서비스 와 같은 응용 프로그램

 데이타베이스 관리자

데이타베이스를 관리

관리 업무

데이타베이스 시스템의 접근 통제

데이타의 정확성과 무결성의 유지

(18)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 18

DBMS를 구성하는 전형적인 모듈

(19)

데이타베이스와 Web - 1/2

 데이타베이스를 이용한 웹 사이트 예들

New York Times, CNN

BigHit Video database

 웹에서 데이타베이스 이용 분야

웹 사이트에서 게시된 정보 유지

이용 정보의 추적

웹 사이트 사용자와 고객을 조사

입력 폼을 통해 수집된 정보를 저장

웹 페이지의 구조와 내용을 저장

(20)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 20

데이타베이스와 Web - 2/2

그림 1-3 BigHit 비디오 웹 사이트의 비디오 테이프 예약 폼

(21)

데이타베이스 개념과 구조

 데이타 모델(Data Model)

데이터 추상화(data abstraction)를 제공하기 위한 주요 도구

정보들의 구조를 기술하기 위해 사용되는 개념

데이타베이스의 정보 내용을 명세화

구조(Structure) : 데이타베이스의 구조

개체, 개체간의 관계성, 애트리뷰트들

연산(Operation) : 검색과 갱신을 위한 기본 연산들

기본 모델 연산들 : 일반적인 삽입, 삭제, 갱신, 검색

사용자 정의 연산들 : compute_student_gpa

(22)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 22

데이타베이스 설계의 단계

실세계

데이타베이스요구사항들

요구사항들의수집과 개념적설계 논리적

( 데이터

) 물리적

개념스키마

(E-R 다이어그램으로표현됨) 논리적

( 개념 ) 스키마 ( 특정

DBMS 데이터모델로표현됨) 내부스키마

( 같은 DBMS 대한)

기능적 응용프로그램 트랜잭션구현 응용프로그램들

기능적요구사항들 고수준의트랜잭션명세

DBMS에 독립적 DBMS에 의존적

(23)

데이타 모델의 분류 - 1/2

 개념적(Conceptual) 데이타 모델

많은 사람들이 데이터를 인식하는 방식에 대한 개념을 제공

데이타베이스의 초기 명세서로 사용

사용자들과 개발자들간의 합의를 나타냄

예) 개체-관계 모델(entity-relationship model)

 논리적(Logical) 데이타 모델

개념적 데이터 모델과 물리적 데이터 모델의 중간에 위치

디스크상에서 데이터 저장 구조의 세부 사항을 은폐하지만, 컴퓨 터 시스템에 직접 구현될 수 있음

데이타베이스의 정의와 구조를 나타냄

(24)

데이타 모델의 분류 - 2/2

 물리적(Physical) 데이타 모델

어떻게 데이터가 컴퓨터의 저장 장치에 저장되는가에 대한 세부 사항을 명시하는 개념을 제공

레코드의 형식, 레코드 순서, 접근 경로와 같은 정보들

기본적인 물리적 모델은 논리적 데이터 모델로부터 자동적으로 생성

데이타베이스 설계자와 관리자는 물리적 데이터 모델 수정 가능

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 24

(25)

스키마와 인스턴스 - 1/2

 데이타베이스 스키마(Schema)

데이타베이스의 기술(description)

데이타베이스 구조, 관계성, 데이터 타입, 제약 조건에 대한 기술 을 포함

데이타베이스 설계 과정에서 명시, 자주 변경되지 않음

 스키마 다이어그램(도시화된 스키마)

스키마의 일부 관점만 나타냄

레코드 타입의 이름, 데이터 항목의 이름, 일부 제약조건의 유형만

(26)

스키마와 인스턴스 - 2/2

 데이타베이스 상태(Database State)

특정 시점에 저장된 실제 데이터

데이타베이스에 있는 데이타들의 집합

인스턴스(instance) 또는 어커런스(occurrence) 또는 스냅샷 (snapshot)이라고 함

데이타베이스가 갱신될 때마다 데이타베이스 상태는 변경됨.

 새로운 데이타베이스를 정의할 때, 새로운 데이타베이스 스키마만 DBMS에 명시

데이타베이스 상태는 데이터가 없는 빈 상태

삽입, 갱신 연산으로 다른 데이타베이스의 상태를 가짐

 유효한 상태(Valid state)

스키마에 명시된 구조와 제약 조건들을 만족하는 상태

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 26

(27)

스키마와 인스턴스 예 - 1/2

 릴레이션 스키마 : Customer 테이블의 예

Customer 테이블의 스키마

고객마다 고객 번호(accountId), 성(lastName), 이름(firstName)을 가짐을 나타냄

4개의 인스턴스

데이타베이스 외부에 존재하는 객체들에 대한 실체를 나타냄

accountId lastName firstName

101 Block Jane

102 Hamilton Cherry

103 Harrison Kate

104 Breaux Carroll

Customer table

릴레이션 스키마

인스턴스

(28)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 28

스키마와 인스턴스 예 - 2/2

 예약(Reservation) 테이블의 예

객체간의 관계성(relationship)들은 데이타베이스의 실체들로 표현

예) Jane Block이 Animal House라는 비디오 한 편을 예약하면 고객 과 영화 사이의 관계를 Reservation 테이블에 하나의 인스턴스로 만들어 기록

예) Jane Block이 예약을 취소하면, 이 관계 인스턴스는 Reservation 테이블에서 삭제됨

accountId MovieTitle

101 Annie Hall

165 The Thirty-Nine Steps

101 Animal House

453 Annie Hall

Reservation table

(29)

데이타베이스 스키마의 단계 - 1/4

 데이타베이스의 특징을 지원하기 위해 제안됨

프로그램-데이터의 독립성과 데이터에 대한 다중 뷰

 데이타베이스는 사용자마다 다른 관점을 제공

외부(external) 단계

개념(conceptual) 단계

내부(internal) 단계

1. 내부(internal) 단계

내부 스키마(internal schema)를 가짐

(30)

데이타베이스 스키마의 단계 - 2/4

2. 개념(conceptual) 단계

개념 스키마(conceptual schema)를 가짐

모든 사용자들을 위한 전체 데이타베이스의 구조와 제약 조건들 을 기술

논리적 데이터 모델을 이용

3. 외부(external) 단계

외부 스키마(external schema)나 사용자 뷰들을 포함

특정 사용자 그룹이 관심을 갖는 데이타베이스의 부분을 기술

일반적으로 개념적 스키마와 같은 데이터 모델을 이용

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 30

(31)

데이타베이스 스키마의 단계 - 3/4

외부 단계

내부/개념 매핑 개념/외부 매핑

디스크

외부 뷰 1 외부 뷰 2 외부 뷰 3

개념 스키마 개념 단계

(32)

데이타베이스 스키마의 단계 - 4/4

 스키마들간의 매핑

요구와 데이터를 변환하는 과정

사용자와 프로그램은 외부 스키마만을 참조

실행을 위해 외부 스키마 상에서 표현된 요구를 개념 스키마에 대한 요구로 변환, 다시 내부 스키마에 대한 요구로 변환하여 저 장된 데이타베이스 접근

저장된 데이타베이스로부터 추출된 데이터는 사용자의 외부 뷰 와 일치하도록 재구성

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 32

(33)

데이타 독립성(data independence)

 고수준의 스키마를 변경할 필요 없이 데이타베이스 시스 템의 어떤 단계에서 스키마를 변경할 수 있는 능력

 스키마들간의 매핑은 데이터 독립성을 지원

 논리적 데이타 독립성(logical data independence)

외부 스키마나 응용프로그램들을 변경하지 않으면서 개념 스키 마를 변경할 수 있는 능력

예) 개념 스키마에 개체의 삽입이나 속성의 첨가와 같은 변화가 생 길 때 그 변화에 따라 매핑(mapping)만 변경하면, 외부 스키마에는 아무런 영향을 미치지 않음

 물리적 데이타 독립성(physical data independence)

개념 스키마를 변경하지 않으면서 내부 스키마를 변경할 수 있

(34)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 34

데이타베이스 언어 – 1/2

 데이타 정의 언어

DDL : Data Definition Language

개념적 스키마 명세에 사용

 뷰 정의 언어

VDL : View Definition Language

외부 스키마 명세에 사용

개념스키마와 외부 스키마간의 매핑을 나타냄

 저장소 정의 언어

SDL : Storage Definition Language

내부 스키마 명세에 사용

(35)

데이타베이스 언어 – 2/2

 데이타 조작 언어

DML : Data Manipulation Language

응용 또는 사용자와 데이타베이스 서버에 사이의 통신 수단

데이타베이스 서버에 저장된 정보를 변경하고 질의하는 응용에 의해 사용

데이타의 검색, 삽입,삭제, 변경 연산

 현재의 DBMS들은 위의 언어들을 구분하지 않고 통합된 포괄적인 언어가 개념 스키마 정의, 뷰 정의, 데이터 조작 등을 지원

예) SQL (Structured Query Language)

(36)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 36

데이타베이스 시스템의 역사 – 1/4

 컴퓨터가 처음 등장한 초창기

천공 카드, 자기 테이프 장치 이용

데이터를 순서대로 저장하고 검색할 때도 저장 순서로 접근

파일 구조와 정렬 알고리즘 연구에 대한 연구가 많이 이루어짐

 1960년대 초

처음으로 범용 데이타베이스 관리 시스템 소개

예) IDS(Integrated Date Store) 시스템 : Bachman (GE) 개발

데이터 모델의 정확한 명세를 위한 방법 소개

 1960년대 후반

IBM에서 IMS(Informaion Management System) 개발

대용량 데이타베이스에 데이타 통신 기능 추가

IBM과 American Airline이 함께 SABRE라는 항공 예약 시스템 구축

많은 동시 사용자와 네트워크를 지원하는 첫 번째 데이타베이스

(37)

데이타베이스 시스템의 역사 – 2/4

 1970년대 초

많은 컴퓨터 회사들이 데이타베이스 시스템을 만들어내기 시작

많은 학교와 연구소에서 데이타베이스 시스템에 대한 연구가 활 발히 이루어짐

E.F.Codd

관계 모델 소개

Peter Chen

ER(Entity-Relationship) 모델을 사용한 다이어그램을 이용하여 데 이타를 기술하는 방법 소개

IBM System R 그룹

대용량의 관계 데이타베이스 시스템을 구축

(38)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 38

데이타베이스 시스템의 역사 – 3/4

 1980년대

소프트웨어 회사들이 여러 관계 데이타베이스 시스템을 개발하 여 판매

예) Oracle, DB2, Ingres, Sybase, Informix 등

PC 기반의 데이테베이스이 출현

예) dBase, Paradox 등

SQL 표준 출판 (1986년)

 1990년대

객체지향 프로그래밍 언어의 출현과 복합구조 객체를 저장하고 공유할 필요로 인해 객체 지향 데이타베이스 개발

분산 데이타베이스

데이타베이스는 웹의 성장과 함께 웹 인터페이스를 갖추게 됨.

(39)

데이타베이스 시스템의 역사 – 4/4

 현재

새로운 응용을 위한 데이타베이스 능력 확장

과학적 실험으로부터 얻어지는 대량의 데이터를 저장하는 과학 적 응용

전자상거래에서 웸 데이터 교환을 위한 XML (eXtended Markup Language) 검색과 저장

의학과정에서 얻어지는 이미지를 저장하고 검색하는 응용

영화와 같은 비디오, 또는 신문이나 디지털 카메라로부터 얻는 비디오 클립의 저장과 검색

대량의 데이터를 분석하는 데이터 마이닝

날씨 정보나 지도와 같은 데이터의 위치를 저장하는 공간 응용

(40)

인터넷과Java 중심으로 데이타베이스 시스템 이론과 응용 40

정보 시스템 생명 주기 단계 – 1/2

 1 단계 : 정보 관리 요구 파악 (2.1절)

 정보와 시스템의 요구 사항 조사 => 결과 : 정보의 요구 사 항과 존재하는 환경을 기술한 문서

 2 단계 : 개념적 데이타 모델링 (2장, 3장)

 정보 내용을 정형화된 표현으로 나타내는 것

 개발자와 사용자들 사이에 검토되고 합의된 것이어야 함

 3단계 : 논리적 모델링 ( 4장, 5장)

 데이터 모델을 데이타베이스 스키마로 변환

(41)

정보 시스템 생명 주기 단계 – 2/2

 4단계 : 응용 개발

 응용을 만드는 단계

 데이타베이스를 직접 조작(6장, 7장)

 Java 프로그램을 통한 데이타베이스 접근 방법(8장, JSP)

 5단계: 배치와 개선

 신뢰성과 성능 개선

 데이타베이스 질의의 최적화 방법 (13장)

 여러 사용자들이 동시에 시스템을 이용하는 능력(14장, 15

장)

참조

관련 문서

byte nextByte() 다음 아이템을 찾아 byte로 변환하여 반환 double nextDouble() 다음 아이템을 찾아 double로 변환하여 반환 float nextFloat() 다음 아이템을 찾아

장기간 지속되는 증상으로 환자가 가지고 있는 잘못된 병인에 대한 개념, 암에 대한 두 려움 등으로 삶의 질이 저하된다.. 따라서

[r]

프로토타이핑 시범적으로 시스템을 구현 요구에 대한 빠른 피드백 사용사례 분석 시스템 외부 기능 파악 체계적 요구 구성. 사용사례 분석

만다린어의 패턴에서는 이른과 나중 사이의 구분과 관련 있 는 개념이 수직축에서의 상대적인 위치에 의해

- 추상의 새로운 단계에서는 모든 선행 개념이 사용 가 능한 상태이어야 한다..  스키마에 맞지 않는 것은 학습하기 어렵게 한다.. - 예) 직육면체를 두고

 분산적 리더십 실행을 위해서는 학교장의 조직 상황에 대한 치 밀한 분석과 조직 상황(맥락)에 적합한

문화(culture)란 특정 사회가 공유하며 한 세대와 다음 세대로 이어지는 가치, 행동양식, 태도 등을 통칭 제도 institution 관습 custom 의식 ritual 법률