본문 바로가기

JAVA

JAVA(07.05) - RDBMS

데이터베이스(Database, DB)?

데이터의 저장소

DBMS(Database Management System, 데이터베이스 관리 시스템)?

데이터베이스를 운영하고 관리하는 소프트웨어

SQL(Structured Query Language)?

구조화된 질의 언어라는 뜻으로 관계형 데이터베이스에서 사용되는 언어

 


 

DBMS의 유형은 계층형, 망형, 관계형, 객체지향형, 객체관계형 등으로 분류. 현재 사용되는 DBMS 중에는 관계형 DBMS가 가장 많은 부분을 차지하며, MySQL도 관계형 DBMS에 포함된다.

 

관계형 DBMS(Relational DBMS)는 줄여서 RDBMS라고 부른다. MySQL뿐 아니라, 대부분의 DBMS가 RDBMS 형태로 사용된다. RDBMS의 데이터베이스는 모든 데이터를 2차원 테이블이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 열(column)과 행(row)으로 이루어져 있다.

 

RDBMS?

관계형 데이터베이스를 생성하고 수정, 삭제 관리할 수 있는 소프트웨어이다. 관계형 데이터베이스에서는 이러한 관계를 나타내기 위해 외래키(foregin key)라는 것을 사용, 이러한 테이블 간의 관계에서 외래키를 이용한 테이블 간 Join이 가능하다는게 가장 큰 특징이다.

RDBMS 특징

  • Data를 Column과 Row 형태로 저장
  • 데이터의 분류, 정렬, 탐색 속도가 비교적 빠르다.
  • SQL(Structured Query Language, 구조화 질의어)라는 정교한 검색 query를 통해 데이터를 다룬다.
  • Transaction (작업의 완전성을 보장)
  • 반드시 Schema 규격에 맞춰야 한다.
  • 수직확장만 가능하다.
  •  

RDBMS의 장단점

장점

  • 정해진 스키마에 따라 데이터를 저장해야 하므로 명확한 데이터 구조를 보장한다.
  • 관계는 각 데이터를 중복없이 한 번만 저장할 수 있다.

단점

  • 테이블간 관계를 맺고 있어 시스템이 커질 경우 Join문이 많은 복잡한 쿼리가 만들어질 수 있다.
  • 성능 향상을 위해서는 서버의 성능을 향상 시켜야하는 Scale-up만을 지원한다.
  • 스키마로 인해 데이터가 유연하지 못하다.