RDBMS의 구성요소, 장점, 필요성

유현준·2022년 4월 7일
0

1. 기본 구성 요소

table

  • 데이터베이스를 구성하는 가장 작은 단위라고 할 수 있으며, 실제적인 데이터의 내용들이 담겨져 있는 '표'로 비유될 수 있다.
  • 테이블의 구조
    1) row(record/행): 테이블에 생성된 각각의 데이터를 의미하며, 테이블의 가로축.
    2) column(열): 데이터의 타입 내지는 구조를 의미하며 테이블의 세로축

Database

  • 관계가 있는 table들을 grouping한 단위라고 할 수 있으며, Database는 스키마로 달리 불리기도 한다.

스키마

  • DB를 구성하는 데이터 구조의 형상을 일컫는다.

Database server

  • DB CRUD와 관련한 기능성을 제공하는 mySQL, Oracle 등을 의미한다고 비유할 수 있다.
    C.F) MySQL Monitor(cmd에서 mysql 실행), MySQL Workbench는 DB Client라고 할 수 있다.
    MySQL Monitor는 CUI 방식으로 명령어를 통해 DB server에 요청을 보냄으로써 DB server에서 CRUD를 제어하는 것이다.

2. RDBMS의 장점

데이터를 저장하는 방식으로서 Database를 사용하는 것은 파일 기반 저장방법과 대비해 다음과 같은 장점을 가지고 있다.

  • 보안이 강력하다.
    파일 기반 저장방법은 운영체제만 해킹당해도 파일에 저장된 데이터들이 해킹될 수 있으나, database는 운영체제가 해킹당하더라도 프로그램 자체의 추가적인 보안을 가지고 있기 때문에, 파일 기반 저장방법보다 보안이 강력하다.

  • 사용자마다 권한을 부여할 수 있다.
    데이터베이스를 이용하는 사용자에게 서버에 존재하는 데이터베이스, 테이블에 대하여 C,R,U,D 권한을 각각 부여할 수 있다.
    root ID는 데이터베이스와 관련한 모든 기능 권한을 가지고 있다. 일반적으로 DB와 관련한 중요한 작업만 root ID를 이용하고, 일상적인 작업은 다른 ID에게 권한을 부여해서 사용하는 것이 권장된다고 한다.

3. 관계형 DB의 필요성

  • 데이터베이스에 저장된 데이터가 많아질수록, 즉 DB의 규모가 커질수록 하나의 Table에 중복값이 많이 입력된 것은 데이터베이스의 성능저하와 데이터에 대한 확신을 떨어뜨리게 됨.
    ex) 1억개의 데이터가 저장된 테이블에서 1천만개의 중복값이 있고, 이 중복값들을 모두 수정해야할 경우에, update를 1천만번 연산해야함.
    ex2) 1천만개의 hyeonjun이라는 userName 값이 있을 경우, 동명이인의 여부를 파악하기가 매우 곤란해짐.
  • 관계형 DB는 테이블 간 관계성을 표현해줄 수 있으므로, 테이블을 분리함으로써 중복값에 따른 성능 저하를 방지하고, 유지보수의 용이성을 증가시킨다.
  • 테이블 분리 시, 명시적으로 데이터 조회 시 직관성이 떨어진다는 단점이 있지만, 관리는 분리된 형태로 하고, 조회는 통합된 형태로 수행하는 것을 MySQL에서는 실행할 수 있다.(JOIN을 활용해서!)
profile
차가운에스프레소의 개발블로그입니다. (22.03. ~ 22.12.)

0개의 댓글