데이터베이스의 개념 및 특징
데이터베이스의 개념
- 통합된 데이터integrated data: 데이터의 중복을 최소화하여 중복으로 인한 데이터 불일치 현상을 제거한다.
- 저장된 데이터stored data: 데이터는 디스크에 저장된다.
- 운영 데이터operational data
- 공용 데이터«sup>shared data</sup>
데이터베이스의 특징
- 실시간 접근성real time accessibility
- 계속적인 변화continuous change
- 동시 공유concurrent charing
- 내용에 따른 참조reference by content
파일 시스템과 DBMS의 비교
파일 시스템 | DBMS | |
---|---|---|
데이터 정의 및 저장 | 데이터 정의: 응용 프로그램 데이터 저장: 파일 시스템 |
데이터 정의: DBMS 데이터 저장: 데이터베이스 |
데이터 접근 방법 | 파일에 직접 접근 | DBMS에 파일 접근 요청 |
데이터 중복 | ↑ | ↓ |
데이터 일관성 | ↓ | ↑ |
데이터 독립성 | ↓ | ↑ |
관리 기능 | ↓ | ↑ |
개발 생산성 | ↓ | ↑ |
비고 | 별도의 소프트웨어 설치가 필요하지 않음 | 데이터 무결성 유지 용이 |
데이터베이스 시스템의 구성
- 사용자
- 일반 사용자
- 응용 프로그래머
- SQL 사용자
- DBADatabase Administrator (데이터베이스 관리자)
- DMBSDatabase Management System: 사용자와 DB를 연결시켜주는 SW로, 메모리에 상주한다.
- 데이터베이스: 데이터를 모아둔 토대로, 디스크에 저장된다.
- 데이터 모델: 논리적인 개념으로, 데이터가 저장되는 기법을 말한다.
데이터베이스 언어
SQLStructured Query Language을 사용해 관계형 데이터베이스를 관리한다.
- DDL Data Definition Language (데이터 정의어): DBMS에 저장된 테이블 구조를 정의한다. (
CREATE
,ALTER
,DROP
등) - DML Data Definition Language (데이터 조작어): 데이터를 검색, 삽입, 삭제, 수정한다. (
SELECT
,INSERT
,DELETE
,UPDATE
등) - DCL Data Definition Language (데이터 제어어): 데이터 사용 권한을 관리한다. (
GRANT
,REVOKE
등)
데이터 모델
데이터 모델 | 설명 | 비고 |
---|---|---|
계층 데이터 모델 | 1:N의 대응 관계 (트리 형태) 상위 레코드 삭제 시 연쇄 삭제가 일어난다. |
포인터 사용 |
네트워크 데이터 모델 | N:N의 대응 관계 (그래프 형태) 구조가 복잡하고, 구현하기 어렵다. |
포인터 사용 |
객체 데이터 모델 | 객체지향 프로그래밍 패러다임을 적용<br | 객체식별자 사용 |
관계 데이터 모델 | 데이터를 2차원 테이블 형태인 릴레이션으로 표현 릴레이션에 대한 제약조건 및 관계대수를 정의한다. |
속성 값 사용 |
데이터베이스의 개념적 구조
-
외부 스키마: 하나의 논리적인 부분
-
개념 스키마: 전체 데이터베이스의 정의
외부/개념 매핑: 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응
논리적 데이터 독립성
-
내부 스키마: 데이터베이스가 실제로 저장되는 방법의 표현
개념/내부 매핑: 개념 스키마의 데이터가 내부 스키마의 디스크 중 어디에 어떤 방법으로 저장되는지 대응
물리적 데이터 독립성