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

báo cáo giữa kỳ đề tài inventory

28 1 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

Nội dung

Đề tài : Inventory GVHD : Th.S Nguyễn Danh TúPage 2 of 28Mở Đầu Bước sang thế k 21 đánh dấu sự kiện cuộc cách mạng 4.0 chính thức nổ ra, một kỷ nguyên mới đã xuất hiện, kỷ nguyên của côn

Trang 1

TRƯỜNG ĐẠI H C BÁCH KHOA HÀ NỘIỌ

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC -  -

BÁO CÁO GIỮA KỲ

Đề tài: INVENTORY

Nhóm sinh viên thực hiện: Nhóm 19

Trang 2

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

II.Tối ưu truy vấn ( Index , Partition ) 15

1 Tối ưu bằng Index 15

2 Tối ưu bằng Partition 16

III.Đánh giá hiệu năng 16

II.Công cụ sinh thủ tục (nếu có ) 20

III.Thực hiện giao dịch ( Transaction ) 20

IV Sinh CSDL 23

1.Tạo Database mới cùng cấu trúc với Database cũ 23

2.Đổ d ữ liệu vào Database mới 23

Kết Lu n 26

Tài Li u Tham Kh o 27ệ ả

Trang 3

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 2 of 28Mở Đầu

Bước sang thế k 21 đánh dấu sự kiện cuộc cách mạng 4.0 chính thức nổ ra, một kỷ nguyên mới đã xuất hiện, kỷ nguyên của công nghệ thông tin và big Data, AI, machine learning Để tham gia các ngành hot trong lĩnh vực số như Data analyst (DA), business analyst (BA), Data scientist, việc thông thạo môn cơ sở dữ liệu hay các kiến thứcchuyên môn về ữ d liệu đã trở thành điều kiện bắtbuộc của sinh viên Toán Tin, hệthống thông tin Một ví dụ điển hình về vai trò ,lợi ích , cũng như ứng dụng thực tế của việc quản trị cơ sở dữ liệu đó chính là quản trị Inventory

Inventory hái niệm hàng tồn kho thường mang lại cảm xúc không mấy tích cự- k c với người làm kinh doanh Tuy nhiên trên thực tế, dự trữ hàng tồn kho luôn là một trong những hoạt động không thể thiếu của doanh nghiệp trong quá trình kinh doanh sản xuất Những vai trò quan trọng có thể ể đến của Inventory như : tránh rủi ro do thiếu hụt khàng hoá và nguyên liệu , đảm bảo giao dịch được thuận lợi , đầu cơ sản phẩm Bên cạnh đó , việc quản trị Inventory một cách khoa học có thể đem lại nhiều lợi ích cho doanh nghiệp , giúp duy trì mối quan hệ tốt đẹp với khách hàng , đảm bảo việc vận hành sản xuất được liên tục , hạn chế những tổn thất về biến động giá sản phẩm trên thị trường , v.v…

Nắm bắt được ý nghĩa của đề tài Inventory , cùng với đó là những hiểu biết đến từcác giờ học bổ ích và hiệu quả trên lớp học bộ môn Cơ sở ữ liệu của thầy Nguyễn Danh dTú , nhóm 19 chúng em quyết định chọn Inventory làm chủ đề cho bài báo cáo giữa kỳcủa mình

Năm 2021 là một năm học khó khăn , với nhiều biến cố do dịch Covid 19 đem lại Việc không được tới trường để tham gia những giờ học trực tiếp cũng khiến cho việc học và trao đổi giữa thầy trò trở nên khó khăn hơn.Tuy nhiên thầy và các bạn v n nỗ ẫ lực để khắc phục tình hình , hoàn thành môn học.Nhân đây em xin gửi lời cảm ơn chân thành tới thầy đã luôn tạo điều kiện , nhiệt tình giảng dạy và giúp đỡ chúng em trong suốt quá trình vừa qua.Bài báo cáo của chúng em có thể tồn tại một vài thiếu sót , rất mong nhận được góp ý của thầy và các bạ trong lớp.n

Em xin chân thành cảm ơn!

HUST , ngày 12/08/2021

Trang 4

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Đánh Giá Nhóm

Trang 5

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 4 of 28Phần 1 : Đề tài nhóm

I Đề tài nhóm

• Ý nghĩa : Inventory là những tài sản mà doanh nghiệp dự trữ để phục vụ cho quá trình sản xuất hoặc buôn bán trong khoảng thời gian về sau Cụ thể trong bài thuyết trình của chúng em đó là những mặt hàng đã hoàn thiện phục vụ cho mục đích kinh doanh nhưng chưa được bán ra bên ngoài thị trường , tức là hàng tồn kho

Vậy vai trò c a quản trị hàng tồn kho là gì? Đó chính là

-Đảm bảo hàng hóa tồn kho luôn đủ để bán ra thị trường, không bị gián đoạn

-Loại trừ các rủi ro tiềm tàng của hàng tồn kho như hàng bị đọng, giảm phẩm chất, hế ứ t hạn do tồn kho quá lâu

-Cân đối giữa các khâu Mua vào – dự trữ – sản xuất tiêu thụ–

-Tối ưu hóa lượng hàng lưu kho nhằm tăng hiệu quả kinh doanh và giảm chi phí đầu tư cho doanh nghiệp

-Cơ sở ật chất, máy móc sản xuất, trang thiết bị có đủ v để đáp ứng lượng nguyên vật liệu/hàng hóa này?

-Quan hệ cung cầu: Liệu nhu cầu thị trường trong thời gian tới có tiêu thụ hết lượng – hàng hóa này trước khi chúng hết hạn/lỗi thời không? ếu thời gian tồn kho hàng quá Nlâu, phải tính đến các thất thoát và rủi ro hàng tồn kho Chi phí để quản lý, bảo quản hàng trong thời gian này là bao nhiêu?

-Doanh nghiệp cần một khoản tiền lớn để thanh toán chi phí mua vào nguyên vật liệu Trong khi đó có thể dùng tiền này để đầu tư, chi trả cho các hoạt động khác, vậy đầu tư nào sẽ có lợi hơn?

Trang 6

Đề tài : Inventory GVHD : Th.S Nguyễn Danh TúNhư vậy, thông qua hoạt động quản trị kho hàng, doanh nghiệp sẽ có quyết định nhập lượng nguyên vật liệu thế nào hợp lý, vừa chớp lấy cơ hội giảm chi phí mua vào, nhưng vẫn phải đảm bảo quá trình lưu trữ ản xuất, bán hàng diễn ra ổn định., s

II.Thông tin CSDL

• Nguồn: Microsoft • Kích cỡ: 420MB • Số bảng: 14

• Thống kê về d liệu bán hàng 2013 2016 của công ty Wide World Importers với gần

-1000 sản phẩm và 250.000 đơn hàng • Tổng số ản ghi: 823616 bả b n

Workflows

Trang 7

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 6 of 28E-R DIAGRAM

Links: /view?usp=sharing

https://drive.google.com/file/d/1sEE6biwGoovRMseUl_5uzsoOBOKzFeu-R-E DIAGRAM

Trang 8

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Đạt 1NF : Tất cả các thuộc tính của các bảng đều là giá trị nguyên tố

Đạt 2NF : Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính Không đạt 3NF : Không có bảng nào đạt chuẩn 3NF

Ví dụ không đạt chuẩn 3NF :

Bảng Stock Holding: có khóa chính là: Stock Holding KeyStock Holding Key → Stock Item Key → Last Cost Price → Phụ thuộc bắc cầu vào khóa chính

Trang 9

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 8 of 28Phần 2: Truy vấn dữ liệu

I Các câu lệnh truy vấn

1.Liệt kê các mặt hàng là áo hoodie màu đen

SELECT FROM * [Dimension].[Stock Item]

WHERE Color = 'Black'

AND [Stock Item] like '%Hoodie%'

ORDER BY [WWI Stock Item ID] ASC

2.Thống kê số lượng các sản phẩm bán ra trong 1 thành phố

SELECT [Description] [Product]as,SUM([Quantity]) [Total] asFROM [Dimension].[City] INNER JOIN [Fact].[Order]

ON [Dimension].[City] [City Key] [Fact].=.[Order].[City Key]

WHERE City = 'Abbottsburg'

GROUP BY [Description]

Order by [Total] desc

3 Thống kê mặt hàng socola không bán được trong khoảng thời gian Valentine

SELECT[Stock Item]

FROM [Dimension] [Stock Item]

WHERE [Stock Item] Like '%chocolate%'

EXCEPTSELECT [Description]

FROM [Fact] [Order]

WHEREDAY([Order Date Key])BETWEEN 10 AND 12 ANDMONTH([Order Date Key])= 2

ANDYEAR([Order Date Key] 2016 ) =

Trang 10

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

4 ổng tiền các cửa hàng đã nhập trong tháng 1/2015T

SELECT [Customer],SUM([Quantity] [Unit Price] *)AS Total

FROM [Fact].[Order] INNER JOIN [Dimension] [Customer]

ON [Fact].[Order].[Customer Key] = [Dimension].[Customer].[Customer Key]

WHEREMONTH([Order date Key]) 1 =ANDYEAR([Order Date Key] 2015 ) =AND [Customer] 'Unknown' !=

GROUP BY Customer

ORDER BY Total DESC

5 Thống kê mặt hàng bán chạy trong tháng 1/2016

SELECT[Stock Item],Sum([Quantity])ASTotal

FROM [Fact].[Movement] INNER JOIN [Dimension].[Stock Item]

ON [Fact].[Movement].[Stock Item Key] [Dimension]=.[Stock Item].[Stock Item Key]

WHEREMONTH([Date key]) 1 =ANDYEAR([Date Key] 2016 ) =AND [Quantity] < 0

GROUP BY[Stock Item]

Order by [Total] ASC

6 Lọc những sản phẩm có đơn giá nhập vào trong khoảng $100 - $200

Trang 11

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 10 of 28

SELECT[Stock Item Key] ,[WWI Stock Item ID] ,[Stock Item] ,[Color] ,[Selling Package] ,[Buying Package] ,[Brand] ,[Size] ,[Unit Price]

,[Recommended Retail Price]

FROM [Dimension] [Stock Item]

WHERE [Unit Price] BETWEEN 100 AND 200

7 Các mặt hàng đã được có mặt tại từng thành phố

SELECT [City],[Description], [State Province],[Country]

FROM [Dimension].[City] INNER JOIN [Fact].[Order]

ON [Dimension].[City] [City Key] [Fact].=.[Order].[City Key]

ORDER BY [City] ASC

8 Thời gian từ khi khách đặt hàng đến khi nhận hàng

SELECT [Order Key] ,[City Key] ,[Customer Key] ,[Stock Item Key] ,[Order Date Key] ,[Picked Date Key]

,DATEDIFF(DAY,[Order Date Key],[Picked Date Key] )AS Length

,[Salesperson Key] ,[Picker Key] ,[WWI Order ID] ,[Description] ,[Package] ,[Quantity] ,[Unit Price] ,[Tax Rate]

Trang 12

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú ,[Lineage Key]

FROM [Fact] [Order]

WHEREYEAR([Order date key] 2014 ) = ORDER BYLength

9 Lãi của từng mặt hàng trong tháng 1 năm 2016

SELECT [Description]

,SUM([Quantity] )AS[Total Quantity]

,SUM(([Quantity] [Recommended Retail Price] *(- [Fact].[Order].[Unit Price])))AS

[Total Profit]

FROM [Fact].[Order] INNER JOIN [Dimension] [Stock Item]

ON [Fact].[Order].[Stock Item Key] = [Dimension] [Stock Item] [Stock Item Key]

WHEREMONTH([Order date key]) 1 =ANDYEAR([Order date key] 2016 ) =

GROUP BY [Description]

ORDER BY [Total Profit] DESC

10 Giá trị của đơn hàng trước và sau thuế

SELECT[WWI Order ID] ,[Order Date Key] ,[Description] ,[Package] ,[Quantity]

,[Recommended Retail Price] ,[Fact].[Order] [Tax Rate]

,[Quantity] [Recommended Retail Price] *AS [Total Excluding Tax]

,CONVERT(decimal(10,3),[Quantity]*[Recommended Retail Price]*[Fact] [Order] [Tax Rate]/100)AS [Tax Amount]

,CONVERT(decimal(10 3 [Quantity] [Recommended Retail , ),*Price]*(1+[Fact].[Order].[Tax Rate] 100 /))AS[Total Including Tax] FROM [Fact].[Order] INNER JOIN [Dimension] [Stock Item]

ON [Fact].[Order].[Stock Item Key] = [Dimension] [Stock Item] [Stock Item Key]

Trang 13

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 12 of 28

11 Thống kê số lượng các sản phẩm bán ra trong 1 thành phố

WITH Statistic(Product Total,)AS

SELECT [Stock Item] [Product] as

,SUM([Quantity])as [Total]

FROM [Dimension].[City] aJOIN [Fact].[Order] b

ON a.[City Key] = b [City Key] JOIN [Dimension].[Stock Item] c

ON b.[Stock Item Key] = c.[Stock Item Key]

WHERE City ='Sea Island'

GROUPBY[Stock Item])

SELECT TOP 10 *FROM Statistic

ORDER BY Total DESC

12 Lọc những đơn hàng áo Hoodie có số lượng sản phẩm lớn hơn số lượng sả phẩm n bán ra trung bình trên 1 đơn hàng

WITH Product AS SELECT([Stock Item] ,[Stock Item Key]

FROM [Dimension] [Stock Item]

WHERE [Stock Item] like'%Hoodie%'),Hoodie_Order AS (SELECT[Order Key]

,[Order Date Key] ,[Stock Item] ,[Quantity] ,[Unit Price]

FROM Fact.[Order]

INNERJOINProduct ON Fact.[Order].[Stock Item Key] Product=.[Stock Item Key]),AverageQuantity(Quantity)AS (SELECTAVG(Quantity)

Trang 14

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

FROM Hoodie_Order )

SELECT [Order Key] [Stock Item],, [Order Date Key],[Unit Price]

FROM AverageQuantity a , Hoodie_Order b

WHERE a.Quantity < b.Quantity

13 Tính khoảng thời gian từ lúc đặt hàng đến lúc nhận hàng

SELECT [Order Key] ,[City Key] ,[Customer Key] ,[Stock Item] ,[Order Date Key] ,[Picked Date Key]

,DATEDIFF(DAY,[Order Date Key],[Picked Date Key] )asDatediff, CASE

WHENDATEDIFF DAY(,[Order Date Key],[Picked Date Key] )<=7 THEN'within a week'

WHENDATEDIFF DAY(,[Order Date Key],[Picked Date Key] )<= 30 THEN 'within a month'

WHENDATEDIFF DAY(,[Order Date Key],[Picked Date Key])<=120 THEN'within a quarter'

WHENDATEDIFF DAY(,[Order Date Key],[Picked Date Key])<=365 THEN'within a year'

ELSE'more than a year' ENDAS timebucket

FROM [Fact].[Order] a INNER JOIN Dimension [Stock Item] b ON a.[Stock Item Key] = b [Stock Item Key]

WHEREYEAR([Order date key] 2014 ) = order by DatediffDESC

14 Truy xuất thông tin cụ thể của đơn hàng dựa trên các Key

WITH Picker as (SELECT [Employee Key] employeekey,[Employee] Picker FROM

Order1 as (SELECT [Order Key] [City],,[Customer],[Stock Item]

Trang 15

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 14 of 28

[Order Date Key],[Picked Date Key],[Employee] AS Salesperson ,[Picker]

,[Package] ,[Quantity] , a [Unit Price] , a [Tax Rate]

,[Quantity]*[Recommended Retail Price] AS [Total Excluding Tax]

,CONVERT(decimal(10 3,),[Quantity] [Recommended Retail *Price]* a [Tax Rate] 100 /)AS[Tax Amount]

,CONVERT(decimal(10 3 [Quantity] [Recommended Retail , ),*Price]*(1+a.[Tax Rate]/100 ))AS[Total Including Tax]

FROM [WideWorldImportersDW].[Fact].[Order] a JOIN Dimension.City b ON a.[City Key] = b[City Key]

JOIN Dimension.Customer c ON a.[Customer Key] = c[Customer Key]JOIN Dimension.[Stock Item] d ON a [Stock Item Key] d.= [Stock Item Key]

JOIN Dimension [Employee] e ON a.[Salesperson Key] = e.[Employee Key]

JOINPicker ON a.[Picker Key] = Picker employeekey

WHERE Customer !='Unknown')

SELECT FROM * Order1

WHERE [Order Key] = '213083'

15 Đếm số khách hàng đặt hàng của công ti ở thành phố East Fultonham

WITH Count_Customer AS (SELECT [Customer Key] Customer_Key asFROM Fact [Order]

WHERE [City Key] IN(SELECT[City Key]

Dimension.City

WHERE City ='East Fultonham')

GROUPBY [Customer Key])

SELECTcount([Customer_Key] )ASTotal

FROM Count_Customer

Trang 16

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

II.Tối ưu truy vấn ( Index , Partition ) 1 Tối ưu bằng Index

Trước khi thêm index

Sau khi thêm index

Kế hoạch thực thi

Đánh INDEX

Kế hoạch thực thi

Trang 17

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 16 of 282 Tối ưu bằng Partition

III.Đánh giá hiệu năng Hiệu năng index :

Hiệu năng Partition :

Tạo bảng và đồng thời phân đoạn

Trang 18

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Trang 19

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 18 of 28Phần 3 : Cập nhật dữ liệu

I.Thủ tục (Procedure) cập nhật dữ liệu 1.Procedure Insert

2.Procedure Update

Trang 20

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Trang 21

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 20 of 28II.Công c sinh thụ ủ tục (nếu có )

III.Thực hiện giao dịch ( Transaction )

Tình huống 1: Công ty có thêm nhà cung cấp, thêm thông tin nhà cung cấp vào bảng

Supplier

Tình huống 2: Công ty có mặt hàng mới nhưng đang sản xuất, thêm thông tin mặt hàng

vào để khách hàng đặt trước

Trang 22

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Tình huống 3: Công ty có mặt hàng mới và hàng đã về kho, update lại thông tin vào

StockHolding và insert vào Movement

Tình huống 4: Xuất hết phiên bản cũ của mặt hàng mới ở tình huống 3, update ở Stock Holding số lượng hàng về 0 và insert đơn xuất ở Movement

Trang 23

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 22 of 28Tình huống 5: Có thêm đơn hàng mới, insert vào vào bảng Order, kiểm tra số lượng

hàng trong kho không đủ nên Rollback

Tình huống 5: Có thêm đơn hàng mới, insert vào vào bảng Order, kiểm tra số lượng

hàng trong kho đủ nên Commit

Trang 24

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

IV Sinh CSDL

1.Tạo Database mới cùng c u trúc vấ ới Database cũ

Source code:

2.Đổ dữ liệu vào Database mới

a.Đổ d ữ liệu sử ụ d ng con trỏ Cursor

b.Đổ d ữ liệu sử dụng câu l nhệ

Trang 25

Đề tài : Inventory GVHD : Th.S Nguyễn Danh Tú

Page 24 of 28

-Mô tả: Đây là cách dùng để đổ ữ d liệu trong bài báo cáo Chúng ta thực hiện một loạt câu l nh copy dữ liệu từ database cũ sang database mới nhưng c n phệ ầ ải sắp x p các câu l nh một cách có trật tự đểệ không x y ra xung đ t giả ộ ữa các câu lệnh

-Code:

INSERT INTO Copy_WideWorldImportersDW.dbo.Customer SELECT * FROM [WideWorldImportersDW].Dimension.Customer GO

INSERT INTO Copy_WideWorldImportersDW.dbo.[Date] SELECT * FROM [WideWorldImportersDW].Dimension.[Date] GO

INSERT INTO Copy_WideWorldImportersDW.dbo.City SELECT * FROM [WideWorldImportersDW].Dimension.City GO

INSERT INTO Copy_WideWorldImportersDW.dbo.Employee SELECT * FROM [WideWorldImportersDW].Dimension.Employee GO

INSERT INTO Copy_WideWorldImportersDW.dbo.[Stock Item] SELECT * FROM [WideWorldImportersDW].Dimension.[Stock Item]

Ngày đăng: 29/05/2024, 18:12

w