DBMS
데이터베이스 관리 시스템 즉, 데이터베이스를 조작하는 소프트웨어를 칭함.
다수의 사용자가 데이터베이스 내의 데이터를 접근할 수 있도록 설계된 시스템
DBMS의 필수 기능
정의 기능 ( DDL : Data Definition Language )
데이터베이스가 어떤 용도이며 어떤 식으로 이용될 것이라는 것에 대한 정의가 필요함.
CREATE, ALTER, DROP, RENAME
ALTER TABLE table_name ADD COLUMN ex_column varchar(32) NOT NULL;
ALTER TABLE table_name DROP COLUMN ex_column;
ALTER TABLE table_name1 RENAME table_name2;
조작 기능 ( DML : Data Manipulation Language )
데이터베이스를 만들었을 때, 그 정보를 수정하거나 삭제 추가 검색할 수 있어야함.
SELECT, INSERT, UPDATE, DELETE
제어 기능 ( DCL : Data Control Language )
데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령
GRANT REVOKE
Grant의 사전적 의미는 '부여'라는 뜻이다. 즉, 권한을 부여하다 이런 느낌!
Revoke는 '취소'라는 뜻이다.
Grant는 데이터베이스 사용자에게 권한을 주는 명령어이고, Revoke는 사용자에게 권한을 취소할 때 사용한다.
DBMS의 장점
자료의 통합성을 증진시키고, 데이터의 접근이 용이하다.
데이터의 통제가 쉬워지고, 애플리케이션 프로그램들을 쉽게 개발하고 관리할 수 있다.
중복되는 데이터를 없애고, 쉽게 정리해서 유지보수가 쉬워진다.
장애 발생시 회복이 가능하고 표준화가 가능하다.
응용프로그램의 개발비용이 감소한다.
DBMS의 단점
고비용이고, 중앙 집중 관리로 취약점이 존재한다.
백업과 회복하는 방법이 복잡하다.
RDBMS ( Relational Database Management System )
관계형 데이터베이스를 생성, 갱신, 관리하기 위한 시스템이다. 레코드 단위로 ( RDB에서 하나의 행에 해당 ) 데이터 읽기/쓰기
가 이루어진다.
RDBMS는 일반적으로 클라이언트가 요청을 보내면, 서버가 처리해주는 C/S 구조로 되어있다. 그리고 클라이언트가 요청을 보낼 때
주로 사용하는 언어가 SQL이다.
사용자가 데이터를 조회하고 싶을 때, SQL문으로 작성한 요청을 RDBMS에 보내면, RDBMS는 요청된 데이터를 반환한다.
이 때, RDBMS는 2차원 표형태의 데이터를 반환한다.
RDBMS의 종류
Oracle DB
가장 오래되었고, 신뢰도도 높다. 뛰어난 기술력과 안정성을 가지고 있다. 대규모의 애플리케이션, 특히 은행 업계에서 쓰이며,
유료로 사용해야 한다.
MySQL
오픈 소스이기 때문에 널리 쓰인다. 웹 개발, 특히 PHP를 이용한 개발에 흔히 쓰인다. 오라클이 인수한 후 불안감 때문에 다른
곳으로 넘어가는 경우가 종종 보인다.
MariaDB
오라클이 MySQL을 인수하면서 라이센스 문제가 불확실해지자, 이에 반발하여 만들어졌다. MySQL 5.5를 기반으로 만들어져
사용법이 거의 유사하고 호환성도 뛰어나다.
PostgreSQL
버클리 대학의 프로젝트로 만들어진 오픈 소스 ORDBMS이다. (객체 - 관계형 데이터베이스 관리 시스템 ) SQL의 확장성과
표준을 준수하고, 풍부한 기능을 지원한다.
'CS > DB' 카테고리의 다른 글
Transaction ( 트랜잭션 ) (0) | 2021.04.15 |
---|---|
SQL vs NoSQL (0) | 2021.04.15 |
Join (0) | 2021.04.15 |
Key (0) | 2021.04.15 |
UML ( Unified Modeling Language ) (0) | 2021.04.14 |