Đồ án môn học hệ quản trị cơ sở dữ liệu đề tài quản lý giỏ hàng

40 1 0
Đồ án môn học hệ quản trị cơ sở dữ liệu đề tài quản lý giỏ hàng

Đ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: QUẢN LÝ GIỎ HÀNG GVHD: ThS Nguyễn Thế Bảo SVTH: 1.Võ Anh Minh Mã SV: 2024801030097 2.Nguyễn Anh Kiệt 2024801030103 3.Nguyễn Duy Toàn 2024801030120 4.Phan Minh Huy 2024801030124 Lớp: D20KTPM02 Bình Dương,tháng 12 năm 2021 0 Đồ án Môn học: Hệ quản trị sở liệu MỤC LỤC MỤC LỤC i LỜI MỞ ĐẦU CHƯƠNG QUẢN LÝ CƠ SỞ DỮ LIỆU 1.1 Giới thiệu Cơ sở liệu: 1.1.1 Giới thiệu Advanture work 1.1.2 Cơ sở liệu tiểu luận 1.2 Mô tả Cơ sở liệu: .3 1.3 Sơ đồ mối quan hệ: .17 CHƯƠNG CÁC THAO TÁC TRÊN CƠ SỞ DỮ LIỆU 18 2.1 Tạo View: 18 2.1.1 Giới thiệu View 18 2.1.2 Tính chất 18 2.1.3 Ưu điểm 18 2.1.4 Câu lệnh khởi tạo View: 18 2.1.5 Tạo view có điều kiện đơn giản (trên bảng, nhiều bảng): 19 2.1.6 Tạo view có điều kiện phức tạp 20 2.1.7 Tạo view phức tạp cập nhật liệu 21 2.2 Xây dựng Stored procedure 22 2.2.1 Giới thiệu Stored procedure 22 2.2.2 Ưu điểm 22 2.2.3 Câu lệnh khởi tạo thực thi 22 2.2.4 Tạo thủ tục không tham số 23 2.2.5 Tạo thủ tục có tham số mặc định: .23 2.2.6 Tạo thủ tục có tham số output: 24 2.2.7 Tạo thủ tục có tham số input: 24 2.3 Xây dựng Function 25 2.3.1 Giới thiệu Function 25 2.3.2 Câu lệnh khởi tạo Function gọi hàm 26 2.3.3 Tạo hàm trả kiểu vô hướng: 26 2.3.4 Tạo hàm trả bảng 27 2.3.5 Tạo hàm trả bảng tự định nghĩa 28 2.4 Xây dựng Trigger 29 2.4.1 Giới thiệu Trigger 29 2.4.2 Ưu điểm: 30 2.4.3 Nhược điểm: 30 2.4.4 Câu lệnh khởi tạo Trigger 30 2.4.5 Tạo Trigger Insert .31 2.4.6 Tạo Trigger Update .31 2.4.7 Tạo Trigger Delete (có thể kết hợp loại Trigger này) .32 2.5 Xây dựng Transaction 32 2.5.1 Giới thiệu Transaction .32 2.5.2 Tạo Transaction 33 2.5.3 Tạo Transaction 33 2.6 Tạo user 34 CHƯƠNG KẾT LUẬN 35 Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu 3.1 Kết làm được: 35 3.2 Hạn chế (chưa làm được): 35 3.3 Thuận lợi khó khăn: 35 TÀI LIỆU THAM KHẢO 36 Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu LỜI MỞ ĐẦU Với phát triển nhanh chóng cơng nghệ, giới đường ngày thu nhỏ nhờ mạng Internet Để đáp ứng địi hỏi trình độ cơng nghệ thông tin ngày cao thị trường, sinh viên ngành kỹ thuật phần mềm nói riêng đối tượng hoạt động lĩnh vực công nghệ thông tin nói chung cần phải nắm kiến thức cơng nghệ để dễ dàng tiếp cận tiếp thu quản lí thơng tin Một cách để tổ chức quản lý liệu Database Management System(Hệ quản lý sở liệu) Hệ quản lý sở liệu (Database Management System - DBMS) phần mềm tương tác với người dùng cuối, ứng dụng sở liệu để thu thập phân tích liệu Phần mềm DBMS bao gồm tiện ích cốt lõi cung cấp để quản trị sở liệu Tổng cộng sở liệu, DBMS ứng dụng liên quan gọi "hệ thống sở liệu" Thông thường thuật ngữ "cơ sở liệu" sử dụng để nói đến DBMS, hệ thống sở liệu ứng dụng liên kết với sở liệu Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu CHƯƠNG QUẢN LÝ CƠ SỞ DỮ LIỆU 1.1 Giới thiệu Cơ sở liệu: 1.1.1 Giới thiệu Advanture work -Cơ sở liệu AdventureWorks mẫu sản phẩm Microsoft cho sở liệu xử lý giao dịch trực tuyến (OLTP) Cơ sở liệu AdventureWorks hỗ trợ kịch xử lý giao dịch trực tuyến tiêu chuẩn cho nhà sản xuất xe đạp hư cấu Adventure Works Cycles Các kịch bao gồm Manufacturing(Sản xuất), Sales(Bán hàng), Purchasing(Mua hàng), Product Management(Quản lý Sản phẩm), Contact Management(Quản lý Liên hệ) Human Resources(Nhân sự) -Microsoft nêu bật tính SQL Server với Cơ sở liệu AdventureWorks, phiên khác chúng tải xuống trang mẫu dự án cộng đồng SQL Server CodePlex, trang web dự án mã nguồn mở Microsoft Các tải xuống bao gồm Cơ sở liệu AdventureWorks 2008 Cơ sở liệu AdventureWorks 2012 -Cơ sở liệu AdventureWorks sử dụng ví dụ mã tìm thấy sách tài liệu SQL Server Ngồi cịn có phiên cho SQL Azure SQL Server 2005 1.1.2 Cơ sở liệu tiểu luận -Mơ hình quan hệ: +Bảng1: Sales.SalesOrderHeader(SalesOrderID,RevisionNumber,OrderDate,DueDate,ShipDa te,Status,OnlineOrderFlag,SalesOrderNumber,PurchaseOrderNumber,AccountNumber ,CustomerID,SalesPersonID,TerritoryID,BillToAddressID,ShipToAddressID,ShipMet hodID,CreditCardID,CreditCardApprovalCode,CurrencyRateID,SubTotal,TaxAmt,Fre ight,TotalDue,Comment,Rowguid,ModifiedDate) +Bảng 2: Sales.SalesOrderDetail(SalesOrderID,SalesOrderDetailID,CarrierTrackingNumber,O rderQty,ProductID,SpecialOfferID Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu +Bảng 3: Production.Product(ProductID,Name,ProductNumber,MakeFlag,FinishedGoodsFlag, Color,SafetyStockLevel,ReorderPoint,StandardCost,ListPrice,Size,SizeUnitMeasureC ode,WeightUnitMeasureCode,Weight,DaysToManufacture,ProductLine,Class,Style,Pr oductSubcategoryID,ProductModelID,SellStartDate,SellEndDate,DiscontinuedDate,R owguid,ModifiedDate) +Bảng 4: Sales.ShoppingCartItem(ShoppingCartItemID,ShoppingCartID,Quantity,ProductID, DateCreated,ModifiedDate) +Bảng 5: Sales.SpecialOfferProduct(SpecialOfferID,ProductID,Rowguid,ModifiedDate) +Bảng 6: Sales.SpecialOffer(SpecialOfferID,Description,DiscountPct,Type,Category,StartDate, EndDate,MinQty,MaxQty,Rowguid,ModifiedDate) 1.2 Mô tả Cơ sở liệu: Thông tin bảng CSDL tiểu luận Bảng Table Name Schema Logical Name SalesOrderID Sales.SalesOrderHeader Sales Physical Data K Name Type E int Y PK Sales Description Thông tin chung References đơn đặt hàng Remarks Khóa Order Identifica RevisionNumb tion Revision er Number tinyint Số cộng dồn để theo dõi thay đổi đơn hàng bán hàng Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu datetime theo thời gian Ngày tạo đơn đặt datetime hàng Ngày đặt hàng OrderDate Order DueDate Date Due Date ShipDate Ship Date datetime khách hàng Ngày đơn đặt hàng chuyển đến Status Status khách hàng Đặt hàng tình trạng tinyint = Đ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 OnlineOrderFl Online ag Order người bán hàng Flag đặt = Đơn đặt bit hàng trực tuyến SalesOrderNu Sales nvarchar( ID khách hàng Số định danh đơn mber Order 25) hàng bán hàng X Number PurchaseOrder Purchase nvarchar( Khách hàng mua Number Order 25) hàng số tham AccountNumb Number Account nvarchar( chiếu Tham chiếu số tài er CustomerID Number Customer 15) int Sales.Custome khoản kế tốn Số định danh khách r hàng Khóa ngoại Identifica tion cho Customer.Business Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu SalesPersonID Sales EntityID Sales.SalesPers Người bán hàng int Person TerritoryID on tạo đơn đặt hàng Identifica Khóa ngoại cho tion SalesPerson.Busine Territory ssEntityID Sales.SalesTerr Lãnh thổ nơi giao int Identifica itory tion dịch thực Khóa ngoại SalesTerritory.Sale BillToAddressI Bill To D Address int Person.Addres sTerritoryID Địa toán s khách hàng Identifica Khóa ngoại cho tion Address.AddressID ShipToAddress Ship To Person.Addres Địa giao hàng ID Address s khách hàng ShipMethodID int Identifica Khóa ngoại cho tion Address.AddressID Ship int Method CreditCardID Purchasing.Shi Phương thức vận pMethod chuyển Khóa Identifica ngoại cho tion ShipMethod.ShipM Credit int Card Sales.CreditCa ethodID Số định danh thẻ rd tín dụng Khóa Identifica ngoại cho tion CreditCard.CreditC CreditCardApp Credit ardID Mã phê duyệt varchar(1 Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu rovalCode Card 5) công ty phát hành Approval CurrencyRateI Code Currency D Rate SubTotal thẻ tín dụng cung cấp Sales.Currency Tỷ giá hối đoái int Rate sử dụng Identifica Khóa ngoại cho tion CurrencyRate.Curr Sub-Total money encyRateID Tổng phụ bán hàng Được tính SUM (SalesOrderDetail LineTotal) cho SalesOrderID thích TaxAmt Tax money hợp Số tiền thuế Freight Amount Freight money Chi phí vận TotalDue chuyển Tổng số tiền đến Total Due money hạn từ khách hàng Được tính dạng Subtotal + Comment Comment nvarchar( Rowguid rowguid TaxAmt + Freight Đại diện bán hàng 128) uniqueid ID nhận xét Số entifier X ROWGUIDCOL định danh ghi Được sử dụng để hỗ trợ mẫu chép ModifiedDate hợp Ngày Modificat datetime Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu ion Date ghi cập nhật lần cuối Bảng Table Name Schema Sales.SalesOrderDetail Sales Description Các sản phẩm riêng lẻ liên kết với đơn đặt hàng cụ thể Xem SalesOrderHeader Remarks Logical Physical Data K Name Name Type E int Y P Sales.SalesOrde Khóa Khóa K rHeader ngoại cho SalesOrderID Sales Order References Identificat SalesOrderHeader SalesOrderDe ion Sales tailID Order gia tăng Detail cho sản phẩm Identificat bán SalesOrderID Khóa Một số int CarrierTracki ion Carrier nvarchar Số theo dõi lô hàng ngNumber Tracking (25) người gửi hàng OrderQty Number Order smallint cung cấp Số lượng đặt hàng ProductID Quantity Product int Production.Prod sản phẩm Sản phẩm bán Identificat uct cho khách hàng ion Sales.SpecialOf Khóa ngoại cho SpecialOfferI Special ferProduct Sales.SpecialOf Product.ProductID Mã khuyến mại D Offer ferProduct Khóa ngoại cho int Identificat SpecialOffer.Specia Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu CREATE PROCEDURE [st4] @a int AS BEGIN SELECT* FROM[Production].[Product] WHERE(ProductID = @a) END GO exec [st4] @a='316' Ảnh procedure [st4] -Stored procedure đếm số lượng sản phấm có style nhập vào CREATE PROCEDURE st5 @st nchar(2) AS BEGIN SELECT count( ProductID) as N'Số Lượng' FROM Production.Product WHERE(Style = @st) END GO exec [st5] @st='W' Ảnh procedure [st5] 2.3 Xây dựng Function 2.3.1 Giới thiệu Function -Hàm đối tượng sở liệu tương tự Thủ tục +Hàm phải trả giá trị thông qua câu lệnh RETURN Giá trị trả vơ hướng bảng Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu +Điểm khác biệt hàm thủ tục hàm trả giá trị thơng qua tên hàm cịn thủ tục khơng +Ngồi hàm cung cấp sẵn hệ quản trị, người sử dụng tạo thêm hàm cho riêng 2.3.2 Câu lệnh khởi tạo Function gọi hàm -Cú pháp khởi tạo: CREATE FUNCTION tên_hàm [(danh_sách_tham_số)] RETURNS kiểu liệu trả hàm AS BEGIN Các_câu_lệnh_của_hàm END -Cú pháp gọi hàm: SELECT * FROM tên_hàm [(danh_sách_tham_số)] 2.3.3 Tạo hàm trả kiểu vô hướng: -Funtion hiển thị số Year đặt đơn CREATE FUNCTION f1(@p1 int) RETURNS int AS BEGIN RETURN year(getdate())-(select year(OrderDate) from Sales.SalesOrderHeader where SalesOrderID = @p1) END GO print dbo.f1 (43659) Ảnh function [f1] Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu -Funtion tính tổng tiển hàng nhập vào CREATE FUNCTION f2 (@p1 int) RETURNS numeric(38,6) AS BEGIN RETURN (select SUM (LineTotal) FROM Sales.SalesOrderDetail WHERE (SalesOrderID = @p1)) END GO print dbo.f2 (43659) Ảnh function [f2] 2.3.4 Tạo hàm trả bảng -Funtion xuất thông tin sản phẩm nhập vào mã CREATE FUNCTION f3 (@ma int) RETURNS TABLE AS RETURN (SELECT *FROM Production.Product WHERE (ProductID = @ma)) GO select * from [f3] ('317') Ảnh function [f3] -Funtion xuất tổng sản phẩm giảm giá theo mã giảm giá nhập vào CREATE FUNCTION f4 (@ma int ) RETURNS TABLE Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu AS RETURN (SELECT SpecialOfferID,count ( ProductID) as N'Số lượng' FROM Sales.SpecialOfferProduct WHERE(SpecialOfferID = @ma) GROUP BY SpecialOfferID) GO select * from [f4] ('7') Ảnh function [f4] 2.3.5 Tạo hàm trả bảng tự định nghĩa -Funtion trả bảng có sản phẩm theo giới tính CREATE FUNCTION f5 (@p1 char ) RETURNS @bangtam TABLE (ProductID int,Name nvarchar(50)) AS BEGIN if (@p1 = 'M') INSERT INTO @bangtam(ProductID,Name) select ProductID, Name from Production.Product where Style = 'M' if (@p1 = 'W') INSERT INTO @bangtam(ProductID,Name) select ProductID, Name from Production.Product where Style = 'W' if (@p1 = 'U') INSERT INTO @bangtam(ProductID,Name) select ProductID, Name Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu from Production.Product where Style = 'U' RETURN END GO select * from [f5] ('M') Ảnh function [f5] 2.4 Xây dựng Trigger 2.4.1 Giới thiệu Trigger -Là dạng đặc biệt stored-procedure -Là stored-procedure khơng có tham số -Khơng thể gọi trực tiếp lệnh Execute -Được thực thi cách tự động có thay đổi liệu (Insert, Update Delete) bảng -Thường dùng để kiểm tra tồn vẹn liệu -Có loại chính: +INSERT Trigger +UPDATE Trigger +DELETE Trigger 2.4.2 Ưu điểm: -Sử dụng Trigger để kiểm tra tính tồn vẹn sở liệu -Trigger bắt lỗi logic mức sở liệu Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu -Có thể dùng trigger cách khác để thay việc thực công việc hẹn theo lịch -Trigger hiệu sử dụng để kiểm soát thay đổi liệu bảng 2.4.3 Nhược điểm: -Trigger phần mở rộng việc kiểm tra tính hợp lệ liệu khơng thể thay hồn tồn công việc -Trigger hoạt động ngầm csdl, khơng hiển thị tầng giao diện Do đó, khó điều xảy tầng csdl -Trigger thực update lên bảng liệu làm tăng lượng cơng việc lên csdl làm cho hệ thống chạy chậm 2.4.4 Câu lệnh khởi tạo Trigger -Cú pháp: Create Trigger On For |After|Instead of [DELETE, INSERT, UPDATE] AS 2.4.5 Tạo Trigger Insert -Trigger kiểm tra việc thêm thơng tin vào bảng Sales.SpecialOffer 'Chiết khấu tổi thiểu phải nhỏ chiết khấu tối đa' CREATE TRIGGER tg1 ON Sales.SpecialOffer FOR INSERT AS BEGIN Quản lý giỏ hàng  0 Đồ án Môn học: Hệ quản trị sở liệu IF (( SELECT MinQty FROM INSERTED ) > ( SELECT MaxQty FROM INSERTED )) Begin Print N'Chiết khấu tổi thiểu phải nhỏ chiết khấu tối đa' rollback transaction END END GO 2.4.6 Tạo Trigger Update -Trigger kiểm tra việc cập nhật thơng tin vào bảng Sales.ShoppingCartItem 'Số hàng phải lớn 0' CREATE TRIGGER tg2 ON Sales.ShoppingCartItem FOR Update AS BEGIN IF (( SELECT Quantity FROM INSERTED )

Ngày đăng: 09/03/2023, 21:11

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan