CHƯƠNG 2 : CƠ SỞ LÝ LUẬN VỀ THIẾT KẾ CSDL QUẢN LÝ NHÂN SỰ
4.2. Thiết kế CSDL
4.2.2. Thiết kế CSDL mức vật lý
[1] Tạo cấu trúc bảng
Bảng nhân viên (NHANVIEN)
Tên cột Ý nghĩa Kiểu dữ liệu Độ rộng
MaNV Mã nhân viên nvarchar 20
Ho_NV Họ nhân viên nvarchar 50
Ten_NV Tên nhân viên nvarchar 50
Email Địa chỉ email nvarchar 50
CMTND Chứng minh thư nhân dân int
SĐT Số điện thoại int
MaSoThue Mã số thuế int
BHYT Bảo hiểm y tế int
TĐHV Trình độ học vấn nvarchar 100
Bảng Phòng ban (PHONGBAN)
Tên cột Ý nghĩa Kiểu dữ liệu Độ rộng
MaPB Mã phòng ban nvarchar 20
MaNV Mã nhân viên trong phòng ban nvarchar 20
TruongPhong Trưởng phòng nvarchar 100
Nvchinhthuc Nhân viên chính thức nvarchar 100
Nvthuviec Nhân viên thử việc nvarchar 100
Nvparttime Nhân viên part-time nvarchar 100
Bảng Dự án (DUAN)
Tên cột Ý nghĩa Kiểu dữ liệu Độ rộng
MaDA Mã dự án nvarchar 20
MaNV Mã nhân viên nvarchar 20
TenDA Tên dự án nvarchar 100
PM Trưởng dự án
(Project Manager)
Bảng Timesheet (TIMESHEET)
Tên cột Ý nghĩa Kiểu dữ liệu Độ rộng
TenTimesheet Tên Timesheet nvarchar 50
MaNV Mã nhân viên nvarchar 20
Sogiolam Số giờ làm int
Sogionghi Số giờ nghỉ int
SogioOT Sô giờ làm thêm int
Sogionghiphep Số giờ nghỉ phép int Thoigianvao Thời gian vào time
Thoigianra Thời gian ra time
[2] Cài đặt trên SQL Server 2012
Tạo CSDL, tạo các bảng
Create Database QuanLy_NhanSu Go
Use QuanLy_NhanSu Go
Create Table PHONGBAN (
MaPB nvarchar (20) PRIMARY KEY, TenPB nvarchar (100),
DiaDiem nvarchar (100) );
Create Table LOAINV (
MaLoai nvarchar(20) PRIMARY KEY, TenLoai nvarchar (50),
);
Create Table TIMESHEET (
MaTimesheet nvarchar (20) PRIMARY KEY, TenTimesheet nvarchar (50),
NghiCoLuong int, NghiKhongLuong int, );
Create Table DUAN
(MaDA nvarchar(20) PRIMARY KEY, TenDA nvarchar(100),
PM nvarchar (100)); Create Table NHANVIEN (
MaNV nvarchar (20) PRIMARY KEY, Ho_NV nvarchar (50), Ten_NV nvarchar (50), MaLoai nvarchar (20), MaPB nvarchar (20), Email nvarchar (50), NgaySinh date, CMTND int, SDT int, ChucVu nvarchar (100), SoTK int, MaSoThue int, TheBHYT int, TDHV nvarchar (200), DiaChi nvarchar (200), NgayBatDau date,
Constraint FK1 foreign key (MaPB) references PHONGBAN(MaPB), Constraint FK2 foreign key (MaLoai) references LOAINV(MaLoai), );
Create Table ChiTietTimeSheet (
MaTimesheet nvarchar (20), MaNV nvarchar (20),
Thoigianra time, Ngay date,
Constraint PR Primary key (MaTimesheet, MaNV),
Constraint FK3 foreign key (MaTimesheet) references TIMESHEET(MaTimesheet),
Constraint FK4 foreign key (MaNV) references NHANVIEN(MaNV), );
Create Table ChiTietDuAn (
MaDA nvarchar(20), MaNV nvarchar(20), TGBD date,
TGKT date,
Constraint PR1 primary key (MaDA,MaNV),
Constraint FK5 foreign key (MaDA) references DUAN(MaDA), Constraint FK6 foreign key (MaNV) references NHANVIEN(MaNV), );
Một số câu lệnh truy vấn
Câu 1: Hiển thị tổng số nhân viên làm việc trong phòng kỹ thuật
Câu 3: Viết thủ tục đưa ra thơng tin nhân viên có mã nhân viên (MaNV=NV001)
gồm: Họ tên, Email, CMTND