본문 바로가기
CS/DataBase

데이터베이스 첫걸음 정리 2장 - 다양한 데이터베이스

by yongckim 2022. 8. 4.
728x90
반응형

다양한 종류의 데이터베이스

데이터베이스는 사용 용도나 이를 제어하는 프로그래밍 환경 등 각각의 상황에 맞는 다양한 DBMS가 고안되었습니다.

데이터베이스 중에서도 SQL로 데이터를 다루는 관계형 데이터베이스가 주류를 이룹니다.

데이터베이스 종류

  • 계층형 데이터베이스하지만 현재 DBMS로 채택되는 경우는 많지 않습니다.
  • 가장 역사가 오래된 DBMS로, 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식의 데이터베이스입니다.
  • 관계형 데이터베이스액셀 시트와 유사하며 관계형 데이터베이스는 표를 잔뜩 저장해두고 각각의 표에 이름을 붙여 관리하게 됩니다.
  • 데이터베이스 안의 데이터는 SQL 명령어를 사용해 조작할 수 있습니다.
  • 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스입니다.
  • 객체지향 데이터베이스
  • 가능하면 객체 그대로 데이터베이스의 데이터로 저장하는 데이터베이스입니다.
  • XML 데이터베이스XML 데이터베이스는 이처럼 XML 형식으로 기록된 데이터를 저장하는 데이터베이스입니다.
  • XML 데이터베이스는 XQuery라는 전용 명령어를 사용합니다.
  • XML은 태그를 이용해 마크업 문서를 작성할 수 있는 자료형식으로 <data></data>와 같은 형태로 표현합니다.
  • 키-밸류 스토어(KVS)키와 밸류의 조합은 해시 테이블과 같은 자료구조에서 자주 볼 수 있으며 NoSQL이라는 슬로건으로 부터 생겨난 데이터베이스입니다.
  • 열 지향 데이터베이스라고도 불립니다.
  • 키와 그에 대응하는 값이라는 단순한 형태의 데이터를 저장하는 데이터베이스입니다.

RDBMS 제품

  • Oracle (Oracle)
  • DB2 (IBM)
  • SQL Server (Microsoft)
  • PostgreSQL (오픈소스 커뮤니티)
  • MySQL (Oracle)
  • SQLite (오픈소스 커뮤니티)

SQL의 방언과 표준화

RDBMS는 처음부터 SQL 명령어를 이용해 데이터베이스를 조작하도록 설계된 만큼, SQL을 사용할 수 없는 RDBMS는 없습니다.

하지만 각 데이터베이스 제품별로 기능 확장이 이루어지는 과정에서 “비슷한 조작을 실행하더라도 서로 다른 명령어가 필요한" 상황이 발생했습니다.

이로인해 특정 데이터베이스 제품에서만 사용되는 고유 방언(Dialect)이 생겨난 것입니다.

대표적으로 키워드 생략이 존재합니다.

데이터 베이스를 삭제할때는 DELETE 명령어를 사용하는데 Oracle이나 SQL Server에서는 DELETE 뒤에 붙는 FROM을 생략해도 문제가 발생하지 않습니다.

하지만, DB2나 PostgreSQL, MySQL에서는 FROM을 생략할 경우 구문 에러가 발생해 실행되지 않습니다.

// oracle, SQL server
DELETE table
// DB2, MySQL, PostgreSQL
DELETE FROM table

프로그래밍 언어의 세계에서 방언은 좋지 않습니다.

이러한 방언을 없애기 위해 표준어가 존재하며 ISO나 ANSI가 결정한 SQL-92, SQL-99, SQL-2003 등이 대표적인 표준 SQL입니다.

SQL에 방언이 존재하지만 방언 대신 표준 SQL을 사용하도록 습관을 들이는 것이 좋습니다.

반응형