반응형

SQL 이름 유래, 원래 SEQUEL이었는데 상표 때문에 바뀌었습니다

 

SQL 이름 유래를 따라가면 원래 이름이 SQL이 아니었다는 사실부터 만나게 됩니다. 1974년 IBM에서 태어날 때 이름은 SEQUEL이었고, 영국의 한 항공기 회사가 이미 그 이름을 상표로 갖고 있어서 모음을 빼고 SQL이 됐습니다. 지금도 "시퀄"과 "에스큐엘" 두 발음이 같이 쓰이는 건 이 개명의 흔적입니다.

"SQL은 시퀄이에요, 에스큐엘이에요?"
"SQL이 Structured Query Language 약자 맞죠?"
"SQL은 누가 만들었나요?"
"50년 된 언어가 왜 아직도 안 바뀌어요?"

SQL은 개발자 대부분이 매일 쓰지만, 이 언어가 왜 영어 문장처럼 생겼는지, 왜 이름이 세 글자인지는 잘 알려져 있지 않습니다. 둘 다 1970년대 IBM 연구소에서 있었던 구체적인 결정에서 나왔습니다.

이 글은 그 과정을 짧게 따라갑니다. SQL을 배우기 시작한 분, 면접에서 "SQL 발음이 뭐냐"는 질문을 받아본 분, 기술 이름의 뒷이야기를 좋아하는 분께 도움이 될 겁니다.

목차

  1. 1970년, 관계형 모델이라는 출발점
  2. 1974년 IBM, 영어처럼 쓰는 질의어 SEQUEL
  3. 항공기 회사 상표 때문에 모음을 뺀 사연
  4. SEQUEL이 지우려 했던 것, 수학 기호
  5. IBM이 아니라 오라클이 먼저 팔았다
  6. 표준이 된 과정, SQL-86에서 SQL:2023까지
  7. 시퀄인가 에스큐엘인가
  8. 50년 넘게 살아남은 이유

1. 1970년, 관계형 모델이라는 출발점

SQL 이야기는 1970년 IBM 연구원 에드거 코드(Edgar F. Codd)의 논문에서 시작합니다. 데이터를 행과 열로 된 표(관계)로 다루자는 관계형 모델을 제안한 논문입니다. 그 전까지 데이터베이스는 계층형이나 네트워크형이라, 데이터를 꺼내려면 저장된 구조를 따라 포인터를 쫓아가는 코드를 짜야 했습니다.

코드의 아이디어는 "어디에 어떻게 저장됐는지는 신경 쓰지 말고, 원하는 데이터가 뭔지만 말하면 되게 하자"는 것이었습니다. 지금은 당연하게 들리지만 당시에는 급진적이었고, IBM 내부에서도 바로 받아들여지지 않았습니다.

다만 코드의 논문에는 수학 기호로 된 관계 대수와 관계 해석이 있을 뿐, 사람이 타이핑해서 쓸 만한 언어는 없었습니다. 이론을 실제 언어로 옮기는 일은 다른 두 사람의 몫이었습니다.

2. 1974년 IBM, 영어처럼 쓰는 질의어 SEQUEL

도널드 체임벌린(Donald Chamberlin)과 레이먼드 보이스(Raymond Boyce)는 1972년 코드의 발표를 듣고 관계형 모델에 빠졌습니다. 두 사람의 목표는 분명했습니다. 수학이나 프로그래밍 훈련을 받지 않은 사람도 데이터베이스에 질문을 던질 수 있는 언어를 만들자는 것이었습니다.

첫 시도는 SQUARE라는 언어였는데, 첨자와 위첨자를 쓰는 수학식 표기라 키보드로 치기 어려웠습니다. 그래서 1973년 산호세 연구소로 옮겨 IBM의 관계형 DB 프로젝트 System R에 합류한 뒤, SQUARE를 영어 문장 구조로 다시 설계합니다. 그 결과가 1974년 발표한 SEQUEL, 풀어 쓰면 Structured English Query Language입니다.

이름에 English가 들어간 게 핵심입니다. SELECT, FROM, WHERE처럼 영어 단어를 문장 순서대로 늘어놓으면 질의가 되게 하자는 설계 의도가 이름에 그대로 박혀 있었습니다. SEQUEL이라는 이름은 당시 경쟁하던 버클리의 질의어 QUEL을 의식한 말장난("속편")으로도 널리 해석됩니다.

📌 보이스는 결과를 보지 못했습니다
레이먼드 보이스는 SEQUEL 논문을 낸 1974년에 35세로 세상을 떠났습니다. 자기가 만든 언어가 50년 뒤에도 쓰일 거라는 걸 알지 못한 채였습니다. 정규화 이론의 BCNF(Boyce-Codd Normal Form)에도 그의 이름이 남아 있습니다.
반응형

3. 항공기 회사 상표 때문에 모음을 뺀 사연

SEQUEL이라는 이름은 오래가지 못했습니다. 영국의 항공·방산 기업 호커 시들리(Hawker Siddeley) 계열사가 이미 SEQUEL을 상표로 등록해 두고 있었기 때문입니다. 컴퓨터 언어와 항공기 회사가 겹칠 일이 있을까 싶지만, 상표는 분야가 달라도 분쟁 소지가 생깁니다.

IBM은 법적 문제를 피하려고 이름에서 모음을 전부 뺐습니다. S-E-Q-U-E-L에서 E, U, E를 빼면 S-Q-L이 남습니다. 새 이름을 지은 게 아니라 있던 이름을 깎아낸 겁니다.

여기서 재미있는 점이 하나 있습니다. 지금 다들 SQL을 "Structured Query Language"의 약자라고 알고 있지만, 이 풀네임은 개명 뒤에 거꾸로 붙인 것입니다. 원래 약어는 SEQUEL이었고, SQL은 거기서 글자를 뺀 결과물일 뿐이었습니다. 실제로 ANSI/ISO 표준 문서의 공식 명칭은 "Database Language SQL"이고, Structured Query Language라는 표현은 표준 안에 없습니다.

4. SEQUEL이 지우려 했던 것, 수학 기호

SEQUEL이 왜 혁신이었는지는 그 전 방식과 비교하면 보입니다. 코드의 관계 대수로 "급여가 5,000 넘는 직원의 이름"을 표현하면 그리스 문자와 첨자가 들어간 수식이 됩니다. 같은 질문을 1974년 SEQUEL 논문 방식으로 쓰면 이렇습니다.

SELECT NAME
FROM   EMP
WHERE  SAL > 5000

50년이 지난 지금의 SQL과 거의 같습니다. 영어를 읽을 줄 알면 무슨 뜻인지 짐작할 수 있고, 타자기로 칠 수 있는 문자만 씁니다. 이 두 가지가 SEQUEL의 설계 목표였고, 그대로 달성됐습니다.

체임벌린은 훗날 이 언어가 원래 목표였던 "훈련 안 받은 일반 사용자"에게는 생각만큼 쉽게 다가가지 못했다고 인정했습니다. 대신 프로그래머들이 받아들였고, 그게 더 큰 결과를 낳았습니다.

5. IBM이 아니라 오라클이 먼저 팔았다

SEQUEL은 IBM 내부 연구 프로젝트의 산물이었고, IBM은 기존 계층형 DB 제품(IMS)이 잘 팔리고 있어서 상용화를 서두르지 않았습니다. 그 사이 외부에서 논문을 읽은 사람이 움직였습니다.

래리 엘리슨(Larry Ellison)이 세운 작은 회사 Relational Software는 IBM 논문을 바탕으로 자체 관계형 DB를 만들어 1979년 6월 오라클 V2를 내놓습니다. 상용으로 팔린 첫 SQL 데이터베이스였습니다. IBM이 자사 제품 SQL/DS를 내놓은 건 1981년, DB2는 1983년입니다.

연도 사건
1970 코드, 관계형 모델 논문 발표
1974 체임벌린·보이스, SEQUEL 논문 (System R)
1970년대 중반 상표 문제로 SQL로 개명
1979 오라클 V2, 첫 상용 SQL 데이터베이스
1983 IBM DB2 출시
1986 ANSI 표준 SQL-86

이 순서는 SQL이라는 언어의 성격을 보여줍니다. 한 회사의 제품 언어가 아니라, 논문으로 공개된 설계를 여러 회사가 각자 구현한 언어였습니다. 그래서 일찍부터 "같은 SQL인데 회사마다 조금씩 다른" 방언 문제가 생겼고, 표준이 필요해졌습니다.

6. 표준이 된 과정, SQL-86에서 SQL:2023까지

1986년 미국 표준 기구 ANSI가 SQL을 표준으로 채택했고, 이듬해 ISO가 국제 표준으로 받아들였습니다. 그 뒤로 꾸준히 개정됐습니다. 1992년판(SQL-92)이 오랫동안 기준이었고, 1999년에 재귀 쿼리, 2003년에 윈도우 함수, 2016년에 JSON 지원이 들어왔습니다. 최신판은 2023년 6월 나온 SQL:2023입니다.

다만 표준이 곧 현실은 아닙니다. 어떤 DBMS도 표준을 100% 구현하지 않고, 대부분의 기능은 벤더가 먼저 만들고 표준이 나중에 따라갑니다. MySQL, PostgreSQL, 오라클, SQL Server가 날짜 함수 하나도 서로 다르게 쓰는 이유입니다.

그래도 SELECT, FROM, WHERE, JOIN, GROUP BY 같은 뼈대는 1974년 논문에서 거의 그대로 이어졌고, 어느 DBMS에서나 똑같이 통합니다. 표준이 지켜 온 건 이 공통 뼈대입니다.

7. 시퀄인가 에스큐엘인가

발음 논쟁은 개명의 직접적인 유산입니다. 원래 이름이 SEQUEL이었으니 "시퀄"로 읽던 습관이 남았고, 글자가 S-Q-L이 됐으니 "에스큐엘"로 읽는 사람이 생겼습니다.

발음 근거와 쓰는 곳
에스큐엘 ANSI 표준이 명시한 발음. 공동 개발자 체임벌린 본인도 이렇게 발음. MySQL, PostgreSQL 공식 표기
시퀄 원래 이름의 흔적. 마이크로소프트 SQL Server("시퀄 서버"), 오라클 PL/SQL("피엘 시퀄") 진영에서 흔함

정답을 하나만 고르라면 표준과 창시자가 같은 편인 "에스큐엘"입니다. 하지만 "시퀄"이 틀렸다고 하기도 어렵습니다. 마이크로소프트와 오라클 생태계에서는 수십 년간 공식에 가깝게 쓰여 왔으니까요. 어느 쪽을 쓰든 상대가 알아듣고, 상대 발음을 고쳐 줄 일은 아니라고 보는 게 무난합니다.

8. 50년 넘게 살아남은 이유

1974년에 나온 언어가 2026년에도 백엔드 개발자 필수 기술인 건 드문 일입니다. 같은 시기의 언어 대부분은 역사책에만 남았습니다. SQL이 버틴 이유는 크게 세 가지로 정리됩니다.

이유 내용
선언형 "어떻게"가 아니라 "무엇을"만 쓴다. 저장 방식과 하드웨어가 바뀌어도 쿼리는 그대로
표준 한 회사 소유가 아니라 어느 DBMS로 옮겨도 뼈대가 통함
데이터의 수명 애플리케이션은 몇 년마다 다시 짜도 데이터는 수십 년 남는다. 데이터에 붙은 언어도 같이 남는다

2010년대에 NoSQL이 "SQL 이후"를 표방하며 등장했지만, 결과적으로 MongoDB 같은 NoSQL 제품들도 SQL 비슷한 질의 기능을 다시 넣었고, 빅데이터 쪽에서는 SQL로 분산 데이터를 다루는 도구들이 주류가 됐습니다. 코드와 체임벌린이 1970년대에 잡은 "데이터에 영어 문장으로 질문한다"는 틀이 지금도 가장 많은 사람이 이해하는 방식이기 때문입니다.

💡 AI 시대에도 SQL이 남는 이유
자연어로 데이터를 질문하는 도구들이 늘고 있지만, 그 도구들이 내부적으로 생성하는 건 결국 SQL입니다. 영어 문장에 가깝게 설계된 덕분에 AI가 만들기도 쉽고 사람이 검증하기도 쉽습니다. 1974년의 설계 목표가 50년 뒤에 다른 방식으로 맞아떨어진 셈입니다.

자주 묻는 질문 (FAQ)

SQL은 Structured Query Language의 약자가 맞나요?

지금은 그렇게 통용되지만, 원래 약어는 SEQUEL(Structured English Query Language)이었고 SQL은 거기서 모음을 뺀 결과입니다. Structured Query Language는 개명 뒤에 거꾸로 붙은 풀네임이고, 표준 문서의 공식 명칭은 "Database Language SQL"입니다.

SQL을 만든 사람은 누구인가요?

IBM의 도널드 체임벌린과 레이먼드 보이스가 1974년에 설계했습니다. 이론적 토대인 관계형 모델은 1970년 에드거 코드가 제안했습니다.

SQL 표준이 있는데 왜 DBMS마다 문법이 다른가요?

벤더들이 표준보다 먼저 기능을 만들고 표준이 나중에 따라가는 구조이기 때문입니다. 어떤 DBMS도 표준을 전부 구현하지 않고, SELECT·FROM·WHERE 같은 뼈대만 공통입니다.

모음 세 개를 빼서 50년을 간 이름

SQL은 수학 기호 대신 영어 문장으로 데이터에 질문하게 하려고 만든 언어였고, 그 의도가 SEQUEL이라는 이름에 담겨 있었습니다. 상표 때문에 모음을 뺀 뒤에도 설계는 그대로 남았고, 발음만 둘로 갈라졌습니다.

1974년 논문의 SELECT 문이 지금 터미널에서 그대로 돌아간다는 사실이 이 언어의 성격을 가장 잘 보여줍니다. 데이터는 코드보다 오래 살고, 데이터에 붙은 언어는 더 오래 삽니다.

📚 함께 보면 좋은 글

 

C++는 왜 C+1이 아닐까? 이름에 담긴 1983년의 농담과 탄생 배경

C++라는 이름은 C 언어의 증가 연산자 ++에서 왔습니다. 1983년 벨 연구소의 릭 마시티가 제안한, 반쯤 농담 같은 이름이었죠. 그런데 왜 하필 ++였는지, 왜 ++C가 아니라 C++인지, 그리고 이 언어가 애

devwar.tistory.com

 

C언어 이름의 유래 - B 다음이라서 C? 창시자도 확답하지 않은 이유

C언어 이름의 유래는 흔히 "B 언어 다음이라서 C"라고 알려져 있습니다. 절반은 맞는 얘기입니다. 그런데 C를 만든 데니스 리치 본인은 이 이름이 알파벳 순서에서 온 건지, 조상 언어인 BCPL의 철

devwar.tistory.com

 

MySQL과 MariaDB는 원래 한 핏줄이었다 - 오라클 인수와 포크의 가족사

MySQL과 MariaDB 차이를 찾아보면 "거의 같다"는 답과 "이제 많이 다르다"는 답이 같이 나옵니다. 둘 다 맞습니다. 이 두 데이터베이스는 한 사람이 만든 형제이고, 오라클 인수를 계기로 갈라졌으며,

devwar.tistory.com

반응형