TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN Hệ quản trị cơ sở dữ liệu IT10 NGÀNH KHOA CÔNG NGHỆ THÔNG TIN Đề tài XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ BÁN THUỐC Hà Nội, 72022 MỤC LỤC ĐỀ.
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN : Hệ quản trị sở liệu - IT10 NGÀNH: KHOA CÔNG NGHỆ THÔNG TIN Đề tài: XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ BÁN THUỐC Hà Nội, 7/2022 MỤC LỤC ĐỀ TÀI Phát biểu toán .4 Tạo sở liệu 2.1 Tạo Database .4 2.2 Tạo bảng nhà cung cấp 2.3 Tạo bảng loại sách .4 2.4 Bảng sách 2.5 Tạo bảng đơn hàng 2.6 Tạo bảng chi tiết đơn hàng 2.8 Tạo khoá ngoại bảng chi tiết đơn hàng .5 2.9 Insert liệu bảng nhà cung cấp .6 2.10 Insert liệu bảng loại sách 2.11 Insert liệu bảng sách .6 2.12 Insert liệu bảng đơn hàng .6 2.13 Insert liệu bảng chi tiết đơn hàng Xây dựng view cho sở liệu .7 3.1 View bảng danh sách nhà cung cấp 3.2 View lấy danh sách loại sách 3.3 View lấy danh sách sách 3.4 View lấy danh sách đơn hàng Xây dựng Procedure .8 4.1 Procedure thêm nhà cung cấp 4.2 Procedure sửa thông tin nhà cung cấp .8 4.3 Procedure tìm kiếm sách theo tên .9 4.4 Procedure lấy thông tin bảng chi tiết đơn hàng 4.5 Procedure lấy thông tin bảng đơn hàng 10 Xây dựng Trigger cho CSDL .10 5.1 Trigger tổng tiền đơn hàng lớn 1000000 không cho tạo đơn hàng 10 5.2 Trigger kiểm tra số lượng sách đơn hàng .10 5.3 Trigger cập nhật lại danh sách liệu xoá nhà cung cấp 11 5.4 Trigger cập nhật lại danh sách dữu lieieuj xoá mã loại sách 11 Phân tán sở liệu .11 6.1 Tạo user có phân quyền 11 I Đề ĐỀ TÀI Xây dựng chương trình quản lý bán thuốc Yêu cầu cần thực hiện: Xác định bảng Tạo CSDL toán Thực câu lệnh tạo CSDL, tạo bảng chèn liệu cho bảng, bảng tối thiểu ghi Tạo view chứa khai thác CSDL Tối thiểu 10 view (gồm: Lấy thông tin bảng, lấy thông tin nhiều bảng, tính tốn gom nhóm, …) Tạo thực thi thủ tục cho CSDL Tối thiểu thủ tục (các thủ tục có truyền tham số) Tạo vận dụng trigger Tối thiểu trigger Phân quyền bảo mật cho CSDL Tạo tối thiểu người dùng phân quyền sử dụng cho Bảng, View, Thủ tục tạo Phân tán lựa chọn số bảng bất kỳ, thực phân tán ngang dọc, thực yêu cầu khai thác liệu phân tán Phát biểu tốn Xây dựng chương trình quản lý sinh viên gồm thông tin sau: - Quản lý loại thuốc: Chức cho phép quản lý thông tin loại thuốc - Quản lý thuốc: Chức quản lý thông tin loại thuốc quầy - Quản lý hoá đơn: chức quản lý hoá đơn bán hàng Tạo sở liệu 2.1 Tạo Database Create database QuanLyBanThuoc; Kết 2.2 Tạo loại thuốc create table loaithuoc( [MaLoaiThuoc] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL, [TenLoaiThuoc] [nvarchar](250) NOT NULL); 2.3 Tạo bảng thuốc create table thuoc( [MaThuoc] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL, [TenThuoc] [nvarchar](250) NOT NULL, [MaLoaiThuoc] [int], [SoLuongNhap] [int]); 2.4 Bảng sách create table hoadon( [MaHoaDon] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL, [MaThuoc] [int], [SoLuongBan] [int], [DonGia] [int], [TongTienThanhToan] [float]); 2.5 Tạo khoá ngoại bảng thuốc alter table thuoc add constraint fk_htk_loaithuoc foreign key(MaLoaiThuoc) references loaithuoc(MaLoaiThuoc); 2.6 Tạo khoá ngoại bảng hoá đơn alter table hoadon add constraint fk_htk_mathuoc foreign key(MaThuoc) references thuoc(MaThuoc); 2.7 Insert liệu bảng loại thuốc insert into loaithuoc(TenLoaiThuoc) values(N'Loai Thuoc Nhap ngoai'); insert into loaithuoc(TenLoaiThuoc) values(N'Thuoc NCC Ha Trang'); insert into loaithuoc(TenLoaiThuoc) values(N'Thuoc NCC Kim Long'); 2.8 Insert liệu bảng thuốc insert into thuoc(TenThuoc,MaLoaiThuoc,SoLuongNhap) values(N'Thuốc B1','1','40'); insert into thuoc(TenThuoc,MaLoaiThuoc,SoLuongNhap) values(N'Thuốc B2','2','40'); insert into thuoc(TenThuoc,MaLoaiThuoc,SoLuongNhap) values(N'Thuốc B3','3','40'); insert into thuoc(TenThuoc,MaLoaiThuoc,SoLuongNhap) values(N'Thuốc B4','1','40'); 2.9 Insert liệu bảng hoá đơn insert into hoadon(MaThuoc,SoLuongBan,DonGia,TongTienThanhToan) values ('1','3','150000','4500000'); insert into hoadon(MaThuoc,SoLuongBan,DonGia,TongTienThanhToan) values ('2','1','15000','15000'); insert into hoadon(MaThuoc,SoLuongBan,DonGia,TongTienThanhToan) values ('3','2','20000','40000'); insert into hoadon(MaThuoc,SoLuongBan,DonGia,TongTienThanhToan) values ('1','2','150000','300000'); Xây dựng view cho sở liệu 3.1 View bảng danh sách loại thuốc create view laydanhsachloaithuoc as select * from loaithuoc; 3.2 View lấy danh sách thuốc create view laydanhsahthuoc as select * from thuoc; 3.3 View lấy danh sách hoá đơn create view laydanhsachhoadon as select * from hoadon; 3.4 View tìm kiếm thuốc theo tên thuốc create view timkiemthuoc as select * from thuoc where TenThuoc like '%B1%'; 3.5 View tìm kiếm hố đơn theo mã hoá đơn create view timkiemhoadon as select * from hoadon where MaHoaDon like '%1%'; 3.6 View lấy thuốc có số lượng nhập lớn create view thuocnhapnhieunhat as select * from thuoc where SoLuongNhap =(select MAX(SoLuongNhap) from thuoc) 3.7 View tìm hố đơn có tổng tốn cao create view hoadonthanhtoancao as select * from hoadon where TongTienThanhToan =(select MAX(TongTienThanhToan) from hoadon); Xây dựng Procedure 4.1 Procedure thêm nhà cung cấp create procedure themloaithuoc @TenLoaiThuoc nvarchar(250) as begin insert into loaithuoc (TenLoaiThuoc) values (@TenLoaiThuoc) end exec themloaithuoc'Thuoc NCC Hong Anh' 4.2 Procedure thêm thông tin thuốc create procedure themthuoc @TenThuoc nvarchar(250), @MaLoaiThuoc int, @SoLuongNhap int as begin insert into thuoc(TenThuoc,MaLoaiThuoc,SoLuongNhap) values(@TenThuoc,@MaLoaiThuoc,@SoLuongNhap) end exec themthuoc 'Thuoc A1','1','30' 4.3 Procedure thêm thơng tin hố đơn create procedure themhoadon @MaThuoc int, @SoLuongBan int, @DonGia int, @TongTienThanhToan float as begin insert into hoadon(MaThuoc,SoLuongBan,DonGia,TongTienThanhToan) values(@MaThuoc,@SoLuongBan,@DonGia,@TongTienThanhToan) end exec themhoadon'2',' 5','100000','500000' 4.4 Procedure sửa thông tin loại thuốc create procedure suathongtinloaithuoc @MaLoaiThuoc int, @TenLoaiThuoc nvarchar(250) as begin update loaithuoc set TenLoaiThuoc=@TenLoaiThuoc where MaLoaiThuoc=@MaLoaiThuoc end exec suathongtinloaithuoc '1','Viem Gan' 4.5 Procedure tìm kiếm loại thuốc theo mã loại thuốc create procedure timkiemloaithuoc @MaLoaiThuoc int as begin select * from loaithuoc where MaLoaiThuoc=@MaLoaiThuoc end exec timkiemloaithuoc '1' Xây dựng Trigger cho CSDL 5.1 Trigger đơn hàng có tổng tiền toán 100.000 create trigger check_tongtientren100 on hoadon for insert,update as if(select TongTienThanhToan from hoadon)>100000 begin print N'Tong tien HD tren 100.000' rollback end; 5.2 Trigger kiểm tra đơn hàng có số lượng nhập 10 sản phẩm 10 create trigger check_soluongnhap on thuoc for insert,update as if(select SoLuongNhap from thuoc)>10 begin print N'So luong nhap tren 10 san pham' rollback end; 5.3 Kiểm tra hố đơn có số lượng sản phẩm bán theo mã thuốc create trigger check_soluongban on hoadon for insert,update as if(select SoLuongBan from hoadon)>5 begin print N'So luong ban tren san pham' rollback end; 5.4 Trigger kiểm tra số lượng sản phẩm đơn hàng create trigger check_SLbanhd on hoadon for update,insert as if(select count(SoLuongBan) from hoadon group by MaThuoc)>5 begin print 'Ban Da mua qua san phẩm' 11 rollback end 5.5 Trigger kiểm tra số lượng hàng bán theo mã hoá đơn create trigger check_SLbantheohd on hoadon for update,insert as if(select count(SoLuongBan) from hoadon group by MaHoaDon)>5 begin print 'Ban Da mua qua san phẩm' rollback end Phân tán sở liệu 6.1 Tạo user có phân quyền create user NguoiDung1 from login [Admin\SQLEXPRESS] grant update,insert,delete on tblHoaDon to User1 create user NguoiDung2 from login [Admin \SQLEXPRESS] grant update,insert,delete on tblThuoc to User2 12 ... khai thác liệu phân tán Phát biểu tốn Xây dựng chương trình quản lý sinh viên gồm thông tin sau: - Quản lý loại thuốc: Chức cho phép quản lý thông tin loại thuốc - Quản lý thuốc: Chức quản lý thông... Chức quản lý thông tin loại thuốc quầy - Quản lý hoá đơn: chức quản lý hoá đơn bán hàng Tạo sở liệu 2.1 Tạo Database Create database QuanLyBanThuoc; Kết 2.2 Tạo loại thuốc create table loaithuoc(... 11 I Đề ĐỀ TÀI Xây dựng chương trình quản lý bán thuốc Yêu cầu cần thực hiện: Xác định bảng Tạo CSDL toán Thực câu lệnh tạo CSDL, tạo bảng chèn liệu cho bảng, bảng tối thiểu ghi