Jajodia Sandhu
Jajodia Sandhu Model
Employee
SSN C1 Name C2 Salary C3 DN C4 TC
001 U Able S 20000 U C100 U S
002 U Bond U 45000 S C200 U S
003 U Coe C 70000 S C300 C S
004 U Drake C 135000 TS C400 C TS
Suggested way to proceed:
Take the original multilevel table given and decompose it into two tables. One at the Secret level (containing everything that should be shown as the Secret Level) and one at the Top Secret level (which is actually the same as the original table at this point).
Use these two freshly created tables as the input tables for both parts a and b (in other words DO NOT use the OUTPUT result from a as input to b).
For part a. Apply all the transaction to the two new tables and show the end result as your answer to part a (as updated set of both tables).
For part b. Apply all the transaction to another fresh copy of the two new table (meaning don’t use the output tables from part a as input to part b) and show the end result as your answer to part b.
a. Suppose an S-subject requests the following insert operations (show the effect on the instance tables for both the secret and top secret level). Your answer will be two new tables (one at the Secret Level and One at the Top Secret Level — with the necessary changes included –) that show the result of the inset and update transactions below (15 points).
INSERT INTO Employee
VALUES 005, “Jones”, 80000, “C400”;
INSERT INTO Employee
VALUES 001, “Able”, 90000, “C300”;
UPDATE Employee
SET Salary = 50000
WHERE Name = “Bond” or “Drake”;
b Suppose a TS-subject request the following insert/update operations (show the effect on the instance tables for both the secret and top secret level). Your answer will be two new tables — with the necessary change included — that show the result of the inset and update transactions below (15 points). Remember: For part b. Apply all the transaction to another fresh copy of the two new table (meaning don’t use the output tables from part a as input to part b) and show the end result as your answer to part b.
INSERT INTO Employee
VALUES 002, “Bond”, 90000, “C300”;
UPDATE Employee
SET Salary = 60000;
NOTE: There is NO WHERE Clause in this statement. This is intentional