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

Hệ quản trị cơ sở dữ liệu “quản lý bán hàng của pnj

41 0 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 đề Hệ Quản Trị Cơ Sở Dữ Liệu “Quản Lý Bán Hàng Của Pnj”
Người hướng dẫn Võ Xuân Thể
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Tp. Hcm
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Học Phần
Năm xuất bản 2024
Thành phố Tp.Hcm
Định dạng
Số trang 41
Dung lượng 4,52 MB

Cấu trúc

  • Chương 1: GIỚI THIỆU VỀ ĐỒ ÁN HỌC PHẦN 8 1.1. Tổng quan về Đồ Án Học Phần (0)
    • 1.2. Nội dung chuyên môn chính của ĐỒ ÁN HỌC PHẦN (8)
    • 1.3. Công cụ thực hiện ĐỒ ÁN HỌC PHẦN (8)
    • 1.4. Bố cục của báo cáo (9)
    • 1.5. Giới thiệu yêu cầu DB của đề tài (9)
      • 1.5.1. Giới thiệu nghiệp vụ …. liên quan (9)
      • 1.5.2. Mô tả hệ thống Cơ sở dữ liệu “QUẢN LÝ BÁN HÀNG CỦA PNJ" (9)
      • 1.5.3. ERD (10)
      • 1.5.4. Danh sách LĐQH (10)
      • 1.5.5. Sơ đồ vậy lý (Diagrams trên MS. SQL Server) (11)
  • Chương 2: CƠ SỞ LÝ THUYẾT CỦA HỌC PHẦN 12 2.1. Tổng quan về DBMS (0)
    • 2.2. Công cụ Quản trị CSDL (12)
    • 2.3. Tập lệnh SQL (Thông dịch) (0)
    • 2.4. Lập trình biên dịch trên MS. SQL Server (12)
    • 2.5. Giới thiệu một số công cụ kết nối CSDL (12)
  • Chương 3: TỔ CHỨC HỆ THỐNG CƠ SỞ DỮ LIỆU “QUẢN LÝ ............................”TRÊN DBMS MS. SQL SERVER (0)
    • 3.1. Quản trị tài khoản (Account) và an toàn bảo mật hệ thống CSDL (13)
    • 3.2. Cài đặt hệ thống CSDL “…..” trên DBMS MS. SQL Server (14)
      • 3.2.1. Lập CSDL mới (14)
      • 3.2.2. Lập mới các Bảng dữ liệu (Tables) (15)
      • 3.2.3. Lập Sơ đồ vật lý của Database (Diagram) (21)
  • Chương 4:CÀI ĐẶT CÁC THỦ TỤC KHAI THÁC SỬ DỤNG CSDL “QUẢN LÝ ............................”TRÊN DBMS MS. SQL SERVER (0)
    • 4.1. Các lệnh thao tác xử lý trên CSDL trong MS. SQl Server (DML SQL) (24)
      • 4.1.1. Thêm mẫu tin (bảng tin: Record) mới vào một Table trong một CSDL: Insert… 18 4.1.2. Xóa mẫu tin (Record) trong một Table của CSDL: Delete (24)
      • 4.1.3. Sửa chữa thông tin của mẫu tin (Record) trong một Table của CSDL: Update (27)
    • 4.2. Vấn tin SQL trên MS. SQL Server trên CSDL QUẢN LÝ...................(DML) (0)
    • 4.3. Cài đặt các View trên MS. SQL Server trên CSDL QUẢN LÝ ............................ (DML) (30)
    • 4.4. Lập các Store Procedure (SP) và các Trigger cho các Table của DB (33)
    • 4.5. Lập bảng sao CSDL trên hệ quản trị MS. SQL Server đối với CSDL QUẢN LÝ (36)
    • 4.6. Kết xuất (Export) và Nạp (Import) DL trên hệ quản trị MS. SQL Server đối với CSDL QUẢN LÝ (37)
  • Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỒ ÁN HỌC PHẦN 30 5.1. Kết luận (0)
    • 5.1.1. Những kết quả đạt được (39)
    • 5.1.2. Hạn chế (39)
    • 5.2. Hướng phát triển (39)
      • 5.2.1. Hướng khắc phục các hạn chế (39)

Nội dung

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCMKHOA CÔNG NGHỆ THÔNG TIN ĐỀ TÀI ĐỒ ÁN HỌC PHẦNTÊN HỌC PHẦN: Hệ quản trị cơ sở dữ liệu DBMS MÃ SỐ LỚP HP: DBMS330284_01 Tên đề tài: Hệ quản trị Cơ sở

GIỚI THIỆU VỀ ĐỒ ÁN HỌC PHẦN 8 1.1 Tổng quan về Đồ Án Học Phần

Nội dung chuyên môn chính của ĐỒ ÁN HỌC PHẦN

Đồ án tập tổ chức cài đặt Hệ thống CSDL “Quản lý ” trên Hệ quản trị CSDL MS. SQL Server với các nội dung chuyên môn như sau:

+ Mô tả Hệ thống CSDL “Quản lý ” sẽ được tổ chức trên DBMS SQL Server

+ Thiết lập và định nghĩa CSDL “Quản lý ” dùng DDL.

+ Thực hiện các thiết lập an toàn vào bảo mật CSDL “Quản lý ”

+ Cài đặt các điều khiển cần thiết cho CSDL “Quản lý ” dùng DCL

+ Cài đặt các thủ tục thao tác CSDL “Quản lý ” dùng DML

+ Cài đặt các SP (Store Procedure) phục vụ khai thác sử dụng CSDL “Quản lý ” + Cài đặt các Trigger phục vụ đảm bảo RBTV CSDL “Quản lý ”

+ Cài đặt các nền tảng kết nối CSDL “Quản lý ”

Công cụ thực hiện ĐỒ ÁN HỌC PHẦN

SQL Server Management Studio 2022, version: 15.0

Thủ tục đăng nhập vào DBMS được thực hiện như Hình 1-1

Hình 1-1 Màn hình đăng nhập MS SQL Server

Bố cục của báo cáo

Báo cáo gồm những nội dung như sau:

Chương 1 Giới thiệu đồ án của Học phần

Chương 2 Các cơ sở lý thuyết phục việc thực hiện đề tài Học phần

Chương 3 Tổ chức hệ thống CSDL “Quản lý ” trên DBMS MS SQL Server (bao gồm bảo mật).

Chương 4 Cài đặt các thủ tục khai thác sử dụng CSDL “Quản lý ” trên DBMS MS SQL

Chương 5 Tổng kết các kết quản đạt được và còn hạn chế của đồ án, đồng thời đề xuất hướng khắc phục hạn chế và phát triển Đồ án.

Giới thiệu yêu cầu DB của đề tài

1.5.1 Giới thiệu nghiệp vụ … liên quan

1.5.2 Mô tả hệ thống Cơ sở dữ liệu “QUẢN LÝ BÁN HÀNG CỦA PNJ"

Xét một phần (trích) CSDL “QUẢN LÝ BÁN HÀNG CỦA PNJ” được mô tả như sau:

- Thông tin về Nhân viên giao hàng: Họ tên nhân viên, Giới tính, Số điện thoại;

- Thông tin về Khu vực giao hàng: Tên khu vực giao hàng;

Mỗi khu vực giao hàng được quản lý bởi nhiều nhân viên giao hàng, trong đó mỗi nhân viên có khả năng phụ trách nhiều khu vực lân cận khác nhau.

- Thông tin về Đơn đặt hàng: Mã đơn đặt hàng, Địa chỉ giao hàng, Thời hạn giao hàng, Tình trang giao hàng (đã giao hay chưa)

Mỗi đơn đặt hàng thuộc 1 khu vực giao hàng; mỗi khu vực giao hàng có nhiều đơn đặt hàng phải giao;

Mỗi đơn hàng sẽ được giao cho một nhân viên giao hàng cụ thể, và một nhân viên có thể đảm nhiệm nhiều đơn hàng khác nhau.

ERD của DB quản lý … của ………như Hình 1-2

Hình 1-2 ERD của DB quản lý của

Danh sách LĐQH của DB quản lý … của ………như sau:

DDH(MSDDH, DiaChiGiao, ThoiHanGiao, TinhTrang, MSNV, MSKV)

NV(MSNV, HoTen, GioiTinh, SoDienThoai)

1.5.5 Sơ đồ vậy lý (Diagrams trên MS SQL Server)

Sơ đồ vậy lý (Diagrams) của DB quản lý bán hàng của PNJ như Hình 2-3

CƠ SỞ LÝ THUYẾT CỦA HỌC PHẦN 12 2.1 Tổng quan về DBMS

Công cụ Quản trị CSDL

+ Giới thiệu Hệ quản trị CSDL MS.SQL Server

+ Các đối tượng quản lý trong SQl Server : DataBase, Table, View, Diagram, Index, …

+ An toàn và Bảo mật trong SQL Server : Authenticate, sa, … Backup_Restore, Detach_Attach,…

2.3 Tập lệnh SQL (Thông dịch)

+ Tập lệnh SQL cơ bản

+ Tập lệnh định nghĩa dữ liệu [DDL] : Create, Drop,…

+ Tập lệnh điều khiển dữ liệu [DCL] : Grant, Revote,

+ Tập lệnh thao tác dữ liệu [DML] : Insert, Delete, Update,

+ DML: Vấn tin (Truy vấn) dữ liệu : Select…

2.4 Lập trình biên dịch trên MS SQL Server

+ Thủ tục lưu trữ (SP : Store Procedure)

+ Trigger và xử lý RBTV DL

2.5 Giới thiệu một số công cụ kết nối CSDL

+ Data Link OLE DB với udl file

+ Quản trị Các Services của MS SQl Server

+ Giới thiệu một số vấn đề liên quan : Distribution, DWH, DMN, BigData,

Lập trình biên dịch trên MS SQL Server

+ Thủ tục lưu trữ (SP : Store Procedure)

+ Trigger và xử lý RBTV DL

Giới thiệu một số công cụ kết nối CSDL

+ Data Link OLE DB với udl file

+ Quản trị Các Services của MS SQl Server

+ Giới thiệu một số vấn đề liên quan : Distribution, DWH, DMN, BigData,

TỔ CHỨC HỆ THỐNG CƠ SỞ DỮ LIỆU “QUẢN LÝ ”TRÊN DBMS MS SQL SERVER

Quản trị tài khoản (Account) và an toàn bảo mật hệ thống CSDL

* SQL Server luôn có UA cấp cao nhất : sa (System Administrator)

* Ngoài ra, khi quản trị DB, người quản trị (sa) phải cấp UA theo chức năng từng đơn vị : Trong đề tài :

Salestt là quyền truy cập dành cho bộ phận bán hàng của PNJ, cho phép chỉ được truy xuất dữ liệu từ cơ sở dữ liệu bán hàng Trong khi đó, Accstt là quyền truy cập dành cho bộ phận kế toán phụ trách hóa đơn của PNJ, cho phép chỉ được truy xuất dữ liệu từ cơ sở dữ liệu hóa đơn.

Các DB User Account nếu trên có Password ban đầu: 123, như Hình 2-1

Hình 2-1 Cấp DB UA cho bộ phận bán hàng của PNJ

2 Việc này thực hiện theo “CSDL Phân tán: Distribution DB”, trong phạm vị Đề tài này chưa thực hiện.

3 Việc này thực hiện theo “CSDL Phân tán: Distribution DB”, trong phạm vị Đề tài này chưa thực hiện.

Hình 2-2 Kết quả cấp DB UA cho hệ thống PNJ

Cài đặt hệ thống CSDL “… ” trên DBMS MS SQL Server

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\

Hình 2-3 Màn hình lập CSDL mới "Bán hàng của PNJ"

/****** Object: Database [a08VXTHE_SaleJ] Script Date: 08/05/2024 8:22:41 PM

/****** Object: Database [a08VXTHE_SaleJ] Script Date: 08/05/2024 8:22:41 PM

/****** Object: Database [a08VXTHE_SaleJ] Script Date: 08/05/2024 8:08:38 PM

FILENAME = N' C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\ a08VXTHE_SaleJ.mdf',

SIZE 8192KB MAXSIZE = , = UNLIMITED, FILEGROWTH 65536KB = )

FILENAME = N' C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA \ a08VXTHE_SaleJ_log.ldf',

SIZE 8192KB MAXSIZE 2048GB FILEGROWTH 65536KB = , = , = )

+ Tên CSDL (Database Name): a08VXTHE_SaleJ.mdf : File CSDL a08VXTHE_SaleJ_log.ldf: Log File

+ Owner (Sở hữu DB): mặc định là Account đăng nhập lập DB: VD THE\VOXUANsa

Câu lệnh Hủy bỏ CSDL (Xóa bỏ DataBase):

/****** Object: Database [a08VXTHE_SaleJ] Script Date: 08/05/2024 8:22:41 PM

3.2.2 Lập mới các Bảng dữ liệu (Tables)

/****** Câu lệnh lập mới Table: DMMH[msmh]PK,… ***/

CREATE TABLE DMMH( msmh nchar 20 ( ) NOT NULL, tenmh nvarchar(150 ), dvt nvarchar(50 ), gia float, ngaysx date , hansd date , mota nvarchar (250), hinh nchar (150), msnsx nchar 20 ( )

/****** Câu lệnh lập MốN i liên kêN t: DMMH[msnsx]FK PK[msnsx]DMNSX ***/

ALTER TABLE DMMH WITH CHECK ADD CONSTRAINT FK_DMMH_DMNSX FOREIGN KEY (msnsx) REFERENCES DMNSX ( msnsx )

ALTER TABLE DMMH CHECK CONSTRAINT FK_DMMH_DMNSX

Thứ tự các Table được lập như sau (PK lập trước FK & PK đơn lập trước PK tổ hợp):

/****** CÁC CÂU LỆNH ĐIỀX U KHIỀY N BAN ĐÂU******/

/****** Object: Table [dbo].[DMMH] Script Date: 15/05/2024 7:30:15 PM ******/

/****** Table: DMNSX ***chỉ Y có PK làm trước: KO CÓ Dây liên kêN t***/

) WITH PAD_INDEX OFF ( = , STATISTICS_NORECOMPUTE OFF = , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON , OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF ) ON [PRIMARY]

/****** Table: DMCSBH ***chỉ Y có PK làm trước***/

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON , OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF ) ON [PRIMARY]

/****** Table: DMNV ***chỉ Y có PK làm trước***/

) WITH PAD_INDEX OFF ( = , STATISTICS_NORECOMPUTE OFF = , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON , OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF ) ON [PRIMARY]

/****** Table: DMKH ***chỉ Y có PK làm trước***/

) WITH PAD_INDEX OFF ( = , STATISTICS_NORECOMPUTE OFF = , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON , OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF ) ON [PRIMARY]

/****** Table: DMMH ***thực hiện sau DMNSX***/

( [msmh] ASC WITH PAD_INDEX OFF ) ( = , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF )ON [PRIMARY]

/****** các mốN i liên kêN t cu Ya DMMH với các Tables khác bở Yi FK cu Ya nó ******/

/**DMMH[msnsx] [msnsx]DMNSX */

ALTER TABLE [dbo].[DMMH] WITH CHECK ADD CONSTRAINT [FK_DMMH_DMNSX] FOREIGN KEY ( [msnsx] ) REFERENCES [dbo].[DMNSX] ( [msnsx] )

ALTER TABLE [dbo].[DMMH] CHECK CONSTRAINT [FK_DMMH_DMNSX]

/****** Table: DMHD ***thực hiện sau DMNV & DMKH***/

) WITH PAD_INDEX OFF ( = , STATISTICS_NORECOMPUTE OFF = , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON , OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF ) ON [PRIMARY]

ALTER TABLE [dbo].[DMHD] WITH CHECK ADD CONSTRAINT [FK_DMHD_DMKH] FOREIGN KEY ( [mskh] )

ALTER TABLE [dbo].[DMHD] CHECK CONSTRAINT [FK_DMHD_DMKH]

ALTER TABLE [dbo].[DMHD] WITH CHECK ADD CONSTRAINT [FK_DMHD_DMNV] FOREIGN KEY ( [msnv] )

ALTER TABLE [dbo].[DMHD] CHECK CONSTRAINT [FK_DMHD_DMNV]

EXEC sys.sp_addextendedproperty @name= N'MS_Description' , @value=N'0: Hóa đởn bán le Y; 1: Hóa đởn VAT' ,

@level0type = N'SCHEMA' , @level0name = N'dbo' , @level1type= N'TABLE' , @level1name = N'DMHD' ,

@level2type = N'COLUMN' , @level2name =N'loai'

/****** Table: DMBILL ***thực hiện sau DMNV & DMKH & DMHD***/

) WITH PAD_INDEX OFF ( = , STATISTICS_NORECOMPUTE OFF = , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON , OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF ) ON [PRIMARY]

/* PHÂX N dây liên kêN t trên Diagram */

ALTER TABLE [dbo].[DMBILL] WITH CHECK ADD CONSTRAINT [FK_DMBILL_DMHD] FOREIGN KEY ( [mshd] )

ALTER TABLE [dbo].[DMBILL] CHECK CONSTRAINT [FK_DMBILL_DMHD]

ALTER TABLE [dbo].[DMBILL] WITH CHECK ADD CONSTRAINT [FK_DMBILL_DMKH] FOREIGN KEY ( [mskh] )

ALTER TABLE [dbo].[DMBILL] CHECK CONSTRAINT [FK_DMBILL_DMKH]

ALTER TABLE [dbo].[DMBILL] WITH CHECK ADD CONSTRAINT [FK_DMBILL_DMNV] FOREIGN KEY ( [msnv] )

ALTER TABLE [dbo].[DMBILL] CHECK CONSTRAINT [FK_DMBILL_DMNV]

/****** Table: TONHANG ***thực hiện sau DMMH & DMCSBH***/

) WITH PAD_INDEX OFF ( = , STATISTICS_NORECOMPUTE OFF = , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON , OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF ) ON [PRIMARY]

/* PHÂX N dây liên kêN t trên Diagram */

ALTER TABLE [dbo].[TONHANG] WITH CHECK ADD CONSTRAINT [FK_TONHANG_DMCSBH] FOREIGN KEY ( [mscsbh] ) REFERENCES [dbo].[DMCSBH] ( [mscsbh] )

ALTER TABLE [dbo].[TONHANG] CHECK CONSTRAINT [FK_TONHANG_DMCSBH]

ALTER TABLE [dbo].[TONHANG] WITH CHECK ADD CONSTRAINT [FK_TONHANG_DMMH] FOREIGN KEY ( [msmh] ) REFERENCES [dbo].[DMMH] ( [msmh] )

ALTER TABLE [dbo].[TONHANG] CHECK CONSTRAINT [FK_TONHANG_DMMH]

/****** Table: CT_HD ***thực hiện sau DMMH & DMHD***/

CREATE TABLE [dbo] [CT_HD] (

) WITH PAD_INDEX OFF ( = , STATISTICS_NORECOMPUTE OFF = , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON , OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF ) ON [PRIMARY]

GO /* PHÂX N dây liên kêN t trên Diagram */

ALTER TABLE [dbo].[CT_HD] WITH CHECK ADD CONSTRAINT [FK_CT_HD_DMHD] FOREIGN KEY ( [mshd] ) REFERENCES [dbo].[DMHD] ( [mshd] )

ALTER TABLE [dbo].[CT_HD] CHECK CONSTRAINT [FK_CT_HD_DMHD]

ALTER TABLE [dbo].[CT_HD] WITH CHECK ADD CONSTRAINT [FK_CT_HD_DMMH] FOREIGN KEY ( [msmh] ) REFERENCES [dbo].[DMMH] ( [msmh] )

ALTER TABLE [dbo].[CT_HD] CHECK CONSTRAINT [FK_CT_HD_DMMH]

/****** Table: CT_BILL ***thực hiện sau DMMH & DMBILL***/

CREATE TABLE [dbo] [CT_BILL] (

) WITH PAD_INDEX OFF ( = , STATISTICS_NORECOMPUTE OFF = , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON , OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF ) ON [PRIMARY]

/* PHÂX N dây liên kêN t trên Diagram */

ALTER TABLE [dbo].[CT_BILL] WITH CHECK ADD CONSTRAINT [FK_CT_BILL_DMBILL] FOREIGN KEY ( [msbill] ) REFERENCES [dbo].[DMBILL] ( [msbill] )

ALTER TABLE [dbo].[CT_BILL] CHECK CONSTRAINT [FK_CT_BILL_DMBILL]

ALTER TABLE [dbo].[CT_BILL] WITH CHECK ADD CONSTRAINT [FK_CT_BILL_DMMH] FOREIGN KEY ( [msmh] )

ALTER TABLE [dbo].[CT_BILL] CHECK CONSTRAINT [FK_CT_BILL_DMMH]

 CÂU LỆNH HỦY TABLE; VD Table DDH trong DB: [AsttHoTen Store]

B2 Hủy Table trong DB đó

/****** Object: Table [dbo].[DMMH] Script Date: 15/05/2024 8:27:59 PM ******/

IF EXISTS ( SELECT * FROM sys objects WHERE object_id = OBJECT_ID ( N'[dbo].[DMMH]' ) AND type in ( N'U' ))

3.2.3 Lập Sơ đồ vật lý của Database (Diagram)

Hình 2-3 Sơ đồ vật lý của CSDL trên Hệ quản trị SQl Server

3.3.Di chuyển hệ thống CSDL MS SQL Server từ Server này đến Server khác

 Có 2 phương pháp (cách) cơ bản:

+ Backup (Sao lưu): từ Server này & Restore (Phục hồi) đến Server mới

+ Detach (Tháo gỡ): từ Server này & Attach (Gán vào) Server mới

The source database on the server remains intact, ensuring that applications utilizing the database continue to function normally The backup process compresses the database, resulting in smaller file sizes for copies (.bak or tm), which are commonly used It is crucial to maintain strict adherence to version control, authentication, and server naming conventions.

ĐẶT CÁC THỦ TỤC KHAI THÁC SỬ DỤNG CSDL “QUẢN LÝ ”TRÊN DBMS MS SQL SERVER

Các lệnh thao tác xử lý trên CSDL trong MS SQl Server (DML SQL)

Thao tác xử lý: Thêm (Insert), Xóa (Delete), Sửa (Update)

4.1.1 Thêm mẫu tin (bảng tin: Record) mới vào một Table trong một CSDL: Insert…

* Thứ tự nhập dữ liệu (Insert):

+ TONHANG, CT_HD, CT_BILL

/****** XÁC ĐỊNH DB NHẬP DỮ LIỆU ******/

/****** NHẬP DỮ LIỆUl: Table DMCSBH ******/

INSERT INTO DMCSBH( mscsbh tencsbh dc sodt succhua , , , , , controng )

VALUES ( '01' , N'Tân Bình, Tp.HCM', N'Hoàng Văn Thụ', '123456' '2000' , , '1000') GO

INSERT INTO DMCSBH( mscsbh tencsbh dc sodt succhua , , , , , controng )

VALUES ( '02' , N'Thu Y Đức, Tp.HCM' , N'Võ Văn Ngân' , '6789' '5000' , , '4000') GO

/****** NHẬP DỮ LIỆUl: Table DMNSX ******/

INSERT INTO DMNSX( msnsx tennsx nuoc , , )

INSERT INTO DMNSX( msnsx tennsx nuoc , , )

INSERT INTO DMNSX( msnsx tennsx nuoc , , )

/****** NHẬP DỮ LIỆUl: Table DMNV ******/

INSERT INTO DMNV( msnv hoten sodt , , )

INSERT INTO DMNV( msnv hoten sodt , , )

/****** NHẬP DỮ LIỆUl: Table DMKH ******/

INSERT INTO DMKH( mskh tenkh dc sodt msthue diem , , , , , )

INSERT INTO DMKH( mskh tenkh dc sodt msthue diem , , , , , )

/****** NHẬP DỮ LIỆUl: Table DMMH ******/

INSERT INTO DMMH( msmh tenmh dvt gia ngaysx hansd mota hinh msnsx , , , , , , , , )

VALUES( '01' N'Dây ChuyêX , n',N'ChiêN c' '500000' '2024-05-18' '2500-01-01' , , , ,N'Tặng quà cho bốX ' '' '01' , , )

INSERT INTO DMMH( msmh tenmh dvt gia ngaysx hansd mota hinh msnsx , , , , , , , , )

VALUES( '02' N'LăN , c' N'Cái' '600000' '2024-01-20' '2700-01-01' , , , , ,N'Quà 8.3', '' '02' , ) GO

/****** NHẬP DỮ LIỆUl: Table TONHANG ******/

INSERT INTO TONHANG( mscsbh msmh slton , , )

INSERT INTO TONHANG( mscsbh msmh slton , , )

INSERT INTO TONHANG( mscsbh msmh slton , , )

INSERT INTO TONHANG( mscsbh msmh slton , , )

INSERT INTO TONHANG( mscsbh msmh slton , , )

Tables bên “giao dịch”: tự phát sinh trong thực tế, sa (người quản trị không nhập dữ liệu) + DMHD

4.1.2 Xóa mẫu tin (Record) trong một Table của CSDL: Delete

 Xóa tất cả các mặt hàng có giá < 5000

DELETE FROM DMMH WHERE gia < 5000

 Xóa mặt hàng có mã số '01'

DELETE FROM DMMH WHERE msmh = '01'

4.1.3 Sửa chữa thông tin của mẫu tin (Record) trong một Table của CSDL: Update

 Sửa chữa thông mặt hàng có mã số '02' : tên mới của mặt hàng 'Nhẫ3 n cưới' và giá mới là '700000'

UPDATE DMMH SET tenmh = N'Nhẫ3 n cưới', gia = '700000' WHERE msmh = '02'

VD: Đởn hàng có mã ‘01’ đang phân cống cho nhân viên ‘02’ (chưa giao)

Sẽ được phân lại cho NV có mã ‘01’ & chuyêY n sang trang thái đã giao

UPDATE DDH SET msnv = '01' , TinhTrang 1 = WHERE msddh = '01'

4.2 Vấn tin SQL trên MS SQL Server trên CSDL QUẢN LÝ (DML)

Câu hỏi 1: Cho biết danh sách các mặt hàng có : dvt = ‘Cái’ và gia > '500000' ?

SELECT * FROM DMMH WHERE dvt = N'Cái' AND gia > '500000'

Câu hỏi 1: Cho biết danh sách các đơn hàng chưa giao: TinhTrang = 0 ?

SELECT * FROM DDH WHERE TinhTrang = 0

Câu hỏi 2: Cho biết Cơ sở bán hàng [cho biết tên Cơ sở bán hàng] có mã số mscsbh =

‘01’: có những mặt hàng [có tên là gì] đang còn tồn ít nhất 60 ?

SELECT t mscsbh c tencsbh t msmh m tenmh m dvt m gia, t.slton , , , , ,

FROM TONHANG AS t DMMH , AS m DMCSBH , AS c

WHERE T slton >= 60 AND t mscsbh c mscsbh = AND t msmh m msmh =

SELECT 'Mã CS' = t mscsbh , 'Tên CS' = c tencsbh , 'Mã hàng' = t msmh , 'Tên hàng' = m tenmh , 'ĐVT'= m dvt , 'Giá' = m gia , 'SốN tốX n' t slton = FROM TONHANG AS t DMMH , AS m DMCSBH , AS c

WHERE T slton >= 60 AND t mscsbh c mscsbh = AND t msmh m = msmh

Danh sách các đơn hàng chưa giao có trạng thái TinhTrang = 0, bao gồm thông tin về họ tên nhân viên phụ trách và khu vực mà đơn hàng đó thuộc về (Tên Khu vực).

GO SELECT d msddh d DiaChiGiao d ThoiHanGiao n HoTen k TenKV d TinhTrang , , , , , FROM DDH AS d, NV AS n, KV AS k WHERE TinhTrang = 0 AND d msnv n msnv = AND d mskv k mskv =

SELECT 'Mã đởn' = d msddh 'Địa chỉ , Y' d = DiaChiGiao , 'Hạn giao' d = ThoiHanGiao, 'Họ tên NV' n = HoTen ,

'Tên KV' k = TenKV , 'Tình Trang' d TinhTrang = FROM DDH AS d NV , AS n KV , AS k WHERE TinhTrang = 0 AND d msnv n msnv = AND d mskv k mskv =

4.3 Cài đặt các View trên MS SQL Server trên CSDL QUẢN

Bài 1 : Lập View dùng phép kết thông thường (không tinh toán)

+ View : Lập danh sách các đơn hàng CHƯA GIAO được phân công cho các NV phụ trách SẮP XẾP THEO HẠN GIAO sttHoTen_wDDH0

SELECT TOP (100) PERCENT dbo.DDH.msddh, dbo.DDH.DiaChiGiao, dbo.DDH.ThoiHanGiao, dbo.KV.TenKV, dbo.NV.HoTen, dbo.DDH.TinhTrang

FROM dbo.DDH INNER JOIN dbo.KV ON dbo.DDH.mskv = dbo.KV.mskv INNER JOIN dbo.NV ON dbo.DDH.msnv = dbo.NV.msnv

ORDER BY dbo.DDH.ThoiHanGiao w_1NVDDH_stt

The SQL query retrieves the top 100 percent of records, selecting employee ID (Mã NV) and name (Họ tên) from the employee table (NV), along with order ID (Mã đơn), order date (Ngày lập), delivery deadline (Hạn giao), and order status (Tình trạng) from the order table (DDH) It accomplishes this by performing an inner join between the two tables based on the employee ID.

Bài 2 : Lập View dùng phép kết có tính toán

+ View : Lập danh sách các mặt hàng được mua trên các đơn hàng :

Mã đơn, ngày lập, mã hàng, tên hàng, số lượng mua, đơn vị tính, đơn giá và thành tiền (tính bằng số lượng mua nhân với đơn giá) là các thông tin quan trọng trong quản lý đơn hàng Để dễ dàng theo dõi và quản lý, các mặt hàng cần được sắp xếp theo mã hàng.

Dưới đây là câu lệnh SQL để truy xuất thông tin đơn hàng, bao gồm mã đơn, ngày lập, mã hàng, tên hàng, số lượng mua, đơn vị tính, đơn giá và thành tiền, với điều kiện lấy 100% kết quả.

FROM dbo.CTDDH AS c INNER JOIN dbo.DDH AS d ON c.msddh = d.msddh INNER JOIN dbo.MH AS m ON c.msmh = m.msmh

Bài 3: Lập View dùng phép kết có dùng hàm SUM, COUNT, AVERAGE, MAX, MIN, ) + View : Lập danh sách các mặt hàng được mua trên các đơn hàng :

Mã đơn, ngày lập, Mã hàng, Tên hàng, số lượng mua, đơn vị tính, đơn giá, thành tiền (= số lượng mua * đơn gia) Gôm lại theo : Mã đơn

Tính tổng số tiền của đơn hàng = SUM(thành tiền)/ theo cùng Mã đơn. w_31_DH_MH_stt

SELECT d.msddh AS [Mã đơn], d.ngaylap AS [Ngày lập], m.tenmh AS [Tên hàng], c.sl AS [Số lương], m.gia AS Giá, m.dvt AS ĐVT, c.sl * m.gia AS [Thành tiền]

FROM dbo.DDH AS d INNER JOIN dbo.CTDDH AS c ON d.msddh = c.msddh INNER JOIN dbo.MH AS m ON c.msmh = m.msmh

ORDER BY [Mã đơn] w_32_DH_SUM

SELECT [Mã đơn], [Ngày lập], SUM([Thành tiền]) AS [Tổng tiền]

FROM dbo.w_31_DH_MH_stt

GROUP BY [Mã đơn], [Ngày lập]

4.4 Lập các Store Procedure (SP) và các Trigger cho các Table của DB

LẬP SP : Kiểm tra Danh sách các Đơn hàng đã phân công cho NV mà chưa giao DK08_DDHTest

Template generated from Template Explorer using:

Create Procedure (New Menu).SQL

Use the Specify Values for Template Parameters

command (Ctrl-Shift-M) to fill in the parameter

This block of comments will not be included in

the definition of the procedure.

CREATE PROCEDURE DK08_DDHTest @msnv nchar ( 20 )

Add the parameters for the stored procedure here

SELECT TOP ( 100 ) PERCENT dbo NV msnv , dbo NV HoTen , dbo DDH msddh , dbo DDH ThoiHanGiao , dbo DDH TinhTrang

FROM dbo DDH INNER JOIN dbo NV ON dbo DDH msnv dbo = NV msnv

WHERE ( dbo DDH TinhTrang 0 = ) AND ( NV msnv @msnv = )

ORDER BY dbo DDH ThoiHanGiao

CHẠY SP : Kiểm tra Danh sách các Đơn hàng đã phân công cho NV mà chưa giao

EXEC @return_value [dbo] = [DK08_DDHTest]

SELECT 'Return Value' @return_value =

LẬP Trigger : IN Danh sách NV sau mỗi lần Insert hoặc Update

CREATE TRIGGER DK08_NV ON NV

4.5 Lập bảng sao CSDL trên hệ quản trị MS SQL Server đối với CSDL QUẢN LÝ

Phải[AsttHoTen_Store]->Tasks->Copy Database:

Sử dụng: SQL Server Agents đúng Version

4.6 Kết xuất (Export) và Nạp (Import) DL trên hệ quản trị MS SQL Server đối với CSDL QUẢN LÝ

Phải[AsttHoTen_Store]->Tasks->Export Data…:

Phải[AsttHoTen_Store]->Tasks->Import Data…:

Cài đặt các View trên MS SQL Server trên CSDL QUẢN LÝ (DML)

Bài 1 : Lập View dùng phép kết thông thường (không tinh toán)

+ View : Lập danh sách các đơn hàng CHƯA GIAO được phân công cho các NV phụ trách SẮP XẾP THEO HẠN GIAO sttHoTen_wDDH0

SELECT TOP (100) PERCENT dbo.DDH.msddh, dbo.DDH.DiaChiGiao, dbo.DDH.ThoiHanGiao, dbo.KV.TenKV, dbo.NV.HoTen, dbo.DDH.TinhTrang

FROM dbo.DDH INNER JOIN dbo.KV ON dbo.DDH.mskv = dbo.KV.mskv INNER JOIN dbo.NV ON dbo.DDH.msnv = dbo.NV.msnv

ORDER BY dbo.DDH.ThoiHanGiao w_1NVDDH_stt

This SQL query retrieves all records from the database, selecting employee ID, employee name, order ID, order date, delivery deadline, and order status It joins the order data with employee information to display a comprehensive overview of orders along with the respective employees responsible for them.

Bài 2 : Lập View dùng phép kết có tính toán

+ View : Lập danh sách các mặt hàng được mua trên các đơn hàng :

Mã đơn, ngày lập, mã hàng, tên hàng, số lượng mua, đơn vị tính, đơn giá và thành tiền (tính bằng số lượng mua nhân với đơn giá) là các thông tin quan trọng trong quản lý đơn hàng Để dễ dàng theo dõi, cần sắp xếp các mặt hàng theo mã hàng.

Đoạn truy vấn SQL trên chọn tất cả các đơn hàng, hiển thị mã đơn, ngày lập, mã hàng, tên hàng, số lượng mua, đơn vị tính, đơn giá và thành tiền Cụ thể, nó tính toán thành tiền bằng cách nhân số lượng mua với đơn giá của từng mặt hàng.

FROM dbo.CTDDH AS c INNER JOIN dbo.DDH AS d ON c.msddh = d.msddh INNER JOIN dbo.MH AS m ON c.msmh = m.msmh

Bài 3: Lập View dùng phép kết có dùng hàm SUM, COUNT, AVERAGE, MAX, MIN, ) + View : Lập danh sách các mặt hàng được mua trên các đơn hàng :

Mã đơn, ngày lập, Mã hàng, Tên hàng, số lượng mua, đơn vị tính, đơn giá, thành tiền (= số lượng mua * đơn gia) Gôm lại theo : Mã đơn

Tính tổng số tiền của đơn hàng = SUM(thành tiền)/ theo cùng Mã đơn. w_31_DH_MH_stt

SELECT d.msddh AS [Mã đơn], d.ngaylap AS [Ngày lập], m.tenmh AS [Tên hàng], c.sl AS [Số lương], m.gia AS Giá, m.dvt AS ĐVT, c.sl * m.gia AS [Thành tiền]

FROM dbo.DDH AS d INNER JOIN dbo.CTDDH AS c ON d.msddh = c.msddh INNER JOIN dbo.MH AS m ON c.msmh = m.msmh

ORDER BY [Mã đơn] w_32_DH_SUM

SELECT [Mã đơn], [Ngày lập], SUM([Thành tiền]) AS [Tổng tiền]

FROM dbo.w_31_DH_MH_stt

GROUP BY [Mã đơn], [Ngày lập]

Lập các Store Procedure (SP) và các Trigger cho các Table của DB

LẬP SP : Kiểm tra Danh sách các Đơn hàng đã phân công cho NV mà chưa giao DK08_DDHTest

Template generated from Template Explorer using:

Create Procedure (New Menu).SQL

Use the Specify Values for Template Parameters

command (Ctrl-Shift-M) to fill in the parameter

This block of comments will not be included in

the definition of the procedure.

CREATE PROCEDURE DK08_DDHTest @msnv nchar ( 20 )

Add the parameters for the stored procedure here

SELECT TOP ( 100 ) PERCENT dbo NV msnv , dbo NV HoTen , dbo DDH msddh , dbo DDH ThoiHanGiao , dbo DDH TinhTrang

FROM dbo DDH INNER JOIN dbo NV ON dbo DDH msnv dbo = NV msnv

WHERE ( dbo DDH TinhTrang 0 = ) AND ( NV msnv @msnv = )

ORDER BY dbo DDH ThoiHanGiao

CHẠY SP : Kiểm tra Danh sách các Đơn hàng đã phân công cho NV mà chưa giao

EXEC @return_value [dbo] = [DK08_DDHTest]

SELECT 'Return Value' @return_value =

LẬP Trigger : IN Danh sách NV sau mỗi lần Insert hoặc Update

CREATE TRIGGER DK08_NV ON NV

Lập bảng sao CSDL trên hệ quản trị MS SQL Server đối với CSDL QUẢN LÝ

Phải[AsttHoTen_Store]->Tasks->Copy Database:

Sử dụng: SQL Server Agents đúng Version

Kết xuất (Export) và Nạp (Import) DL trên hệ quản trị MS SQL Server đối với CSDL QUẢN LÝ

Phải[AsttHoTen_Store]->Tasks->Export Data…:

Phải[AsttHoTen_Store]->Tasks->Import Data…:

Ngày đăng: 07/01/2025, 16:22

HÌNH ẢNH LIÊN QUAN

Hình  1-1. Màn hình đăng nhập MS. SQL Server - Hệ quản trị cơ sở dữ liệu “quản lý bán hàng của pnj
nh 1-1. Màn hình đăng nhập MS. SQL Server (Trang 9)
Hình  1-2. ERD của DB quản lý ....... của .... - Hệ quản trị cơ sở dữ liệu “quản lý bán hàng của pnj
nh 1-2. ERD của DB quản lý ....... của (Trang 10)
1.5.5. Sơ đồ vậy lý (Diagrams trên MS. SQL Server) - Hệ quản trị cơ sở dữ liệu “quản lý bán hàng của pnj
1.5.5. Sơ đồ vậy lý (Diagrams trên MS. SQL Server) (Trang 11)
Hình 2-1. Cấp DB UA cho bộ phận bán hàng của PNJ - Hệ quản trị cơ sở dữ liệu “quản lý bán hàng của pnj
Hình 2 1. Cấp DB UA cho bộ phận bán hàng của PNJ (Trang 13)
Hình 2-2. Kết quả cấp DB UA cho hệ thống PNJ - Hệ quản trị cơ sở dữ liệu “quản lý bán hàng của pnj
Hình 2 2. Kết quả cấp DB UA cho hệ thống PNJ (Trang 14)
Hình 2-3. Sơ đồ vật lý của CSDL trên Hệ quản trị SQl Server - Hệ quản trị cơ sở dữ liệu “quản lý bán hàng của pnj
Hình 2 3. Sơ đồ vật lý của CSDL trên Hệ quản trị SQl Server (Trang 21)

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

TÀI LIỆU LIÊN QUAN

w