코딩공작소
Database System 본문
DataBase System(DBS)이란 ??
조직에 의해 요구되는 정보를 관리하고 저장하기 위해 데이터 접근을 하는 정보 시스템.
DBS는 3개의 중요한 요소로 이루어져 있다.
- DataBase(DB)
- DataBase Management System(DBMS)
- Database users
<DBS>
1.DataBase
관련없는 정보의 집합 : 데이타는 기록될 수 있고 절대적인 의미를 갖는 잘 알려진 facts다.
현실세계 application의 몇 측면을 대표한다.
구체적 목적을 위해 만들어진다.
real application을 위한 stored date과 meta data도 포함한다. meta data는 meta DB에 저장된다. stored databased를 위한 데이터들이다.
DB의 예 - 대학DB,회사DB, ...
2.DBMS
underlying DB를 관리하는 프로그램들의 집합
DB users 와 underlying DB사이의 Interface. 이는 유저들이 정보를 쉽게 만들고 유지하게 할 수 있다.
users의 요구사항을 들어주는것 . Application은 매개체 역할을 한다. 즉, DBMS를 통해 데이터를 다룬다.
2.1 DBMS의 주요한 기능들
- ★Defining a DB(Database design) : 저장되어 있는 데이타 타입, 구조, 제약조건들 구체화한다.
- ★Meta-Data : Database definition or descriptive information. 1
- DB를 조절한다. (수정, 검색기능) stored DB사용!
- Query 를 관리하고 현실세계를 위한 underlying DB를 업데이트한다.
- Application program : DB에 접근 하는 것. queries를 보내거나 DBMS의 업데이트로 이루어진다.
- DB를 공유한다 : 다양한 사용자와 프로그램들이 DB에 동시적으로 접근할 수 있도록 허락한다.
- 보호기능 : 비권한자로부터의 보호, 오작동으로부터의 보호
3.DB users
Real-World에 있는 data들을 DB designer가 Modeling을 통해 DB에 저장한다.
Modeling은 3단계를 거쳐서 진행된고 ER-win을 이용해서 모델링한다.
DB는 stored DB, Meta DB로 이루어져 있다.
##DB languages --> Defining, Manipulation 의 명령어는 SQL로 조작한다. (DDL,DML 등 표준 instruction)
<End users>
DB를 app을 통해 접근하는 사람들을 말한다. app은 app개발자에 의해 만들어진다.
- End user : 필요할 때마다 DB에 접근하는 유저
- Naive or parametric end users : canned transactions 같은 사전적 정의된 기능을 통해 DB를 이용하는 유저
- Sophisticated end users (-->interactiove user) : System function과 친숙한 유저 . DBMS와 interact하는 유저
<App programmer>
app을 개발하는 프로그래머.
시스템 분석, host 언어, SQL과 같은DB언어 DML(Data Manipulation Language) 를 필요로 한다.
<★DB Designer>
DB를 위한 현실세계의 app의 requirements들을 이해해야 한다.
저장되어있는 데이터들을 식별하고 데이터들을 저장하고 대표로 하기위한 적절한 구조를 선택해야 한다.
유저의 needs 분석, DBMS사용법 . manipulate의 SQL(DML).
Data-Model(DM)을 사용한다. 현실세계의 요구사항들을 DB로 mapping 한다.
DDL(Data Definition Language) 를 알아야 한다. SQL과 같은 언어이다.
<DB Administrators>
DB에 접근 권한을 관리
그것들을 조정하고 모니터한다.
S/W , H/W를 알아야한다.
4. 그 외의 user
<DBMS 개발자>
DBMS를 개발하고 디자인한다. S/W package와 같은 모듈들과 인터페이스를 개발.
<Tool 개발자>
CASE 툴 같은 개발도구들을 개발한다.
<Operators and maintenance personnel>
DB를 위한 SW,HW환경을 책임감 있게 운영하고 관리한다.
- 기술적인 [본문으로]