1. 용어정리
- data: 의미를 가지면서 기록될 수 있는 알려진 사실
- database: 서로 연관이 있는 데이터들의 모임 (데이터는 한 곳에 저장되고, 여러 응용 프로그램이 목적에 맞게 이를 사용한다)
- DBMS(database management system): 데이터베이스의 생성과 관리를 담당하는 소프트웨어 패키지 (Oracle. MySQL ...)
2. 데이터베이스의 특징
- self-describing: 데이터베이스 catalog에는 meta data가 저장되어 있습니다.(meta-data: 데이터베이스 자체에 대한 정보(테이블 구조, 저장된 위치 등 내부적 정보 관리)
- data abstraction: 데이터 모델을 사용하여 저장 구조의 자세한 내용은 사용자로부터 은닉시키고, 사용자에게는 각자의 요구에 맞는 개념적인 뷰(view)만을 제공합니다.
- 프로그램과 데이터의 분리: 데이터베이스 내의 데이터 저장 구조가 변경되어도 데이터베이스 응용 프로그램은 영향을 받지 않는 성질 -> 데이터 독립성을 높입니다.
3. DBMS의 장점
- 동시성 제어 기능 제공: 여러 사용자가 동시에 데이터베이스를 접근하여 효율적으로 처리할 수 있습니다. -> 동시 접근 시에도 데이터의 손실 방지, 일관성 보장.
- 데이터 중복성의 제어 및 중복의 최소화: 동일한 데이터가 이곳 저곳에 중복되어 저장되는 것을 방지하여, 중복 제어를 통한 일치성을 보장하고, 중복 최소화를 통한 메모리 낭비를 방지합니다.
- 데이터 독립성 제공: 응용 프로그램 개발, 내부 저장 구조를 변경, 프로그램 및 데이터베이스 유지 보수가 용이합니다.
- 보안 기능: 권한이 없는 사용자의 데이터 접근을 통제하고, 데이터의 중요성에 따른 다양한 형태의 접근 권한을 부여합니다.
- 지속성 기억 공간 제공: 데이터를 데이터베이스에 영구적으로 보관/저장합니다. 프로그램 수행이 끝나더라도 관련 데이터/객체는 그 값을 저장하고 있습니다.
SQL 공부를 하다 보니 데이터베이스가 무엇인지 공부할 필요를 느꼈습니다.
인터넷과 강의 자료를 찾아보면서 개념 정리해 보았어요.
블로그에 공부한 내용을 정리함으로써 개념을 확실히 이해하게 되었습니다.