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

Đồ án môn học hệ quản trị cơ sở dữ liệu đề tài tổ chức kinh doanh quản lý nhân viên bán hàng, cửa hàng

31 4 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

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT CÔNG NGHỆ ĐỒ ÁN MÔN HỌC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Đề tài TỔ CHỨC KINH DOANH - QUẢN LÝ NHÂN VIÊN BÁN HÀNG, CỬA HÀNG GVHD: ThS Nguyễn Thị Thủy SVTH: Nhóm Phạm Nguyên Vũ - 2024801030052 Phạm Quang Thành - 2024801030119 Nguyễn Hoàng Ngọc Thụy - 2024801030083 Hồ Sỹ Gia Trung - 2024801030101 Trần Minh Phát - 2024801030232 Lớp: D20KTPM01 - HK1.CQ.06 Tháng 12/2021 0 MỤC LỤC MỤC LỤC i LỜI MỞ ĐẦU ii BẢNG PHÂN CÔNG CHƯƠNG QUẢN LÝ CƠ SỞ DỮ LIỆU 1 Giới thiệu Cơ sở liệu .1 Mô tả Cơ sở liệu Bảng 1: Sales.SalesOrderHeader Bảng 2: Sales.SalesOrderDetail Bảng 3: Sales.Customer Bảng 4: Sales.SalesTerritory Bảng 5: Sales.SalesTerritoryHistory .5 Bảng 6: Sales.Store Bảng 7: Sales.SalesPersonQuotaHistory Bảng 8: Sales.SalesPerson Sơ đồ mối quan hệ CHƯƠNG CÁC THAO TÁC TRÊN CƠ SỞ DỮ LIỆU Tạo View 1.1 View có điều kiện đơn giản bảng 1.2 View có điều kiện đơn giản nhiều bảng 1.3 View có điều kiện phức tạp/ truy vấn lồng bảng 10 1.4 View có điều kiện phức tạp/ truy vấn lồng nhiều bảng 11 1.5 View cập nhật liệu 12 Xây dựng Stored Procedure 12 2.1 Thủ tục không tham số 12 2.2 Thủ tục có tham số mặc định .13 2.3 Thủ tục có tham số output 13 2.4 Thủ tục có tham số input 14 Xây dựng Function .15 3.1 Hàm trả kiểu vô hướng 15 3.2 Hàm trả bảng 17 i 0 3.3 Hàm trả bảng tự định nghĩa .19 Xây dựng Trigger Transaction 20 4.1 Trigger Insert .20 4.2 Trigger Update .20 4.3 Trigger Delete 21 4.4 Transaction (COMMIT ROLL BACK) 21 Tạo User 22 CHƯƠNG KẾT LUẬN 24 TÀI LIỆU THAM KHẢO 25 ii 0 LỜI MỞ ĐẦU Trong thời buổi công nghệ phát triển nhanh nay, thuật ngữ Cơ sở liệu – Database trở nên quen thuộc nhiều lĩnh vực Cơ sở liệu hệ thống thơng tin có cấu trúc, có tính qn lưu trữ thiết bị lưu trữ, nhằm phục vụ nhu cầu khai thác sử dụng cho nhiều người, nhiều chương trình khác Các sở liệu xếp theo cấu trúc riêng, tạo thành trường liệu hay liệu, liên hệ với Được người sử dụng chỉnh sửa, bổ sung, truy cập, truy xuất tùy theo mục đích sử dụng khác nhau, giúp cho việc quản lý liệu trở nên dễ dàng Tuy nhiên, năm gần quy trình, cơng đoạn hay hệ thống quản trị cần mã hóa bảo mật cẩn thận vận hành thiết bị, phần mềm nhằm giúp cho đối tượng sử dụng đạt hiệu làm việc tốt Trên sở đó, hệ sở quản trị liệu đời đóng vai trị quan trọng xử lý, kiểm sốt nguồn thơng tin, liệu đơn lẻ Hệ Quản Trị Cơ Sở Dữ Liệu có chức sau: - Cung cấp cho người dùng môi trường tạo lập sở liệu chuẩn Hệ quản trị CSDL đóng vai trị cung cấp cho người dùng ngôn ngữ cụ thể giúp định nghĩa liệu để mô tả, khai báo kiểu liệu cấu trúc liệu - Cung cấp phương thức cập nhật khai thác liệu hiệu quả: Một hệ quản trị CSDL cung cấp cho người dùng ngôn ngữ dùng để thao tác yêu cầu liệu Nhằm diễn tả yêu cầu, thao tác cập nhật khai thác sở liệu cách triệt để Thao tác liệu bao gồm có: Cập nhật (thêm, xóa, sửa liệu) khai thác (tìm kiếm, truy xuất liệu) - Cung cấp cơng cụ kiểm sốt, điều khiển truy cập vào sở liệu nhằm đảm bảo thực số yêu cầu hệ sở liệu Những công việc bao gồm: Đảm bảo an ninh, phát ngăn chặn hành động truy cập bất hợp pháp Duy trì tính qn liệu Tổ chức điều khiển hoạt động truy iii 0 cập Khôi phục sở liệu xảy cố liên quan đến phần cứng hay phần mềm Quản lí chi tiết mơ tả liệu Vì nhờ vào vai trị chức hữu ích với hiệu suất làm việc cao nên ngày phát triển Sau kết thúc môn học “Hệ quản trị sở liệu”, với vốn kiến thức tích lũy q trình học thực hành nhóm chúng em xin nhận thực đề tài “Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng” iv 0 Đồ án Môn học: Hệ quản trị sở liệu BẢNG PHÂN CƠNG Họ tên Nguyễn Hồng Ngọc Thụy Trần Minh Phát Hồ Sỹ Gia Trung Phạm Nguyên Vũ Phạm Quang Thành Nhiệm vụ Phần mở đầu, chương 1, chương Phần mở đầu, chương 2, chương Chương 2, chương 3, định dạng file Chương 1, chương Chương 2, định dạng file Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu CHƯƠNG QUẢN LÝ CƠ SỞ DỮ LIỆU Giới thiệu Cơ sở liệu Cơ sở liệu minh họa AdventureWorks lấy bối cảnh liệu công ty hư cấu có tên Adventure Works Cycles Đây cho Công ty sản xuất kinh doanh xe đạp làm từ kim loại chất liệu tổng hợp đa quốc gia có qui mơ lớn Modul: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng Mô tả Cơ sở liệu CSDL AdventureWorks Modul Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng gồm có bảng có cấu trúc sau: Bảng 1: Sales.SalesOrderHeader Tên cột SalesOrderID RevisionNumber Mơ tả Khóa Số cộng dồn để theo dõi thay đổi đơn hàng Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu OrderDate bán hàng theo thời gian Ngày tạo đơn đặt hàng DueDate Ngày đặt hàng khách hàng ShipDate Ngày đơn đặt hàng chuyển đến khách hàng Đặt hàng tình trạng = Đang trình; = Được chấp thuận; = Bị tồn đọng; = Bị từ chối; = Đã vận chuyển; = Đã hủy = Đơn hàng người bán hàng đặt = Đơn đặt hàng trực tuyến khách hàng Status OnlineOrderFlag SalesOrderNumber Số định danh đơn hàng bán hàng PurchaseOrderNumber AccountNumber Khách hàng mua hàng số tham chiếu Tham chiếu số tài khoản kế toán Số định danh khách hàng Khóa ngoại cho Customer.BusinessEntityID Người bán hàng tạo đơn đặt hàng Khóa ngoại cho SalesPerson.BusinessEntityID Lãnh thổ nơi giao dịch thực Khóa ngoại SalesTerritory.SalesTerritoryID Địa toán khách hàng Khóa ngoại cho Address.AddressID Địa giao hàng khách hàng Khóa ngoại cho Address.AddressID Phương thức vận chuyển Khóa ngoại cho ShipMethod.ShipMethodID Số định danh thẻ tín dụng Khóa ngoại cho CreditCard.CreditCardID Mã phê duyệt cơng ty phát hành thẻ tín dụng cung cấp Tỷ giá hối đối sử dụng Khóa ngoại cho CurrencyRate.CurrencyRateID Tổng phụ bán hàng Được tính SUM (SalesOrderDetail.LineTotal) cho SalesOrderID thích hợp Số tiền thuế Chi phí vận chuyển CustomerID SalesPersonID TerritoryID BillToAddressID ShipToAddressID ShipMethodID CreditCardID CreditCardApprovalCode CurrencyRateID SubTotal TaxAmt Freight TotalDue Comment rowguid ModifiedDate Tổng số tiền đến hạn từ khách hàng Được tính dạng Subtotal + TaxAmt + Freight Đại diện bán hàng nhận xét Số ROWGUIDCOL định danh ghi Được sử dụng để hỗ trợ mẫu chép hợp Ngày ghi cập nhật lần cuối Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu Bảng 2: Sales.SalesOrderDetail Tên cột Sales Order Identification Sales Order Detail Identification Carrier Tracking Number Order Quantity Product Identification Mô tả Khóa Khóa ngoại cho SalesOrderHeader.SalesOrderID Khóa Một số gia tăng cho sản phẩm bán Số theo dõi lô hàng người gửi hàng cung cấp Số lượng đặt hàng sản phẩm Sản phẩm bán cho khách hàng Khóa ngoại cho Product.ProductID Unit Price Mã khuyến mại Khóa ngoại cho SpecialOffer.SpecialOfferID Giá bán sản phẩm Unit Price Discount Số tiền chiết khấu Line Total Tổng phụ sản phẩm Được tính dạng UnitPrice * (1 - UnitPriceDiscount) * OrderQty rowguid Số ROWGUIDCOL định danh ghi Được sử dụng để hỗ trợ mẫu chép hợp Modification Date Ngày ghi cập nhật lần cuối Special Offer Identification Bảng 3: Sales.Customer Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu Tên cột Mơ tả CustomerID Khóa PersonID Khóa ngoại cho Person.BusinessEntityID StoreID Khóa ngoại cho Store.BusinessEntityID TerritoryID ID lãnh thổ mà khách hàng sinh sống Khóa ngoại cho SalesTerritory.SalesTerritoryID AccountNumbe r Số định danh cho khách hàng hệ thống kế toán ấn định rowguid Số ROWGUIDCOL định danh ghi Được sử dụng để hỗ trợ mẫu chép hợp ModifiedDate Ngày ghi cập nhật lần cuối Bảng 4: Sales.SalesTerritory Tên cột TerritoryID Name CountryRegionCode Mơ tả Khóa cho ghi SalesTerritory Mô tả lãnh thổ bán hàng Mã quốc gia vùng tiêu chuẩn ISO Khóa ngoại cho CountryRegion.CountryRegionCode Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu 1.4 View có điều kiện phức tạp/ truy vấn lồng nhiều bảng - Yêu cầu: Tạo View hiển thị danh sách hóa đơn có SubTotal (Tổng phụ bán hàng) > 3500 có 70 loại sản phẩm - Code: CREATE VIEW vw_ListInvoicesHaveLotsOfProducts AS SELECT * FROM Sales.SalesOrderHeader WHERE SubTotal > 3500 AND ( SELECT COUNT(*) FROM Sales.SalesOrderDetail WHERE SalesOrderID = Sales.SalesOrderHeader.SalesOrderID ) > 70 GO SELECT * FROM vw_ListInvoicesHaveLotsOfProducts - Kết quả: 11 Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu 1.5 View cập nhật liệu - Yêu cầu: Nhận thấy SubTotal hóa đơn cao, tăng nhẹ 10% thuế (TaxAmt) cho hóa đơn có SubTotal cao View vw_ListInvoicesHaveLotsOfProducts - Code: SELECT TOP SalesOrderID, SubTotal, TaxAmt FROM vw_ListInvoicesHaveLotsOfProducts ORDER BY SubTotal DESC GO UPDATE vw_ListInvoicesHaveLotsOfProducts SET TaxAmt *= 1.1 WHERE SubTotal = ( SELECT MAX(SubTotal) FROM vw_ListInvoicesHaveLotsOfProducts ) GO SELECT TOP SalesOrderID, SubTotal, TaxAmt FROM vw_ListInvoicesHaveLotsOfProducts ORDER BY SubTotal DESC - Kết quả: Xây dựng Stored Procedure 2.1 Thủ tục không tham số - Yêu cầu: Viết thủ tục lấy tiền thưởng cao bảng Sales.SalesPerson - Code: CREATE PROC sp_GetMaxBonus AS SELECT MAX(Bonus) AS MaxBonus FROM Sales.SalesPerson GO EXEC sp_GetMaxBonus 12 Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu - Kết quả: 2.2 Thủ tục có tham số mặc định - Yêu cầu: Viết thủ tục có tham số mặc định @ID = 274 lấy tổng số lượng hạn ngạch bán hàng (TotalSalesQuota) ID - Code: CREATE PROC sp_GetTotalSalesQuota @ID INT = 274 AS SELECT BusinessEntityID, SUM(SalesQuota) AS TotalSalesQuota FROM Sales.SalesPersonQuotaHistory WHERE BusinessEntityID = @ID GROUP BY BusinessEntityID GO EXEC sp_GetTotalSalesQuota - Kết quả: 2.3 Thủ tục có tham số output - Yêu cầu: Viết thủ tục có chứa tham số output, người dùng truyền vào mã quốc gia hiển thị thơng tin đếm số lượng lãnh thổ thuộc quốc gia - Code: CREATE PROC sp_CountTerritory @Code VARCHAR(2), @TerritoryCount INT OUTPUT 13 Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu AS BEGIN SELECT * FROM Sales.SalesTerritory WHERE CountryRegionCode = @Code SET @TerritoryCount = @@ROWCOUNT END GO DECLARE @Count INT EXEC sp_CountTerritory 'AU', @Count OUTPUT SELECT @Count AS NumberOfTerritory - Kết quả: 2.4 Thủ tục có tham số input - Yêu cầu 1: Viết thủ tục tính tổng tiền thu (TotalDue) khách hàng tháng năm (tham số tháng năm) nhập từ bàn phím, thơng tin gồm: CustomerID, SumofTotalDue = Sum(TotalDue) - Code yêu cầu 1: CREATE PROC sp_SumOfTotalDue @CustomerID INT, @Year INT, @Month INT AS BEGIN SELECT CustomerID, SUM(TotalDue) AS SumOfTotalDue FROM Sales.SalesOrderHeader WHERE CustomerID = @CustomerID AND YEAR(OrderDate) = @Year AND MONTH(OrderDate) = @Month GROUP BY CustomerID END GO EXEC sp_SumOfTotalDue 29825, 2011, 14 Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu SalesQuota Bonus CommissionPct SalesYTD SalesLastYear rowguid ModifiedDate SalesTerritory.SalesTerritoryID Doanh số dự kiến hàng năm Tiền thưởng đến hạn đáp ứng đủ hạn ngạch Phần trăm hoa hồng nhận lần bán hàng Tổng doanh số từ năm đến Sales total of the previous year Số ROWGUIDCOL định danh ghi Được sử dụng để hỗ trợ mẫu chép hợp Ngày ghi cập nhật lần cuối 0 Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu Sơ đồ mối quan hệ SalesTerritoryHistory (Sales) BusinessEntityID TerritoryID StartDate EndDate rowguid ModifiedDate SalesTerritory (Sales) Territ oryID Name CountryRegionCode [Group] SalesYTD SalesLast Year CostYTD CostLastYear rowguid ModifiedDate Store (Sales) BusinessEntityID Name SalesPersonID Demographics rowguid ModifiedDate SalesPerson (Sales) BusinessEntityID TerritoryID SalesQuota Bonus CommissionPct SalesYTD SalesLastYear rowguid Customer (Sales) Cust omerID PersonID ModifiedDate StoreID Territ oryID AccountNumber rowguid ModifiedDate SalesPersonQuotaHistory (Sales) BusinessEntityID QuotaDate SalesQuota rowguid ModifiedDate SalesOrderHeader (Sales) SalesOrderID RevisionNumber OrderDate DueDate SalesOrderDetail (Sales) Ship Date SalesOrderID Status SalesOrderDetailID OnlineOrderFlag CarrierTrackingNumber SalesOrderNumber OrderQty PurchaseOrderNumber ProductID AccountNumber SpecialOfferID CustomerID UnitPrice SalesPersonID UnitPriceDiscount TerritoryID LineTotal BillToAddressID rowguid Ship ToAddressID ModifiedDate Ship MethodID CreditCardID CreditCardApprovalCode CurrencyRateID SubTotal TaxAmt Freight TotalDue Comment rowguid ModifiedDate Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu CHƯƠNG CÁC THAO TÁC TRÊN CƠ SỞ DỮ LIỆU Tạo View 1.1 View có điều kiện đơn giản bảng - Yêu cầu: Tạo View tính tổng trị giá hóa đơn với Mã theo dõi giao hàng (CarrierTrackingNumber) có ký tự đầu 4BD, thông tin bao gồm: SalesOrderID CarrierTrackingNumber, SubTotal = SUM(OrderQty * UnitPrice) - Code: CREATE VIEW vw_TotalValueOfInvoices AS SELECT SalesOrderID, CarrierTrackingNumber, SUM(OrderQty * UnitPrice) AS Sub FROM Sales.SalesOrderDetail WHERE CarrierTrackingNumber LIKE '4BD%' GROUP BY SalesOrderID, CarrierTrackingNumber GO SELECT * FROM vw_TotalValueOfInvoices Kết quả: 1.2 View có điều kiện đơn giản nhiều bảng - Yêu cầu: Tạo View hiển thị top tổng doanh số cao từ cột TotalDue năm tháng cho khách hàng - Code: CREATE VIEW vw_CustomerTotals AS SELECT TOP C.CustomerID, YEAR(OrderDate) AS OrderYear, MONTH(OrderDate OrderMonth, SUM(TotalDue) AS TotalSales Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng Đồ án Môn học: Hệ quản trị sở liệu FROM Sales.Customer C, Sales.SalesOrderHeader SOH WHERE C.CustomerID = SOH.CustomerID GROUP BY C.CustomerID, YEAR(OrderDate), MONTH(OrderDate) 0 ORDER BY TotalSales DESC GO Trang SELECT * FROM vw_CustomerTotals - Kết quả: 1.3 View có điều kiện phức tạp/ truy vấn lồng bảng - Yêu cầu: Tạo View liệt kê danh sách hóa đơn (SalesOrderID) lặp từ 01/05/2011 đến 31/10/2011 có tổng tiền > 100000, thơng tin gồm SalesOrderID, Orderdate, SubTotal SubTotal = SUM(OrderQty * UnitPrice) - Code: CREATE VIEW vw_ListDuplicateInvoices AS SELECT SalesOrderID, OrderDate, SubTotal FROM Sales.SalesOrderHeader WHERE (OrderDate BETWEEN '2011-05-01' AND '2011-10-31') AND SubTotal > 100000 AND ( SELECT COUNT(*) FROM Sales.SalesOrderDetail WHERE SalesOrderID = Sales.SalesOrderHeader.SalesOrderID ) > GO SELECT * FROM vw_ListDuplicateInvoices - Kết quả: 10 Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu 1.4 View có điều kiện phức tạp/ truy vấn lồng nhiều bảng 0 - Yêu cầu: Tạo View hiển thị danh sách hóa đơn có SubTotal (Tổng phụ bán hàng) > 3500 có 70 loại sản phẩm - Code: CREATE VIEW vw_ListInvoicesHaveLotsOfProducts AS SELECT * FROM Sales.SalesOrderHeader WHERE SubTotal > 3500 AND ( SELECT COUNT(*) FROM Sales.SalesOrderDetail WHERE SalesOrderID = Sales.SalesOrderHeader.SalesOrderID ) > 70 GO SELECT * FROM vw_ListInvoicesHaveLotsOfProducts - Kết quả: 11 Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang Đồ án Môn học: Hệ quản trị sở liệu 1.5 View cập nhật liệu - Yêu cầu: Nhận thấy SubTotal hóa đơn cao, tăng nhẹ 10% thuế (TaxAmt cho hóa đơn có SubTotal cao View vw_ListInvoicesHaveLotsOfProducts - Code: SELECT TOP SalesOrderID, SubTotal, TaxAmt FROM vw_ListInvoicesHaveLotsOfProducts ORDER BY SubTotal DESC GO UPDATE vw_ListInvoicesHaveLotsOfProducts SET TaxAmt *= 1.1 WHERE SubTotal = ( SELECT MAX(SubTotal) FROM vw_ListInvoicesHaveLotsOfProducts ) GO SELECT TOP SalesOrderID, SubTotal, TaxAmt FROM vw_ListInvoicesHaveLotsOfProducts ORDER BY SubTotal DESC - Kết quả: 0 Xây dựng Stored Procedure 2.1 Thủ tục không tham số - Yêu cầu: Viết thủ tục lấy tiền thưởng cao bảng Sales.SalesPerson - Code: CREATE PROC sp_GetMaxBonus AS SELECT MAX(Bonus) AS MaxBonus FROM Sales.SalesPerson GO EXEC sp_GetMaxBonus 12 Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng 0 Trang

Ngày đăng: 27/12/2023, 05:11

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w