IBM Business System 12

IBM Business System 12
Utvecklare IBM
Initial release 1982
Typ System för hantering av relationsdatabas
Licens Proprietär

Business System 12 , eller helt enkelt BS12 , var ett av de första helt relationella databashanteringssystem , designat och implementerat av IBM :s Bureau Service- dotterbolag vid företagets internationella utvecklingscenter i Uithoorn , Nederländerna . Programmering startade 1978 och den första versionen levererades 1982. Den användes aldrig i stor utsträckning och försvann i princip strax efter att divisionen lades ner 1985, möjligen för att IBM och andra företag slog sig ner på SQL som standard .

BS12:s bestående bidrag till historien var användningen av ett nytt frågespråk baserat på ISBL , skapat vid IBM:s UK Scientific Center . Utvecklare av det berömda System R som pågår i USA samtidigt rådfrågades också i vissa frågor som rör motorn, men BS12-teamet avvisade SQL otvetydigt och var övertygade om att detta till synes osunda och svåranvända språk (som vid den tiden var också relationsmässigt ofullständig) skulle aldrig komma ikapp.

BS12 inkluderade ett antal intressanta funktioner som ännu inte har dykt upp på de flesta SQL-baserade system, vissa en konsekvens av att följa ISBL-prejudikatet, andra på grund av avsiktlig design. Till exempel kan en vy parametriseras och parametrar kan vara av typen TABLE. Således kan en vy i praktiken vara en ny relationsoperatör definierad i termer av de befintliga operatörerna. Codds DIVIDE - operatör implementerades faktiskt på det sättet.

En annan funktion som lätt kunde ha inkluderats i SQL-system var stödet för uppdateringsoperationer på katalogtabellerna (systemtabeller som beskriver databasens struktur, som i SQL). En ny tabell kan skapas genom att infoga en rad i TABLES -katalogen och sedan lägga till kolumner till den genom att infoga i COLUMNS .

Dessutom var BS12 före SQL när det gällde att stödja användardefinierade funktioner och procedurer, med ett komplett underspråk för Turing, triggers och ett enkelt "anropsgränssnitt" för användning av applikationsprogram, allt i sin allra första utgåva 1982.

Exempel

Exempelfråga för att avgöra vilka avdelningar som överskrider sina lönebudgetar:

T1 = SUMMARY(EMP, GROUP(DEPTNUM), EMPS=COUNT, SALSUM=SUMMA(LÖN)) T2 = JOIN(T1, DEPT) T3 = SELECT(T2, SALSUM > BUDGET)

Notera den "naturliga sammanfogningen" i den gemensamma kolumnen, DEPTNUM . Även om vissa SQL-dialekter stöder naturliga sammanfogningar, kommer exemplet att visa endast en "traditionell" sammanfogning. Här är motsvarande SQL för jämförelse:


     
     
   
       
   
    -- (SQL-version)  VÄLJ  d  .  Avdelning  ,  Räkna  (  *  )  som  Emps  ,  Summa  (  e  .  Lön  )  som  Salsum  ,  Budget  FRÅN  Emp  as  e  JOIN  Dept  as  d  ON  e  .  Deptnum  =  d  .  Avdelning  GROUP  BY  d  .  Avdelning  ,  Budget  HAR  Summa  (  e  .  Lön  )  >  Budget 

externa länkar