Tải bản đầy đủ (.docx) (22 trang)

Báo cáo bài tập lớn CSDL ứng dụng quản lý siêu thị PTIT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (496.93 KB, 22 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN
Học phần: CƠ SỞ DỮ LIỆU
Chủ đề: Ứng dụng quản lý siêu thị
Giảng viên hướng dẫn:

NHĨM 3 - Thành viên nhóm:

Hà Nội – 12/2021


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị

Mục lục


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị

1. GIỚI THIỆU
1.1. Mục đích
▹ Quản lý sự mua bán và thông tin của khách hàng trong cửa hàng.
▹ Loại ứng dụng: Ứng dụng desktop (ngôn ngữ java, cơ sở dữ liệu MySQL,
giao diện lập trình Swing)

1.2. Mơ tả bài tốn
u cầu:
▹ Quản lý thơng tin khách hàng


▹ Quản lý đơn mua hàng
▹ Quản lý sản phẩm

1.4. Chức năng
▹ Quản lý thông tin khách hàng: Các thông tin cá nhân của khách hàng, xếp
hạng mức chi tiêu của khách để đưa ra mức giảm giá tương ứng. Thống kê,
phân tích nhu cầu sử dụng của khách hàng để phân phối sản phẩm hợp lý.
▹ Quản lý đơn mua hàng: Quản lý số lượng các mặt hàng, tổng tiền, chiết khấu
▹ Quản lý sản phẩm: Phân loại ngành hàng, quản lý thông tin sản phẩm (tên,
mã, đơn vị, đơn giá)
▹ Quản lý lơ hàng: kiểm tra tình trạng lơ hàng

3


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị

2. TÓM TẮT KIẾN THỨC
2.1. Hệ quản trị cơ sở dữ liệu (DBMS)
❖ DBMS – Database management system: Là một hệ thống phần mềm cho phép
tạo lập cơ sở dữ liệu (CSDL) và điều khiển mọi truy nhập đến CSDL đó.

Kiến trúc của một hệ quản trị CSDL
❖ Các đặc tính quan trọng của một hệ quản trị CSDL:
- Cho phép người dùng tạo mới CSDL, thông qua ngôn ngữ định nghĩa dữ liệu
(DDLs – Data Definition Languages).
- Cho phép người dùng truy vấn CSDL, thông qua ngôn ngữ thao tác dữ liệu
(DMLs – Data Manipulation Languages).
- Hỗ trợ lưu trữ số lượng lớn dữ liệu, thường lên tới hàng Gigabytes hoặc

nhiều hơn, trong một thời gian dài. Duy trì tính bảo mật và tính tồn vẹn
trong q trình xử lý.
- Kiểm sốt truy nhập dữ liệu từ nhiều người dùng tại cùng một thời điểm.
❖ Ba kiểu thao tác:
- Truy vấn của người dùng: là các thao tác hỏi đáp về dữ liệu được lưu trữ
trong CSDL. Chúng được sinh ra theo 2 cách: (1) Thông qua giao diện truy
vấn chung, (2) Thông qua giao diện chương trình ứng dụng.
- Cập nhật dữ liệu: là các thao tác thay đổi dữ liệu, như thêm, sửa, xóa dữ liệu
trong CSDL. Chúng cũng được sinh ra theo 2 cách (1) và (2) như trên.
- Thay đổi lược đồ: là các lệnh được sinh ra bởi người dùng được cấp phép,
thường là người quản trị CSDL.
4


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị

2.2. Hệ CSDL
Một CSDL được quản lý bởi một hệ quản trị CSDL thường được gọi là một
hệ cơ sở dữ liệu.

Kiến trúc của một hệ CSDL

2.4. Dữ liệu vật lý và dữ liệu dẫn xuất
- Dữ liệu vật lý: là những dữ liệu có thực, được nhập vào trong CSDL.
- Dữ liệu dẫn xuất: Là những dữ liệu được tính tốn từ những dữ liệu nằm
trong CSDL.

5



Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị

2.4. Mơ hình trừu tượng ba lớp

Dựa vào mơ hình kiến trúc 3 lớp, có thể xác định 3 loại mơ hình dữ liệu khác nhau:
- Mơ hình dữ liệu ngồi biểu diễn từng khung nhìn của người dùng trong tổ
chức.
- Mơ hình dữ liệu khái niệm biểu diễn khung nhìn mức logic, độc lập với hệ
quản trị CSDL.
- Mơ hình dữ liệu trong biểu diễn lược đồ khái niệm theo cách mà hệ quản trị
CSDL hiểu được.

2.5. Quá trình thiết kế một CSDL
Gồm 6 bước cơ bản: (3 bước đầu liên quan đến mơ hình dữ liệu ngữ nghĩa.)
1. Phân tích yêu cầu: Phải xác định được:
- Dữ liệu nào được lưu trữ trong CSDL
- Ứng dụng nào sẽ được xây dựng trên CSDL này
- Các thao tác nào được sử dụng thường xuyên và các yêu cầu về hiệu
năng của hệ thống.

6


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
2. Thiết kế CSDL mức khái niệm: Những thơng tin có được từ bước phân tích
u cầu sẽ được dùng để phát triển một mô tả mức tổng quát dữ liệu được
lưu trong CSDL, cùng với các ràng buộc cần thiết trên dữ liệu này.

3. Thiết kế CSDL mức logic: Một hệ quản trị CSDL sẽ được chọn để cài đặt
CSDL và chuyển thiết kế CSDL mức khái niệm thành một lược đồ CSDL
với mơ hình dữ liệu của hệ quản trị CSDL đã chọn.
4. Cải tiến lược đồ: Các lược đồ được phát triển ở bước 3 sẽ được phân tích
các vấn đề tiềm ẩn. Tại đây, CSDL sẽ được chuẩn hóa, dựa trên lý thuyết
tốn học.
5. Thiết kế CSDL mức vật lý: Khối lượng công việc tiềm ẩn và các phương
pháp truy nhập được mô phỏng để xác định các điểm yếu tiềm ẩn trong
CSDL mức khái niệm. Quá trình này thường là nguyên nhân tạo ra các tệp
chỉ mục hoặc/và các quan hệ nhóm. Trong trường hợp đặc biệt, tồn bộ mơ
hình khái niệm sẽ được xây dựng lại.
6. Thiết kế an toàn bảo mật: Xác định các nhóm người dùng và phân tích vai
trị của họ để định nghĩa các phương pháp truy nhập dữ liệu.

2.6. Lược đồ thực thể liên kết E-R (The Entity-Relationship
Diagram)
Gồm 3 khái niệm cơ bản: tập thực thể, tập quan hệ và thuộc tính.
- Thực thể là một đối tượng trong thế giới thực và có thể phân biệt được với
các đối tượng khác.
- Thực thể được biểu diễn bởi một tập các thuộc tính.
- Tập thực thể là một nhóm các thực thể có cùng thuộc tính.

2.6.1. Các thuộc tính trong lược đồ E-R
- Thuộc tính đơn hoặc thuộc tính kép: Thuộc tính đơn khơng bao gồm các
thành phần cấu thành, trong khi thuộc tính kép bao gồm các thành phần con
cấu thành.
- Thuộc tính đơn trị hoặc thuộc tính đa trị: Thuộc tính đơn trị có nhiều nhất
một giá trị tại một thời điểm cụ thể. Thuộc tính đa trị có thể có nhiều giá trị
khác nhau tại một thời điểm.


7


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
- Thuộc tính dẫn xuất: là thuộc tính mà giá trị của nó được dẫn xuất (hoặc
được tính tốn) từ những giá trị của các thuộc tính hoặc các thực thể có liên
quan.
- Thuộc tính rỗng (Null): thuộc tính nhận giá trị rỗng khi một thực thể khơng
có giá trị cho nó.

2.6.2. Các liên kết và ràng buộc trong lược đồ E-R
❖ Một liên kết (hay một quan hệ) là một mối liên hệ giữa một vài thực thể.
❖ Các giá trị được lưu trữ trong CSDL thường có những ràng buộc để đảm bảo
rằng chúng mơ hình hóa một cách chính xác tồn bộ thế giới thực của tổ chức đang
được thể hiện trong CSDL.
❖ Tập trung vào hai loại ràng buộc quan trọng: ánh xạ lực lượng liên kết và các
ràng buộc tham gia.
- Ánh xạ lực lượng liên kết thể hiện số lượng các thực thể mà một thực thể
khác có thể liên hệ thơng qua một tập quan hệ.
Với một tập quan hệ hai ngôi R giữa tập thực thể A và B, ánh xạ lực lượng
liên kết gồm các loại sau:
+
+
+
+

(1:1) một tới một từ A đến B
(1:M) một tới nhiều từ A đến B
(M:1) nhiều tới một từ A đến B

(M:M) nhiều tới nhiều từ A đến B

- Các ràng buộc tham gia:
+ Nếu mọi thực thể của E tham gia vào ít nhất một quan hệ trong R thì
sự tham gia của một tập thực thể E trong một tập các quan hệ R được
gọi là đầy đủ (total).
+ Nếu chỉ có một vài thực thể của E tham gia vào một quan hệ trong R,
thì sự tham gia của tập thực thể E trong tập các quan hệ R được gọi là
một phần (partial).

2.6.4. Khóa của một tập thực thể
- Khóa (key) cho phép xác định một tập các thuộc tính đủ để phân biệt các
thực thể với nhau.
8


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
- Siêu khóa (superkey) là một tập gồm một hoặc nhiều thuộc tính được lựa
chọn cho phép xác định duy nhất một thực thể trong tập thực thể.
- Khóa dự bị (candidate key) là những siêu khóa mà khơng có tập con nào của
nó là siêu khóa.
- Người thiết kế CSDL chỉ chọn một khóa dự bị làm khóa chính, hay cịn gọi
là khóa của tập thực thể.
- Hai thực thể khác nhau sẽ khơng có cùng giá trị trên tất cả các thuộc tính
khóa (khóa chính, khóa dự bị hay siêu khóa) tại cùng một thời điểm. => ràng
buộc khóa
- Người thiết kế CSDL phải cẩn thận khi lựa chọn tập các thuộc tính cấu thành
khóa của một tập thực thể để đảm bảo:
+ Chắc chắn rằng tập các thuộc tính xác định duy nhất thực thể.

+ Tập thuộc tính khóa sẽ khơng bao giờ hoặc rất hiếm khi bị thay đổi.

2.6.4. Tập thực thể hay tập quan hệ
- Tập thực thể yếu là tập thực thể khơng đủ các thuộc tính để hình thành một
khóa chính.
- Tập thực thể mạnh là tập thực thể có khóa chính.
3 loại thực thể:
- Thực thể thơng thường là các thực thể có thể tồn tại độc lập và thường thể
hiện các đối tượng của thế giới thực ví dụ như con người hoặc sản phẩm.
- Thực thể yếu là các thực thể khơng thể tồn tại một mình mà phải đi cùng với
một mối quan hệ xác định bởi một loại thực thể xác định nó (thực thể chủkhỏe).
- Thực thể kết hợp (hay còn được gọi là các danh động từ) được hình thành từ
những mối quan hệ nhiều-nhiều giữa các loại thực thể khác nhau

2.7. Lược đồ dữ liệu quan hệ
❖ Mơ hình dữ liệu quan hệ bao gồm những khái niệm cơ bản sau:
- Quan hệ: là một bảng (ma trận) với các hàng và các cột, lưu giữ thông tin về
các đối tượng được mô hình hóa trong một cơ sở dữ liệu.
- Thuộc tính: là các cột được đặt tên trong một quan hệ. Mỗi thuộc tính là một
đặc tính nào đó của một thực thể (hay một mối quan hệ) được mơ hình hóa
9


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị

-

trong cơ sở dữ liệu. Các thuộc tính có thể xuất hiện theo bất kỳ trật tự nào
trong một quan hệ.

Miền giá trị: là một tập các giá trị có thể của một hoặc nhiều thuộc tính. Mỗi
thuộc tính được xác định trên một miền giá trị nào đó.
Bộ: là một hàng của một quan hệ. Các bộ có thể xuất hiện theo bất ký trật tự
nào trong một quan hệ.
Bậc (cấp): của một quan hệ là số lượng các thuộc tính mà nó có.
Lực lượng: là số lượng các bộ mà nó có.
Cơ sở dữ liệu quan hệ: là một tập hợp các quan hệ được chuẩn hóa với các
tên phân biệt nhau.

❖ Lược đồ: bao gồm tên và các thuộc tính cho quan hệ và thường không thay đổi.
❖ Một thể hiện của quan hệ: là một tập các bộ của quan hệ và có thể thay đổi
thường xun.

2.8. Ánh xạ mơ hình thực thể liên kết sang mơ hình quan hệ
1.
2.
3.
4.
5.
6.
7.

Ánh xạ các thực thể thông thường (thực thể khỏe).
Ánh xạ các thực thể yếu.
Ánh xạ các quan hệ hai ngôi.
Ánh xạ các thực thể liên kết (hay thực thể kết hợp).
Ánh xạ các quan hệ một ngôi (đệ quy).
Ánh xạ các quan hệ nhiều ngôi.
Ánh xạ các mối liên kết lớp cha/lớp con.


3. THIẾT KẾ CSDL
3.1. Thực thể và mối quan hệ
a. Các thực thể
- Khách hàng: Là người mua các sản phẩm trong đơn hàng. Đây là thực thể
mạnh có các thuộc tính: Mã khách (khóa chính) và các thơng tin cá nhân
như Họ tên, Ngày sinh, Địa chỉ, Số điện thoại (thuộc tính đa trị vì một
khách hàng có thể có nhiều số điện thoại), Tổng chi tiêu (thuộc tính dẫn
xuất từ tổng tiền trong đơn hàng), Tuổi (thuộc tính dẫn xuất từ ngày sinh),
Hạng thẻ (thuộc tính dẫn xuất dựa trên tổng chi tiêu).
10


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
- Đơn hàng: Danh sách các sản phẩm của người mua hàng. Đây là thực thể
mạnh có các thuộc tính: Mã đơn hàng (khóa chính), Số lượng, Tổng tiền,
Ngày mua, Chiết khấu (thuộc tính dẫn xuất dựa trên hạng thẻ khách hàng),
Thành tiền (thuộc tính dẫn xuất từ tiền và giảm). Mỗi đơn hàng chỉ có thể
thuộc về một khách hàng, một khách hàng có thể có nhiều đơn hàng nên
quan hệ là Khách hàng 1 - N Đơn hàng.
- Sản phẩm (mặt hàng): Là những thứ khách hàng mua. Đây là thực thể mạnh
có các thuộc tính: Mã sản phẩm (khóa chính), Tên, Ngành hàng, Đơn vị,
Đơn giá. Một đơn hàng có thể có nhiều sản phẩm, mỗi sản phẩm phải thuộc
về một đơn hàng nên quan hệ là Đơn hàng 1 - N Sản phẩm.

Thực thể

Thuộc tính

Quan hệ


Khách hàng

Mã khách (khố chính)

(Thực thể
mạnh)

Họ tên, Ngày sinh, Địa chỉ

Khách hàng 1 - N Đơn hàng

Số điện thoại (đa trị)
Tổng chi tiêu, Tuổi, Hạng thẻ
(dẫn xuất)

Đơn hàng

Mã đơn hàng (khố chính)

Đơn hàng N - 1 Khách hàng

(Thực thể
mạnh)

Số lượng, Tổng tiền, Ngày mua

Đơn hàng 1 - N Sản phẩm

Sản phẩm


Mã sản phẩm (khóa chính)

(Thực thể
mạnh)

Tên, Ngành hàng, Đơn vị, Đơn
giá

Chiết khấu, Thành tiền (dẫn
xuất)

11

Sản phẩm N - 1 Đơn hàng


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị

b. Các quan hệ
- Của: Quan hệ giữa Đơn hàng và Khách hàng (N - 1). Khóa chính của quan
hệ này bao gồm mã đơn của đơn hàng và mã khách của khách hàng.
- Bao gồm: Quan hệ giữa Đơn hàng và Sản phẩm (1 - N) với thuộc tính là số
lượng sản phẩm và tổng tiền (thuộc tính dẫn xuất). Khóa chính của quan hệ
này bao gồm mã đơn của đơn hàng và mã sản phẩm của sản phẩm.

3.2. Lược đồ thực thể quan hệ E-R

3.4. Lược đồ quan hệ tương ứng

a. Mô tả cách chuyển từ lược đồ thực thể quan hệ E - R sang lược đồ
quan hệ
- Cặp khách hàng - đơn hàng: Do quan hệ là 1 - N nên lưu khóa ngoại là ID
khách ở bên nhiều (đơn hàng).
- Bảng điện thoại: Số điện thoại của khách là thuộc tính đa trị nên được tạo
một bảng riêng với khóa ngoại là mã khách hàng.
12


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
- Cặp đơn hàng - sản phẩm: Quan hệ 1 - N, có quan hệ “bao gồm” nên tách
quan hệ làm bảng phụ tên là chi tiết đơn hàng để lưu số lượng và tổng tiền
sản phẩm. Bảng chi tiết đơn hàng có hai khóa ngoại là mã đơn hàng và mã
sản phẩm tham chiếu đến bảng đơn hàng và sản phẩm.

b. Lược đồ quan hệ

3.4. Phát triển ứng dụng
3.4.1. Sử dụng MySQL Workbench: Quản lý cơ sở dữ liệu
a. Các cơ sở dữ liệu nhập vào
-

Khach_hang(id_khach, ho, ten, nam_sinh, dia_chi, tong_tien, tuoi, hang)
dien_thoai(id_khach, sdt)
don_hang(id_khach, id_don, ngay_mua, so_sp, tien, giam, tong_tien)
don_chi_tiet(id_don, id_sp, so_luong, tong_tien)
san_pham(id_sp, id_lo, ten_sp, don_vi, don_gia, nganh)

b. Thực hiện với câu lệnh SQL

13


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
b1. Tạo cơ sở dữ liệu
create database sieuThi;
use sieuThi;
alter database sieuThi character set UTF8 collate utf8_vietnamese_ci;
b2. Tạo các bảng đã được ghi ở trên
❖ Tạo bảng khach_hang
create table khach_hang(
id_khach int auto_increment primary key,
ho nvarchar(10) not null,
ten nvarchar(25) not null,
nam_sinh int not null,
dia_chi nvarchar(50),
tong_tien int not null,
tuoi int ,
hang nvarchar(10)
);
❖ Tạo bảng dien_thoai
create table dien_thoai(
id_khach int not null,
sdt char(12) not null
);
❖ Tạo bảng don_hang
14



Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
create table don_hang(
id_khach int not null,
id_don int auto_increment primary key,
ngay_mua datetime(3) not null,
so_sp int not null,
tien int not null,
giam int,
tong_tien int);
❖ Tạo bảng don_chi_tiet
create table don_chi_tiet(
id_don int,
id_sp int,
so_luong int not null,
tong_tien int );
❖ Tạo bảng san_pham
create table san_pham(
id_sp int auto_increment primary key,
ten_sp nvarchar(25) not null,
don_vi nvarchar(15) not null,
don_gia int not null,
nganh nvarchar(25) not null );
b3.Tạo các khóa chính tham chiếu đến khóa ngoại
15


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
//Chỉ dùng 4 câu query alter dưới sau khi import dữ liệu

❖ Set id_khach của bảng dien_thoai là khố ngoại tham chiếu tới khố chính
id_khach của bảng khach_hang
Alter Table sieuthi.dien_thoai
add Constraint FK1_id_khach foreign key (id_khach) references
khach_hang(id_khach)
on delete cascade
on update cascade;
❖ Set id_khach của bảng don_hang là khoá ngoại tham chiếu tới khố chính
id_khach của bảng khach_hang
Alter Table sieuthi.don_hang
add Constraint FK2_id_khach foreign key (id_khach) references
khach_hang(id_khach)
on delete cascade
on update cascade;
❖ Set id_don của bảng don_chi_tiet là khoá ngoại tham chiếu tới khố chính
id_don của bảng don_hang
Alter Table sieuthi.don_chi_tiet
add Constraint FK_id_don foreign key (id_don) references don_hang(id_don)
on delete cascade
on update cascade;
❖ Set id_sp của bảng don_chi_tiet là khoá ngoại tham chiếu tới khố chính
id_sp của bảng san_pham
Alter Table sieuthi.don_chi_tiet
16


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
add Constraint FK1_id_sp foreign key (id_sp) references san_pham(id_sp)
on delete cascade

on update cascade;
b4. Thêm cột thuộc tính dẫn xuất
// Modify dùng sau khi tạo các bảng 1 lần
❖ Tuổi ở bảng khach_hang
alter table sieuthi.khach_hang
modify column tuoi int
generated always as (2021 - khach_hang.nam_sinh) stored;
❖ Hạng ở bảng khach_hang
alter table sieuthi.khach_hang
modify column hang char(15)
generated always as
(case when (`tong_tien` >= 2000000) then 'VANG' when (`tong_tien` >= 1000000)
then 'BAC' else 'KHONG CO HANG' end) stored;
❖ Tong_tien ở bảng don_hang
alter table sieuthi.don_hang
modify column tong_tien int generated always as (tien - tien * giam / 100) stored;
b5. Update các thuộc tính dẫn xuất
//Update dùng sau khi tạo bảng, có thể dùng nhiều lần
❖ Update số lượng sản phẩm trong 1 đơn hàng từ đơn chi tiết
17


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
update sieuthi.don_hang
set so_sp = (select count(id_don) from sieuthi.don_chi_tiet
where sieuthi.don_hang.id_don = sieuthi.don_chi_tiet.id_don);
❖ Tính tiền trong một đơn hàng
update sieuthi.don_hang, sieuthi.don_chi_tiet
set sieuthi.don_hang.tien = (select sum(sieuthi.don_chi_tiet.tong_tien) from

sieuthi.don_chi_tiet
where sieuthi.don_hang.id_don = sieuthi.don_chi_tiet.id_don);
❖ Tính tiền giảm dựa vào hạng
update sieuthi.don_hang
set giam = (select (case when (select hang from sieuthi.khach_hang
where don_hang.id_khach = khach_hang.id_khach) = 'VANG' then 20
when (select hang from sieuthi.khach_hang
where don_hang.id_khach = khach_hang.id_khach) = 'BAC' then 10
when (select hang from sieuthi.khach_hang
where don_hang.id_khach = khach_hang.id_khach) = 'KHONG CO HANG' then 0
END) );
❖ Tính tổng tiền trong đơn chi tiết
update sieuthi.don_chi_tiet
set tong_tien = (select(don_gia) from sieuthi.san_pham
where sieuthi.don_chi_tiet.id_sp = sieuthi.san_pham.id_sp)
* so_luong;
❖ Tính tổng tiền chi tiêu của khách hàng
update sieuthi.khach_hang, sieuthi.don_hang
set sieuthi.khach_hang.tong_tien = (select sum(sieuthi.don_hang.tong_tien)
18


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
from sieuthi.don_hang where sieuthi.khach_hang.id_khach =
sieuthi.don_hang.id_khach);

3.4.2. Sử dụng JDBC: Kết nối với cơ sở dữ liệu
Thành lập kết nối


19


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị

3.4.3. Sử dụng java swing: Kéo thả giao diện với Netbean

20


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị

4. TRIỂN KHAI THỬ NGHIỆM
❖ Chức năng Thêm mới: Từ trang chủ, tùy chọn để chỉnh sửa các bảng
▹ Quản lý khách hàng  Thêm mới: nhập các thông tin Họ, Tên, Năm sinh
cho khách hàng mới  Lưu thông tin; Mã khách sẽ được cấp tự động; sau
khi cung cấp đầy đủ thơng tin các bảng cịn lại sẽ được cập nhật Tổng tiền =
tổng tiền các đơn hàng đã mua, Tuổi = 2021 – năm sinh, Hạng (>2000000 
VANG, >1000000  BAC, <1000000  KHONG CO HANG).
▹ Quản lý đơn hàng  Thêm mới: Lấy ID khách từ bảng Khách hàng, nhập
thông tin Ngày mua  Lưu thông tin; Mã đơn sẽ được cấp tự động; Số sản
phẩm = Số đơn chi tiết, Tiền = giá trị sản phẩm của đơn, Giảm (Hạng
VANG  20, BAC  10), Tổng tiền = Tiền - Tiền*Giảm/100.
▹ Quản lý đơn chi tiết  Thêm mới: ID đơn lấy từ bảng Đơn hàng, ID sản
phẩm lấy từ bảng Sản phẩm, nhập Số lượng  Lưu thông tin; Tổng tiền =
Đơn giá * Số lượng.
▹ Quản lý đơn chi tiết  Thêm mới: nhập Tên sản phẩm, Ngành, Đơn vị, Đơn
giá cho sản phẩm mới  Lưu thông tin; Mã sản phẩm sẽ được cấp tự động.

▹ Quản lý số điện thoại  Thêm mới: ID khách lấy từ bảng Khách hàng, nhập
Số điện thoại cho khách hàng  Lưu thông tin.
❖ Chức năng khác:
▹ Sửa: Click đúp chuột vào hàng muốn chỉnh sửa  Sửa thơng tin theo ý
muốn.
▹ Xóa: Click chuột vào nút Xóa  nhập thơng tin của hàng (bộ) muốn xóa.
▹ Sắp xếp: Click vào tên cột  Click vào hình tam giác (tam giác thuận  sắp
xếp tăng, tam giác nghich  sắp xếp giảm).
▹ Tìm kiếm: nhập từ khóa vào ơ tìm kiếm  tự động lọc ra các hàng chứa từ
khóa.
❖ Video demo sản phẩm:
/>usp=sharing

5. TÀI LIỆU THAM KHẢO
Giáo trình + Slide bài giảng môn CSDL
21


Học phần: Cơ sở dữ liệu
Báo cáo: Ứng dụng quản lý siêu thị
/>?usp=sharing

22



×