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 |