Бизнес-система IBM 12
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2016 г. ) |
Разработчик(и) | ИБМ |
---|---|
Первоначальный выпуск | 1982 |
Тип | Система управления реляционными базами данных |
Лицензия | Собственный |
Business System 12 , или просто BS12 , была одной из первых полностью реляционных систем управления базами данных , разработанных и внедренных IBM дочерней компанией Bureau Service в международном центре разработки компании в Уитхорне , Нидерланды . Программирование началось в 1978 году, а первая версия была выпущена в 1982 году. Она никогда не использовалась широко и практически исчезла вскоре после закрытия подразделения в 1985 году, возможно, потому, что IBM и другие компании остановились на SQL в качестве стандарта.
Неизгладимым вкладом BS12 в историю стало использование нового языка запросов на основе ISBL IBM , созданного в Британском научном центре . С разработчиками знаменитой System R, находившейся в то же время в США, также консультировались по некоторым вопросам, касающимся движка, но команда BS12 однозначно отвергла SQL , будучи убежденной, что этот явно несостоятельный и сложный в использовании язык (который в то время также был относительно неполным) никогда не прижился.
BS12 включал в себя ряд интересных функций, которые еще не появились в большинстве систем на базе SQL, некоторые из них являются следствием прецедента ISBL, другие - из-за преднамеренного проектирования. Например, представление может быть параметризовано, а параметры могут иметь тип TABLE. Таким образом, представление может фактически быть новым реляционным оператором, определенным в терминах существующих операторов. . таким образом Фактически оператор DIVIDE Кодда был реализован
Еще одной функцией, которую можно было бы легко включить в системы SQL, была поддержка операций обновления таблиц каталога (системных таблиц, описывающих структуру базы данных, как в SQL). Новую таблицу можно создать, вставив строку в TABLES
каталог, а затем добавляемые в него столбцы путем вставки в COLUMNS
.
Кроме того, BS12 опережал SQL в поддержке пользовательских функций и процедур, используя полный по Тьюрингу подъязык, триггеры и простой интерфейс «вызова» для использования прикладными программами, и все это в его самом первом выпуске в 1982 году.
Пример
[ редактировать ]Пример запроса для определения того, какие отделы превышают бюджет заработной платы: [1]
T1 = SUMMARY(EMP, GROUP(DEPTNUM), EMPS=COUNT, SALSUM=SUM(SALARY)) T2 = JOIN(T1, DEPT) T3 = SELECT(T2, SALSUM > BUDGET)
Обратите внимание на «естественное соединение» в общем столбце DEPTNUM . Хотя некоторые диалекты SQL поддерживают естественные соединения, для ознакомления в примере показано только «традиционное» соединение. Вот эквивалентный SQL для сравнения:
-- (SQL version)
SELECT d.Deptnum, Count(*) as Emps,
Sum(e.Salary) as Salsum, Budget
FROM Emp as e
JOIN Dept as d ON e.Deptnum = d.Deptnum
GROUP BY d.Deptnum, Budget
HAVING Sum(e.Salary) > Budget