Lecture Note:Introduction to Database System and Applications
목표: Database를 이해하고 이를 이용하여 Web 기반 응용 시스템을 설계 구현할 수 있는 능력
1. Database 구조 및 기능에 대한 이해
2. Database 설계 및 Data 운용 방법 습득 - SQL
3. Web 응용 시스템 환경 이해 - HTTP, HTML, Web Server, CGI , etc.
4. Web 응용 System 에 Database 사용 방법 습득
Class #01: 자료관리 개요
in place January 25, 2002, lasted modified March 11, 2002, Release 1.0.
--------------------------------------------------------------------------------
자료관리
정보 혹은 자료란
일반적으로 정보는 사실, 자료, (협의의)정보 그리고 지식 등 몇가지 종류로 나뉠수 있다. 이에 대한 분류와 정의는 다양하지만 일반적인 정의는 다음과 같다.
사실(Fact) :- 분석이나 의견등이 들어있지 않은 현상에 대한 단순한 서술, 종합되거나 정리되지 않은 특성이 있다.
자료(Data) :- 사실을 기초로 여러가지 차원으로 정리되거나 종합된 정보, 분석이나 의견등의 정보는 포함되지 않았다.
정보(Information) :- 사실이나 자료를 가공하여 가치있는 분석이나 의견을 포함한 정보를 뜻한다.
지식(Knowledge) :- 사실, 자료, 정보등이 종합 분석되어 보편화한 규칙(Rule)이 된 것, 보편화의 의미는 조건만 일치하면 항시 예측이 가능한 결과를 낼 수 있는 Meta 정보라는 의미이다.
자료 관리란
자료관리란 하위정보(사실, 자료, 정보)를 체계적으로 관리하고(Content) 이를 발전시켜(Life Cycle) 고급정보인 지식화 하고 이를 쉽게 사용(Access)할 수 있도록 하는 활동을 뜻한다. 정보를 관리하는 활동은 내용(Content), 접근성(Access), 그리고 생성주기관리(Life cycle management)라는 세가지 중요한 요소가 있다.
내용은 정보를 상호관계에 의하여 어떻게 체계적으로 관리할 것이냐이며
접근은 이 정보를 어떻게 손쉽게 접근할 것이냐 의 문제이다.
생성주기 관리는 초기의 사실을 어떻게 관리하여 고급 정보인 지식으로 만들것인가를 다룬다.
자료관리에서 데이타베이스
데이타베이스는 기존의 파일 기반의 응용 시스템에서 각기 독립적으로 다루었던 자료를 규격화 체계화 시키며, Adhoc Query, Application Programs, Web Applications 통하여 쉽게 접근할 수 있도록하며, 저장된 다양한 데이타에서 일정 Patten이나 Rule을 찾아 의사결정을 지원할 수 있도록 한다.
Class #02: 데이타베이스 관리 시스템 개요
in place March 17, 2002, lasted modified March 17, 2002, Release 1.0
--------------------------------------------------------------------------------
데이타베이스 및 데이타베이스 관리 시스템의 정의
데이타베이스 (Database)의 정의
"논리적으로 연관된 레코드나 파일의 모임"
"공동 목적을 지원하기 위한 서로 관련된 자료들의 집합체"
데이터 베이스는 단순한 자료의 모임이라기 보다는 어떠한 조직 내에서 여러 사람에 의해 공유되어 사용될 목적으로 통합적으로 조직되고 관리되는 운영 자료의 집합이라고 할 수 있다.
데이터 베이스 관리 시스템 (Data Base Management System : DBMS)의 정의
"데이터 베이스를 구성하고 이를 응용하기 위하여 구성된 소프트웨어 시스템"
"데이타와 응용 프로그램의 중간에서 응용 프로그램이 요구하는 대로 데이타를 정의하고, 일고, 쓰고, 갱신하는 등의 데이타를 조작하고 관리하는 프로그램의 집합체"
데이타베이스 관리 시스템의 종류(발전 순서)
File을 이용한 자료관리 (ISAM)
계층형 데이타베이스 Hierarchical databases
계층 모델에 따라서 구성된 데이타베이스, 계층 모델은 레코드 간을 상위와 하위의 정보로 잇는 트리 구조로 관리하는 모델이며, 부자 관계는 반드시 1 대 다수이다. 데이터베이스로의 접근 순서는 반드시 상위의 정보부터 하위의 정보로 진행하도록 프로그램되어 있다 (IMS, System2000).
네트웩크형 데이타베이스 Network-type databases
데이터 구조가 네트웍크 구조로 되어 있는 데이타베이스, 데이터간의 관련은 1 대 1, 다대 다가 가능해진다. 검색 대상의 데이터를 다수에 걸치는 경로로 접근할 수 있으나 데이터 구조가 복잡하다 (IDMS, Image).
관계형 데이타베이스(Relational Database)
1970년 E.F. Code 가 제안한 집합 모델을 사용하는 데이타베이스, 이 집합 모델은 수학의 집합론에서의 관계에 따르고 있으며 모든 데이터는 관계로써 표현한다 (Oracle, Informix, Sybase, MS SQLServer).
객체지향적 데이타베이스 (Object Oriented Database)
객체지향적 개념인 Class, Method, Class Hierarchy를 지원하는 데이타베이스, 자료 구조가 복잡한 공학, Multimedia 응용 분야에 적합하다 (Orion, Genston).
분산형 데이타베이스
물리적으로 나누어진 데이타베이스를 관리하는 데이타베이스, 효율성 및 정확성을 위하여 복제, View, 정합성(Integrity Constraint) 유지 기능을 제공한다.
Spatial Database
공간적 자료의 저장, 질의, 관리를 위한 데이타베이스, GIS등에 많이 사용된다.
Time Series Database
시간적으로 변화되는 자료를 저장하기 위한 테이타베이스, 주식 및 Log 기록 데이타베이스로 사용된다.
Multi Database
다수 이질 데이타베이스 뿐만 아니라 Office File, Mail 등의 자료원을 통합하는 데이타베이스 시스템
데이터베이스 관리시스템 구조 ( A Simple Database Management System )
파일 시스템
컴퓨터에 프로그램이나 데이타를 저장하는 단위
컴퓨터 운영체제 (Operating System)에서 기본적으로 제공
제공기능은 열기(Open), 읽기(Read), 쓰기(Write), 찾기(Seek), 닫기(Close)
간단한 데이타베이스 관리 시스템
파일시스템을 이용하여 자료구조, 자료 그리고 Index를 저장
저장된 파일 시스템 기반의 응용시스템을 이용하여
자료 구조 생성 (CREATE) 프로그램
자료 입력 (INSERT) 프로그램
자료 검색(SELECT) 프로그램
자료 갱신(UPDATE) 프로그램
View 생성(VIEW) 프로그램 을 작성
위의 프로그램을 이용하여 사용자의 자료 관리를 위한 질의어 처리기 작성
응용 프로그램이 해당 기능을 이용할 수 있도록 Libary 작성
Transaction을 관리하는 Transaction 관리기 작성
데이타베이스 파일 예 및 데이타베이스 관리 시스템 구조
자료 구조를 정의한 파일 Schema File (혹은 자료사전: Data Dictonary)
1
자료를 저장한 파일 Data File
[img2]
자료 검색을 위한 Index를 저장한 Index File
[img3]
데이타베이스 파일과 전체 구조
[img4]
데이타베이스 3단계 구조 3 Schema Architecture
- 데이타베이스 구조 혹은 전체를 논리적으로 설계한 모델
내부 스키마 (Physical Data Model) - 실제 자료가 파일에 어떻게 저장되어 있는가 (예는 File Address 사용)
개념 스키마 (Logical Data Model) - 데이타베이스 의 논리적 구조, 객체, 객체간 관계, 제약조건으로 정의 (예의 Address 테이블)
외부 스키마 (User View) - 응용 프로그램의 필요에 따라 논리적 스키마의 부분을 제한해서 보여주는 모델 (예에서 Hometown)
데이터 베이스 관리 시스템의 역할
구성 기능: 데이터 베이스에 저장될 자료의 구조와 응용 프로그램이 그것을 이용하는 방식을 정의하는 것으로 레코드 구조의 정의, 데이터 모형의 정의, 물리적 구조의 정의 등을 포함한다.
조작 기능: 사용자의 요구에 따라 데이터 베이스에 저장된 자료를 검색, 갱신, 삽입, 삭제할 수 있도록 하는 기능이다.
제어 기능: 데이터 베이스의 내용이 일관성을 유지하고 중복되지 않도록 하며 허가되지 않은 액세스를 제한하여 자료를 보호하는 기능이다.
데이타베이스 관리 시스템에 적용된 개념
추상화
"구체적인 사물의 공통점을 찾아서 이를 대표할 수 있는 성질을 추출하는 것"
모든 사물을 인간의 사상 및 문화에서 표현하기 위하여 언어로 추상화
모든 사물을 데이타베이스안에서 표현하기 위하여 Entity와 Attribute로 표현
컴퓨터 프로그램안에서 사용자의 관점(View)에 필요한 정보만을 제공하기 위하여 추상화 사용
자료 구조와 내용의 독립
응용 프로그램과 필요한 자료구조의 분리
여러 응용 프로그램에 공통으로 필요한 자료구조를 설계 지원
예: 전자상거래 시스템 - 물건등록, 판매관리, 재고관리
자료 정의 자료
데이타베이스가 관리하는 자료에 대한 정의를 스스로 포함해야 함
자료 정의 방법 : Entity(Table, Class), Attribute, Data Type, Constraints
Abstract Data Type (Data and Related Operations)
Constraints 종류 (Type, Referencial, User Defined)
예: Student의 정의
파일 처리와 데이타베이스
파일 처리 데이타베이스
설명 자료 저장 및 관리를 위하여 컴퓨터 운 자료 저장 및 관리를 위하여
용체제가 제공하는 파일 시스템의 기본 데이타베이스 관리 시스템(DBMS) 사용
기능 사용
장점 간단한 시스템 구조 자료 구조를 변경할 수 있다.
비용이 적게 든다. 자료의 중복을 피할수 있다.
속도가 빠르다. 동시성 제어가 가능하다.
개발을 쉽게 할 수 있다. 무결성 처리가 쉽다.
회복 처리가 가능하다.
단점 자료 구조를 변경할 수 없다. 부가적인 프로그램이 필요하다.
서로 다른 응용 프로그램에서 자료 중복이 생긴다. 종합적 설계가 필요하다.
동시성 사용자 관리가 어렵다. 다양한 응용 프로그램을 지원해야 한다.
무결성 처리를 모두 프로그램해야 한다. 지속적인 관리자가 필요하다.
회복 처리 기능을 구현해야 한다.
데이타베이스 관련 업무
업무 분야
데이타베이스 관리 시스템 구현 (Implementation of Database Management Systems)
데이타베이스 응용 시스템 구현 (Implementation of Database Applications)
데이타베이스 구축 및 정보 제공 (Information Provider)
종사자
프로젝트 관리자 (Project Manager)
시스템 분석가 (System Analyst)
데이타베이스 설계자( Database Designer)
Database Schema Design/Database Turning
데이타베이스 관리자 (Database Administrator)
Schema Definition, Access Control/Indexing, Constraint Enforcement, Backup, User Mgt, Upgrade/Migration
데이타베이스 응용 프로그램어 (DB Application Develper)
|