Progressive Project — University HR Database

The full 120-mark CSE 303 project solved: ER design, MySQL schema + queries + triggers + access control, RAID-4 recovery, normalization to 3NF, B/B+ trees — plus a viva question bank.

Sections

Quick summary

PROJECT: University HR Management Database · 120 marks (scaled to 20) · CLO2 / PLO-c.

ENTITIES (6): DEPARTMENT · DESIGNATION · EMPLOYEE · ATTENDANCE ·
   LEAVE_APPLICATION · SALARY.  All relationships are 1 : N.
   approves = a SECOND role-based link EMPLOYEE → LEAVE_APPLICATION (approved_by).

TASK 1 (20) design: attributes + domains + candidate/primary keys + ER diagram.
TASK 2 (35) MySQL: CREATE TABLE + constraints · 5 queries · 3 triggers · GRANT/REVOKE.
TASK 3 (18) RAID 4: 6 data disks + dedicated parity P.
   P = D1⊕…⊕D6 = 0101 ;  recover D5 = P ⊕ (all survivors) = 0011.
TASK 4 (22) normalization: UNF → 1NF (atomic, PK {Emp_ID, Effective_Date})
   → 2NF (drop partial dep. on Emp_ID) → 3NF (drop transitive Dept_ID→Dept_Name,
   Designation→Basic_Scale).  Result: 4 relations, also BCNF.
TASK 5 (25) indexing: keys 10…22, max 3 keys/node.
   B-Tree  → root [13]; [11] , [15 17 19]; leaves [10][12][14][16][18][20 21 22].
   B+ Tree → root [16]; [12 14] , [18 20]; leaves [10 11][12 13][14 15][16 17][18 19][20 21 22], chained.

KEY CONSTRAINTS: UNIQUE(employee_id, attendance_date) · one ACTIVE salary via a
   generated column + UNIQUE · approved_by FK nullable (partial participation).

~44 of the 120 marks are VIVA — see the question bank.