나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2021-07-10 15:30:22

dBASE

1. 개요2. 특징3. 역사4. 쇠퇴5. 기타

1. 개요

초창기의 DBMS. 애시턴-테이트(Ashton-Tate)사에서 개발되었으며, CP/M, 애플2, MS-DOS 등에서 널리 쓰였다. 세계에서 가장 많이 팔린 소프트웨어로 꼽히기도 했으나, 1990년대에 이르러 윈도우즈 시대에서는 몰락했다. 1991년 볼랜드 사에 매각되고, 1999년 다시 매각되어 dBASE, Inc.[1]가 설립되었다.

dBase 프로그램 자체를 여지껏 사용하는 사람은 드물지만 그래도 파일 포맷인 DBF는 아직도 데이터 저장 용도로 사용하는 현행 프로그램들이 있으며(...) DBF파일을 조작할 수 있는 유틸리티나 API등도 여전히 많이 존재한다.

2. 특징

SQL 같은걸 기반으로 하는 현재의 DBMS와는 달리 DO WHILE / ENDDO 및 IF / ENDIF 등의 명령어를 가진 독자적인 스크립트 언어를 써서 dbf 파일을 다루는 프로그램을 만들 수 있는 구조였다. 관련된 데이터 파일을 여러 개 열어서 작업할 수 있으므로 이를 '관계형 데이터 베이스' 구조라고 칭하고는 있으나, 일반적으로 말하는 '관계형 데이터 베이스 모델'을 온전히 준수하는 것은 아니다.

인터프리터와 스크립트를 갖추고 있어서, 프로그램을 쉽게 만들 수 있으며 컴파일 등을 하지 않아도 사용할 수 있었다. dBASE 인터프리터는 메모리 관리도 자동적으로 하며, 프로그램을 처음 접하는 사람도 쉽게 사용할 수 있게 만들어져 있었다. 베이식 같은 수준으로 쉽고 간단하면서, 대량의 데이터를 다루기 곤란한 베이식과는 달리 매우 많은 데이터를 처리하는 자동 작업 프로그램을 쉽게 만들 수 있다는 장점이 있었다. 물론, 당시 기준으로 쉽게 프로그램을 만들 수 있다는 것이다. 지금 일반 사용자에게 dBASE 써보라고 하면 뒷목잡기 할 것이다. 이제와서는 이 물건을 배워야 할 이유도 별로 없고.

1980년대 후반에 dBASE 언어가 타사의 여러 제품에서 표준화 되면서 이를 XBase라고 부르게 된다. 독자적인 명령어를 사용했으며 dBASE IV까지 SQL을 지원하지 않았다.

3. 역사

IBM PC 초창기에 킬러 애플리케이션으로 불렸다.

4. 쇠퇴

dBASE의 약점은 네트워크 대응이 좋지 않았다는 것으로, 네트워크를 사용하여 여러 사용자가 데이터 베이스에 접속하는 것이 당연해지는 시대에 독립형 단일 사용자 모델만을 가지고 있던 dBASE에는 점점 불리해졌다. dBASE IV는 MS SQL Server와의 친화성을 높히고자 SQL을 지원하기로 하는 등, 향상을 발표했으나 이미 때가 늦었다. 게다가 Microsoft SQL Server와 제대로 제휴가 되지 않아서 마이크로소프트는 대체품으로 Microsoft Access를 출시한다.

dBASE의 결정적인 약점은 프로그램 소스가 더러웠다(…)는 점이다. 개발 과정에서 소프트웨어 공학을 제대로 활용하지 않았기 때문에 소스코드가 무척 지저분했다. 처음에는 상관없었지만 이 지저분한 소스코드 때문에 기능을 늘리면 늘릴수록 소스코드의 복잡성이 증가하면서 개발자들을 고뇌에 빠뜨렸고 프로그램의 성능에도 악영향을 가져왔다.

dBASE III 때부터 이미 코드가 너무 더러워서 심각한 문제를 겪고 있었던 판국이었다. III는 어떻게든 해결에 성공했지만 dBASE IV에서는 결국 복잡한 코드 문제가 사용환경에 커다란 악영향을 끼쳤다. 성능이 심각하게 악화되었으며, 당시 기준으로도 속도가 상당히 느리고 뭔가 버벅대는 사람 갑갑하게 만드는 프로그램이었다. 이건 둘째치고 데이터베이스 프로그램이 파일을 깨먹는 참사를 일으키기도 했다. 결과적으로 관리가 제대로 안되는 스파게티 코드의 참사와 소프트웨어 공학의 필요성을 절실하게 보여준 제품이라고 할 수 있다.

많은 사용자는 FoxBase나 Clipper 등의 복제 제품으로 돌아섰고, 점유율이 1988년 63%에서 1989년 43%까지 급락하는 참사를 겪었다. 21세기에는 MySQL, PostgreSQL 등의 등장으로 존재감 자체가 없어졌다.

5. 기타

7비트 2바이트(일명 청계천 한글) 완성형 코드 환경에서는 dB라는 소문자 + 대문자 조합을 한글 으로 인식해서 ase로 화면에 보였다. 물론 영어 환경에서는 문제가 없다.


[1] 현재는 dBase, LLC로 바뀌었다.