| 파일 시스템과 데이터베이스 관리시스템
- 영구적인 데이터 저장을 위해서는 보조기억장치에 파일 형식으로 저장을 하는 것이 필요하다.
- 다만, 이런 파일 시스템은 응용 프로그램의 구조와 환경에 의존적이고(데이터 종속성),
그렇기에 같은 데이터여도 구조가 다르다면 여러 개로 중복되어 저장되는(데이터 중복성) 단점이 있다.
- 데이터베이스는 이러한 파일시스템의 데이터 종속성과 데이터 중복성을 제거하기 위해 만들어졌다.
1. 파일 시스템 vs 데이터베이스 관리 시스템
파일 시스템 | 데이터베이스 관리 시스템 | |
정의 | 컴퓨터에서 자료를 쉽게 찾을 수 있도록 파일 형식으로 보관 및 관리하는 체계 |
데이터베이스를 체계적으로 관리하기 위한 시스템 |
종류 | FAT/NTFS(windows), ext(linux), APFS(macOS) | 구분1 : RDBMS(정형), NoSql(비정형) 구분2 : 계층형/망형/관계형/객체지향형/객체관계형 |
장점 | 처리 속도가 빠르다. 구현이 간편하다. 비용이 저렴 |
데이터 종속성과 데이터 중복성을 해결 일관성, 무결성, 보안성 유지 데이터 공유 등.. |
단점 | 데이터 종속성* 데이터 중복성* |
DB전문가의 부족 전산화 비용의 증가 대용량 디스크로의 집중적인 접근으로 과부하 발생 파일의 백업과 회복이 어려움 시스템이 복잡 |
1-1. 파일 시스템의 문제점
데이터의 종속성 | 응용 프로그램과 데이터간의 상호 의존관계 * 프로그램 명세에는 보조기억장치에 들어가는 프로그램의 파일 구조 및 접근방식에 대해서 명시되어 있다. * 프로그램은 이러한 명세에 따라서 동작하기 때문에 * 만약 데이터의 구성 방법 및 접근 방법을 수정해야할 경우, 이에 맞춰 프로그램도 수정되어야 한다. |
데이터의 중복성 | 한 시스템 내에 내용이 같은 데이터가 중복되게 저장 관리되는 것 * 현실 세계에서는 여러 개의 프로그램이 하나의 데이터를 동시에 사용하는 경우가 있다. * 예를 들어, 대학교 도서관에서 책을 대여 기록을 담는 프로그램A가 있고, 대학교 재학생들의 명단을 담고 있는 프로그램 B가 있다고 하면 프로그램 A와 프로그램B 모두 학교 재학생들의 이름과 학번을 데이터로 사용할 것이다. * 이와 같이 여러 개의 프로그램이 같은 데이터를 중복해서 저장/관리할 경우, 다수의 프로그램들을 시간차를 두고 수정하는 작업이 필요할 것이다. (동시 수정x) |
1-2. DBMS의 논리적 독립성 / 물리적 독립성
논리적 독립성 | 응용 프로그램과 DB를 독립 시킴으로써, 데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 변경되지 않음 |
물리적 독립성 | 응용 프로그램과 보조기억장치같은 물리적 장치를 독립시킴으로써, DBMS의 성능 향상을 위해 물리적 장치를 추가해도 프로그램에는 영향을 주지 않음. |
| DB와 DBMS, RDMBS
데이터베이스 | 데이터의 저장소 |
DBMS(데이터베이스 관리시스템) | 데이터베이스를 운영하고 관리하는 시스템 |
- DB의 특징
실시간 접근성 | 실시간으로 사용자의 요청이 있을 때 수 초 내로 결과를 제공한다 |
계속적인 변화 | 데이터베이스의 내용은 어느 한 순간의 상태이나, 데이터의 값은 시간에 따라 항상 변화한다. |
동시 공유 | 데이터베이스는 서로 다른 업무 또는 사용자에게 동시 공유된다. * 동시(= 병행, concurrent) : 데이터베이스에 접근하는 프로그램이 여러 개임을 뜻한다. |
내용에 따른 참조 | 데이터베이스에 저장된 데이터는 데이터의 물리적인 위치가 아니라 데이터 값에 따라 참조한다. |
데이터 독립성 | 데이터의 논리적 구조를 변경시켜도 응용 프로그램은 변경되지 않는다. * 응용 프로그램과 데이터베이스를 독립시킨 것을 의미한다.(데이터 종속성 해결) |
- RDBMS
RDBMS(관계형 데이터베이스) | 정형화된 데이터를 관리하는 시스템으로, 가장 많이 사용되는 DBMS이다. |
2-1. RDMS의 구성
- 테이블의 행과 열로 구성된다.
열(columm), 필드(field),속성(attribute) ↓ | |||
행(row), 튜플(tuple), ----> 레코드(record) |
|||
2-2. RDMS의 종류
- 종류 : 오라클, MySQL, MariaDB, Microsoft SQL Sever, PostgreSQL, IBM DB2....
[ 참고 및 출처 ]
부트캠프의 강의를 듣고 정리한 내용입니다.
DBMS의 필수 기능 및 장단점 https://floating-library.tistory.com/75
데이터의 종속성과 중복성 https://rain-bow.tistory.com/20
'Language > SQL' 카테고리의 다른 글
데이터베이스 - 데이터베이스 생성 및 권한 부여(DDL) (0) | 2022.08.11 |
---|---|
데이터베이스 환경 구축(설치) (0) | 2022.08.11 |
[DATABASE] PL/SQL 프로시져 (0) | 2022.04.27 |
[DATABASE] MVC 모델 구현 _ 성적 관리 프로그램 (0) | 2022.04.25 |
[DATABASE] 자바를 통한 DB 모듈화 (0) | 2022.04.23 |