1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn hệ quản trị cơ sở dữ liệu đề tài quản lý nhân viên

48 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 48
Dung lượng 2,98 MB

Nội dung

Muốn quản lý được nhân viên ta cần tìm hiểu các hoạt động chính và các chủ thể cần quản lý.Ta có:Để tiện theo dõi và quản lý nhân viên, mỗi nhân viên cần có các thông tin sau: mã nhân vi

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

-BÁO CÁO BÀI TẬP LỚNMÔN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

<NHÓM 10>Đề tài: Quản Lý Nhân Viên

Giáo Viên Hướng dẫn: Nguyễn Thị Tâm Sinh Viên thực hiện: Đào Đức Lộc- 2010A02

Bùi Tuấn Anh-2010A02 Phí Minh Quân- 2010A02 Đặng Văn Công- 2010A02

Hà Nội, năm 2021

Trang 2

PHÂN CÔNG VÀ KẾ HOẠCH THỰC HIỆN

HỌ VÀ TÊN NỘI DUNGĐÁNH GIÁGHI CHÚ

Đào Đức Lộc Bùi Tuấn Anh Phí Minh Quân Đặng Văn Công

Trang 3

MỤC LỤC

I.Phát biểu bài toán 2

1 Xây dựng mô hình thực thể liên kết 2

2.Xây dựng mô hình cơ sở dữ liệu quan hệ 2

3.Chuẩn hóa cơ sở dữ liệu của bài toán 2

II.Các bảng cơ sở dữ liệu của bài toán: 2

1 Xây dựng các bảng của bài toán 2

4 Tạo Trigger kiểm soát ràng buộc dữ liệu 2

5 Phân quyền cho các thành viên 2

6 Phân tán 2

Trang 4

I.Phát biểu bài toán

Để quản lý nhân viên được diễn ra ổn định, ta cần xây dựng một hệ thống quản lý nhân viên tốt, hiệu quả Muốn quản lý được nhân viên ta cần tìm hiểu các hoạt động chính và các chủ thể cần quản lý.

Ta có:

Để tiện theo dõi và quản lý nhân viên, mỗi nhân viên cần có các thông tin sau: mã nhân viên, tên nhân viên, ngày sinh, địa chỉ,SĐT Quy định mỗi nhân viên có một mã nhân viên, ngày vào làm ,độ tuổi yêu cầu là trên 18 tuổi

Phòng ban cần có các thông tin: mã phòng ban để xác định cùng với tên phòng

ban và mã dự án mà phong ban phu trách

Thời gian công tác cần có các thông tin: Mã hợp đồng để phân biệt các hợp

đồng, HĐLĐ phải chứa nhân viên , ngày bắt đầu nhậm chức và chức vụ của nhân viên

Chức vụ cần có các thông tin: Mã chức vụ phân loại với tên chức vụ

Lương cần có các thông tin: Ngày hưởng,số ngày nghỉ, tạm ứng của nhân viên

và bậc lương mà nhân viên đó được hưởng

Hệ số lương: Hệ số lương là hệ số thể hiện sự chênh lệch tiền lương giữa các

mức lương theo ngạch, cần có các thông tin: Hệ số Lương, lương tương ứng

Tiền phụ cấp: Phụ cấp lương là khoản tiền trả cho người lao động ngoài tiền lương cơ bản nhằm trả đủ những hao phí lao động tăng thêm, cần có các thông tin: Mức phụ cấp, phụ cấp tương ứng

Trang 5

1 Xây dựng mô hình thực thể liên kết

Theo bài toán trên, chúng ta xác định được thực thể và thuộc tính:

Nhân Viên: sMaNV, sTenNV, dNgaySinh, dNgayVaoLam, sDiaChi,sSodienthoaiPhòng Ban: sMaPB, sTenPB, sDiaDiem.

Thời gian công tác: dNgayBDnhamchuc.Chức Vụ: sMaCV,sTenCV.

Lương: dNgayHuong, dSongaynghi, fTamungHệ số lương: iHesoluong, fLuongtuongungTiền Phụ Cấp: iMucpgucap, fTientuongung

Xác định liên kết giữa các thực thể:

Giữa 2 tập thực thể NhanVien PhongBan có mối liên kết “thuộc” vì một PhongBanCó nhiều NhanVien và mỗi NhanVien chỉ thuộc một PhongBan

=> Mối liên kết giữa 2 tập thực thể có kiểu liên kết là “ 1 – n ”.

Giữa 2 tập thực thể NhanVien ThoiGianCongTac có mối liên kết “thỏa ước” vì một

NhanVien có các chức vụ vào các thời gian khác nhau => Mối liên kết giữa 2 tập thực thể có kiểu liên kết là “ 1 – n ”.

Giữa 2 tập thực thể ChucVu ThoiGianCongTac có mối liên kết “chứa” vì một chỉ có

một ChucVu của một nhân viên được nhận vào thời gian khác nhau => Mối liên kết giữa 2 tập thực thể có kiểu liên kết là “1 – n”.

Giữa 2 tập thực thể NhanVien và ChucVu có mối liên kết “đảm nhiệm” vì 1 NhanVienchỉ đảm nhiệm 1 ChucVu

=> Mối liên kết giữa 2 tập thực thể có kiểu liên kết là “1 – 1”

Giữa 2 tập thực thể NhanVien và Luongcó mối liên kết “hưởng” trong thời điểm khác

nhau

=> Mối liên kết giữa 2 tập thực thể có kiểu liên kết là “1 – n”

Trang 6

Giữa 2 tập thực thể Lương Hệ số lương có mối liên kết “chứa” vì 1 mức Lương có nhiều hệ số lương

=> Mối liên kết giữa 2 tập thực thể có kiểu liên kết là “1 – n”

Giữa 2 tập thực thể Lương Tiền phụ cấp có mối liên kết “chứa” vì 1 mức Lương có

nhiều hệ số phụ cấp

=> Mối liên kết giữa 2 tập thực thể có kiểu liên kết là “1 – n”

Trang 7

Mô hình ER:

2.Xây dựng mô hình cơ sở dữ liệu quan hệ * Quy tắc với thực thể mạnh

NhanVien (s MaNV , sTenNV, dNgaySinh, dNgayVaoLam, sDiaChi,sSodienthoai).

PhongBan (sMaPB, sTenPB, sDiaDiem).

Trang 8

ThoiGianCongTac(sMaNV, sMaCV, dNgayBDnhamchuc)

Luong(sMaNV, iHesoluong, iMucphucap, dNgayhuong, fTamung, iSongaynghi)

* Quy tắc với liên kết 1-1:

NhanVien ( s MaNV , sMaCV,sTenNV, dNgaySinh,dNgayVaoLam ,sDiaChi, sSodienthoai, sMaPB,).

= > Cơ sở dữ liệu cuối cùng:

NhanVien ( s MaNV , sMaCV,sTenNV, dNgaySinh,dNgayVaoLam ,sDiaChi, sSodienthoai, sMaPB,).

ThoiGianCongTac(sMaNV, sMaCV, dNgayKT)

Luong(sMaNV, iHesoluong, iMucphucap, dNgayhuong, fTamung, iSongaynghi)ChucVu(sMaCV, sTenCV).

PhongBan (sMaPB, sTenPB).

TienPhuCap(iMucphucap, fTientuongung).HeSoLuong(iHesoluong, fLuongtuongung).

3.Chuẩn hóa cơ sở dữ liệu của bài toán

Từ mô hình quan hệ ta suy ra các phụ thuộc hàm:

MaNV TenNV, NgaySinh, ĐiaChi, ĐienThoai, sMaPB, sMaCV

Trang 9

sMaNV, sMaCV dNgayBDnhamchuc

sMaNV iHesoluong, iMucphucap, dNgayhuong, fTamung, iSongaynghi Từ các phụ thuộc hàm trên ta thấy:

- Mọi thuộc tính đều là nguyên tố, giá trị các thuộc tính trên bộ là đơn trị, không có thuộc tính nào có giá trị được tính toán từ một số thuộc tính khác.

Lược đồ quan hệ trên đã ở dạng chuẩn 1NF.

- Mọi thuộc tính không khóa của quan hệ đều phụ thuộc hàm đầy đủ vào khóa chính.

Lược đồ quan hệ trên đã ở dạng chuẩn 2NF.

- Mọi thuộc tính không khóa của quan hệ đều không phụ thuộc bắc cầu vào bất kì khóa chính của quan hệ.

Lược đồ quan hệ trên đã ở dạng chuẩn 3NF.

Vậy lược đồ quan hệ đã được chuẩn hóa về dạng cao nhất – 3NF

Trang 10

Mô hình LK Database Diagrams

Trang 11

II.Các bảng cơ sở dữ liệu của bài toán:

1 Xây dựng các bảng của bài toán

- tblNhanVien: sMaNV, sTenNV, dNgaySinh, sDiaChi, dNgayvaolam, sMaCV,

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú

- tblChucvu: sMaCV, sTenCV

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú

- tblPhongban: sMaPB, sTenPB

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú

- tblHesoLuong: iHesoluong, fLuongtuongung

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú

Trang 12

- tblTienPhuCap:iTMucphucap, fTientuongung

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú

- tblThoiGianCongTac: sMaNV, sMaCV, dNgayBD

- tblLuong: sMaNV, iHesoluong, iMucphucap, dNgayhuong, fTamung, iSongaynghi

Trang 13

Bang thoi gian cong tac CREATE TABLE thoigiancongtac(

ALTER TABLE dbo Luong ALTER COLUMN sMaNV NVARCHAR(20) Bang tien phu cap

CREATE TABLE TienPhuCap( iMucphucap INT NOT NULL,

Trang 14

ALTER TABLE dbo NhanVien ADD CONSTRAINT FK_Nhanvien_chucvu FOREIGN KEY(sMaCV) REFERENCES dbo.ChucVu sMaCV( ),

CONSTRAINT FK_Nhanvien_PhongBan FOREIGN KEY(sMaPB) REFERENCES dbo PhongBan sMaPB ( )

ALTER TABLE dbo thoigiancongtac ADD CONSTRAINT

FK_thoigiancongtac_nhanvien FOREIGN KEY(sMaNV)REFERENCES dbo NhanVien sMaNV ( ),

Trang 38

Sau khi:

Trang 39

Câu 5.

Câu 5: Cập nhật tên phòng ban thì mã phòng ban của bảng nhân viên cũng thay đổi CREATE TRIGGER pd_phong

Trang 40

DECLARE @MaPhgCu nvarchar( ),9 @MaPhgMoi nvarchar( )9 SELECT @MaPhgCu = sMaPB FROM DELETED

SELECT @MaPhgMoi = sMaPB FROM INSERTED

If ( EXISTS (select sMaPB from NhanVien Where sMaPB @MaPhgCu = ) ) UPDATE NHANVIEN SET sMaPB @MaPhgMoi=

WHERE sMaPB = @MaPhgCu END

END Dữ liệu ban đầu

Trang 41

Dữ liệu sau khi update

Câu 6:

Câu 6: xóa Phòng ban thì nhân viên của phòng ban đó cũng bị xóa create trigger x_phongban PhongBanon

for delete as begin

declare @mapb nvarchar( )20 select @mapb sMaPB = from Deleted

if ( EXISTS (select sMaNV from NhanVien Where sMaPB @mapb= ) ) delete NhanVien where sMaPB @mapb =

end

Trang 42

Dữ liệu ban đầu

Dữ liệu sau khi xóa

Trang 43

5 Phân quyền cho các thành viên

Tạo User cho các thành viên

create login daoducloc with password= '123456789' go

create login buituananh with password= '123456789'

Trang 44

create user ducloc for login daoducloc create user tuananh for login buituananh create user minhquan for login phiminhquan create user vancong for login dangvancong grant select on [dbo].[NhanVien] to public grant select on [dbo].[PhongBan] to public grant select on [dbo].[ChucVu] to public

Quyền insert,update,delete khachhang User ducloc grant insert,update,delete on Nhanvien duclocto go

Quyền insert,update,delete nhanvien User tuananh grant insert,update,delete on [dbo].[ChucVu] tuananhto go

Quyền insert,update,delete Luong User minhquan grant insert,update,delete on [dbo].[Luong] minhquanto go

Quyền insert,update,delete phong ban User vancong grant insert,update,delete on [dbo].[PhongBan] vancongto go

Thu Hồi

Thu hồi quyền xóa Nhanvien revoke delete on Nhanvien from ducloc go

6 Phân tán

5.1 Thực hiện phân tán ngang bảng tblKhachHang sao cho khách hàng có địa chỉ tại Ha Noi vào trạm 1 còn địa chỉ khác vào trạm 2

Tạo bảng tblKhachHang bên PhanTan Tram1

Trang 45

Create Table tblkhachhangtram1( sMaKH varchar(10) Not Null Primary Key,

Tạo bảng tblKhachHang bên PhanTan_Tram2 Create Table tblkhachhangtram2(

sMaKH varchar(10) Not Null Primary Key,

Gán Tên cho Link đến Trạm2

create synonym KHtram2 for Link.Quanlybanhang dbo tblkhachhangtram2 Insert dữ liệu vào bảng trạm 1

insert into btl.dbo tblkhachhangtram1 sMaKH sTenKH sGioiTinh sDiachi sDienThoai ( , , , , ) select from * tblKhachHang where sDiachi = N'Ha Noi'

- Insert dữ liệu vào bảng trạm 2

insert into KHtram2 select from * tblKhachHang where sDiachi != N'Ha Noi'

Trang 46

Tạo bảng sản phẩm bên DB PhanTan_Tram1 Create Table tblSanPhamtram1(

sMaSP varchar(10) Not Null Primary key, sTenSP nvarchar(30),

sMaLoaiSP varchar( ),10 sMaNCC varchar(10), )

Tạo bảng tblKhachHang bên PhanTan_Tram2 Create Table tblSanPhamtram2(

sMaSP varchar(10) Not Null Primary key, iSoLuong int,

fGiaHang float )

Gán Tên cho Link đến Trạm2

create synonym KHtram2 for Link.Quanlybanhang dbo tblkhachhangtram2 insert dữ liệu vào trạm 1

insert into btl.dbo tblSanPhamtram1 smaSP stenSP smaloaiSP smancc ( , , , ) select smaSP stenSP smaloaiSP, , ,smancc from tblsanpham

insert dữ liệu vào trạm 2

insert into SPtram2 select smaSP,isoluong,fgiahang from tblsanpham Dữ liệu bên trạm 1

Dữ liệu bên trạm 2

Trang 47

- 5.3 tạo thủ tục thực hiện phân tán ngang bảng tblKhachHang sao cho khách hàng có địa chỉ tại Bắc Giang vào trạm 1 còn lại vào trạm 2

create procedure ThutucKH

insert into KHtram2

values (@ma @ten @gioitinh, , ,@diachi @dienthoai, )

Trang 48

Dữ liệu bên trạm 1

Dữ liệu bên trạm 2

Ngày đăng: 08/04/2024, 12:50

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w