Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 제 1 장 개요 DB 시스템의 목적 데이터의 뷰 데이터 모델 데이터 정의 언어 데이터 조작 언어 트랜잭션 관리 저장 장치 관리 데이터베이스 관리자 데이터베이스 사용자 전반적인 시스템 구조 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 데이터베이스 관리 시스템(DBMS) 상호 관련 있는 데이터의 모임 데이터를 액세스하기 위한 프로그램의 집합 DBMS에는 특정 기관에 관한 정보를 내포 DBMS는 사용하기 편하고 효율적인 환경을 제공 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 DB시스템의 목적 DBMS는 전통적인 OS 가 지원하는 파일 처리 시스템의 아래와 같은 문제점을 처리하기 위해 개발 되었음. 데이터의 중복과 불일치 데이터 액세스상의 어려운 점 데이터의 고립성 - 여러 파일과 포맷 무결성 문제 갱신의 원자성 여러 사용자에 의한 동시 액세스 보안 문제 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 데이터의 뷰 DB 시스템의 구조 뷰 단계 뷰 1 뷰 2 뷰 3 논리 단계 물리 단계 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 추상화 단계 물리 단계 : 레코드가 어떻게 저장되는지를 기술 논리 단계 : DB에 저장된 데이터와 데이터간의 관계를 기술 type customer = record name : string; street : string; city : string; end; 뷰 단계 : 응용 프로그램은 데이터 형의 상세 사항은 감춘다. 뷰는 또한 보안 목적으로 정보를 감출 수 있다(예를 들면, 급여). Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 사례와 스키마 프로그래밍 언어의 형과 변수와 유사 스키마 - DB의 논리 구조(예 : 고객 및 계좌의 집합과 그들 간의 관계) 사례 - 특정 시점에서의 DB의 실제 내용 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 데이터 독립성 차상위 단계의 스키마 정의에 영향을 주지 않고 어떤 단계의 스키마 정의를 수정할 수 있는 능력. 다양한 단계와 구성 요소 간의 인터페이스는 어떤 부분의 변화가 다른 부분에 심각한 영향을 주지 않도록 잘 정의되어야 한다. 데이터 독립성의 두 종류 - 물리적 데이터 독립성 - 논리적 데이터 독립성 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 데이터 모델 아래 사항을 기술하는 도구들의 모임 - 데이터 - 데이터의 관계 - 데이터의 의미 - 데이터의 제약 조건 객체 기반 논리 모델 - 엔티티-관계 모델 - 객체 지향 모델 - 의미 모델 - 함수 모델 레코드 기반 논리 모델 - 관계형 모델(SQL/DS, DB2) - 네트워크 모델 - 계층 모델(IMS) Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 E-R 모델 E-R 모델의 예 social-security customer-name customer-street customer-city account-number balance customer account depositor Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 관계형 모델 관계형 모델에서 테이블 데이터의 예: customer social customer customer account -name -security -street -city -number Johnson 192-83-7465 Alma Palo Alto A-101 Smith 019-28-3746 North Rye . . A-215 Johnson 192-83-7465 Alma Palo Alto A-201 Jones 321-12-3123 Main Harrison . . A-217 smith 019-28-3746 North Rye . A-201 account-number balance A-101 500 A-201 900 A-215 700 A-217 750 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 데이터 정의어 : DDL DB 스키마를 정의하기 위한 명세 표기 DDL 컴파일러는 데이터 사전에 저장되는 테이블의 집합을 생성 데이터 사전에는 메타 데이터를 가진다(즉, 데이터에 관한 데이터) 데이터 저장 및 정의어 - DB 시스템이 사용하는 저장 구조와 액세스 메소드가 정의되는 특수한 DDL 형 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 데이터 조작어 : DML 적절한 데이터 모델로 구축된 데이터를 액세스하고 조작하기 위한 언어 DML의 두 가지 유형 절차식 - 사용자는 어떤 데이터를 어떻게 구하는지를 명시한다. 비절차식 - 사용자는 데이터를 어떻게 구하는지를 명시하지 않고 어떤 데이터가 필요한가만 명시한다. Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 트랜잭션 관리 트랜잭션은 DB 어플리케이션 내에서 하나의 논리적 기능을 수행하는 연산들의 모임이다. 트랜잭션 관리 구성 요소는 시스템 고장(정전 및 운영체제 손상)과 트랜잭션의 실패에도 불구하고 데이터베이스가 일관성 있는(정확한) 상태를 유지하도록 보장 동시성 제어 매니저는 데이터베이스의 일관성을 보장하기 위해 동시 실행 트랜잭션 간의 상호 작용을 통제한다. Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 저장 장치 관리 저장 장치 매니저는 데이터베이스에 저장된 하위 단계 데이터와 시스템에 제기된 어플리케이션 프로그램 및 질의 간에 인터페이스를 제공하는 프로그램 모듈이다. 저장 장치 매니저는 다음과 같은 임무를 수행한다. - 파일 매니저와의 상호 작용 - 효율적인 데이터의 저장, 검색 및 갱신 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 데이터베이스 관리자 모든 DB 시스템의 행위를 조정; 데이터베이스 관리자는 조직의 정보 자원과 요구 사항에 대해 충분한 이해를 하고 있다. 데이터베이스 관리자의 임무는 다음과 같다. - 스키마 정의 - 저장 구조와 액세스 메소드 정의 - DB 액세스 사용자 권한 부여 - 무결성 제약 조건 지정 - 사용자와의 긴밀한 유대 관계 - 성능 감시와 요구 사항 변경에 대한 응답 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수 DB 사용자 사용자들은 시스템과의 상호 작용으로 그들이 기대하는 방향에 있어 차이가 난다. 어플리케이션 프로그래머 - DML 호출을 통해 시스템과 상호 작용 능숙한 사용자 - DB 질의어로 요구를 작성 특수 사용자 - 전통적인 데이터 처리의 틀에는 맞지 않는 특수한 DB 어플리케이션을 작성 초보 사용자 - 이미 작성된 영구 어플리케이션 프로그램중의 하나를 호출 Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
전체 시스템 구조 Native users (tellers, agents, etc.) application programmers sophisticated users database administrator interfaces programs query scheme object code processor storage manager embedded DML precompiler compiler DDL interpreter evaluation engine transaction buffer file indices statistical data data files data dictionary disk storage database- management system