데이터베이스란 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 데이터들의 모임입니다.
독립성
물리적 독립성: 데이터베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리거나 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다.
논리적 독립성: 데이터베이스는 논리적인 구조로 다양한 응용 프로그램의 논리적 요구를 만족시켜줄 수 있다.
무결성: 데이터베이스에 들어 있는 데이터의 정확성을 보장하기 위해 데이터의 변경이나 수정 시 제한을 두어 안정성을 저해하는 요소를 막아 데이터 상태들을 항상 옳게 유지하는 것을 의미한다.
보안성: 인가된 사용자들만 데이터베이스나 데이터베이스 내의 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정함으로써 모든 데이터에 보안을 구현할 수 있다.
일관성: 연광된 정보를 논리적인 구조로 관리함으로써 어떤 하나의 데이터만 변경했을 경우 발생할 수 있는 데이터의 불일치성을 배제할 수 있다. 또한, 작업 중 일부 데이터만 변경되어 나머지 데이터와 일치하지 않는 경우의 수를 배제할 수 있다.
중복 최소화: 데이터베이스는 데이터를 통합해 관리함으로써 파일 시스템의 단점 중 하나의 자료의 중복과 데이터의 중복성 문제를 해결할 수 있다.
데이터베이스의 구조, 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합입니다.
스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.
사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠진다.
정의(Definition) 기능
모든 응용프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터의 형과 구조에 대한 정의, 이용방식, 제약조건 등을 명시하는 기능이다.
조작(Manipulation) 기능
데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능이다.
제어(Control) 기능
데이터베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 해야한다.
정당한 사용자가 허가된 데이터만 접근할 수 있도록 보안을 유지하고 권한을 검사할 수 있어야 한다.
여러 사용자가 데이터베이스를 동시에 접근하여 데이터를 처리할 때 처리결과가 항상 정확성을 유지하도록 병행제어(Concurrency Control)을 할 수 있어야 한다.
[참고]
https://coding-factory.tistory.com/216/
https://coding-factory.tistory.com/entry/DB%EA%B8%B0%EC%B4%88-DBMS%EC%9D%98-%EA%B8%B0%EB%8A%A5-%EB%B0%8F-DBMS%EA%B0%80-%ED%95%84%EC%9A%94%ED%95%9C-%EC%9D%B4%EC%9C%A0