UNV1:U Lê Văn Hùng (Nam) sinh ngày 7/4/1975, làm việc tại phòng dự án từ ngày 1/2/2000 đến ngày 31/1/2002, và phòng kinh doanh từ ngày 4/2/2002 tới nay. Từ ngày 4/2/2002 tới nay Hùng làm trƣởng phòng kinh doanh. Lợi tức của phòng kinh doanh là 40% kể từ khi Hùng làm trƣởng phòng. Lƣơng của Hùng là 2 triệu từ ngày 1/2/2000 đến 31/12/2000, sau đó lên 3 triệu từ 1/1/2001 đến 3/2/2002, từ 4/2/2002 đến nay có mức lƣơng là 5 triệu. Lê Văn Hùng có các kỹ năng lập trình C# từ ngày 1/2/2000, tiếng Anh C từ ngày 2/4/2001, lái xe B2 từ 25/9/2004 đến 25/9/2007. Những thông tin này đƣợc cập nhật trong CSDL nhƣ sau.
INSERT INTO Nhanvien_Tbl
VALUES (NEW, ’Lê Văn Hùng’, 20000000, ’M’, DATE ’7/4/1975’, ’Du an’)
VALID PERIOD ’[1/2/2000 – 31/12/2000]’ ;
Trong câu lệnh truy vấn này vì trƣờng ID_VN là trƣờng đại diện (surrogate) do đó từ khoá “NEW” sẽ tạo ra một giá trị đại diện mới và ngƣời dùng sẽ không nhìn thấy đƣợc giá trị này. Với mệnh đề VALID PERIOD ’[1/2/2000 –
31/12/2000]’ sẽ chỉ ra bộ giá trị này có thời gian hợp thức trong khoảng từ ngày 1/2/2000 đến 31/12/2000.
UPDATE Nhanvien_Tbl
SET Luong TO 3000000
VALID PERIOD ’[1/1/2001 - 3/2/2002]’ WHERE ID = (SELECT DISTINCT ID_NV
FROM Nhanvien_Tbl
WHERE Nhanvien_Tbl. Ho_ten = ’Lê Văn Hùng’; INSERT INTO Nhanvien_Tbl
SELECT (Nhanvien_Tbl.ID_NV, ’Lê Văn Hùng’, 50000000, ’M’,DATE ’7/4/1975’, ’Kinh doanh’)
VALID PERIOD ’[4/2/2002 - now]’ FROM Nhanvien_Tbl
WHERE Ho_ten = ’Lê Văn Hùng’; INSERT INTO Phong_ban_Tbl
SELECT (’Kinh doanh’, 40, Nhanvien_Tbl.ID_NV) VALID PERIOD ’[4/2/2002 - now]’
FROM Nhanvien_Tbl
WHERE Nhanvien_Tbl. Ho_ten = ’Lê Văn Hùng’; INSERT INTO Kynang_Tbl
SELECT (Nhanvien_Tbl.ID_NV, ’LapTrinhC#’) VALID PERIOD ’[1/2/2000 - now]’ FROM Nhanvien_Tbl
WHERE Nhanvien_Tbl. Ho_ten = ’Lê Văn Hùng’; INSERT INTO Kynang_Tbl
SELECT (Nhanvien_Tbl.ID_NV, ’TiengAnh_C’) VALID PERIOD ’[2/4/2001 - now]’ FROM Nhanvien_Tbl
WHERE Nhanvien_Tbl. Ho_ten = ’Lê Văn Hùng’; INSERT INTO Kynang_Tbl
SELECT (Nhanvien_Tbl.ID_NV, ’Laixe_B2’)
VALID PERIOD ’[25/9/2004 – 25/9/2007]’ FROM Nhanvien_Tbl
WHERE Nhanvien_Tbl. Ho_ten = ’Lê Văn Hùng’;
NV2:U Nguyễn Thị Mai (Nữ) sinh ngày 1/10/1972, làm việc tại phòng dự án (Duan) và là trƣởng phòng từ ngày 1/2/2000 đến nay. Lợi tức của phòng dự án là 20% từ ngày 1/2/2000 đến ngày 6/7/2002 sau đó là 25% từ ngày 7/7/2002 đến 18/2/2004 và là 22% từ ngày 19/2/2004 đến nay. Lƣơng của Mai là 1,5 triệu từ ngày 1/2/2000 đến 31/12/2000, sau đó lên 2,5 triệu từ 1/1/2001 đến 31/12/2002, từ 1/1/2003 đến nay có mức lƣơng là 4,5 triệu. Nguyễn Thị Mai có khả năng quản lý từ 1/2/2000 đến nay. Thông tin về Nguyễn Thị Mai sẽ đƣợc cập nhật nhƣ sau:
INSERT INTO Nhanvien_Tbl
VALUES (NEW, 'Nguyễn Thị Mai’, 1500000, ’F’, DATE ’1/10/1972’, ’Du an’)
VALID PERIOD ’[1/2/2000 – now]’ ; INSERT INTO Phong_ban_Tbl
SELECT (’Du an’, 20, Nhanvien_Tbl.ID_NV) VALID PERIOD ’[1/2/2000 - now]’
FROM Nhanvien_Tbl
WHERE Nhanvien_Tbl.Ho_ten = 'Nguyễn ThịMai’;
UPDATE Phong_ban_Tbl SET Loi_tuc TO 25
VALID PERIOD ’[7/7/2002 - 18/2/2004]’ WHERE Ten_PB = ’Du an’ ;
UPDATE Phong_ban_Tbl SET Loi_tuc TO 22
VALID PERIOD ’[19/2/2004 - now]’ WHERE Ten_PB = ’Du an’ ;
UPDATE Nhanvien_Tbl
SET Luong TO 2500000
VALID PERIOD ’[1/1/2001 - 31/12/2002]’ WHERE ID_NV =
(SELECT DISTINCT Nhanvien_Tbl.ID_NV FROM Nhanvien_Tbl
WHERE Nhanvien_Tbl.Ho_ten = 'Nguyễn Thị Mai’);
UPDATE Nhanvien_Tbl
SET Luong TO 4500000
WHERE ID_NV =
(SELECT DISTINCT Nhanvien_Tbl.ID_NV FROM Nhanvien_Tbl
WHERE Nhanvien_Tbl.Ho_ten = 'Nguyễn Thị Mai’);
INSERT INTO Kynang_Tbl
SELECT (Nhanvien_Tbl.ID_NV, ’Quan ly’) VALID PERIOD ’[1/2/2000 - now]’ FROM Nhanvien_Tbl
WHERE Nhanvien_Tbl.Ho_ten = 'Nguyễn Thị Mai’);
Vì ngƣời dùng không nhìn thấy trực tiếp giá trị của trƣờng ID_NV nên ta giả sử có hai bộ giá trị “LVH” và “NTM” của hai nhân viên “Lê Văn Hùng” và “Nguyễn Thị Mai”. Sau khi cập nhật thông tin ta có đƣợc các bảng kết quả nhƣ sau:
Bảng 3.1 - Nhanvien_Tbl
ID_NV Ho_ten Luong Gioi_
tinh
Ngay_sinh Ten_PB_NV Valid-time
LVH Lê Văn Hùng 2000000 M 7/4/1975 Du an 1/2/2000-31/12/2000
LVH Lê Văn Hùng 3000000 M 7/4/1975 Du an 1/1/2001-3/2/2002
LVH Lê Văn Hùng 5000000 M 7/4/1975 Kinhdoanh 4/2/2002-now
NTM Nguyễn Thị Mai 1500000 F 1/10/1972 Du an 1/2/2000–31/12/2000 NTM Nguyễn Thị Mai 2500000 F 1/10/1972 Du an 1/1/2001-31/12/2002 NTM Nguyễn Thị Mai 4500000 F 1/10/1972 Du an 1/1/2003 - now
Bảng 3.2 - Kynang_Tbl
ID_NV Ky_nang Valid-time
LVH Lập trình C# 1/2/2000 - now
LVH Tiếng Anh C 2/4/2001 - now
LVH Lái xe B2 25/9/2004 - 25/9/2007
Bảng 3.3 - Phong_ban_Tbl
Ten_PB Loi_tuc ID_Truong_phong Valid-time
Kinh doanh 40% LVH 4/2/2002 - now
Du an 20% NTM 1/2/2000 – 6/7/2002
Du an 25% NTM 7/7/2002 – 18/2/1004
Du an 22% NTM 19/2/2004 – now
3.4.4- Một số truy vấn: