DB & 관계형 DB의 기본 개념
데이터베이스(DB)란?
- 데이터는 정보 가공을 해 여러 곳에 사용되기에 매우 중요하다.
- 데이터를 저장하고 꺼내기 위해 원래는 파일을 사용했지만, 파일은 성능이나 보안의 한계가 있어 DB가 생겼다.
- DB를 사용해 정보를 편리하고 안전하게 관리한다!
- DB는 기능이 매우 많고, 종류도 많기에 DB의 input, output을 먼저 파악해야한다.
- input: Create, Update, Delete
파일과 DB의 차이는?
- 메모장을 열어 글을 쓰고 저장하고 ... 를 반복한다.
- 파일은 정렬을 하거나 원하는 정보만 볼 수가 없다. -> 스프레드 시트를 이용하게 됨
- 스프레드시트에 열 제목을 작성하고 정렬을 할 수 있다. (구조적 데이터 저장)
- 하지만 스프레드시트는 프로그래밍 언어를 사용하지 않는다.
- DB는 프로그래밍 언어를 사용해 자동화를 할 수 있다.
DB의 특징은?
- DB는 구조화된 정보나 데이터의 모음으로 데이터베이스 관리 시스템(DBMS)에 의해 제어된다.
현재 DB시장은?
- 현재 DB시장의 절대 강자는 관계형 DB이다.
- 1위 오라클은 대기업, 관공서에서 쓰이며 매우 비싸다.
- 2위 MySQL은 무료 오픈소스이며 개인적으로 사용하거나 작은 회사, 데이터의 신뢰성이 낮은 경우 사용한다.
- 5위 MongoDB는 관계형 DB가 아니다. 수많은 데이터 속에서 관계형 DB가 억압으로 작용할 수도 있기에, 장점을 가진다.
DBMS와 SQL이란?
- DBMS: 데이터베이스 관리시스템으로 DB를 운영하고 관리하는 소프트웨어이다.
- DBMS에는 MySQL, Oracle, MongoDB, MariaDB 등이 있다.
- DBMS는 계층형, 망형, 관계형, 객체지향형, 객체관계형 등이 있고 관계형 DBMS가 가장 많이 사용된다.
- SQL: Structured Query Language로 관계형 DB에서 사용되는 언어이다.
RDBMS란?
- RDBMS는 관계형 데이터베이스 관리시스템이다.
- 관계형 데이터베이스를 생성, 수정, 관리한다
- 관계형 데이터베이스는 모든 데이터를 2차원의 테이블 형태로 표현
- 테이블이 서로 연관되어 있어 일반 DBMS보다 효율적이다.
- 정규화를 통해 데이터의 중복성을 최소화하여 트랜잭션을 수행하는 것이 더 용이하다.