Database
데이터베이스 정의
공동의 데이터를 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 데이터 집합이다. 기존에 사용하던 파일 시스템이 여러 사람이 공유하며 사용하기에 비효율적인 점이 많았기에 이를 개선하고 더욱 빠른 반응속도를 위해 사용되었다.
논리적으로 연관된 하나 이상의 자료의 모음으로, 그 내용을 고도로 구조화함으로써 검색과 갱신의 효율성을 높인다. 즉, 연관된 데이터끼리 모아 관리하고, 데이터의 중복을 최소화하며, 데이터의 무결성을 보장한다.
데이터베이스의 특징
- 데이터의 독립성
- 물리적 독립성
데이터베이스의 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리거나 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다.
- 논리적 독립성
데이터베이스는 논리적인 구조로 다양한 응용 프로그램의 논리적 요구를 만족시켜 줄 수 있다.
- 데이터의 무결성
여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능이다. 데이터의 유효성 검사를 통해 데이터의 무결성을 유지한다.
- 데이터의 보안성
인가된 사용자들만 데이터베이스나 데이터베이스 내의 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정함으로써 데이터의 보안을 유지한다.
- 데이터의 일관성
연관된 정보를 논리적인 구조로 관리함으로써 어떤 하나의 데이터만 변경했을 겨우 발생할수 있는 데이터의 불일치성을 배제할 수 있다. 또한, 작업 중 일부 데이터만 변경되어 나머지 데이터와 일치하지 않은 경우의 수를 배제할 수 있다.
- 데이터 중복 최소화
데이터베이스는 데이터를 통합해서 관리함으로써 파일 시스템의 단점 중 하나인 자료의 중복과 데이터릐 중복성 문제를 해결할 수 있다.
데이터베이스 시스템의 구성요소
- 데이터베이스
- 스키마
- DBMS (DataBase Management System, 데이터베이스 관리 시스템)
- 데이터베이스 언어
- 데이터베이스 컴퓨터
- 데이터베이스 사용자
참고
한재엽님 Github Interview_Question_for_Beginner
gyoogle님 Github tech-interview-for-developer
https://ko.wikipedia.org/wiki/데이터베이스
https://coding-factory.tistory.com/214