2015-05-20 3 views
-1

Я пытаюсь получить более глубокое понимание SQL, и мне просто интересно - что изначально был написан SQL? Я провел некоторое исследование, и, согласно this stackoverflow page, кажется, что SQL был первоначально написан на C. Если это так, есть ли способ получить исходный исходный код, чтобы увидеть, как работает SQL - его алгоритмы, данные структур и т.д.? Если SQL действительно написан на C, его внутренняя работа должна быть обязательной, поскольку C является императивным языком, и поскольку я более разбираюсь в C++, чем в SQL, было бы действительно полезно изучить SQL с точки зрения императивной парадигмы. Заранее благодарим за любое понимание, которое у вас может быть!SQL: исходный код/​​под капотом

+1

SQL - это язык. Как указано в связанном вопросе, вы имеете в виду оригинального переводчика? Если вы хотите получить дополнительную информацию о спецификации языка, я бы запустил на странице [Wikipedia] (http://en.wikipedia.org/wiki/SQL) – Phil

+0

Добро пожаловать в Stack Overflow. Вскоре прочитайте страницу [О программе]. Я не уверен, что исходный SQL был написан на C, хотя многие из ранних workalikes, безусловно, были. Оригинал (SEQUEL для [System R] (http://en.wikipedia.org/wiki/IBM_System_R)) был написан IBM и был написан PL/I. То, о чем вы просите, очень близко к рекомендации по программному обеспечению, и это не очень актуально для SO. –

+1

Кстати, принятый ответ на вопрос с перекрестной ссылкой ([Был ли исходный SQL написан на сборке или C?] (Http://stackoverflow.com/questions/16020999/was-the-original-sql-written-in- assembly-or-c) просто неверно. Правильный ответ - PL/I. Вы можете посмотреть статью, указанную на странице [System R] (http://en.wikipedia.org/wiki/IBM_System_R) в Википедии и что это написано в PL/I. –

ответ

2

SQL является языком определение, которое само по себе не написано ничего, кроме обычного текста.

Кроме того, вы можете реализовать компилятор/движок для SQL или Java или любой язык высокого уровня в C++, C, Assembly или даже непосредственно в машинный код, если хотите, поэтому язык, на котором он реализован, расскажу вам о его возможностях.

+0

Спасибо за разъяснение! – estmit

+0

Просто из интереса, как я могу написать собственный SQL-компилятор на C++? – estmit

1

Какой SQL? Есть лот разных конкурирующих SQL-баз данных: Sql Server, Oracle, MySql, PostgreSQL, Access, SqlLite, Sybase ... и это всего лишь верхушка айсберга. К счастью, several из those - open source ... вы можете взглянуть на код для себя.

Вы также можете прочитать Sql Language Specifications.

+0

Спасибо за ссылку! – estmit

Смежные вопросы