데이터베이스 개요
제주대학교 컴퓨터교육과
박찬정 (cjpark@jejunu.ac.kr)
목 차
• 데이터베이스 정의
• 데이터 모델링
• 데이터베이스 관리 시스템
• 데이터베이스 관리자
2
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 )
데이터 모델링
물의 특징
이동성이 크며 매우 불규칙한 자연자원
자연재해를 대비하고 지속 가능한 수자원을 개발
수자원 정보화 필요성
수자원 현황 , 하천 , 지하수 , 관리시설 등에 대한 종합 적 정보가 필요함
김남일 , 정승권 , “ 수자원 정보화 : Back to the FU- TURE,”
수자원발언대 39 권 1 호 , 2006.
(http://www.kwra.or.kr)
데이터 모델링
수자원 정보화의 목표
체계적인 수문조사를 통해 다양한 수문정보를 구축하고 각종 정보화 기술을 이용해 국민에게 종합적인 물정보 서 비스를 제공
데이터베이스 구축을 통해 수자원 관련 자료들을 정밀 분 석하여 수자원관련 정책 수립을 지원
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) 4
데이터 모델링
기술적 방법
위성영상 자료의 수집
실시간 수문모니터링
PDA 를 이용한 유량측정
데이터 모델링
위성 영상 자료
유역의 고도 현황을 나타내는 수치고도도
토지이용상태를 나타내는 토지이용도
유역내 토양형의 구성을 나타내는 토양도
실시간 모니터링 내역
강우량
하천수위
지하수위
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) 6
데이터 모델링
실시간 수문모니터링
강우량 하천수위
유량측정
하수유량 수질조사
지하수위
PDA 데이터로커
서 버 통신 모듈
분석모듈
수문자료분석
데이터 모델링
유량측정
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) 8
데이터 모델링
개체 및 속성 도출
측정자
유량
방법
저장장치
관계 도출
방법 설정
측정자 배정
데이터 측정 및 입력
데이터 모델링
개체관계도 작성하기
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) 10
데이터베이스 관리 시스템
Database Management System (DBMS)
정의
데이터베이스를 정의 및 조작하고 , 질의어를 지원하 며 , 다양한 리포트를 생성하는 등의 작업을 수행하는 소프트웨어
데이터베이스 관리 시스템
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) 12
응용 프로그램들
응용 프로그램 개발 소프트웨어 DBMS
운영체제
하드웨어
데이터베이스 관리 시스템
기능
여러 사용자와 응용 프로그램간 데이터베이스 공유
권한이 없는 사용자로부터 데이터베이스 보호
다양한 인터페이스 제공
자동적으로 데이터의 무결성 제약조건을 유지
시스템이 고장 나면 , 데이터베이스를 고장 전의 일관된 상태로 회복
데이터 독립성 제공
데이터 무결성 (Integrity)
: 데이터에 오류가 없이 정확해야 하는 성질
데이터베이스 관리 시스템
역할
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) 14
응용 프로그램 1 응용 프로그램 2
응용 프로그램 n
: :
DBMS
제어 , 질의 어 처리 , 트랜잭션
관리 등
데이터베이스
데이터베이스 관리 시스템
장점
중복성과 불일치 감소
표준화가 용이
보안 향상
무결성 향상
회복이 용이
시스템을 개발하고 유지하는 비용이 감소
데이터베이스의 공유와 동시 접근이 가능
데이터베이스 관리 시스템
단점
DBMS 자체의 구입 비용이 비쌈
직원들의 교육 비용이 소요됨
공유로 인한 개인정보 노출
피해야 할 상황
초기의 투자 비용이 너무 클 때
오버헤드가 너무 클 때
응용이 단순하고 변경이 발생하지 않을 때
다수 사용자의 접근이 필요하지 않을 때
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) 16
데이터베이스 관리 시스템
DBMS 발전 과정
데이터베이스 관리 시스템
관계 DBMS
1970 년에 E.F. Codd 가 IBM 연구소에서 관계 데이터 모델을 제안
미국 IBM 연구소에서 진행된 System R 과 캘리포니아 버클리대에서 진행된 Ingres 프로젝트
모델이 간단하여 이해하기 용이함
데이터를 테이블 형태로 표현함
예 : MS SQL Server, Oracle, MySQL 등
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) 18
데이터베이스 관리 시스템
분류
(홍의경 , 데이터베이스 배움터 (MS SQL 기반 ), 생능 , 2007 참조 )
데이터베이스 관리 시스템
DBMS 의 언어
데이터 정의어
데이터 조작어
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) 20
데이터베이스 구조의 생성 , 변경 , 삭제 기능 을 수행하기 위한 언어
이미 생성된 데이터베이스로부터 데이터를 삽 입 , 삭제 , 갱신 및 검색하는 기능을 수행하 기 위한 언어
데이터베이스 관리 시스템
관계 DBMS 에서의 예
데이터 정의어
• CREATE TABLE
• ALTER TABLE
• DROP TABLE
데이터 조작어
• INSERT
• UPDATE
• DELETE
• SELECT
메타 데이터
데이터
데이터베이스 관리 시스템
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) ( 교재 참조 ) 22
질의처리 지원
데이터 웨어하우스 지원
데이터 마이닝 지원
웹과 XML 지원
객체지향 지원
이미지 , 공간 정보 등 특별한 데이터 타입 지원 고급 사용자 인터페이스
지원
현대의 관계
DBMS
트랜잭션 지원
데이터베이스 관리자
정의
특정 조직의 다양한 요구를 만족시키기 위해서 일관성 있 는 데이터베이스 스키마를 생성하고 유지하는 사람 또는 팀
역할
데이터베이스 스키마의 생성과 변경
무결성 제약조건을 명시
권한 부여 또는 취소
저장 구조와 정의
백업과 회복
데이터베이스 관리자
기타 데이터베이스 사용자
일반 사용자
• 응용 프로그램을 사용하는 최종 사용자 (end user)
응용 프로그래머
• 데이터베이스에 접근하면서 응용 프로그램을 개발
데이터베이스 설계자
• CASE 도구들을 이용해서 데이터베이스 설계를 책임짐
제주물산업센터 - 수자원데이터베이스 ( 제주대학교 ) 24
CASE (Computer Aided Software Engineering)