Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 67

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC KINH TẾ




BÁO CÁO CUỐI KÌ

QUẢN LÝ BÁN HÀNG QUÁN COFFEE ALOHA


Môn: Quản trị cơ sở dữ liệu
Lớp: 45K21.1

Giảng viên hướng dẫn Nhóm 5


Cao Thị Nhâm Nguyễn Ngọc Quỳnh Anh
Phạm Thị Thanh Hà
Trần Thị Kim Phú
Đỗ Nguyễn Minh Thư

Đà Nẵng, tháng 11 năm 2021


LỜI CẢM ƠN

Để hoàn thành được đề tài này, trước hết chúng em xin gửi đến Ban Giám hiệu Trường
Đại học Kinh tế - Đại học Đà Nẵng lời cảm ơn sâu sắc vì đã cho chúng em cơ hội được
học tập và trải nghiệm những điều mới mẻ, bổ ích ở trường.

Học tập được những kiến thức từ cơ bản đến nâng cao từ quý thầy cô trong khoa Thống
kê – Tin học cùng các bạn sinh viên trong và ngoài lớp, các anh chị khóa trên đã giúp
nhóm chúng em hoàn thành đề tài “Quản lý bán hàng tại quán coffee Aloha”

Để có đủ kiến thức chuyên ngành, hoàn thiện được đề tài này, chúng em cũng xin gửi lời
cảm ơn chân thành nhất đến giảng viên hướng dẫn nhóm: Ths. Cao Thị Nhâm đã thường
xuyên kiểm tra, góp ý cho nhóm trong quá trình học tập.

Do kiến thức còn nhiều hạn chế và những hiểu biết trong thực tế còn hạn hẹp, nên đề tài
của nhóm còn thiếu sót. Hy vọng chúng em sẽ nhận được sự góp ý từ phía cô và các bạn.

Chúng em xin chân thành cảm ơn.


MỤC LỤC
LỜI CẢM ƠN.....................................................................................................................2

DANH MỤC HÌNH ẢNH..................................................................................................5

DANH MỤC BẢNG BIỂU................................................................................................8

PHẦN MỞ ĐẦU.................................................................................................................9

1. Mục tiêu nghiên cứu của đề tài.....................................................................................9

2. Nhiệm vụ của đề tài......................................................................................................9

3. Kết cấu của đề tài..........................................................................................................9

CHƯƠNG 1: COFFEE ALOHA VÀ CÁC CHỨNG TỪ THU THẬP ĐƯỢC..........11

1.1 Địa điểm tìm hiểu......................................................................................................11

1.2 Các chứng từ thu thập được......................................................................................11

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP NGHIÊN CỨU...............14

2.1. Cơ sở dữ liệu – SQL Server.....................................................................................14

2.2. C# và lập trình winforms.........................................................................................16

2.3. DataSet và DataTable...............................................................................................18

CHƯƠNG 3: THIẾT KẾ, XÂY DỰNG CƠ SỞ DỮ LIỆU VÀ GIẢI QUYẾT CÁC


VẤN ĐỀ VỀ CƠ SỞ DỮ LIỆU.......................................................................................19

3.1 Xây dựng mô hình liên kết....................................................................................19

3.2 Thiết kế cơ sở dữ liệu mức logic...........................................................................22

3.3 Mô tả thuộc tính các quan hệ................................................................................24

3.4 Mô hình cơ sở dữ liệu (Database Diagram)..........................................................27

3.5 Xác định và tạo các index cho các thuộc tính...........................................................27

3.6 Xây dựng cơ chế backup dữ liệu phù hợp cho CSDL vừa tạo..................................39
3.7 Phương án giải quyết TỐT NHẤT cho vấn đề lượng dữ liệu rất lớn, không đủ lưu
trữ trong một ổ đĩa...........................................................................................................50

3.8 Phương án đề phòng hệ thống TESTDB bị tấn công bằng SQL Injection...............51

CHƯƠNG 4. TRIỂN KHAI HỆ THỐNG......................................................................53

4.1 Giao diện đăng nhập.................................................................................................53

4.2 Giao diện chính.........................................................................................................54

4.3 Giao diện Thông tin cá nhân.....................................................................................57

4.4 Giao diện Quản lý Mua.............................................................................................57

4.5 Giao diện Quản lý Bán..............................................................................................60

4.6 Một số tiện ích khác..................................................................................................63

KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN.........................................................................65

TÀI LIỆU THAM KHẢO...............................................................................................66


DANH MỤC HÌNH ẢNH

Hình 1.1 Hóa đơn mua hàng của quán tại nhà phân phối Phương Hiền............................10
Hình 1.2 Hóa đơn mua hàng của quán tại nhà phân phối Trường......................................11
Hình 1.3 Hóa đơn bán hàng cho khách..............................................................................12
Hình 2.1 Mô hình 3 lớp......................................................................................................16
Hình 3.1 Mô hình E-R đặt hàng.........................................................................................19
Hình 3.2 Mô hình E-R bán hàng........................................................................................20
Hình 3.3 Tích hợp ER-1 và ER-2.......................................................................................21
Hình 3.4 Sơ đồ quan hệ......................................................................................................22
Hình 3.5 Sơ đồ cơ sở dữ liệu..............................................................................................26
Hình 3.6 Clustered index của bảng Hang...........................................................................27
Hình 3.7 Clustered index của bảng DatChiTiet..................................................................28
Hình 3.8 Tạo tài khoản Login nhân viên............................................................................30
Hình 3.9 Phân quyền cho tài khoản QLCFNv....................................................................31
Hình 3.10 Tạo tài khoản login Admin................................................................................32
Hình 3.11 Phân quyền truy cập vào Database (toàn quyền)...............................................33
Hình 3.12 Login vào Server bằng tài khoản QLCFNv.......................................................34
Hình 3.13 Truy cập Database ngoài...................................................................................34
Hình 3.14 Quyền của Nhân viên........................................................................................35
Hình 3.15 Quyền của Nhân viên........................................................................................35
Hình 3.16 Quyền của Nhân viên........................................................................................36
Hình 3.17 Login vào Server bằng tài khoản QLCFAdmin................................................36
Hình 3.18 Truy cập Database ngoài...................................................................................37
Hình 3.19 Quyền backup database.....................................................................................37
Hình 3.20 Backup thành công............................................................................................38
Hình 3.21 Tạo backup-full.................................................................................................39
Hình 3.22 Media option backup-full..................................................................................40
Hình 3.23 Backup option backup-full................................................................................40
Hình 3.24 Backup thành công............................................................................................41
Hình 3.25 Tạo backup-differential.....................................................................................41
Hình 3.26 Tạo backup-differential.....................................................................................42
Hình 3.27 Media option backup-differential......................................................................43
Hình 3.28 Backup option backup-differential....................................................................43
Hình 3.29 Backup thành công............................................................................................44
Hình 3.30 Tạo new Job backup-differential.......................................................................44
Hình 3.31 Job Step backup-full..........................................................................................45
Hình 3.32 Job Step backup-full(scrip)................................................................................45
Hình 3.33 Job Step backup-diff..........................................................................................46
Hình 3.34 Job Step backup-diff (scrip)..............................................................................46
Hình 3.35 Các bước backup...............................................................................................47
Hình 3.36 New Job Schedule.............................................................................................47
Hình 3.37 Kiểm tra lịch sử backup.....................................................................................48
Hình 3.38 Nơi lưu trữ bản backup......................................................................................49
Hình 3.39 Thư mục Database QLCF đã được đưa lên Microsoft Onedrive......................49
Hình 3.40 Toàn bộ dữ liệu được lưu trong file .sql của thư mục Database QLCF............50
Hình 3.41 File .sql ở Microsoft One drive được đồng bộ dữ liệu với máy tính.................50
Hình 3.42 Hàm InsertXuatHDChiTiet sử dựng parameter.................................................51
Hình 3.43 Hàm Login sử dựng parameter..........................................................................51
Hình 4.1 Giao diện đăng nhập............................................................................................52
Hình 4.2 Báo lỗi khi nhập sai tên đăng nhập hoặc mật khẩu.............................................52
Hình 4.3 Giao diện chính....................................................................................................53
Hình 4.4 Thực hiện order cho khách..................................................................................54
Hình 4.5 Thanh toán cho khách hàng.................................................................................54
Hình 4.6 Trạng thái bàn sau khi thanh toán sẽ thay đổi.....................................................55
Hình 4.7 Mục thông tin tài khoản.......................................................................................55
Hình 4.8 Giao diện Thông tin tài khoản.............................................................................56
Hình 4.9 Mục Mua.............................................................................................................57
Hình 4.10 Nhân viên sẽ không truy cập được vào mục Bán..............................................57
Hình 4.11 Giao diện Mua...................................................................................................58
Hình 4.12 Giao diện tab Hóa đơn nhập trong mục Mua....................................................59
Hình 4.13 Mục Bán............................................................................................................59
Hình 4.14 Giao diện Bán....................................................................................................60
Hình 4.15 Giao diện tab Tài khoản trong Bán....................................................................61
Hình 4.16 Giao diện Hóa đơn trong Bán............................................................................61
Hình 4.17 Mục Đăng xuất..................................................................................................62
Hình 4.18 Xác thực để dừng chương trình.........................................................................63
DANH MỤC BẢNG BIỂU

Bảng 3.1 Những thông tin có trên hóa đơn đặt hàng..........................................................19
Bảng 3.2 Những thông tin có trên hóa đơn bán hàng.........................................................21
Bảng 3.3 Hàng hóa.............................................................................................................24
Bảng 3.4 Người đặt hàng....................................................................................................24
Bảng 3.5 Đặt.......................................................................................................................24
Bảng 3.6 Món.....................................................................................................................25
Bảng 3.7 Bàn......................................................................................................................25
Bảng 3.8 Account...............................................................................................................25
Bảng 3.9 Xuất hóa đơn.......................................................................................................26
Bảng 3.10 Xuất hóa đơn chi tiết.........................................................................................26
Bảng 3.11 Đặt chi tiết.........................................................................................................27
Bảng 3.12 Nhà cung cấp.....................................................................................................27
PHẦN MỞ ĐẦU

1. Mục tiêu nghiên cứu của đề tài

 Tìm hiểu được môi trường kinh doanh thực tế để xây dựng cơ sở dữ liệu.
 Có thể thiết kế và xây dựng cơ sở dữ liệu theo đúng quy trình cần có.
 Hiểu về index và tính ứng dụng của nó vào chính cơ sở dữ liệu đang xây dựng.
 Biết cách bảo mật cho cơ sở dữ liệu.
 Biết cách backup dữ liệu phù hợp cho cơ sở dữ liệu đang xây dựng.
 Có thể sử dụng một ngôn ngữ lập trình để phát triển một ứng dụng cho cơ sở dữ
liệu vừa xây dựng.

2. Nhiệm vụ của đề tài

 Sưu tầm các hóa đơn, chứng từ tại cơ sở kinh doanh nhóm lựa chọn.
 Thiết kế cơ sở dữ liệu ở mức khái niệm, logic và một phần cơ bản của thiết kế vật
lý.
 Xây dựng cơ sở dữ liệu cho bản thiết kế trên.
 Xác định và tạo các index cho các thuộc tính cần thiết.
 Xây dựng cơ chế bảo mật tương ứng cho cơ sở dữ liệu vừa tạo.
 Xây dựng cơ chế backup dữ liệu phù hợp cho cơ sở dữ liệu vừa tạo.
 Sử dụng một ngôn ngữ lập trình để phát triển một ứng dụng mang tên TESTDB
thực hiện các chức năng: thêm, sửa, xóa và tìm kiếm cho cơ sở dữ liệu vừa tạo.

3. Kết cấu của đề tài

Đề tài được tổ chức gồm phần mở đầu, 4 chương nội dung, phần kết luận, tài liệu
tham khảo và phụ lục kèm theo.

 Phần mở đầu
 Chương 1: Coffee Aloha và các chứng từ thu thập được
 Chương 2: Cơ sở lý thuyết và phương pháp nghiên cứu
 Chương 3: Thiết kế, xây dựng cơ sở dữ liệu và giải quyết các vấn đề về cơ sở dữ
liệu
 Chương 4: Triển khai hệ thống
 Kết quả và hướng phát triển
 Tài liệu tham khảo
 Phụ lục
CHƯƠNG 1: COFFEE ALOHA VÀ CÁC CHỨNG TỪ THU THẬP ĐƯỢC

1.1 . Địa điểm tìm hiểu


 Tên quán: Coffee Aloha.
 Địa chỉ: 182 Sóng Hồng, Phú Bài, Hương Thủy, Thừa Thiên Huế.
 Mô hình kinh doanh: nhỏ, hộ gia đình.
1.2 . Các chứng từ thu thập được
 Hóa đơn nhập:

Hình 1.1 Hóa đơn mua hàng của quán tại nhà phân phối Phương Hiền
Hình 1.2 Hóa đơn mua hàng của quán tại nhà phân phối Trường
 Hóa đơn xuất:

Hình 1.3 Hóa đơn bán hàng cho khách


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP NGHIÊN CỨU

2.1. Cơ sở dữ liệu – SQL Server

2.1.1. Khái niệm

Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có tổ chức, thường được lưu trữ
và truy cập điện tử từ hệ thống máy tính. Khi cơ sở dữ liệu phức tạp hơn, chúng
thường được phát triển bằng cách sử dụng các kỹ thuật thiết kế và mô hình hóa chính
thức.

SQL (Structured Query Language) là ngôn ngữ truy vấn mang tính cấu trúc, là một
loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ
liệu quan hệ. SQL là ngôn ngữ chuẩn cho hệ cơ sở dữ liệu quan hệ. Tất cả các hệ
thống quản lý cơ sở dữ liệu quan hệ (RDMS) như MySQL, MS Access, Oracle,
Sybase, Informix, Postgres và SQL Server đều sử dụng SQL làm ngôn ngữ cơ sở dữ
liệu chuẩn.

SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database


Management System (RDBMS)) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ
liệu giữa máy Client và máy cài SQL Server.

T-SQL hay còn gọi là Transact-SQL, là một phần mở rộng của ngôn ngữ SQL và phát
triển dựa theo chuẩn ISO (International Organization for Standardization) và ANSI
(American National Standards Institute).

T-SQL được chia ra làm 3 nhóm chính như sau:

 Data Definition Language (DDL): Là tập hợp những lệnh dùng để xử lý dữ liệu
như các lệnh như Create, Alter và Drop table, các lệnh này dùng để định nghĩa
cấu trúc của một table.
 Data Control Language (DCL): Dùng để phân quyền user truy cập vào các đối
tượng table, view, function ... Nhóm này gồm các câu truy vấn như Grant, Deny,
Revoke.
 Data Manipulation Language (DML): Là tập hợp các câu lệnh dùng để thao tác
sàng lọc dữ liệu như: Select, Insert, Update, Delete. Những lệnh này giúp chúng
ta truy vấn tìm kiếm dữ liệu một cách chính xác nhất.

Ngôn ngữ thủ tục được thiết kế để mở rộng khả năng của SQL trong khi có khả năng
tích hợp tốt với SQL. Một số tính năng như các biến địa phương và xử lý chuỗi/dữ liệu
được thêm vào.

2.1.2. Xây dựng cơ sở dữ liệu

Giai đoạn 1 - Thiết kế cơ sở dữ liệu ở mức khái niệm: Xây dựng mô hình liên kết

Tạo ra cấu trúc dữ liệu trừu tượng để thể hiện các đối tượng trong thế giới thực một
cách chân thực nhất.

- Bước 1: Chọn lọc thông tin → Từ điển dữ liệu

- Bước 2: Xác định thực thể

- Bước 3: Xác định mối quan hệ

- Bước 4: Vẽ sơ đồ: Vẽ thực thể, vẽ mối quan hệ, sắp xếp lại cho cân đối, dễ
nhìn, bổ sung thuộc tính, gạch chân thuộc tính định danh và xác định bản số

- Bước 5: Chuẩn hóa

Giai đoạn 2 - Thiết kế cơ sở dữ liệu ở mức logic

Chuyển mô hình khái niệm thành mô hình dữ liệu logic (mô hình quan hệ)
- Chỉ cần xem xét các quan hệ mới phát sinh ở bước 2 (biểu diễn quan hệ)

- Thực hiện chuẩn hóa theo quy tắc

- Các quan hệ nên để ở dạng chuẩn 3

- Loại đi những quan hệ thừa

- Chính xác hóa các từ đồng nghĩa

- Hợp nhất các quan hệ cùng khóa

→ KẾT QUẢ: các quan hệ có cấu trúc tốt

Giai đoạn 3 - Thiết kế cơ sở dữ liệu ở mức vật lý: xây dựng bảng và mối quan hệ.

2.2. C# và lập trình winforms

2.2.1. Khái niệm

C# (C Sharp) là một ngôn ngữ lập trình hướng đối tượng đa năng, mạnh mẽ, được phát
triển bởi Microsoft và được xây dựng trên nền tảng của 2 ngôn ngữ mạnh nhất là C++
và Java. C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng
dụng Windows Forms hay WPF (Windows Presentation Foundation), phát triển game,
ứng dụng Web, ứng dụng Mobile trở nên rất dễ dàng.

Winform hay còn gọi là Windows form là giải pháp chạy trên nền Windows. Winform
là công nghệ của Microsoft, cho phép lập trình các ứng dụng Windows trên PC.

2.2.2. Lập trình winform với C#

Windows Form có các phần cơ bản như Form, Panel, Button, Textbox, ComboBox,
RadioButton, v.v.

- Bước 1: Tạo một Project mới


- Bước 2: Kết nối Database SQL Server trong C#
- Bước 3: Thiết kế các form để tạo ra giao diện người dùng cuối cùng
- Bước 4: Lập trình chức năng cho form
- Bước 5: Hoàn thành và chạy thử chương trình

2.2.3. Mô hình 3 lớp

Mô hình 3 lớp hay còn được gọi là mô hình Three Layer (3-Layer), mô hình này ra đời
nhằm phân chia các thành phần trong hệ thống, các thành phần cùng chức năng sẽ
được nhóm lại với nhau và phân chia công việc cho từng nhóm để dữ liệu không bị
chồng chéo và chạy lộn xộn.

Hình 2.4 Mô hình 3 lớp

Mô hình 3-layer gồm có 3 phần chính:


- Presentation Layer (GUI): Lớp này có nhiệm vụ chính là giao tiếp với người
dùng. Nó gồm các thành phần giao diện (winform, webform…) và thực hiện các
công việc như nhập liệu, hiển thị dữ liệu, kiểm tra tính đúng đắn dữ liệu trước khi
gọi lớp Business Logic Layer (BLL).

- Data Access Object (DAO): Lớp này phân ra 2 thành nhiệm vụ: (1) Đây là nơi
đáp ứng các yêu cầu thao tác dữ liệu của GUI layer, xử lý chính nguồn dữ liệu từ
Presentation Layer trước khi truyền xuống Data Access Layer và lưu xuống hệ
quản trị CSDL. (2) Đây còn là nơi kiểm tra các ràng buộc, tính toàn vẹn và hợp lệ
dữ liệu, thực hiện tính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả
về Presentation Layer.

- Data Transfer Object (DTO): Lớp này có chức năng giao tiếp với hệ quản trị
CSDL như thực hiện các công việc liên quan đến lưu trữ và truy vấn dữ liệu (tìm
kiếm, thêm, xóa, sửa…).

2.3. DataSet và DataTable

DataTable là đối tượng chứa dữ liệu, nó có tên, các dòng, cột qua đó nó là ánh xạ của
một bảng (Table) của CSDL.

DataSet là một cấu trúc phức tạp, thành phần cơ bản của ADO.NET. Nó ánh xạ CSDL
nguồn (SQL Database) vào thành các đối tượng trong bộ nhớ. DataSet là một đối tượng
có thể chứa nhiều DataTable cùng với mối liên hệ giữa chúng (relationship) và kể cả các
ràng buộc (constraint) được lưu hoàn toàn trong bộ nhớ để làm việc offline.

Cấu trúc của DataSet và DataTable

Namespace: System.Data

Một DataSet như một tập tin database vật lý hoàn chỉnh nhưng được lưu trong bộ nhớ.
DataSet bao gồm các DataTable, DataTable bao gồm các DataColumn, DataRow và
các constraint. Các property của DataSet và DataTable dùng để lưu trữ các collection.
Ngoài cách nạp dữ liệu vào DataSet từ database, còn có thể tạo dữ liệu động cho
DataTable thông qua các collection Columns và Rows.

CHƯƠNG 3: THIẾT KẾ, XÂY DỰNG CƠ SỞ DỮ LIỆU VÀ GIẢI QUYẾT CÁC


VẤN ĐỀ VỀ CƠ SỞ DỮ LIỆU

3.1 Xây dựng mô hình liên kết

3.1.1. Xây dựng ER cho ĐƠN ĐẶT HÀNG

Bước 1: Chọn lọc thông tin

Từ trong HSDL Từ rõ nghĩa Viết tắt

Tên khách Tên người đặt hàng TenNDH

Địa chỉ Địa chỉ DiaChi

Tên hàng Tên hàng TenHang

ĐVT Đơn vị tính DonVi

Số lượng Số lượng SoLuong

Đơn giá Đơn giá DonGia

Thành tiền Thành tiền ThanhTien

Thời gian Thời gian đặt hàng ThoiGian

Số Mã đơn đặt hàng MaDDH

Tên nhà cung cấp Tên nhà cung cấp TenNCC

Địa chỉ cung cấp Địa chỉ cung cấp DiaChi

Số điện thoại Số điện thoại nhà cung cấp SDT


Tổng cộng Tổng thành tiền TongTien

Bảng 3.1 Những thông tin có trên hóa đơn đặt hàng

Bước 2: Xác định thực thể, thuộc tính

- NGƯỜI ĐẶT HÀNG (MaNDH, TenNDH, DiaChi)


- HÀNG (MaHang, TenHang, DonVi, DonGia)
- NHÀ CUNG CẤP (MaNCC, TenNCC, DiaChi, SDT)

Bước 3: Xác định quan hệ

- ĐẶT (MaDDH, SoLuong, ThanhTien, ThoiGian, TongTien)

Bước 4: Vẽ

Hình 3.5 Mô hình E-R đặt hàng

3.1.2. Xây dựng ER cho PHIẾU XUẤT HÓA ĐƠN

Bước 1: Chọn lọc thông tin

Từ trong HSDL Từ rõ nghĩa Viết tắt

Số HD Số hóa đơn xuất SoHDX


Giờ vào Giờ khách vào GioVao

Giờ ra Giờ khách ra GioRa

Ngày Ngày xuất hóa đơn NgayXuat

Tên món Tên món TenMon

Số lượng Số lượng SoLuong

Đơn giá Đơn giá DonGia

Thành tiền 1 Thành tiền ThanhTien

Tổng tiền Tổng cộng TongCong

Bàn Vị trí bàn Ban

Bảng 3.2 Những thông tin có trên hóa đơn bán hàng

Bước 2: Xác định thực thể

- MÓN (MaMon, TenMon, DonGia)


- BÀN (SoBan, TinhTrang)

Bước 3: Xác định quan hệ

- XUẤT (SoHDX, GioVao, GioRa, NgayXuat, SoLuong, ThanhTien, TongCong)

Bước 4: Vẽ
Hình 3.6 Mô hình E-R bán hàng

Hình 3.7 Tích hợp ER-1 và ER-2

3.2 Thiết kế cơ sở dữ liệu mức logic


Bước 1: Chuyển thực thể, thu được:

- NGƯỜI ĐẶT HÀNG (MaNDH, TenNDH, DiaChi)


- HÀNG (MaHang, TenHang, DonVi, DonGia)
- MÓN (MaMon, TenMon, DonGia, TinhTrang)
- BÀN (SoBan, TinhTrang)
- NHÀ CUNG CẤP (MaNCC, TenNCC, DiaChi, SDT)

Bước 2: Chuyển quan hệ, thu được:

- XUẤT HÓA ĐƠN (SoHDX, GioVao, GioRa, NgayXuat, SoLuong, ThanhTien,


TongCong, TinhTrang, MaMon, SoBan)
- ĐẶT (MaDDH, MaNCC, SoLuong, ThanhTien, TongTien, ThoiGian, MaHang,
MaNDH)

Bước 3: Chuẩn hóa

- Chuẩn hóa quan hệ ĐẶT, thu được:


 ĐẶT (MaDDH, MaNDH, MaNCC, ThoiGian, TongTien, TinhTrang)
 ĐẶT_ChiTiet (MaDDH, MaHang, SoLuong, ThanhTien)
- Chuẩn hóa quan hệ XUẤT, thu được:
 XUẤT_HD (SoHDX, SoBan, GioVao, GioRa, NgayXuat, TongCong,
TinhTrang)
 XUẤT_HD_ChiTiet (SoHDX, MaMon, SoLuong, ThanhTien)

Bước 4: Vẽ sơ đồ quan hệ
Hình 3.8 Sơ đồ quan hệ
3.3 Mô tả thuộc tính các quan hệ

3.3.1. Bảng Hàng hóa

STT Thuoc Tinh Khoa KieuDuLieu MoTaDuLieu

1 MaHang Primary Key Int Mã hàng hóa

2 TenHang Nvarchar(50) Tên hàng hóa

3 DonVi Nvarchar(10) Đơn vị

4 DonGia Numeric(15,0) Đơn giá

Bảng 3.3 Hàng hóa

3.3.2. Bảng Người đặt hàng

STT Thuoc Tinh Khoa KieuDuLieu MoTaDuLieu

1 MaNDH Primary Key Int Mã người đặt hàng

2 TenNDH Nvarchar(50) Tên người đặt hàng

3 DiaChi Nvarchar(150) Địa chỉ

Bảng 3.4 Người đặt hàng

3.3.3. Bảng Đặt

STT Thuoc Tinh Khoa KieuDuLieu MoTaDuLieu

1 MaDDH Primary Key Int Mã đơn đặt hàng

2 MaNDD Foreign Key Int Mã người đặt hàng

3 MaNCC Foreign Key Int Mã nhà cung cấp

4 ThoiGian Date Thời gian

5 TongTien Numeric(15,0) Tổng tiền

6 TinhTrang Nvarchar(100) Tình trạng

Bảng 3.5 Đặt


3.3.4. Bảng Món

STT Thuoc Tinh Khoa KieuDuLieu MoTaDuLieu

1 MaMon Primary Key Int Mã món

2 TenMon Nvarchar(50) Tên món

3 DonGia Numeric(15,0) Đơn giá

4 TinhTrang Nvarchar(150) Tình trạng

Bảng 3.6 Món

3.3.5. Bảng Bàn

STT Thuoc Tinh Khoa KieuDuLieu MoTaDuLieu

1 SoBan Primary Key Int Số bàn

2 TinhTrang Nvarchar(50) Tình trạng của bàn

Bảng 3.7 Bàn

3.3.6. Bảng Account

STT Thuoc Tinh Khoa KieuDuLieu MoTaDuLieu

1 TenDN Primary Key Varchar(50) Tên đăng nhập

2 TenHienThi Nvarchar(50) Tên hiển thị

3 MatKhau Varchar(50) Mật khẩu

4 Loai Varchar(20) Loại tài khoản

Bảng 3.8 Account


3.3.7. Bảng Xuất hóa đơn

STT Thuoc Tinh Khoa KieuDuLieu MoTaDuLieu

1 SoHDX Primary Key Int Số hóa đơn xuất

2 SoBan Foreign Key Int Số bàn

3 GioVao Time Giờ vào

4 GioRa Time Giờ ra

5 NgayXuat Date Ngày xuất

6 TinhTrang Int Tình trạng

7 TongCong Numeric(15,0) Tổng cộng

Bảng 3.9 Xuất hóa đơn

3.3.8. Bảng Xuất hóa đơn chi tiết

STT Thuoc Tinh Khoa KieuDuLieu MoTaDuLieu

1 MaMon Foreign Key Int Mã món

2 SoHDX Foreign Key Int Số hóa đơn xuất

3 SoLuong Int Số lượng

4 ThanhTien Numeric(15,0) Thành tiền

Primary Key (MaMon, SoHDX)

Bảng 3.10 Xuất hóa đơn chi tiết

3.3.9. Bảng Đặt chi tiết

STT Thuoc Tinh Khoa KieuDuLieu MoTaDuLieu

1 MaDDH Foreign Key Int Mã đơn đặt hàng

2 MaHang Foreign Key Int Mã hàng

3 SoLuong Int Số lượng


4 ThanhTien Numeric(15,0) Thành tiền

Primary key (MaDDH, MaHang)

Bảng 3.11 Đặt chi tiết

3.3.10. Bảng Nhà cung cấp

STT Thuoc Tinh Khoa KieuDuLieu MoTaDuLieu

1 MaNCC Primary Key Int Mã nhà cung cấp

2 TenNCC Nvarchar(50) Tên nhà cung cấp

3 DiaChi Nvarchar(150) Địa chỉ

4 SDT Varchar(13) Số điện thoại

Bảng 3.12 Nhà cung cấp

3.4 Mô hình cơ sở dữ liệu (Database Diagram)

Hình 3.9 Sơ đồ cơ sở dữ liệu

3.5 Xác định và tạo các index cho các thuộc tính

Index là một cấu trúc liên kết với một bảng hoặc một view dùng để tăng tốc độ truy vấn
dữ liệu. Index chứa các khóa được tạo từ một hay nhiều cột và được lưu trữ dưới dạng
Btree.

Có 2 loại Index: Clustered index và non - clustered index.


Clustered index:

- Lưu trữ bản ghi dữ liệu trong một cấu trúc sắp xếp dựa trên các giá trị khóa của nó.
Một bảng chỉ có một clustered index vì các bản ghi dữ liệu chỉ có thể được sắp xếp
theo một thứ tự.

Non - clustered index:

- Non - clustered index là một cấu trúc dữ liệu giúp cải thiện tốc độ truy xuất dữ liệu
từ các bảng. Không giống như clustered index, nonclustered index sắp xếp và lưu
trữ dữ liệu riêng biệt với các bản ghi trong bảng. Nó là một bản sao dữ liệu của các
cột được chọn từ một bảng được liên kết.

Khi khai báo PRIMARY KEY thì mặc định SQL Server sẽ tạo một clustered index trên
khóa chính đó.

Đặc điểm cơ sở dữ liệu:

- Vì đây là mô hình kinh doanh nhỏ, nên lượng dữ liệu lưu trữ ít như bảng bàn:
quán chỉ có 20 bàn, bảng món: quán chỉ phục vụ 10 món, bảng nhà cung cấp: chỉ
có 5 nhà cung cấp,...
- Các bảng xuất hóa đơn, xuất hóa đơn chi tiết, đặt, đặt chi tiết thường xuyên được
cập nhật và thêm mới với tần suất lớn

Lựa chọn index cho cơ sở dữ liệu:

- Đối với tất cả các bảng có 1 khóa chính (Account, Ban, Mon, NhaCC, NgDatHang,
Hang, Dat, XuatHD) đã được mặc định tạo sẵn 1 clustered index trên chính khóa
chính của bảng.

Hình 3.10 Clustered index của bảng Hang


- Đối với các bảng có 2 thuộc tính gộp thành 1 khóa chính (DatChiTiet,
XuatHDChiTiet) cũng được mặc định tạo ra 1 clustered index trên chính khóa
chính của bảng.

Hình 3.11 Clustered index của bảng DatChiTiet

Lý do lựa chọn:

- Bởi vì mỗi bảng trong cơ sở dữ liệu đều có khóa chính, SQL tự động tạo một
clustered index tương ứng dựa trên các cột có trong khóa chính.
- Việc sử dụng clustered index giúp truy vấn dữ liệu nhanh hơn (nhanh hơn non -
clustered index). Còn nếu không sử dụng clustered index, việc truy vấn dữ liệu sẽ
gặp khó khăn, không thể sử dụng ngôn ngữ truy vấn dữ liệu (Select), ngôn ngữ
thao tác dữ liệu (Insert, Update, Delete).
- Không cần thêm dung lượng ổ đĩa để lưu trữ index (giảm chi phí)

Tuy nhiên, việc sử dụng clustered index cũng mang lại những bất lợi nhất định: các thao
tác thêm sửa xóa sẽ chậm hơn một chút so với non - clustered index

Giải thích rõ hơn một số lý do không sử dụng non - clustered index cho các thuộc tính
trong các bản ghi của cơ sở dữ liệu chính là vì đặc điểm của cơ sở dữ liệu Quản lý quán
cafe đã được nhắc đến ở trên: vì là mô hình kinh doanh hộ gia đình nhỏ nên cơ sở dữ
liệu chỉ có các bản ghi nhỏ, lượng dữ liệu ít, một số bảng thường xuyên diễn ra hoạt
động update, insert.

3.5 Xây dựng cơ chế bảo mật tương ứng cho CSDL.

SQL Server cung cấp 2 cơ chế bảo mật:

 Authentication (chứng thực):

Có 2 loại chứng thực:

- Windows Authentication:
User chỉ cần được cấp account trong Windows. SQL Server sẽ dựa vào
Windows để chứng thực cho user gọi là kết nối tin tưởng. Khi kết nối đến
SQL Server theo cách này thì có nghĩa là được ủy nhiệm bảo mật của
Windows.

- SQL Server Authentication:

Người quản trị CSDL lập tài khoản cho người dùng bằng tên đăng nhập và
mật khẩu đã cấp cho họ. Trong quá trình lập tài khoản, quản trị viên sẽ phân
quyền cho tài khoản đó: cho phép tài khoản đó truy cập được vào database
nào.

 Authorization (xác thực):


- Database access security: Sau khi cấp login account để truy cập vào SQL
Server, cần cấp cho login account quyền là một user truy cập vào một database.

User (User account):

- Khi chỉ định 1 login account là user của một database thì user thuộc về public
database role. Có thể thông qua role để chỉnh sửa quyền user.
- Khi gán 1 login account là thành viên của một database role trong một database
(QLCF), thì nó sẽ trở thành một user của database này.
- Mặc định user name trùng tên với login account.
- dbo là một user đặc biệt có tất cả các quyền trên database.
- Một login account là thành viên của db_owner database role thì cũng có quyền
như dbo.

Lý do lựa chọn bảo mật bằng cả 2 cơ chế (Authentication and Authorization)

Cơ sở dữ liệu và quản trị CSDL là một trong những vấn đề cốt lõi. Xét cho cùng ứng
dụng SQL Server để giải quyết các bài toán thì phải giải quyết vấn đề xây dựng CSDL
và xây dựng thuật toán xử lý chúng và cần đảm bảo tính bảo mật cho CSDL đó. Khi
CSDL càng lớn nhu cầu xử lý phức tạp, yêu cầu bảo mật càng cao thì vấn đề quản trị
CSDL càng phức tạp. Để bảo mật CSDL trước tiên sử dụng Authentication để xác
nhận tài khoản truy cập login có hợp lệ và kết nối với SQL Server hay không. Dùng
Authorization cụ thể là Database access security để kiểm soát truy cập vào một
database cụ thể và Permission security để kiểm soát một user thực hiện thao tác cụ thể
trên database.

Hình 3.12 Tạo tài khoản Login nhân viên

Trong quá trình lập tài khoản, bên cạnh việc cho phép truy cập vào database, người
quản trị sẽ cấp các quyền cần thiết để tài khoản thao tác trong database đó.
Hình 3.13 Phân quyền cho tài khoản QLCFNv

Tạo tài khoản Admin: Đối với tài khoản Admin, tài khoản này sẽ được cấp toàn quyền
sử dụng database.
Hình 3.14 Tạo tài khoản login Admin
Hình 3.15 Phân quyền truy cập vào Database (toàn quyền)

Login bằng tài khoản QLCFNv


Hình 3.16 Login vào Server bằng tài khoản QLCFNv

Sau khi đã được cấp quyền, tài khoản chỉ vào được duy nhất database QLCF (Database
được cấp quyền truy cập) và không truy cập được vào database khác.

Hình 3.17 Truy cập Database ngoài

Nhân viên sẽ có quyền xem, thêm dữ liệu vào bảng.


Hình 3.18 Quyền của Nhân viên

Hình 3.19 Quyền của Nhân viên

Tuy nhiên đối với tài khoản nhân viên sẽ không có quyền tạo thêm bảng trong database.
Hình 3.20 Quyền của Nhân viên

Login bằng tài khoản QLCFAdmin (toàn quyền sử dụng database QLCF).

Hình 3.21 Login vào Server bằng tài khoản QLCFAdmin

Tài khoản này cũng giống như tài khoản của nhân viên, chỉ có thể truy cập vào database
đã được cấp phép và không vào được những database khác.
Hình 3.22 Truy cập Database ngoài

Còn đối với database đã được cấp phép truy cập, tài khoản Admin có toàn quyền thao
tác như thêm, sửa, xóa bản ghi, bảng,... Và đặc biệt tài khoản này được quyền backup lại
toàn bộ dữ liệu trong database đó.

Hình 3.23 Quyền backup database


Hình 3.24 Backup thành công

3.6 Xây dựng cơ chế backup dữ liệu phù hợp cho CSDL vừa tạo.

Việc buôn bán xảy ra hàng ngày, dữ liệu được cập nhật liên tục. Để tránh tình trạng mất,
thất lạc dữ liệu thì chúng ta cần phải xây dựng một cơ chế backup phù hợp cho cơ sở dữ
liệu.

Vì đặc trưng của cơ sở dữ liệu quản lý bán hàng tại quán coffee Aloha là dữ liệu được
thay đổi, cập nhập liên tục trong một ngày nên lựa chọn đầu tiên chính là cơ chế:
Automatic Daily Database Backup và chọn 2 loại backup chính là Full Backup và
Differential Backup.

- Đối với việc lựa chọn cơ chế Automatic Daily Database Backup là để có thể thiết
lập tự động sao lưu hàng ngày cho CSDL theo đúng thời gian quy định là vào
11:00 pm hàng ngày và file dữ liệu sao lưu sẽ được lưu vào F:\MSSQL\Backup.
- Đối với Full Backup, việc backup sẽ được thực hiện vào 11:00 pm chủ nhật hàng
tuần.
- Còn đối với Differential Backup, việc backup sẽ được thực hiện vào 11:00 pm từ
thứ 2 đến thứ 7 hàng tuần.

Những thiết lập đó nhằm đảm bảo việc sao lưu dữ liệu sẽ không làm ảnh hưởng đến quá
trình kinh doanh của quán.

 Bước 1: Kết nối SQL server --> Tạo backupfull lựa chọn nơi lưu trữ bản backup
Hình 3.25 Tạo backup-full

- Media Options, Backup Options


Hình 3.26 Media option backup-full

Hình 3.27 Backup option backup-full


Hình 3.28 Backup thành công

 Bước 2: Tạo backup differential lựa chọn nơi lưu trữ bản backup

Hình 3.29 Tạo backup-differential


Hình 3.30 Tạo backup-differential

- Media Options, Backup Options


Hình 3.31 Media option backup-differential

Hình 3.32 Backup option backup-differential


- Tạo backup differental thành công

Hình 3.33 Backup thành công

 Bước 3: Đặt Job backup

Hình 3.34 Tạo new Job backup-differential

Thực hiện lên kế hoạch các bước backup

1. Thực hiện backup full.


2. Sau khi thực hiện backup full từ dữ liệu của đó thực hiện backup
differential.
Hình 3.35 Job Step backup-full

Scrip backup full

Hình 3.36 Job Step backup-full(scrip)


Hình 3.37 Job Step backup-diff

Scrip backup differential

Hình 3.38 Job Step backup-diff (scrip)


Hình 3.39 Các bước backup

 Tạo lịch backup tự động

Vào thời gian: 12:45:00 SA ngày 25/12/2020 bắt đầu backup. Backup hằng ngày
và kết thúc backup vào ngày 27/12/2020.

Hình 3.40 New Job Schedule

 Bước 4: Hoàn thành tạo Job backup_diff


- Kiểm tra SQL Server Agent để đảm bảo tạo ra bản sao lưu

 Bước 5: Kiểm tra lịch sử backup

Hình 3.41 Kiểm tra lịch sử backup

 Bước 6: Check file backup

Truy cập vào thư mục Backup (C:\MSSQL\Backup) để kiểm tra xem việc backup
có được diễn ra theo đúng thiết lập không.

Ở đây, các file backup được lưu ở một ổ đĩa riêng biệt, khác ổ đĩa với file cơ sở dữ
liệu gốc nhằm đảm bảo tính an toàn cho dữ liệu.
Hình 3.42 Nơi lưu trữ bản backup

 Bước 7: Xây dựng 2 loại backup theo kế hoạch đã đề ra


Thiết lập cơ chế backup như kế hoạch đã đề ra.

3.7 Phương án giải quyết TỐT NHẤT cho vấn đề lượng dữ liệu rất lớn, không đủ
lưu trữ trong một ổ đĩa.

Lý do lựa chọn giải pháp: Vì dữ liệu lưu trữ rất lớn nên dung lượng trong một ổ đĩa sẽ
không đủ để lưu trữ lượng dữ liệu đó. Việc sử dụng Microsoft Onedrive - dịch vụ lưu
trữ đám mây - cho phép người sử dụng có thể lưu trữ tất cả các tập tin quan trọng một
cách an toàn và có thể truy cập chúng ở mọi nơi, đồng thời có thể đồng bộ với dữ liệu
trong máy tính và lưu trữ với lượng dữ liệu lớn.

Triển khai phương án giải quyết: Nhóm đã đề ra phương án là thực hiện lưu trữ toàn
bộ dữ liệu vào 1 file .sql, sau đó thực hiện phương án đưa dữ liệu lên Microsoft One
drive để lưu trữ, đồng thời đồng bộ dữ liệu với máy tính, giúp việc lưu trữ dữ liệu trở
nên dễ dàng hơn.

Hình 3.43 Thư mục Database QLCF đã được đưa lên Microsoft Onedrive
Hình 3.44 Toàn bộ dữ liệu được lưu trong file .sql của thư mục Database QLCF

Hình 3.45 File .sql ở Microsoft One drive được đồng bộ dữ liệu với máy tính

3.8 Phương án đề phòng hệ thống TESTDB bị tấn công bằng SQL Injection.

SQL injection là kỹ thuật của người dùng độc hại phá hoại cơ sở dữ liệu bằng cách thêm
các dòng lệnh SQL inject vào câu lệnh SQL thông thường thông qua trường nhập liệu trên
web.

Các dòng lệnh Inject SQL có thể thay đổi câu lệnh SQL và gây nguy hiểm cho khả năng
bảo mật của hệ thống. Khi cơ sở dữ liệu có lỗ hổng, kẻ xấu có thể gây ra SQL Injection
dựa trên 1=1 luôn đúng, hoặc dựa trên “” = “” luôn đúng.

Để bảo vệ cơ sở dữ liệu khỏi các cuộc tấn công SQL Injection, chúng ta sử dụng các tham
số SQL. Các tham số SQL là các giá trị được thêm vào từ các truy vấn SQL tại thời gian
thực hiện, trong một cách thức có kiểm soát. Các công cụ SQL kiểm tra từng thông số để
đảm bảo rằng nó là đúng cho cột và được thực thi theo nghĩa đen, và không phải là một
phần của SQL được thực thi.

Bên cạnh đó, việc cộng chuỗi sẽ tạo ra lỗ hổng cho cơ sở dữ liệu, tạo cơ hội cho kẻ xấu có
thể tấn công, vì vậy chúng ta không cộng chuỗi để tạo SQL mà thay vào đó sẽ sử dụng
parameter. Nếu dữ liệu truyền vào không hợp pháp, SQL Engine sẽ tự động báo lỗi, ta
không cần dùng code để check.

Hình 3.46 Hàm InsertXuatHDChiTiet sử dụng parameter

Hình 3.47 Hàm Login sử dụng parameter


CHƯƠNG 4. TRIỂN KHAI HỆ THỐNG

4.1 Giao diện đăng nhập

Nhân viên hoặc quản lý sử dụng tên đăng nhập và mật khẩu mặc định được cấp để đăng
nhập khi muốn truy cập vào hệ thống.

Hình 4.48 Giao diện đăng nhập

Nếu một trong hai yếu tố bị nhập sai hoặc để trống hệ thống sẽ thông báo “Sai tên đăng
nhập hoặc mật khẩu!”, sau đó có thể nhập lại thông tin cho chính xác hoặc chọn button
“Cancel” để thoát hoàn toàn khỏi hệ thống.
Hình 4.49 Báo lỗi khi nhập sai tên đăng nhập hoặc mật khẩu

4.2 Giao diện chính

Sau khi đăng nhập thành công sẽ được chuyển đến giao diện chính của hệ thống.

Ở giao diện chính này, nhân viên sẽ thao tác để order món cho khách bằng cách lựa
chọn bàn mà khách ngồi, thêm món mà khách chọn và click vào button Thêm.

Hình 4.50 Giao diện chính

Lúc này bàn đó sẽ chuyển từ tình trạng Trống thành Có người. Còn đối với khách.mua
mang về, chỉ cần chọn bàn 0 và thao tác như trên. Nếu khách muốn đổi bàn, gộp bàn chỉ
cần chọn bàn tương ứng và chọn button Chuyển bàn / Gộp bàn.
Hình 4.51 Thực hiện order cho khách

Khi khách hàng muốn thanh toán, chỉ cần click vào button Thanh toán và xác nhận
thanh toán hóa đơn thì hóa đơn của bàn đó sẽ được thanh toán và bàn sẽ chuyển từ Có
khách thành Trống.

Hình 4.52 Thanh toán cho khách hàng


Hình 4.53 Trạng thái bàn sau khi thanh toán sẽ thay đổi

Khi đưa chuột vào mục Tài khoản, nhân viên có thể truy cập vào thông tin tài khoản cá
nhân của mình.

Hình 4.54 Mục thông tin tài khoản


4.3 Giao diện Thông tin cá nhân

Ở giao diện Thông tin cá nhân này, nhân viên có thể tiến hành cập nhật mật khẩu mới và
tên hiển thị của mình.

Hình 4.55 Giao diện Thông tin tài khoản

4.4 Giao diện Quản lý Mua

Khi đưa chuột vào mục Quản lý, đối với tài khoản của quản lý, đều có thể truy cập vào
cả danh mục Mua và Bán.
Hình 4.56 Mục Mua

Còn đối với tài khoản của nhân viên thì chỉ có thể truy cập vào danh mục Mua.

Hình 4.57 Nhân viên sẽ không truy cập được vào mục Bán
Khi truy cập vào danh mục mua, người dùng có thể thao tác trên các tab Nguyên vật
liệu, Người đặt hàng, Nhà cung cấp, Hóa đơn nhập.

Đối với các tab Nguyên vật liệu, Người đặt hàng, Nhà cung cấp, người dùng có thể thực
hiện các chức năng thêm, sửa, xóa, tìm kiếm theo nhu cầu.

Hình 4.58 Giao diện Mua

Đối với tab Hóa đơn nhập, người dùng khi mua hàng hóa về sẽ chọn người đặt hàng,
nhà cung cấp và click vào button Thêm hóa đơn. Sau đó sẽ chọn nguyên vật liệu và số
lượng đã mua và click vào button Thêm hàng để thêm những hàng hóa đã mua vào hóa
đơn Sau đó, click vào button Thanh toán để cập nhật tình trạng của Hóa đơn nếu như đã
thanh toán.
Hình 4.59 Giao diện tab Hóa đơn nhập trong mục Mua

4.5 Giao diện Quản lý Bán

Muốn truy cập được vào mục Bán, bắt buộc tài khoản đang đăng nhập phải là tài khoản
quản lý.

Hình 4.60 Mục Bán


Ở giao diện Bán, người dùng có thể thực hiện các chức năng thêm, sửa, xóa, tìm kiếm
theo nhu cầu

Hình 4.61 Giao diện Bán

Đối với tab Tài khoản, người dùng chỉ có thể xem được tên hiển thị, loại tài khoản và
tên đăng nhập. Và cũng chỉ có thể thay đổi tên hiển thị và loại tài khoản chứ không thể
thay đổi tên đăng nhập. Đối với trường hợp quên mật khẩu thì có thể click vào button
Đặt lại mật khẩu mặc định để hệ thống tự động cập nhập lại mật khẩu mặc định cho tài
khoản bị quên mật khẩu.
Hình 4.62 Giao diện tab Tài khoản trong Bán

Ở tab Hóa đơn, người dùng có thể xem lại các hóa đơn đã thanh toán trong khoảng thời
gian đã lựa chọn. Còn đối với các hóa đơn hiện đang chưa thanh toán thì sẽ không xem
được.

Hình 4.63 Giao diện Hóa đơn trong Bán


Đối với các form Bán và Mua, nếu muốn quay lại giao diện chính chỉ cần click vào dấu
“X” ở góc trên cùng bên phải để qua lại.

4.6 Một số tiện ích khác

Ở giao diện chính nếu muốn thoát khỏi tài khoản quay về giao diện đăng nhập, chỉ cần
vào Tài khoản và chọn Đăng xuất.

Hình 4.64 Mục Đăng xuất

Còn nếu muốn tắt hẳn chương trình thì chỉ cần click vào dấu “X” ở góc trên cùng bên
phải và xác nhận để dừng chương trình.
Hình 4.65 Xác thực để dừng chương trình
KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN

1. Kết quả đạt được:


- Trau dồi thêm nhiều kiến thức về ngôn ngữ lập trình C# và cơ sở dữ liệu SQL.
- Thiết kế được giao diện cho hệ thống, thực thi được cơ sở dữ liệu, tạo liên kết giữa
các bảng.
- Biết được cấu trúc, cách xử lý, cách thức hoạt động của một hệ thống là như thế
nào.
- Hoàn thiện nên được hệ thống quản lý bán hàng tại quán cà phê với các chức năng
cơ bản, giúp người dùng dễ dàng hơn trong việc sử dụng.
- Kỹ năng làm việc nhóm được cải thiện và nâng cao.
2. Ưu điểm của hệ thống:
- Hệ thống có thể thực hiện được các chức năng cơ bản như: xem, thêm, sửa, xóa,
tìm kiếm.
- Các chức năng đơn giản và dễ sử dụng.
- Giúp cho các thao tác trong việc quản lý thuận tiện và tiết kiệm thời gian hơn.
3. Nhược điểm của hệ thống:
- Vì lượng kiến thức của nhóm còn chưa đủ chuyên sâu nên hệ thống chưa thực sự
hoàn chỉnh nhất có thể.
4. Hướng phát triển:
- Nhóm sẽ tiếp tục tìm hiểu, bổ sung và phát triển thêm một số tính năng như thống
kê doanh thu, quản lý hồ sơ nhân viên và chấm công, quản lý kho,…

Sau bài tập lớn này, nhóm sẽ tiếp tục thực hành nhiều hơn nữa để có thể nâng cao khả
năng, trình độ của bản thân nhằm phục vụ và giúp ích cho công việc sau này
TÀI LIỆU THAM KHẢO

1. https://www.totolink.vn/article/600-microsoft-onedrive-la-gi-loi-ich-khi-su-dung-
microsoft-onedrive.html
2. http://elearning.due.udn.vn/pluginfile.php/266991/mod_resource/content/1/
Bai4_Security%20.pdf
3. http://elearning.due.udn.vn/mod/resource/view.php?id=56148
4. https://securitybox.vn/1162/4-khai-niem-bao-mat-database-trong-sql-server/
5. https://bizflycloud.vn/tin-tuc/cac-kieu-du-lieu-trong-sql-20180907094857355.htm

You might also like