TU 3.4.3- Cập nhật dữ liệu thử nghiệm. UT

Một phần của tài liệu Cơ sở dữ liệu thời gian (Trang 106 - 110)

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:

Một phần của tài liệu Cơ sở dữ liệu thời gian (Trang 106 - 110)

Tải bản đầy đủ (PDF)

(120 trang)