728x90
데이터베이스(Database, DB)란?

| 데이터베이스(Database) - 데이터베이스는 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것이다. 쉽게 말하자면 '데이터의 집합', '데이터의 모임'이다. 이러한 데이테베이스는 일반적으로 데이터베이스 관리 시스템(DBMS)에 의해 제어된다. |
이러한 데이터베이스는 일상생활 거의 모든 곳에서 사용이 되고있다.

| 일상생활에서 사용되는 데이터베이스 학생 데이터 ▶ 학사 데이터베이스 신용카드 데이터 ▶ 은행 데이터베이스 병원 데이터 ▶ 건강보험 데이터베이스 쇼핑몰 데이터 ▶ 쇼핑몰 데이터베이스 문헌 정보 데이터 ▶ 도서관 데이터베이스 |
파일 처리 시스템
데이터베이스, 데이터베이스 관리 시스템이 등장하기 전에는 이 역할을 파일 처리 시스템이 담당을 했다.
하지만 파일 처리 시스템은 많은 문제점들이 있었고, 그로인해 사람들은 데이터베이스를 사용하기 시작했다.
그렇다면 파일 처리 시스템은 어떤 문제점들이 있었을까?
| 파일 처리 시스템 - 업무 별 애플리케이션이 개별 데이터를 데이터 파일에 저장/관리하는 시스템이다. (쉽게 말하지면 윈도우 폴더 같이 폴더별(애플리케이션별)로 묶어 데이터를 개별 관리하는 시스템이다.) |

위의 그림과 같이 사용하고자 하는 애플리케이션이 직접적으로 데이터를 관리하기 때문에 많은 문제가 발생되었다.
| 파일 처리 시스템의 문제점 1. 데이터의 중복으로 인한 비일괄성 2. 데이터 엑세스의 어려움 3. 데이터의 고립 4. 데이터의 무결성 훼손 5. 데이터 종속 등등... |
이런 문제들 때문에 현재 데이터베이스와 데이터베이스 관리 시스템이 사용되고 있다.
데이터베이스 관리 시스템(DBMS)


| 데이터베이스 관리 시스템(Database Management System, DBMS) - 데이터를 관리하는 소프트웨어 시스템으로 주기억장치에 상주하면서 사용자와 데이터베이스를 연결시켜준다. |
| DBMS의 장점 1. 데이터 중복 최소화: DBMS를 이용하여 데이터를 공유하기 때문에 중복 가능성이 낮음 2. 데이터 일관성 유지: 중복 제거로 데이터의 일관성이 유지됨 3. 데이터 독립성 유지: 데이터 정의와 프로그램의 독립성 유지 가능 4. 관리 기능 제공: 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등을 수행 5. 프로그램 개발 생산성 향상: 짧은 시간에 큰 프로그램을 개발할 수 있음. (기타: 데이터 무결성 유지, 데이터 표준 준수 용이) |
데이터 추상화 & 데이터 독립성
| 스키마 - 데이터베이스가 어떻게 구성되는지 어떤 정보를 담고 있는지에 대한 기본적인 구조 인스턴스 - 스키마에 실제로 저장되는 데이터의 집합 |
데이터 추상화
| 데이터 추상화 - 데이터의 물리적 표현과 그 기본 조작 절차를 묶어 정의해두고 그 형의 데이터는 정의된 절차를 따라서만 이루어지는 수법 (추상화는 필요한 부분, 중요한 부분을 통합하여 하나로 만드는 것을 말한다.) |

| 데이터 추상화의 3단계 물리적 단계(내부 단계): 자료가 실제로 저장되는 단계이며, 가장 아래 단계이다. 논리적 단계(개념 단계): 데이터베이스 관리자가 처리하는 수준이며, 데이터 구조를 보여준다. 뷰 단계(외부 단계): 일반적인 사용자가 사용하는 단계이다. 그렇기때문에 사용자에 따라 보여지는 DB가 다르다. |
데이터 독립성

| 데이터 독립성 - 하위 단계의 데이터 구조가 변경되더라도 상위 단계에 영향을 미치지 않는 속성 (파일 처리 시스템의 경우 응용 프로그램과 데이터가 상호 밀접하게 연관되어 있어 데이터의 종속성과 중복성이 발생) |
| 데이터 독립성의 종류 - 물리적 데이터 독립성: 응용 프로그램이나 데이터베이스의 논리적 구조에 영향을 미치지 않고 데이터의 물리적 구조를 변경할 수 있는 능력으로 내부 스키마가 변경되어도 외부/개념 스키마가 영향을 받지 않음 - 논리적 데이터 독립성: 응용 프로그램에 영향을 주지 않고 데이터베이스 논리적 구조를 변경할 수 있는 능력, 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원 |
728x90
'Database' 카테고리의 다른 글
| [D/B] 관계 대수 (0) | 2022.10.31 |
|---|---|
| [Database] 관계 데이터 모델의 개념 (0) | 2022.10.24 |
| [Database] ER 모델 (0) | 2022.10.17 |
| [Database] 참여 제약 조건과 키(Key) (0) | 2022.09.25 |
| [Database] 데이터베이스 시스템의 구성, ER Model (0) | 2022.09.20 |