Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
1,27 MB
Nội dung
lOMoARcPSD|9234052 PHÂN HIỆU TRƯỜNG ĐẠI HỌC THUỶ LỢI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN MÔN HỌC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ĐỀ TÀI: QUẢN LÍ BÁN LINH KIỆN MÁY TÍNH ONLINE Giảng viên: Th.s VIÊN THANH NHÃ Sinh viên: Trần Ngọc Thịnh Lớp: S22-61TH2 Mã số sinh viên: 1951065260 TP.Hồ Chí Minh, ngày 31 tháng 10 năm 2021 lOMoARcPSD|9234052 LỜI NĨI ĐẦU Ngày nay, song song với q trình phát triển cơng nghệ khoa học kỹ thuật ngành Cơng Nghệ Thơng Tin đóng vai trị quan trọng, đạt thành tựu khoa học kỹ thuật rực rỡ với bước tiến nhảy vọt Với việc áp dụng công nghệ khoa học kỹ thuật vào lĩnh vực đời sống người ngày tăng không ngừng can thiệp vào hầu hết công việc đời sống Đi đôi với phát triển công nghệ chế tạo thiết bị máy tính việc sản phẩm phần mềm ứng dụng đời có tính chất định việc áp dụng ngành khoa học Với bùng nổ năm gần đây, Thương mại điện tử hình thức kinh doanh tiềm nhiều doanh nghiệp, nhà bán lẻ hướng tới Đặc biệt năm 2020 tại, đại dịch Covid-19 mang đến nhiều biến động kinh tế lại góp phần tăng trưởng phá cho Thương mại điện tử Chương trình web quản lí bán hàng online chương trình xây dựng nhằm đáp ứng địi hỏi đặt q trình quản lý số lượng hàng hoá, đơn đặt hàng,…và nhiều cơng việc khác cách nhanh chóng thuận tiện, xác cách có hệ thống Vì thời gian kinh nghiệm cịn hạn chế nên khơng thể tránh khỏi thiếu sót Rất mong đóng góp thầy để đề tài sau hoàn thiện lOMoARcPSD|9234052 LỜI CẢM ƠN Em xin gửi lời cảm ơn sâu sắc đến thầy Viên Thanh Nhã chủ nhiệm môn Hệ quản trị hệ sở liệu môn Công nghệ Web giúp đỡ em nhiều thời gian vừa qua Nhờ tiết dạy thầy tiếp thêm lửa ham học em, say mê tìm hiểu Cơng Nghệ Thơng Tin, tiết học thầy không dạy học mà xen kẽ dạy cách làm người, sống cho tốt giúp em phát triển mặt tiết học thầy Em cảm ơn thầy nhiều ! lOMoARcPSD|9234052 MỤC LỤC LỜI NÓI ĐẦU LỜI CẢM ƠN CHƯƠNG I PHÂN TÍCH THIẾT KẾ HỆ THỐNG 1.1 Mơ tả tốn 1.2 Mô tả chức hệ thống 1.3 Xây dựng mơ hình liên kết thực thể 1.4 Mơ hình quan hệ ERD 1.5 Mô tả bảng 10 CHƯƠNG II CÀI ĐẶT CƠ SỞ DỮ LIỆU 14 2.1 Tạo database 14 2.2 Cài đặt bảng 14 2.2.1 Tạo bảng TheLoai 14 2.2.2 Tạo bảng KhachHang 14 2.2.3 Tạo bảng NhanVien 15 2.2.4 Tạo bảng DonDatHang 15 2.2.5 Tạo bảng NhaCungCap 15 2.2.6 Tạo bảng ThuongHieu 15 2.2.7 Tạo bảng SanPham 16 2.2.8 Tạo bảng ThuongHieuSanPham 16 2.2.9 Tạo bảng ChiTietDH 16 2.2.10 Tạo bảng DanhGiaSanPham 17 2.3 Câu lệnh 17 2.3.1 INSERT 17 2.3.2 UPDATE 25 lOMoARcPSD|9234052 2.3.3 DELETE 26 2.3.4 Truy vấn 28 2.3.4.1 Câu truy vấn sử dụng điều kiện WHERE 28 2.3.4.2 Câu truy vấn sử dụng điều kiện WHERE + GROUP BY 29 2.3.4.3 Câu truy vấn sử dụng điều kiện WHERE + GROUP BY + ORDER BY 30 2.3.4.4 Câu truy vấn sử dụng gom nhóm có điều kiện 31 2.3.4.5 Câu truy vấn sử dụng LEFT JOIN, FULL JOIN, RIGHT JOIN 32 2.3.4.6 Câu truy vấn sử dụng truy vấn 35 2.3.4.7 Câu truy vấn sử dụng EXCEPT, INTERSECT, UNION 36 2.3.5 VIEW 39 2.3.6 STORE PROCEDURE (Thủ tục) 40 2.3.7 FUNCTION (Hàm) 43 2.3.8 CLUSTER INDEX NONE CLUSTER INDEX 48 2.3.9 TRIGGER 49 2.3.10 CURSOR 52 2.3.11 BACKUP 53 2.3.12 PERMISSIONS (Phân quyền) 53 CHƯƠNG III TỔNG KẾT 55 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 56 lOMoARcPSD|9234052 PHỤ LỤC TRA CỨU HÌNH Hình 1.1 Sơ đồ thực thể Hình 1.2 Sơ đồ ERD BẢNG Bảng 1.1: THELOAI 10 Bảng 1.2: KHACHHANG 10 Bảng 1.3: NHANVIEN 11 Bảng 1.4: DONDATHANG 11 Bảng 1.5: NHACUNGCAP 11 Bảng 1.6: THUONGHIEU 12 Bảng 1.7: SANPHAM 12 Bảng 1.8: THUONGHIEUSANPHAM 13 Bảng 1.9: CHITIETDH 13 Bảng 1.10: DANHGIASANPHAM 13 lOMoARcPSD|9234052 CHƯƠNG I PHÂN TÍCH THIẾT KẾ HỆ THỐNG 1.1 Mơ tả tốn Cửa hàng linh kiện máy tính NT226 Computer Tp Hồ Chí Minh chuyên bán linh kiện máy tính Để thiết kế website bán hàng dùng để khách hàng đặt hàng online quản lý tài khoản nhân viên, khách hàng, quản lý sản phẩm, báo cáo doanh thu,…diễn cách thuận lợi, dễ dàng cần có sở liệu hồn chỉnh Khách hàng có nhu cầu mua sản phẩm truy cập vào website chọn sản phẩm cần mua đăng nhập để nhập thông tin toán đơn hàng chuyển tới nhân viên Khi hố đơn xuất tự động trừ số lượng tồn sản phẩm Nhờ đó, sở liệu quản lý số lượng lại 1.2 Mô tả chức hệ thống Hệ thống quản lý NT226 Computer gồm chức năng: - Quản lý sản phẩm Xem thông tin nhà cung cấp sản phẩm Cập nhật thông tin sản phẩm Thêm sản phẩm Xoá sản phẩm - Quản lý bán hàng Tìm sản phẩm: giúp khách hàng tìm sản phẩm mong muốn nhanh Quản lý đơn hàng: sau đặt hàng thành công khách hàng xem lại hố đơn - Quản lý nhân viên Thêm: có nhân viên mới, quản lý tạo cho nhân viên tài khoản để đăng nhập vào hệ thống Xoá: có nhân viên nghỉ việc, quản lý xố tài khoản khỏi hệ thống Cập nhật: cho phép nhân viên thay đổi thông tin cá nhân - Báo cáo Lập báo cáo xem doanh thu cửa hàng lOMoARcPSD|9234052 - Phân quyền Nhân viên: phép xem bảng DonDatHang, SanPham, TheLoai, DanhGiaSanPham, ThuongHieu, ThuongHieuSanPham, NhaCungCap xem cột MaKH, HoTenKH, SDT, DiaChiGiaoHang, Email bảng KhachHang quyền thêm vào bảng DonDatHang Quản lý: phép xem, thêm sửa tất bảng 1.3 Xây dựng mơ hình liên kết thực thể Hình 1.1 Sơ đồ thực thể lOMoARcPSD|9234052 1.4 Mơ hình quan hệ ERD NhaCungCap TheLoai MaNCC MaTL TenTL MoTa ThuongHieuSanPham MaThuongHieu MaSanPham SanPham TenNCC MaSP DiaChi TenSP Email GiaSP SDT GiaKhuyenMai fax MaLoai MaNCC MoTa SoLuongTon DanhGiaSanPham id ThuongHieu MaSP MaTH TenTH DiaChi SDT Email NhanVien ChiTietDH MaKH MaSP TenDanhGia SoDH ChatLuong SoLuong GiaTien GiaTien NoiDung GiamGia NgayDanhGia DonDatHang KhachHang MaNV SoDH HoTenNV NgayDH MaKH NgaySinh TrangThaiDH HoTenKH GioiTinh NgayDuKienGiao NgaySinh SDT NgayThucTeGiao GioiTinh Email MaKH SDT MaNVQL MaNV DiaChiGiaoHang Email Hình 1.2 Sơ đồ ERD lOMoARcPSD|9234052 1.5 Mô tả bảng Tên trường MaTL Mô tả Độ dài Kiểu liệu Mã thể loại nchar 20 TenTL Tên thể loại nvarchar 255 MoTa Mô tả thể loại nvarchar 255 Bảng 1.1: THELOAI Tên trường MaKH Mô tả Độ dài Kiểu liệu Mã khách hàng nchar 20 HoTenKH Họ tên khách hàng nvarchar 255 NgaySinh Ngày sinh date GioiTinh Giới tính nvarchar 20 SDT Số điện thoại nchar 50 DiaChiGiaoHang Địa giao hàng nvarchar 255 Email Email khách hàng nchar 50 Bảng 1.2: KHACHHANG Tên trường MaNV Mô tả Độ dài Kiểu liệu Mã nhân viên nchar 20 HoTenNV Họ tên nhân viên nvarchar 255 NgaySinh Ngày sinh date GioiTinh Giới tính nvarchar 20 10 lOMoARcPSD|9234052 Chạy thử exec thongtin_thuonghieusanpham Câu 3: Viết store procedure cho biết sản phẩm có thông tin thương hiệu, hiển thị masp, tensp, soluongton create procedure thongtin_thuonghieusanpham1 as begin select s.MaSP, s.TenSP, s.SoLuongTon Code from SanPham s where s.MaSP in (select s.MaSP intersect select thsp.MaSanPham from ThuongHieuSanPham thsp) end 42 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 Chạy thử exec thongtin_thuonghieusanpham1; Câu 4: Viết store procedure xố dịng liệu với tham số đầu vào masp Code create procedure xoa_sanpham(@masp nchar(20)) as begin delete from SanPham where MaSP = @masp; end Chạy thử exec xoa_sanpham 'SP008' 2.3.7 FUNCTION (Hàm) 43 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 Câu 1: Viết function thành tiền create function thanhtien(@soluong int, @giatien float, @giamgia float) Code returns dec(10,2) as begin return @soluong*@giatien-@giamgia; end Chạy thử select dbo.thanhtien(2,10000,5000) as ThanhTien; Câu 2: Viết function cho biết số lượng sản phẩm có số lượng tồn lớn số lượng tồn nhận giá trị từ bên create function dem_sanpham_soluongton (@soluongton int) returns int as begin declare @dem int = Code select @dem = count(*) from ( select s.SoLuongTon from SanPham s where s.SoLuongTon >= @soluongton ) as soluongton_sanpham return @dem end 44 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 Chạy thử print dbo.dem_sanpham_soluongton(30) Câu 3: Viết function tính tiền đơn hàng có sodh nhập từ bàn phím create function thanhtien_donhang (@sodh nchar(20)) returns dec(10,2) as Code begin declare @thanhtien_donhang dec(10,2) select @thanhtien_donhang = sum(tt.thanhtien) from (select *, dbo.thanhtien(soluong,giatien,giamgia) as thanhtien from ChiTietDH where SoDH = @sodh) as tt return @thanhtien_donhang end Kết print dbo.thanhtien_donhang('DH002') Câu 4: Viết function tính tổng số tiền tất đơn hàng mà khách hàng mua có makh nhập từ bàn phím 45 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 create function tongtien_khachhang (@makh nchar(20)) returns dec(10,2) as begin Code declare @tongtien dec(10,2) select @tongtien = sum(tt.thanhtien) from (select c.*, d.MaKH, dbo.thanhtien(soluong,giatien,giamgia) as thanhtien from ChiTietDH c full join DonDatHang d on d.SoDH = c.SoDH where d.MaKH = @makh) as tt return @tongtien end Kết print dbo.tongtien_khachhang('KH001') Câu 5: Viết function trả danh sách sản phẩm gồm masp, tensp, giasp từ thể loại nhập từ bàn phím create function sanpham_theloai(@math nchar(20)) Code returns table as return select MaSP, TenSP, GiaSP from SanPham s where s.MaLoai = @math 46 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 Kết select * from sanpham_theloai('TL002') Câu 6: Viết function trả danh sách người dùng, khách hàng create function danhsach_nguoidung() returns @lienhe table ( ma nchar(20), nguoidung nvarchar(20) ) as begin Code insert into @lienhe select manv, N'Nhân viên' from NhanVien insert into @lienhe select makh, N'Khách hàng' from KhachHang return; end 47 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 Kết select * from danhsach_nguoidung(); 2.3.8 CLUSTER INDEX NONE CLUSTER INDEX tạo bảng khachhang_nonindex lấy liệu từ khachhang select * into khachhang_noindex from KhachHang Code Câu 1: Tạo index cluster cho bảng khachhang_noindex create clustered index id_makh on khachhang_noindex(makh) Câu 2: Đổi tên clustered index id_makh thành id_makh_khachhang Code EXEC sp_rename 'khachhang_noindex.id_makh', 'id_makh_khachhang', 'INDEX'; 48 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 Code Câu 3: Tạo nonclustered index cho cột hotenkh bảng khachhang create nonclustered index id_hotenkh_customer on khachhang(hotenkh) Code Câu 4: Tạo unique nonclustered index cho email bảng nhanvien create unique nonclustered index unionclus_nhanvien on nhanvien(email) 2.3.9 TRIGGER Câu 1: Khi xố dịng bảng ChiTietDH phải tăng số lượng tồn sản phẩm create trigger tr_xoaCTDH on ChiTietDH Code for delete as update SanPham set SoLuongTon = SoLuongTon + SoLuong from deleted where SanPham.MaSP = deleted.MaSP Câu 2: Khi thêm dịng bảng ChiTietDH phải trừ số lượng tồn sản phẩm 49 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 create trigger tr_themCTDH on ChiTietDH for insert as declare @D int select @D = count(*) from SanPham s, inserted i Code where s.MaSP=i.MaSP and s.SoLuongTon - i.SoLuong 0) begin print N'Không đủ sản phẩm để bán' rollback tran return end update SanPham set SoLuongTon = SoLuongTon - SoLuong from inserted where SanPham.MaSP = inserted.MaSP Câu 3: Khi thay đổi cột số lượng bảng ChiTietDH cập nhật lại số lượng tồn bảng sản phẩm 50 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 create trigger tr_suaCTDH on chitietdh for update as declare @D int select @D = count(*) from SanPham s, deleted d, inserted i where s.MaSP=d.MaSP Code and s.MaSP=i.MaSP and s.SoLuongTon + d.SoLuong - i.SoLuong 0) begin print N'Không đủ sản phẩm để bán' rollback tran return end update SanPham set SoLuongTon = s.SoLuongTon +d.SoLuong i.SoLuong from SanPham s, deleted d, inserted i where s.MaSP = i.MaSP Câu 4: Kiểm tra dem >4 thơng báo khơng mua q mặt hàng create trigger tr_soCTDH on ChiTietDH for insert as Code if(select count(c.sodh) from ChiTietDH c, inserted i where c.SoDH=i.SoDH)>4 begin print 'Số mặt hàng 4' rollback transaction end 51 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 2.3.10 CURSOR Câu 1: Sử dụng cursor backup liệu sở liệu declare @name nvarchar(100) declare @path nvarchar(256) declare @filename nvarchar(256) declare @datefile nvarchar(100) set @path='D:\backup\' select @datefile=CONVERT(nvarchar(20),getdate(),112) print @datefile Code declare cursordb cursor for select name from master.dbo.sysdatabases where name ='QLCuaHangMayTinh_TranNgocThinh' open cursordb fetch next from cursordb into @name set @filename=@path + @name+ '_'+@datefile+'.bak' backup database @name to disk = @filename close cursordb deallocate cursordb Câu 2: Sử dụng cursor để thực đọc liệu từ bảng nhân viên 52 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 declare @manv nchar(20) declare @hotennv nchar(255) declare @sdt nchar(20) declare cursorNhanVien cursor for select manv, hotennv, sdt from NhanVien open cursorNhanVien Code fetch next from cursorNhanVien into @manv, @hotennv, @sdt while @@FETCH_STATUS = begin print N'Mã NV:' + @manv print N'Tên NV:' + @hotennv print N'SDT:' + @sdt fetch next from cursorNhanVien into @manv, @hotennv, @sdt end close cursorNhanVien deallocate cursorNhanVien 2.3.11 BACKUP Code Câu: Phục hổi liệu mà lưu restore database qlmy from disk = 'D:\backup\QLCuaHangMayTinh_TranNgocThinh' 2.3.12 PERMISSIONS (Phân quyền) 53 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 Câu: Cấp quyền xem bảng DonDatHang, SanPham, TheLoai, DanhGiaSanPham, ThuongHieu, ThuongHieuSanPham, NhaCungCap KhachHang xem MaKH, HoTenKH, SDT, DiaChiGiaoHang, Email, quyền thêm vào bảng DonDatHang, tạo tài khoản create login nhanvien with password ='1'; tạo người dùng create user tran_ngoc_thinh for login nhanvien; cấp quyền Code grant select, insert on DonDatHang to tran_ngoc_thinh; grant select on SanPham to tran_ngoc_thinh; grant select(MaKH, HoTenKH, SDT, DiaChiGiaoHang, Email) on KhachHang to tran_ngoc_thinh; grant select on TheLoai to tran_ngoc_thinh; grant select on DanhGiaSanPham to tran_ngoc_thinh; grant select on ThuongHieu to tran_ngoc_thinh; grant select on ThuongHieuSanPham to tran_ngoc_thinh; grant select on NhaCungCap to tran_ngoc_thinh; 54 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 CHƯƠNG III TỔNG KẾT 3.1 Ưu điểm • Hệ thống quản lý đầy đủ chức phục vụ cho việc quản lý, bán hàng • Quản lý doanh thu cửa hàng • Khi bán hàng tự động cập nhật liệu tồn sản phẩm giúp quản lý dễ dàng • Có phân quyền nhân viên hạn chế truy chức truy cập vào liệu giúp bảo đảm liệu • Tự động lưu liệu đề phòng trường hợp liệu bị bất khả kháng 3.2 Nhược điểm • Hệ sở liệu chưa tối ưu • Bảo mật 3.3 Hướng phát triển • Tiếp tục học tập, nghiên cứu nâng cao kĩ để dần khắc phục hạn chế • Xây dựng bảo mật liệu tốt • Tối ưu hố sở liệu giúp truy cập liệu nhanh 55 Downloaded by Heo Út (quangutbin@gmail.com) lOMoARcPSD|9234052 KẾT LUẬN Qua báo cáo này, em hiểu cách để tạo hệ quản trị sở liệu với nhiều tính chi tiết hơn, kế thừa từ mơn sở liệu Hệ sở liệu em cịn chưa tối ưu hố cịn nhiều thiếu xót mong thầy đọc góp ý để em rút kinh nghiệm phát triển hệ sở liệu cách hoàn thiện Em xin cảm ơn thầy! TÀI LIỆU THAM KHẢO Bài giảng môn Các Hệ Cơ Sở Dữ Liệu Th.s Viên Thanh Nhã Tài liệu tham khảo thầy Viên Thanh Nhã 56 Downloaded by Heo Út (quangutbin@gmail.com) ... THIẾT KẾ HỆ THỐNG 1.1 Mơ tả tốn Cửa hàng linh kiện máy tính NT226 Computer Tp Hồ Chí Minh chuyên bán linh kiện máy tính Để thiết kế website bán hàng dùng để khách hàng đặt hàng online quản lý tài. .. mong đóng góp thầy để đề tài sau hồn thiện lOMoARcPSD|9234052 LỜI CẢM ƠN Em xin gửi lời cảm ơn sâu sắc đến thầy Viên Thanh Nhã chủ nhiệm môn Hệ quản trị hệ sở liệu môn Công nghệ Web giúp đỡ em nhiều... phát triển cơng nghệ khoa học kỹ thuật ngành Cơng Nghệ Thơng Tin đóng vai trị quan trọng, đạt thành tựu khoa học kỹ thuật rực rỡ với bước tiến nhảy vọt Với việc áp dụng công nghệ khoa học kỹ thuật