1. Trang chủ
  2. » Tất cả

Đồ á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 23 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Tổ Chức Kinh Doanh - Quản Lý Nhân Viên Bán Hàng, Cửa Hàng
Tác giả Nhóm 8 Phạm Nguyên Vũ, Phạm Quang Thành, Nguyễn Hoàng Ngọc Thụy, Hồ Sỹ Gia Trung, Trần Minh Phát
Người hướng dẫn ThS. Nguyễn Thị Thủy
Trường học Trường Đại Học Thủ Dầu Một
Chuyên ngành Hệ Quản Trị Cơ Sở Dữ Liệu
Thể loại Đồ án môn học
Năm xuất bản 2021
Thành phố Thủ Dầu Một
Định dạng
Số trang 31
Dung lượng 1,59 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1. QUẢN LÝ CƠ SỞ DỮ LIỆU (7)
    • 1. Giới thiệu Cơ sở dữ liệu (7)
    • 2. Mô tả Cơ sở dữ liệu (7)
    • 3. Sơ đồ mối quan hệ (14)
  • CHƯƠNG 2. CÁC THAO TÁC TRÊN CƠ SỞ DỮ LIỆU (15)
    • 1. Tạo các View (15)
      • 1.1. View có điều kiện đơn giản trên 1 bảng (15)
      • 1.2. View có điều kiện đơn giản trên nhiều bảng (15)
      • 1.3. View có điều kiện phức tạp/ truy vấn lồng trên 1 bảng (16)
      • 1.4. View có điều kiện phức tạp/ truy vấn lồng trên nhiều bảng (17)
      • 1.5. View cập nhật dữ liệu (18)
    • 2. Xây dựng các Stored Procedure (18)
      • 2.1. Thủ tục không tham số (18)
      • 2.2. Thủ tục có tham số mặc định (19)
      • 2.3. Thủ tục có tham số output (19)
      • 2.4. Thủ tục có tham số input (20)
    • 3. Xây dựng các Function (0)
      • 3.1. Hàm trả về kiểu vô hướng (0)
      • 3.2. Hàm trả về bảng (0)
      • 4.1. Trigger Insert (0)
      • 4.2. Trigger Update (0)
      • 4.3. Trigger Delete (0)
      • 4.4. Transaction (COMMIT và ROLL BACK) (0)
    • 5. Tạo các User (0)
  • CHƯƠNG 3. KẾT LUẬN (0)
  • TÀI LIỆU THAM KHẢO (0)

Nội dung

Đượ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ý các dữliệu trở nên dễ dàng hơn.Tuy nhiên, trong những năm gần đây nhữ

QUẢN LÝ CƠ SỞ DỮ LIỆU

Giới thiệu Cơ sở dữ liệu

Cơ sở dữ liệu AdventureWorks mô phỏng hoạt động của công ty hư cấu mang tên Adventure Works Cycles, một tập đoàn đa quốc gia lớn chuyên sản xuất và kinh doanh xe đạp làm từ kim loại và các chất liệu tổng hợp Dữ liệu này giúp các nhà phát triển và doanh nghiệp hiểu rõ hơn về quy trình kinh doanh, quản lý sản phẩm và hoạt động của một công ty sản xuất xe đạp quy mô lớn AdventureWorks là một ví dụ minh họa lý tưởng cho các ứng dụng quản lý dữ liệu và phân tích kinh doanh trong môi trường thực tế ảo.

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ở dữ liệu

CSDL AdventureWorks trong Modul Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng gồm có 8 bảng có cấu trúc như sau:

RevisionNumber Số cộng dồn để theo dõi những thay đổi đối với đơn hàng bán hàng theo thời gian.

OrderDate Ngày tạo đơn đặt hàng.

DueDate Ngày đặt hàng là do khách hàng.

ShipDate Ngày đơn đặt hàng được chuyển đến khách hàng.

Status Đặt hàng tình trạng hiện tại 1 = Đang trong quá trình; 2 Được chấp thuận; 3 = Bị tồn đọng; 4 = Bị từ chối; 5 = Đã vận chuyển; 6 = Đã hủy

OnlineOrderFlag 0 = Đơn hàng do người bán hàng đặt 1 = Đơn đặt hàng trực tuyến của khách hàng.

SalesOrderNumber Số định danh đơn hàng bán hàng duy nhất.

PurchaseOrderNumber Khách hàng mua hàng số tham chiếu.

AccountNumber Tham chiếu số tài khoản kế toán

CustomerID Số định danh khách hàng Khóa ngoại cho

SalesPersonID Người bán hàng đã tạo đơn đặt hàng Khóa ngoại cho

TerritoryID Lãnh thổ nơi giao dịch được thực hiện Khóa ngoại đối với SalesTerritory.SalesTerritoryID.

BillToAddressID Địa chỉ thanh toán của khách hàng Khóa ngoại cho

ShipToAddressID Địa chỉ giao hàng của khách hàng Khóa ngoại cho

ShipMethodID Phương thức vận chuyển Khóa ngoại cho

CreditCardID Số định danh thẻ tín dụng Khóa ngoại cho

CreditCardApprovalCode Mã phê duyệt do công ty phát hành thẻ tín dụng cung cấp. CurrencyRateID Tỷ giá hối đoái được sử dụng Khóa ngoại cho

SubTotal Tổng phụ bán hàng Được tính là SUM

(SalesOrderDetail.LineTotal) cho SalesOrderID thích hợp.

Freight Chi phí vận chuyển.

TotalDue Tổng số tiền đến hạn từ khách hàng Được tính dưới dạng

Trong hệ thống quản lý dữ liệu, mỗi bản ghi đều có các trường quan trọng như rowguid và ModifiedDate Trường rowguid là định danh duy nhất của bản ghi, giúp phân biệt và hỗ trợ quá trình sao chép hợp nhất dữ liệu hiệu quả Trong khi đó, trường ModifiedDate ghi nhận ngày và giờ cập nhật cuối cùng của bản ghi, đảm bảo tính chính xác và theo dõi lịch sử chỉnh sửa Các thuộc tính này đóng vai trò then chốt trong việc duy trì tính toàn vẹn và đồng bộ dữ liệu trong hệ thống.

Sales Order Identification Khóa chính Khóa ngoại cho

Sales Order Detail Identification Khóa chính Một số duy nhất gia tăng cho mỗi sản phẩm đã bán.

Carrier Tracking Number Số theo dõi lô hàng do người gửi hàng cung cấp. Order Quantity Số lượng đặt hàng trên mỗi sản phẩm.

Product Identification Sản phẩm đã bán cho khách hàng Khóa ngoại cho

Special Offer Identification Mã khuyến mại Khóa ngoại cho

Unit Price Giá bán của một sản phẩm duy nhất.

Unit Price Discount Số tiền chiết khấu.

Line Total Tổng phụ trên mỗi sản phẩm Được tính dưới dạng

Số ROWGUIDCOL định danh duy nhất của bản ghi Được sử dụng để hỗ trợ một mẫu sao chép hợp nhất.

Modification Date Ngày và giờ bản ghi được cập nhật lần cuối.

PersonID Khóa ngoại cho Person.BusinessEntityID

StoreID Khóa ngoại cho Store.BusinessEntityID

TerritoryID ID của lãnh thổ mà khách hàng đang sinh sống Khóa ngoại cho

Số AccountNumber là định danh khách hàng do hệ thống kế toán tự ấn định, giúp nhận diện chính xác thông tin khách hàng trong hệ thống Trong khi đó, trường rowguid (ROWGUIDCOL) là mã định danh duy nhất của từng bản ghi, được sử dụng để hỗ trợ các thao tác sao chép và hợp nhất dữ liệu một cách chính xác và không trùng lặp.

ModifiedDate Ngày và giờ bản ghi được cập nhật lần cuối.

TerritoryID Khóa chính cho các bản ghi SalesTerritory.

Name Mô tả lãnh thổ bán hàng

CountryRegionCode Mã quốc gia hoặc vùng tiêu chuẩn ISO Khóa ngoại cho

Group Khu vực địa lý mà lãnh thổ bán hàng thuộc về.

SalesYTD Doanh số bán hàng trong lãnh thổ từ năm đến nay.

SalesLastYear Doanh số bán hàng trong lãnh thổ năm trước.

CostYTD Chi phí kinh doanh trên lãnh thổ từ năm đến nay.

Chi phí kinh doanh trên lãnh thổ trong năm trước phản ánh các khoản chi tiêu liên quan đến hoạt động thương mại trong năm cũ Mã hàng hóa duy nhất của bản ghi được xác định bằng trường rowguid, hỗ trợ quá trình sao chép hợp nhất dữ liệu hiệu quả.

ModifiedDate Ngày và giờ bản ghi được cập nhật lần cuối.

BusinessEntityID Khóa chính Đại diện bán hàng Khóa ngoại cho

TerritoryID Khóa chính Số định danh lãnh thổ Khóa ngoại đối với

StartDate Khóa chính Ngày đại diện bán hàng bắt đầu làm việc trong lãnh thổ.

Ngày kết thúc (EndDate) thể hiện ngày mà đại diện bán hàng rời khỏi công việc trong khu vực Trường rowguid là mã định danh duy nhất của bản ghi, hỗ trợ quá trình sao chép và hợp nhất dữ liệu hiệu quả.

ModifiedDate Ngày và giờ bản ghi được cập nhật lần cuối.

BusinessEntityID Khóa chính Khóa ngoại cho Customer.BusinessEntityID.

Name Tên của cửa hàng.

SalesPersonID ID của nhân viên bán hàng được chỉ định cho khách hàng

Khóa ngoại cho SalesPerson.BusinessEntityID.

Thông tin nhân khẩu học của cửa hàng bao gồm số lượng nhân viên, doanh thu hàng năm và loại hình cửa hàng, giúp hiểu rõ về quy mô và đặc điểm của doanh nghiệp Mã định danh duy nhất của bản ghi được xác định bằng trường rowguid, hỗ trợ quá trình sao chép và hợp nhất dữ liệu chính xác và hiệu quả.

ModifiedDate Ngày và giờ bản ghi được cập nhật lần cuối.

BusinessEntityID Số nhận dạng nhân viên bán hàng Khóa ngoại cho

QuotaDate Ngày hạn ngạch bán hàng.

SalesQuota Số lượng hạn ngạch bán hàng. rowguid Số ROWGUIDCOL định danh duy nhất của bản ghi Được sử dụng để hỗ trợ một mẫu sao chép hợp nhất.

ModifiedDate Ngày và giờ bản ghi được cập nhật lần cuối.

BusinessEntityID Khóa chính cho hồ sơ SalesPerson Khóa ngoại cho

Employee.BusinessEntityIDTerritoryID Lãnh thổ hiện được chỉ định cho Khóa ngoại đối với

SalesQuota Doanh số dự kiến hàng năm.

Bonus Tiền thưởng đến hạn nếu đáp ứng đủ hạn ngạch.

CommissionPct Phần trăm hoa hồng nhận được trên mỗi lần bán hàng.

SalesYTD Tổng doanh số từ năm đến nay.

SalesLastYear Sales total of the previous year. rowguid Số ROWGUIDCOL định danh duy nhất của bản ghi Được sử dụng để hỗ trợ một mẫu sao chép hợp nhất.

ModifiedDate Ngày và giờ bản ghi được cập nhật lần cuối.

Sơ đồ mối quan hệ

Cust omerID PersonID StoreID Territ oryID AccountNumber rowguid ModifiedDate

SalesOrderID SalesOrderDetailID CarrierTrackingNumber OrderQty ProductID SpecialOfferID UnitPrice UnitPriceDiscount LineTotal rowguid ModifiedDate

SalesOrderID RevisionNumber OrderDate DueDate ShipDate Status OnlineOrderFlag SalesOrderNumber PurchaseOrderNumber AccountNumber CustomerID SalesPersonID TerritoryID BillToAddressID ShipToAddressID ShipMethodID CreditCardID CreditCardApprovalCode CurrencyRateID SubTotal TaxAmt Freight TotalDue Comment rowguid ModifiedDate

Territ oryID Name CountryRegionCode [Group]

SalesYTD SalesLast Year CostYTD CostLastYear rowguid ModifiedDate

BusinessEntityID TerritoryID StartDate EndDate rowguid ModifiedDate

BusinessEntityIDNameSalesPersonIDDemographics rowguidModifiedDate

CÁC THAO TÁC TRÊN CƠ SỞ DỮ LIỆU

Tạo các View

1.1 View có điều kiện đơn giản trên 1 bảng

The goal is to calculate the total value of invoices with a CarrierTrackingNumber starting with "4BD." The relevant information includes SalesOrderID, CarrierTrackingNumber, and SubTotal, which is computed by summing the product of OrderQty and UnitPrice for each invoice This enables efficient tracking and analysis of sales based on specific carrier tracking number prefixes, enhancing sales reporting and inventory management.

SELECT SalesOrderID, CarrierTrackingNumber, SUM (OrderQty UnitPrice) * AS SubTotal FROM Sales SalesOrderDetail

1.2 View có điều kiện đơn giản trên nhiều bảng

- Yêu cầu: Tạo View hiển thị top 5 tổng doanh số cao nhất từ cột TotalDue mỗi năm và mỗi tháng cho từng khách hàng

SELECT TOP 5 C CustomerID , YEAR (OrderDate) AS OrderYear, MONTH (OrderDate) ASOrderMonth, SUM (TotalDue) AS TotalSales

FROM Sales Customer C, Sales SalesOrderHeader SOH

GROUP BY C.CustomerID , YEAR (OrderDate), MONTH(OrderDate)

1.3 View có điều kiện phức tạp/ truy vấn lồng trên 1 bảng

To generate views listing duplicate sales orders (SalesOrderID) within the period from May 1, 2011, to October 31, 2011, that have a total amount exceeding 100,000, the query should include SalesOrderID, OrderDate, and SubTotal, where SubTotal is calculated as the sum of (OrderQty * UnitPrice) These filtered results help identify high-value repeat orders, optimizing sales analysis and inventory management strategies.

WHERE SalesOrderID = Sales SalesOrderHeader SalesOrderID

1.4 View có điều kiện phức tạp/ truy vấn lồng trên nhiều bảng

- Yêu cầu: Tạo View hiển thị danh sách các hóa đơn có SubTotal (Tổng phụ bán hàng) >

3500 và có hơn 70 loại sản phẩm.

WHERE SalesOrderID = Sales SalesOrderHeader SalesOrderID

1.5 View cập nhật dữ liệu

- Yêu cầu: Nhận thấy SubTotal trong các hóa đơn khá cao, tăng nhẹ 10% thuế (TaxAmt) cho hóa đơn có SubTotal cao nhất ngay trên View vw_ListInvoicesHaveLotsOfProducts.

SELECT TOP SalesOrderID, SubTotal, TaxAmt 1

SELECT TOP SalesOrderID, SubTotal, TaxAmt 1

Xây dựng các Stored Procedure

2.1 Thủ tục không tham số

- Yêu cầu: Viết thủ tục lấy ra tiền thưởng cao nhất của trong bảng Sales.SalesPerson

SELECT MAX(Bonus) AS MaxBonus

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 là @ID = 274 lấy ra tổng số lượng hạn ngạch bán hàng (TotalSalesQuota) của ID đó.

SELECT BusinessEntityID, SUM (SalesQuota) AS TotalSalesQuota

2.3 Thủ tục có tham số output

Để thực hiện thủ tục yêu cầu, bạn cần viết một thủ tục có chứa tham số output để truyền vào mã quốc gia Khi người dùng cung cấp mã quốc gia, thủ tục sẽ hiển thị thông tin chi tiết về quốc gia đó và đếm số lượng lãnh thổ thuộc quốc gia đó Điều này giúp người dùng dễ dàng truy xuất dữ liệu và biết được số lượng lãnh thổ liên quan một cách nhanh chóng và chính xác Bằng cách này, thủ tục hỗ trợ hiệu quả trong việc quản lý và tra cứu thông tin liên quan đến các quốc gia và lãnh thổ trong hệ thống của bạn.

@Code VARCHAR(2), @TerritoryCount INT OUTPUT

EXEC sp_CountTerritory 'AU' , @Count OUTPUT

2.4 Thủ tục có tham số input

Để tính tổng tiền thu (TotalDue) của mỗi khách hàng trong một tháng bất kỳ của một năm bất kỳ, người dùng cần nhập tham số tháng và năm từ bàn phím Chương trình sẽ truy xuất dữ liệu khách hàng dựa trên CustomerID và tính tổng tiền thu bằng cách cộng dồn các giá trị TotalDue của từng khách hàng trong khoảng thời gian đã chọn Kết quả sẽ hiển thị danh sách CustomerID kèm theo tổng số tiền thu (SumofTotalDue) để cung cấp cái nhìn tổng thể về doanh thu từng khách hàng trong tháng và năm mong muốn Thủ tục này giúp doanh nghiệp theo dõi và quản lý doanh thu theo từng khách hàng một cách chính xác và dễ dàng.

@CustomerID INT , @Year INT , @Month INT

SELECT CustomerID, SUM (TotalDue) AS SumOfTotalDue

SalesQuota Doanh số dự kiến hàng năm.

Tiền thưởng sẽ đến hạn khi đáp ứng đủ hạn ngạch đặt ra Phần trăm hoa hồng (CommissionPct) thể hiện tỷ lệ hoa hồng nhận được trên mỗi lần bán hàng, góp phần thúc đẩy doanh số bán hàng Tổng doanh số từ đầu năm đến nay (SalesYTD) phản ánh hiệu quả kinh doanh của doanh nghiệp trong năm đó.

SalesLastYear Sales total of the previous year. rowguid Số ROWGUIDCOL định danh duy nhất của bản ghi

3 Sơ đồ mối quan hệ

Territ oryID Name CountryRegionCode [Group]

SalesYTD SalesLast Year CostYTD CostLastYear rowguid ModifiedDate

BusinessEntityID TerritoryID StartDate EndDate rowguid ModifiedDate

BusinessEntityIDNameSalesPersonIDDemographics rowguidModifiedDate

Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng Trang

SalesOrderID SalesOrderDetailID CarrierTrackingNumber OrderQty ProductID SpecialOfferID UnitPrice UnitPriceDiscount LineTotal rowguid ModifiedDate

SalesOrderID RevisionNumber OrderDate DueDate ShipDate Status OnlineOrderFlag SalesOrderNumber PurchaseOrderNumber AccountNumber CustomerID SalesPersonID TerritoryID BillToAddressID ShipToAddressID ShipMethodID CreditCardID CreditCardApprovalCode CurrencyRateID SubTotal TaxAmt Freight TotalDue Comment rowguid ModifiedDate

CHƯƠNG 2 CÁC THAO TÁC TRÊN CƠ SỞ DỮ LIỆU

1.1 View có điều kiện đơn giản trên 1 bảng

The task involves calculating the total value of invoices with a shipment tracking code (CarrierTrackingNumber) starting with '4BD.' The key information includes the SalesOrderID and CarrierTrackingNumber for each invoice The total amount (SubTotal) is determined by summing the product of OrderQty and UnitPrice across all relevant invoices This process ensures accurate aggregation of invoice values for shipments with specific tracking code prefixes, optimizing sales and logistics analysis.

SELECT SalesOrderID, CarrierTrackingNumber, SUM(OrderQty UnitPrice) * AS Sub FROM Sales SalesOrderDetail.

1.2 View có điều kiện đơn giản trên nhiều bảng

SELECT TOP 5 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àng9 Trang Đồ án Môn học: Hệ quản trị cơ sở dữ liệu

FROM Sales Customer C, Sales SalesOrderHeader SOH

1.3 View có điều kiện phức tạp/ truy vấn lồng trên 1 bảng

Create a report listing duplicate sales orders (SalesOrderID) within the period from May 1, 2011, to October 31, 2011, where the total amount exceeds 100,000 The report should include SalesOrderID, OrderDate, and SubTotal, with SubTotal calculated as the sum of (OrderQty * UnitPrice) for each order This analysis helps identify high-value orders that have been repeated, providing valuable insights into sales patterns and customer behavior during the specified timeframe.

WHERE SalesOrderID = Sales SalesOrderHeader .SalesOrderID

Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng10 Trang

WHERE SalesOrderID = Sales SalesOrderHeader .SalesOrderID

Tên đề tài: Tổ chức kinh doanh - Quản lý nhân viên bán hàng, cửa hàng11 Trang

1.5 View cập nhật dữ liệu

- Yêu cầu: Nhận thấy SubTotal trong các hóa đơn khá cao, tăng nhẹ 10% thuế (TaxAmt cho hóa đơn có SubTotal cao nhất ngay trên View vw_ListInvoicesHaveLotsOfProducts.

SELECT TOP SalesOrderID, SubTotal, TaxAmt1

WHERE SubTotal (SELECT MAX(SubTotal)

SELECT TOP SalesOrderID, SubTotal, TaxAmt1

Ngày đăng: 06/02/2023, 07:09

🧩 Sản phẩm bạn có thể quan tâm