데이터베이스
파일시스템
컴퓨터에서 파일을 관리하고 보관하기 위한 시스템을 말한다
파일시스템의 문제점
데이터 종속문제
: 응용 프로그램과 데이터파일의 상호 의존관계로 인해 데이터 파일 구조가 변경되면 응용 프로그램도 이에 맞게 변경해야 한다데이터 중복문제
: 각 응용 프로그램마다 독립된 데이터 파일을 갖기 때문에 한 시스템 내의 데이터가 중복 저장된다
데이터 중복에 의한 문제점
일관성 문제
: 특정 데이터가 하나의 사실을 나타내도록 일관성을 유지하기 어렵다 (중복데이터를 변경할경우 나머지 데이터들까지 모두 변경해줘야 함)보안 문제
: 중복된 데이터에 동일한 수준의 보안을 유지하기 어렵다경제성 문제
: 추가적인 저장공간이 필요하다효율성 문제
: 하나의 응용 프로그램이 데이터파일에 접근하는 동안 다른 응용 프로그램이 해당 데이터파일에 접근하지 못한다
데이터베이스
데이터 조직을 여러 응용 프로그램이 공유하기 위해 최소한의 중복으로 통합, 저장된 운영 데이터의 집합이다.
통합된 데이터
: 데이터 중복을 최소화하고 통제하여 의도적인 중복을 파악하기 때문에 관리가 용이함공유 데이터
: 여러 응용 프로그램이 공동으로 데이터에 접근할 수 있다
파일시스템 vs 데이터베이스
파일 시스템 | 데이터베이스 |
---|---|
데이터를 여러 프로그램이 공유하지 못한다 | 데이터를 여러 프로그램이 공유할 수 있다 |
데이터의 중복이 발생한다 | 데이터의 중복을 최소화한다 |
데이터 무결성 보장이 어렵다 | 데이터 무결성을 보장한다 |
특징
데이터의 독립성
물리적 독립성
: 데이터베이스 구조를 변경하여도 응용 프로그램을 수정할 필요 없다논리적 독립성
: 데이터베이스의 논리적 구조로 다양한 응용 프로그램의 논리적 요구를 만족시킨다
데이터의 무결성
: 데이터 유효성 검사를 통해 잘못된 데이터의 발생 가능성을 방지한다. (by Schema)데이터의 보안성
: 접근이 허용된 사용자들만 해당 자원에 접근할 수 있도록 계정 관리 및 접근 권한을 설정할 수 있다데이터의 일관성
: 연관된 데이터를 논리적 구조로 관리하여 일관성을 유지한다.(by FK) 일부 데이터만 변경되어 나머지 데이터와 일치하지 않는 경우를 배제할 수 있다데이터의 중복 최소화
: 데이터를 통합하여 관리하기 때문에 데이어 중복과 이에 파생된 문제를 해결한다
key
슈퍼키
: 유일성을 만족하는 속성들의 부분집합후보키
: 슈퍼키들 중에서 유일성과 최소성을 만족하는 속성들의 부분집합기본키
: 후보키들 중에서 특정 레코드를 구분할 수 있는 최소 속성들의 부분집합(null이 될 수 없다)대체키
: 후보키들 중에서 기본키로 선택된 속성들을 제외한 모든 키복합키
: 한 개 이상의 속성으로 이루어진 키외래키
: 다른 테이블의 레코드를 참조하기 위해 사용되는 키
순차 IO/랜덤 IO
순차IO : 물리적으로 인접한 페이지를 차례대로 읽는 방법
랜덤IO : 디스크의 여러 부분에 흩어진 데이터를 읽는 방법
Last updated