파일 시스템의 부족한 기능들


- 데이터 모델링 개념 : 데이터들 사이의 연관성을 표현해 줄 수 있어야 함. 

- 질의어 : 데이터들을 액세스 할 때 질의어 개념이 없음.

- 동시성제어 : 데이터가 있음. 이 데이터를 내가 혼자서 액세스할때는 문제X

  그러

- 파손, 회복

- 보안 : 이 데이터에 대한 액세스를 권한을 가진자만이 액세스 할 수 있도록

  가장 완벽한 보안은 그 데이터에 대한 존재 자체를 숨기는 것.

 


파일시스템은 이렇게 부족한 기능을 갖고있지만, 데이터베이스에선 이 모든 것을 지원해준다.




DBMS를 사용한 데이터베이스 관리



동시성 제어가능

질의어 기능 있음

여러 사용자에 적합한 다양한 인터페이스 제공

데이터 간의 복잡한 관계를 표현 -> 데이터 모델링기능

무결성 제약조건을 DBMS가 자동적으로 유지



데이터 베이스의 특징


1. 자기기술성 : 자기 자신을 표현하는 방법이 있다. 

2. 프로그램과 데이터의 분리 : 자기기술성을 통하여 

       독립적으로 존재 하도록 만든다.

3. 데이터 추상화

4. 데이터에 대한 다양한 뷰 



데이터베이스 시스템의 자기기술성 


데이터베이스에 대한 데이터(메타 데이터)를 통하여 데이터의 구조를

직접 알고 있지 않아도 데이터를 액세스 할 수 있음.


데이터와 프로그램이 독립성이 있으면 시스템의 성능은 느려진다.

계속 프로그램이 데이터를 물어봐야 하므로.


성능을 얻고싶다면, 데이터와 프로그램 사이의 의존성을 부여해준다.


데이터베이스 내의 데이터 저장구조가 변경되어도 데이터베이스 응용프로그램은 아무영향

받지 않음.


데이터의 추상화

데이터 모델을 사용함으로서 저장구조와는 별도로 데이터의 의미를

표현하는 방법을 제공함.

사람들이 인식하는 방식으로 데이터를 다룰수 있게 해줌.


데이터에 대한 다양한 뷰 


사용자는 전체 데이터베이스 보다는 관심이 있는 데이터베이스의

일부를 뷰로 정의 할 수 있음.

학생정보 DB를 보면 개략적인 내용만 나와있어.

실제 액세스는 학생들의 성격 까지 나와있음. 이게 뷰기능.

뷰라고 하는 것은 실제 데이터와 다르게 데이터를 표현. 

있는 데이터를 숨길수도, 없는 데이터를 만들수도 있음.

사용자들에게 내부구조를 숨기려고 하는 것.

기본적인 컨셉은 너네는 보여지는 데이터를 이용해 우리는 그 데이터를

활용할게



용어 정의 


ex )  

       직급 | 연봉

       대리 | 100


- 데이터베이스 스키마 : 

우리가 과목에 대한 정보를 모으고 싶어. 

그러면 학수번호, 과목이름, 교수이름, 강의시간, 학점수 등을 모아야함

이것이 스키마이다.

스키마는 변화를 자주 하지 않는다. 변화한다는 것은 필드를 수정, 삽입, 삭제

하는 것임. 

ex) 직급, 연봉

- 데이터베이스 상태 :

스키마 내의 데이터의 현재 상태 

상태의 변화는 자주 일어난다.

ex) 대리, 100


ex )  

       직급 | 연봉

       대리 | 100



데이터베이스에 변화가 일어났을때 스키마가 더 자주변화가 있을까

상태의 변화가 더 자주있을까.

-> 상태가 변환다는 이야기는 김창섭님이 대리->사장으로 바뀐다는 것.

-> 월급이 올랐어 100 -> 200 상태가 올랐음.

-> 스키마가 변화는 것은 필드가 추가 되는 것임.

-> 따라서 상태가 더 자주 변한다.



데이터 베이스 전문가들에게 있어서 

데이터베이스 구축, 설계, 모델링을 한다 -> 스키마를 정의 한다라는 의미





데이터베이스 기술의 발전은 중복을 없애는 것과의 싸움이다.

중복을 없앤다 = 데이터를 일원화 한다. 


DBMS의 사용효과


-> 표준화된 데이터 관리 : 조직 내 모든 부서에서 표준화된 문서 관리로 업무 효율증대

    

    데이터베이스 기술의 발전은 중복을 없애는 것과의 싸움이다.

    중복을 없앤다 -> 데이터를 일원화 한다.


-> 데이터 구조 변경에 융통성 부여 : 데이터베이스 내의 자료 구조가 변경되어도 

   사용자에 대한 영향은 거의 없음


-> 응용프로그램의 개발시간 단축 : 응용 프로그램이 상당한 부분을 DBMS가 처리


-> 항상 최신의 정보를 제공 : 


-> 규모의 경제성 : 부서마다 다른 방식으로 자료를 관리하는 것보다    

   통합 DB로 관리하는 것이 전체적으로 저 비용임





DBMS의 단점은 무엇일까?


1. 비용증가 - 비싸다

2. 성능감소 - 거의 모든 분야에 쓸수 있기 때문에 장착한 기능이 많음. 무거움

3. 고장의 영향 확대 - 중복된 데이터를 중복 없애면 통합됨.

   그러다 보면 데이터가 한가운데 모이게 됨.

   이렇게 되면 한곳이 고장나면 다 고장나게 됨.



데이터베이스 사용자



- DBMS 개발자 ( 핵심 코어 오라클, mySQL 을 만든 사람들 )

- DB관리자

- DBMS 설계자 ( 데이터 베이스 스키마를 만드는 사람 )

- 시스템 분석가 

- 도구 개발자

- 운영자

- 최종 사용자 ( 가장 바깥쪽에 있는 사람들, 응용프로그램 개발자, 사용자 ) 




+ Recent posts