DB: 데이터 뿐만 아니라 db관리 시스템을 지칭한다.

DBMS(Database Management System)
DBMS는 데이터베이스 시스템이라고도 하는데, 특정 기관의 정보를 담고있다.
이 정보는 대규모의 정보를 사용하고 관리할 수 있도록 체계적으로 모아놓은 것이다.
즉 필요에 의해 데이터를 일정한 형식으로 저장해 놓은 부분을 데이터베이스라고 한다.
데이터베이스는 각각의 데이터가 아닌 서로 관련된 데이터를 담고 있다.
그리고 DBMS는 이러한 데이터의 집합과 그 데이터를 사용할 수 있는 프로그램들로 구성된다.
이러한 툴을 사용하여 사용자는 새로운 데이터를 삽입하거나 기존의 데이터를 검색 또는 삭제할 수 있다.
시스템이 작동을 멈추거나 권한이 없는 접근이 발생한 경우 데이터가 안전하게 저장될 수 있도록 보장한다.

초창기의 db는 파일 시스템을 이용한 data관리였다.
그래서 데이터를 사용, 관리하기 위해 직접 필요한 응용프로그램을 개발해야했다.

파일시스템으로 데이터를 관리하면 몇가지 단점이 있다.
1. OS위에서 사용되어 사용하기 매우 불편하다.
2. Data redundancy and inconsistency(데이터 중복과 불일치) : 같은 내용이나 파일들이 중복적으로 저장될 수 있고, 수정하면서 서로 불일치 할 수 있게 된다.
3. Difficulty in accessing data : 각 업무에 대해서 새로운 프로그램을 만들어야한다.

4. Data isolation : 서로 관련있는 데이터들이 한곳에 있지 않는것

5. Integrity problems : 부적절한 데이터가 입력되는것을 방지할 수 없다.(Integrity constraints)

6. Atomicity of updates(all or nothing) : 데이터 업데이트가 부분적으로 일어나지 않는것이다. 아토믹은 더이상 나눌 수 없는것으로 모두 업데이트하거나, 업데이트 하지 않거나 이다.

6. Concurrent access by multiple users : 여러 사용자가 동시 접속이 가능하다. 이는 데이터베이스를 일관성이 없게 만들어버린다. 데이터베이스에서는 locking 등과 같은 기능으로 동시접속을 제어한다.

7. Security problems : 파일시스템은 파일의 일부만 보여주고싶어도 파일 전체를 제공한다. 보안상의 문제가 있을 수 있다.


데이터베이스의 목적은 사용자가 데이터를 편리하게 사용할 수 있는 인터페이스를 제공하는 것이다.

- physical level : 기록 저장 방식을 기술한다.

- logical level : 어떤 데이터를 db에 저장할 것인지와 그 데이터 사이와의 관계를 나타낸다. 이 단계는 db를 조직 전체에서 바라보는 단계이므로, db관리자의 관점에서 모든 데이터를 통합한 전체 db의 논리적 구조를 볼 수 있다. 

- view level : 사용자의 관점에서 바라보는 단계로 응용프로그램 단계이기도 하다. 보안을 목적으로 일부 정보를 숨기기도 한다. 사용자가 필요로하는 데이터만을 보여줌으로써 사용에 편리함을 제공하도록 노력한다.


Instances and Schemas

스키마 : db의 전체적인 설계를 말한다.

인스턴스 : db값은 계속해서 바뀌는데 db값 중 특정 순간에 저장된 정보를 말한다.

스키마 : 인스턴스 = 타입 : 변수 로 나타낼 수 있다.

Physical Data Independence : logical 스키마가 physical 스키마에 의존하지 않아 physical 스키마를 수정해도 logical 스키마에 영향이 없는것을 말한다.

하지만 logical 스키마가 변경되면 응용프로그램들을 수정해야한다. 응용프로그램들은 logical 스키마에 기반되었기 때문이다.

여러 레벨과 구성 요소들의 인터페이스가 독립적으로 잘 정의 되어야 부분적 변화가 심각한 영향을 주지 않을 수 있다.










Posted by Jyoel :