코딩공작소

DB접근의 특성 본문

어플리케이션개발/DB

DB접근의 특성

안잡아모찌 2018. 9. 30. 20:41

**Previous file System

각각의 앱은 각각의 data file과 연결되어 있었다.

file system의 문제점 

1.중복되는 데이터가 있으면 data가 불일치 할 수 있고, 저장공간의 낭비가 생긴다.

2.이름의 저장 byte를 변경하려면 Application을 전부 바꿔야한다 --> 밀접한 관련이 있음

App마다 별도의 data가 존재했다.


DB approach

 :단일 저장소가 다양한 유저들에의해 접근되고 한번 정의된 데이터를 관리, 유지한다.


file system은 데이터파일에 따로따로 접근 했지만, DB는 단일저장소에서 데이터를 운영 ,통합 ,공유 함으로써 중복을 최소화한다.

app과 DB는 서로 독립적이다. DBMS가 meta-DB를 갖고있기 때문이다.



<DB접근의 주요한 특징>

  • DBS의 특징을 self-describing
  • 프로그램과 데이터사이의 Insulation
  • Data abstraction
  • 데이터의 multiple view를 지원
  • 데이터와 멀티유저 트랜잭션 프로세싱을 공유


1.Self-describing

DBS는 저장되어 있는 DB의 구조제약조건의 완벽한 정의포함하고 있다.

이것은 DB카탈로그나 사전의 형태로 DBMS에 의해 meta data안에 저장되어 있다.

  - stored DB안에 없는 영역을 미리 검색가능. data수정시 meta-DB만 고쳐주면 됨.(어디서, 몇 byte인지) app을 고칠필요는 없다.

  - data catalog는 DBMS SW, DB구조의 정보를 필요로 하는 DB users들에 의해 이용될 수 있다. 

  - DB users들은 DB 카탈로그(meta-data)에 접근 할 수있으며, 그 방법은 stored-DB에 접근하는 것과 같다.


2.Insulation

각 프로그램 데이터는 독립적이다. 데이터파일의 구조는  각각의 접근 프로그램으로부터 분리된채 DBMS 카탈로그안에 저장되어 있다.

Program(interface)와 Operation은 독립적이다. 

Operation은 2개의 part로 규정되어 진다.  

1.인터페이스는 operation name과 data types를 포함하고 있다 

2.인터페이스에 어떠한 영향을 끼치지 않고 implementation을 바꿀 수 있다.


3.★Data abstraction

프로그램 - 데이터 , 프로그램 - Operation 의 독립성을 허용.

데이터의 개념적인 대표(Conceptual) : 어떤 데이터가 저장됐는지, 어떤 operations이 시행됬는지의 세부사항은 포함되지 않는다.

DataModel : Conceptual representation을 제공하기위해 사용된 데이터 추상화의 유형. --> 데이터의 표현방법

데이터 조직화 및 저장의 세부사항 억제

필수 특징의 강조 <-- 개선된 정보의 이해를 돕기 위함.

프로그램데이터 독립을 허용

DBMS가 user에게 제공해야하는 기능. 복잡한 DBMS의 구조를 몰라도 사용가능하게 해주는 interface의 역할.


4.multiple views 를 지원

view : DB의 subset , DB파일로 부터 유래된 가상의 데이터를 포함한다. 자신의 원하는 data만 view할수있다.

meta-DB에 subset을 저장. 실제 data는 stored DB에 한번 저장! 데이터의 구성, subset을 view로 meta DB에 저장

--> view를 이용해서 제한된 접근을 허용(보안유지의 기능). meta를 이용해 stored를 이용.

다른 app에서도 multiple view를 허용 : 다양한 앱에서 사용가능, DBMS는 defining multiple views를 위해 편의들을 제공해야 한다.


5.Sharing of data and multiuser transaction processing

DBMS는 다수 사용자들에게 DB접근을 동시에 허용할 수 있어야 한다. (동시접근제어)

SW control의 동시성 : 동일한 데이터를 업데이트 하려는 다수 사용자가 제어된 방식으로 수행하는지 확인한다.

Online transaction processing applications(OLTP) : 트랜잭션은 DB접근의 하나의 단위이다.

Isolation property : 각 트랜잭션[각주:1]은 다른 트랜잭션들과 고립된 채로 실행된다. (분리성)

Atomicity property : Either all the database operations in a transaction are executed or none are. (전부 되든지, 안되든지)



●DB접근을 이용한 장점


<중복을 제어>

데이터 정규화 : 중복을 최소화하며 비정규데이터를 없앤다. (DB design)

De-normalization : 가끔은 조절된 중복을 사용하기도 한다. 이는 queries의 성능을 향상 시키기 위함이다.


<비권한자의 접근 제어>

보안, 권한지정 시스템


<Query processing의 성능을 효율화하기 위해 제공되는 구조와 메커니즘>

  1. index
  2. buffering and caching
  3. Query processing and optimization

<백업과 회복을 제공>


<멀티플 유저 인터페이스 제공>

 Graphical user interfaces(GUIs)


<데이터들의 복잡한 관계를 Representing>

관련이 없는 다양한 데이터들을 포함할 수도 있다.


<무결성 제약조건을 강화>

참조무결성제약조건 : 모든 section record는 course record와 관련될 수 있다.

키 또는 유일성 제약조건 

비즈니스 규칙

DM의 내제적인 규칙


<추가적인 의미>

app개발시간 감소

융통성

최신정보의 이용가능성


최근들어, Wed-DB가 인기가 많아지고 있다. 주로 PHP,ASP,JS와 같은 언어들로 개발된다.

  1. SQL명령어의 set 하나의 일의 단위 [본문으로]

'어플리케이션개발 > DB' 카테고리의 다른 글

ER Model  (0) 2018.10.05
데이터베이스 설계  (0) 2018.10.05
DBMS  (0) 2018.10.02
DataModel & DBMS Architecture  (0) 2018.10.02
Database System  (0) 2018.09.30