Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Business System 12, или просто BS12, была одной из первых полностью реляционных систем управления базами данных, разработанной и реализованной дочерней компанией IBM Bureau Service в международном центре разработки компании в Уитхорне, Нидерланды. Программирование началось в 1978 году, а первая версия была выпущена в 1982 году. Она не получила широкого распространения и фактически исчезла вскоре после закрытия подразделения в 1985 году, вероятно, потому что IBM и другие компании остановились на SQL как на стандарте. Значительным вкладом BS12 в историю стало использование нового языка запросов, основанного на ISBL, разработанного в Научном центре IBM в Великобритании. Разработчики знаменитой System R, работы над которой велись в США одновременно, также консультировались по некоторым вопросам, касающимся механизма, но команда BS12 решительно отвергла SQL, будучи убеждена, что этот, казалось бы, несовершенный и сложный в использовании язык (который в то время также был реляционно неполным) никогда не станет популярным. BS12 включала ряд интересных функций, которые до сих пор отсутствуют в большинстве систем на основе SQL, некоторые из которых являются следствием следования принципам ISBL, другие – результатом сознательного проектирования. Например, представление (view) могло быть параметризовано, а параметры могли быть типа TABLE. Таким образом, представление фактически могло быть новым реляционным оператором, определенным на основе существующих операторов. Оператор DIVIDE Кодда был реализован именно таким образом. Еще одной функцией, которую легко можно было бы включить в системы SQL, была поддержка операций обновления в каталожных таблицах (системных таблицах, описывающих структуру базы данных, как в SQL). Новую таблицу можно было создать, вставив строку в каталог TABLES, а затем добавить к ней столбцы, вставив данные в COLUMNS. Кроме того, BS12 опередила SQL в поддержке пользовательских функций и процедур, используя полнофункциональный подязык Тьюринга, триггеры и простой интерфейс "вызова" для использования в прикладных программах, и все это – уже в самом первом выпуске в 1982 году.
Business System 12, or simply BS12, was one of the first fully relational database management systems, designed and implemented by IBM's Bureau Service subsidiary at the company's international development centre in Uithoorn, Netherlands. Programming started in 1978 and the first version was delivered in 1982. It was never widely used and essentially disappeared soon after the division was shut down in 1985, possibly because IBM and other companies settled on SQL as the standard. BS12's lasting contribution to history was the use of a new query language based on ISBL, created at IBM's UK Scientific Centre. Developers of the famous System R underway in the US at the same time were also consulted on certain matters concerning the engine, but the BS12 team rejected SQL unequivocally, being convinced that this apparently unsound and difficult to use language (which at that time was also relationally incomplete) would never catch on. BS12 included a number of interesting features that have yet to appear on most SQL based systems, some a consequence of following the ISBL precedent, others due to deliberate design. For instance, a view could be parameterised and parameters could be of type TABLE. Thus, a view could in effect be a new relational operator defined in terms of the existing operators. Codd's DIVIDE operator was in fact implemented that way. Another feature that could have easily been included in SQL systems was the support for update operations on the catalog tables (system tables describing the structure of the database, as in SQL). A new table could be created by inserting a row into the TABLES catalog, and then columns added to it by inserting into COLUMNS. In addition, BS12 was ahead of SQL in supporting user defined functions and procedures, using a Turing complete sublanguage, triggers, and a simple "call" interface for use by application programs, all in its very first release in 1982.