일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- RM
- command
- 데이터
- 에러
- Touch
- 상대경로
- 명령어
- remove
- mkdir
- 코드블럭
- DBMS
- 데이터베이스
- 커널패닉
- Tux
- VM
- copy
- less
- CP
- move
- CodeBlock
- printworkingdirectory
- MV
- Linux
- cat
- pwd
- 커스터마이징
- 절대경로
- IT
- 턱스
- 리눅스
- Today
- Total
Snow flake
[DB] DB(Database)와 DBMS(Database Management System) 본문
[DB] DB(Database)와 DBMS(Database Management System)
MAYSON 2022. 10. 10. 06:45
데이터베이스라는 단어는 IT분야에 종사하는 전문가들 뿐만 아니라 일상적으로 사용하는 단어가 되었습니다. PC, 스마트기기 등을 사용하다 보면 자신도 알게 모르게 데이터에 직접적으로 접근하고, 입력하고, 또한 출력하고 있습니다.
4차 산업시대에 우리의 삶에 직간접적으로 연관되어 있는 데이터들이 집약되어있는 데이터베이스에 대해 알아보겠습니다.
데이터베이스(DB, Database) 란
데이터베이스란 다수의 사람들이 공유하고 사용할 목적으로 저장, 관리되는 '데이터의 집합' 이라고 할 수 있습니다. 1950년도 미국에서 처음 사용한 용어이며, 쉽게 생각해서 데이터가 저장되는 창고라고 생각하면 됩니다.
우리의 일상 생활에서의 많은 정보들이 데이터로서 저장이 되는데요. 회사에 출근하기 위해 맞춰둔 알람 시각의 정보라던가, 지하철을 탈 때 사용한 교통카드의 기록, 모닝커피를 위해 결제한 카드 결제내역 등의 모든 정보는 데이터로서 저장, 기록됩니다.
DBMS(Database Management System)
데이터베이스가 데이터가 저장되는 창고라고 한다면, 창고를 관리하는 창고지기 역시 필요합니다. 이 창고지기를 데이터베이스 관리 시스템, DBMS(Database Management System)라고 합니다. 데이터베이스 관리 시스템은 다수의 유저들이 데이터베이스 내 데이터에 접근, 공유가 가능하도록 도와주는 소프트웨어입니다.
과거 파일 시스템(File System)으로 데이터들을 관리하니, 데이터 불일치, 데이터 중복 등의 문제점들이 발생해 단점을 보완하기 위해 데이터베이스가 생겨났습니다.
DBMS의 특징
1. 데이터의 독립성
- 물리적 독립성 : 데이터베이스의 사이즈를 늘리거나, 성능향상을 위해 데이터 파일을 늘리거나, 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다.
- 논리적 독립성 : 데이터베이스는 다양한 응용 프로그램의 논리적 요구를 만족시켜줄 수 있다.
2. 데이터의 무결성
여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능으로, 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 된다. 예를들어 조건에 맞지 않는 값을 저장이 불가능 하도록 방지하는 기능이 있다.
3. 데이터의 보안성
권한이 허가된 사용자들만 데이터베이스나, 내부 자원에 접근할 수 있도록 계정을 관리, 또는 접근 권한을 설정함으로서 데이터 보안을 구현할 수 있다.
4. 데이터의 일관성
연관된 정보를 논리적 구조로 관리함으로서 어떠한 하나의 데이터만 변경했을 경우에 발생하는 데이터의 불일치성의 배제가 가능하다. 또한 작업 중 일부 데이터만 변경되어 다른 데이터와 일치하지 않을 경우를 예방할 수 있다.
5. 중복 최소화
데이터를 통합해서 관리함으로서 데이터의 중복 문제를 해결할 수 있다.
DBMS의 종류
- MariaDB
- MySQL
- Oracle
- Microsoft SQL Server
- Microsoft Access
- PostgreSQL
- MongoDB
- SQLite
- DB2
- ... etc
데이터베이스를 사용하기 위해서는 소프트웨어인 DBMS를 설치해야 하는데 사실 아무거나 사용해도 상관은 없습니다. HWP와 MS Word가 결국엔 문서를 작성하고자 하는 목적이 같지만 선택해서 사용하듯이 목적이나 편리성에 따라 설치하시면 됩니다만, 사실 실무에서는 회사에서 정해둔 DBMS를 사용하기 마련입니다.
개인적으로 독학을 한다고 하신다면 MySQL 이나 Oracle XE(Express Edition) 을 추천합니다.
DBMS의 분류
계층형 DBMS(Hierarchical DBMS)
처음으로 등장한 DBMS 개념으로서, 데이터 간의 관계가 트리 형태의 구조로 이루어져 있습니다. 트리는 부모-자식의 관계로 표현되며 부모와 자식 간에는 OneToMany(일대다)로 구성됩니다. 구조가 간단하고 구현과 수정, 검색이 편리하지만 ManyToMany(다대다) 관계의 처리가 불가능하고, 한 번 구성된 구조의 변경이 까다롭습니다.
네트워크형 DBMS(Network DBMS)
계층형의 문제점을 개선하기 위해 등장한 개념입니다. ManyToMany(다대다) 관계의 처리가 가능한 모델입니다. 계층형 구조에 링크를 추가하여 유연성과 접근성을 높혔으나, 구조가 복잡해지고 유지보수가 어려워 현재는 거의 사용하지 않는 형태입니다.
관계형 DBMS(Relational DBMS)
RDBMS라고도 부르며, 키(Key)와 값(Value)로 이루어진 데이터들을 행(row)과 열(Column)으로 이루어진 테이블(Table) 형태로 단순화 시킨 모델로, MySQL을 포함한 대부분의 DMBS가 RDBMS의 형태로 사용됩니다. SQL(Structured Query Language)을 사용해 데이터를 처리하고, 모델링이 간단하지만 CAD/CAM, GIS 등과 같은 비정형 데이터들을 다루거나 실시간 분석에는 적합하지 않습니다.