Multi-Level-Security: Mit DB2 einfacher als mit Oracle 10g

25.10.2006
Von Heinz Axel Pürner

Das Ergebnis:

10 HAAS lta 1 lta:GF
20 THOMPSON lta 2 lta:IT
30 KWAN lta 3 lta:GF
50 GEYER lta 4 lta:GF
60 STERN at 21 at:ITZ
70 PULASKI at 31 at:FE
90 HENDERSON at 22 at:ITD
100 Roosevelt lta 51 lta:HR
110 LUCCHESSI at 41 at:VK
120 Quintana tg6 1 lta:GF
130 Connery tg5 32 tarif:PRD1
140 Graham tg5 32 tarif:PRD1
150 ADAMSON tg5 21 tarif:ITZ
160 PIANKA tg5 21 tarif:ITZ
170 YOSHIMURA tg5 21 tarif:ITZ
180 Monroe tg5 21 tarif:ITZ
190 WALKER tg5 21 tarif:ITZ
200 BROWN tg5 21 tarif:ITZ
210 JONES tg5 21 tarif:ITZ
220 Lopez tg5 21 tarif:ITZ
230 JEFFERSON tg5 31 tarif:FE
240 MARINO tg5 31 tarif:FE
250 SMITH tg5 31 tarif:FE
260 JOHNSON tg5 31 tarif:FE
270 PEREZ tg5 31 tarif:FE
280 SCHNEIDER tg4 22 tarif:ITD
290 PARKER tg3 22 tarif:ITD
300 SMITH tg4 22 tarif:ITD
310 SETRIGHT tg4 22 tarif:ITD
320 MEHTA tg5 51 tarif:HR
330 LEE tg5 51 tarif:HR
340 Ullrich tg5 51 tarif:HR
2010 HEMMINGER at 41 at:VK
2120 ORLANDO tg5 53 tarif:RW
2140 NATZ tg5 33 tarif:PRD2
2170 YAMAMOTO tg5 21 tarif:ITZ
2220 JOHN tg5 21 tarif:ITZ
2240 MONTEVERDE tg5 31 tarif:FE
2280 SCHWARTZ tg4 22 tarif:ITD
2310 SPRINGER tg4 22 tarif:ITD
2330 WONG tg5 51 tarif:HR
2340 ALONZO tg5 51 tarif:HR

Fragt nun der Manager der Abteilung F/E (Forschung und Entwicklung) die Tabelle ohne einschränkende Bedingungen ab, so erhält er trotzdem nur die Mitarbeiter seiner Abteilung angezeigt:

select pnr, name, gebdat, abtbez, grundgehalt
from hr.mitarbeiter, hr.abteilung

where aid = abteilung
70 PULASKI 26.05.1953 FE +36170,00
2240 MONTEVERDE 31.03.1954 FE +28760,00
270 PEREZ 26.05.1953 FE +27380,00
260 JOHNSON 05.10.1936 FE +17250,00
250 SMITH 12.11.1939 FE +19180,00
240 MARINO 31.03.1954 FE +28760,00
230 JEFFERSON 30.05.1935 FE +22180,00

In der Personalabteilung findet der Gruppenleiter HR_GL so alle Firmenmitarbeiter vom leitenden bis zum tariflich bezahlten Angestellten und der Sachbearbeiter HR_SB2 alle außer- und tariflich bezahlten.