[2] 다양한 데이터베이스 – SQL 첫걸음

여러가지 데이터베이스

지금부터 DBMS의 종류에는 무엇이 있는지, 그리고 DBMS 중 하나인 관계형 데이터베이스란 무엇인지에 관해 알아봅시다.

 

1. 데이터베이스 종류

DBMS는 데이터 저장 방법에 따라 몇가지로 분류할 수 있습니다. 지금부터 오래된 순서로 몇몇 DBMS로 소개합니다.

– 계층형 데이터베이스

역사가 오래된 DBMS로, 우리가 사용하는 컴퓨터에서 쉽게 볼 수 있는 폴더 구조와 비슷합니다. 하드디스크나 DVD 파일시스템을 이러한 계층형 데이터베이스라고 할 수 있습니다. 하지만 현재 DBMS로서 채택되는 경우는 많지 않습니다.

윈도우 폴더 구조

– 관계형 데이터베이스

‘관계 대수(relational algebra)’란 것에서 나온 데이터베이스 입니다. 쉽게 그냥 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리킵니다. 관계 대수에 관해서는 7장에서 자세히 알아볼 것이며, 표 형식 데이터란 2차원 데이터를 말합니다.

마이크로소프트의 엑셀

– 객체지향 데이터베이스

자바나 C++를 객체지향 언어라고 합니다. ‘객체(object)’라는 것을 중심으로 프로그래밍하는 언어입니다. 여기서 ‘가능하면 객체 그대로를 데이터베이스의 데이터로 저장하는 것’이 객체지향 데이터베이스입니다.

– XML 데이터베이스

XML이란 자료 형식을 가리키는 용어로, 태그를 이용해 마크업 문서를 작성할 수 있게 정의한 것입니다. <태그>데이터</태그> 처럼 작성하듯이 마치 HTML과 흡사합니다. 컴퓨터로 보고 계시다면 F12 버튼을 눌러보세요. 그게 HTML코드입니다. XML과 HTML에서 같은 ML이 마크업(Markup Language) 입니다.

HTML 코드

제가 작성하는 게시글들은 SQL에 관한 설명서입니다. 이 책에서 그러더군요. 따라서 이제부터 등장할 데이터베이스라는 용어는 관계형 데이터베이스(REDMS)를 일컫는 것으로 이해해주세요. SQL을 사용할 수 있는 데이터베이스는 관계형 데이터베이스밖에 없기 때문입니다.

RDBMS는 비교적 오래된 축에 속하는 데이터베이스이긴 하지만, 데이터베이스의 킹왕짱이라고 할 수 있습니다. RDBMS 중에는 XML형식의 데이터를 표에 넣거나 자바나 C++의 객체를 가능한 한 그대로 데이터로 넣을 수 있도록 확장한 데이터베이스 제품도 있습니다.

 

2. RDBMS 사용 시스템

RDBMS는 역사가 깊은 만큼 다양한 시스템에서 사용됩니다. 메인프레임(Main Frame)은 대부분 RDBMS를 사용한다고 해도 과언이 아닙니다. 기업의 기반 시스템으로 채택되는 것은 아주 일반적인 일입니다.

최근 들어 메인프레임 자체를 찾아보기 어려워졌습니다. 다운사이징으로 인해 소형 워크스테이션(Workstation)으로 대체된 것입니다. 그래도 여전히 데이터베이스 서버로는 RDBMS가 사용되었는데, 이때부터 클라이언트/서버 구조도 유행하기 시작했습니다.

 

3. 데이터베이스 제품

실제로 시중에 판매되거나 오픈소스로 자유롭게 다운로드할 수 있는 유명한 제품으로 다음과 같은 것이 있습니다. 오래된 순서대로 나열했습니다. 이쯤되니 이론부분이 너무 귀찮고 빨리 실전으로 가고싶어 뭐가있는지만 적겠습니다. 이론부분은 책을 사서 보시는 것을 추천드립니다.

– Oracle

– DB2

– SQL Server

– PostgreSQL

– MySQL

– SQLite

 

4. SQL의 방언과 표준화

SQL의 사투리입니다.

SQL에도 사투리가 있다는 겁니다. 서울말로 ‘뭐라고 하는데?’ 라는 말을 경상도 사투리로 ‘뭐라 하노?’ 로 줄여 말하는 것 처럼 SQL에서 줄임말이 생겨난 것입니다.

아래에는 두개의 SQL 코드가 있는데 위쪽은 from이 생략가능하고 아래쪽은 생략이 불가능합니다.

– Oracle, SQL Server

DELETE sample1

– DB2, MySQL, PostgreSQL

DELETE FROM sample1

프로그래밍 언어의 세계에서 ‘방언’은 환영받지 못합니다. 이 같은  방언을 업애려면 모두 ‘표준어’를 사용하면 되겠죠? ISO나 ANSI가 결정한 ‘SQL-92’, ‘SQL-99’, ‘SQL-2003’ 등이 바로 표준 SQL입니다. 여기서 숫자는 표준으로 결정된 년도를 나타냅니다.

우리는 표준 SQL을 학습할 것입니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다