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

Quản lý bán hàng Cơ sở dữ liệu phân tán UTT

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 (821.6 KB, 40 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT
KHOA CÔNG NGHỆ THÔNG TIN
-----o0o-----

BÀI TẬP LỚN

CƠ SỞ DỮ LIỆU PHÂN TÁN
Tên đề tài:
QUẢN LÝ BÁN HÀNG

GIÁO VIÊN HƯỚNG DẪN: Ths. BÙI THỊ NHƯ
NHÓM SINH VIÊN THỰC HIỆN: NGUYỄN VĂN DŨNG
BẠCH MINH TUẤN

LỚP: 72DCTT21

HÀ NỘI, 2024

0


MỤC LỤC
LỜI NÓI ĐẦU......................................................................................................................................1
PHÂN CHIA NHIỆM VỤ....................................................................................................................2
NỘI DUNG...........................................................................................................................................3
I. THIẾT KẾ CÁC HỆ CSDL PHÂN TÁN........................................................................................3
1.1.

Mơ hình cơ sở dữ liệu..........................................................................................................3

1.2.



Mơ hình cơ sở dữ liệu tập trung.........................................................................................5

1.3.

Thiết lập cơ sở dữ liệu.........................................................................................................5

1.4.

Cơ sở dữ liệu........................................................................................................................8

II. PHÂN MẢNH DỮ LIỆU................................................................................................................9
2.1.

Phân mảnh ngang................................................................................................................9

2.2.

Phân mảnh dọc..................................................................................................................10

2.3.

Phân mảnh hỗn hợp..........................................................................................................10

2.4.

Đồ thị phân mảnh và ảnh vật lý của quan hệ tổng thể...................................................11

IV. TỐI ƯU TRUY VẤN BẰNG THUẬT TOÁN INGRES............................................................16
4.1.


Cho biết tên các khách hàng đã mua sản phẩm có tên là “Mỳ hảo hảo chua cay “......16

4.2.
Đưa ra những nhân viên đã lập hố đơn cho những khách hàng có tên là “Nguyễn
Văn Dũng”......................................................................................................................................17
4.3.

Đưa ra tên sản phẩm được mua trong tháng 12.............................................................18

V. XÂY DỰNG CÂY ĐẠI SỐ QUAN HỆ VÀ RÚT GỌN CÂU TRUY VẤN...............................20
1. Cho biết tên sản phẩm thuộc loại Văn phịng phẩm và có giá > 10000...................................21
2. Đưa ra tên sản phẩm của NCC ở Hà Nội và được bán trong năm 2023.................................23
3. Đưa ra tên sản phẩm thuộc loại Thực phẩm, đã được bán ra ngày '07/08/2023' tổng hóa đơn
= 860000..........................................................................................................................................25
4. Đưa ra tên nhân viên trên 20 tuổi có lương >=4000000 và chức vụ khơng phải Quản lý......26
5. Tên khách hàng ở Hà Nội có hóa đơn do nhân viên 'Bạch Minh Tuấn' tạo ngày 10/12/2023
.........................................................................................................................................................27
KẾT LUẬN.........................................................................................................................................30


LỜI NÓI ĐẦU
Trong bối cảnh thị trường ngày càng cạnh tranh, quản lý bán hàng trở
thành một khía cạnh quan trọng đối với sự thành công của doanh nghiệp. Để
hiện đại hóa q trình này, đề tài quản lý bán hàng sử dụng cơ sở dữ liệu phân
tán nhằm tối ưu hóa việc thu thập, lưu trữ và truy cập thông tin. Báo cáo này tập
trung khám phá cách mà cơ sở dữ liệu phân tán có thể cung cấp giải pháp cho
các thách thức quản lý bán hàng hiện nay, đồng thời nâng cao hiệu suất và khả
năng đáp ứng nhanh chóng của hệ thống.
Báo cáo này tập trung vào quản lý bán hàng trong bối cảnh môi trường

kinh doanh đang thay đổi nhanh chóng, đặt ra nhiều thách thức và cơ hội mới.
Trong môi trường này, việc sử dụng cơ sở dữ liệu phân tán trở nên quan trọng
để đáp ứng sự phức tạp và đa dạng của thông tin liên quan đến quản lý bán hàng.
Thị trường hiện đại đặt ra yêu cầu cao về sự linh hoạt và tốc độ phản ứng
trong quản lý bán hàng. Các doanh nghiệp đang phải đối mặt với sự thay đổi
nhanh chóng của xu hướng tiêu dùng, biến động trong chuỗi cung ứng, và áp lực
từ đối thủ cạnh tranh. Điều này đặt ra thách thức lớn cho quá trình quản lý bán
hàng, yêu cầu một hệ thống thông tin linh hoạt và mạnh mẽ.
Cơ sở dữ liệu phân tán mang lại sự linh hoạt và khả năng mở rộng cần
thiết để đối mặt với sự biến động của thị trường. Thay vì sự tập trung, thơng tin
được phân tán trên nhiều nút, giảm thiểu rủi ro mất dữ liệu và đồng thời tối ưu
hóa việc truy cập thơng tin từ nhiều nguồn. Điều này cực kỳ quan trọng trong
việc quản lý khách hàng, theo dõi hàng tồn kho, và đáp ứng nhanh chóng với
nhu cầu thị trường.
Cơ sở dữ liệu phân tán không chỉ cung cấp sự linh hoạt mà cịn giảm áp
lực lên hệ thống khi có sự tăng trưởng. Tuy nhiên, đồng thời nó đặt ra thách thức
trong việc duy trì tính nhất qn dữ liệu và đảm bảo bảo mật. Quản lý hiệu suất
và khả năng mở rộng là những yếu tố cần được xem xét cẩn thận.
Báo cáo sẽ đi sâu vào nghiên cứu về cách cơ sở dữ liệu phân tán có thể
được triển khai trong mơi trường quản lý bán hàng. Nó sẽ xem xét các mơ hình
cơ sở dữ liệu phân tán hiện đại, đồng thời tập trung vào ưu điểm và thách thức
cụ thể khi tích hợp chúng vào quy trình quản lý bán hàng.
Báo cáo này nhằm đưa ra cái nhìn sâu rộng về tầm quan trọng của cơ sở
dữ liệu phân tán trong quản lý bán hàng. Qua đó, hy vọng rằng những kiến thức
thu được sẽ giúp doanh nghiệp hiểu rõ hơn về lợi ích và thách thức của việc áp
dụng cơng nghệ này, từ đó đưa ra quyết định thông minh và hiệu quả trong việc
quản lý nguồn lực và tối ưu hóa quy trình kinh doanh.
Chúng em xin cảm ơn Ths. Bùi Thị Như đã cung cấp cho chúng em các
kiến thức từ cơ bản đến chun sâu để chúng em có thể hồn thiện bản báo cáo



này. Trong q trình làm báo cáo, chúng em có thể sẽ mắc những lỗi sai, khuyết
thiếu. Mong thầy cô giảng viên có thể giải thích và giúp đỡ chúng em hoàn thiện
bản thân.
Chúng em xin chân thành cảm ơn.


PHÂN CHIA NHIỆM VỤ

Tên thành viên
Nguyễn Văn Dũng
Bạch Minh Tuấn

Câu 1

Câu 2

x
x

Câu 3

Câu 4

x

x

Câu 5


x


NỘI DUNG
I. THIẾT KẾ CÁC HỆ CSDL PHÂN TÁN
1.1.

Mơ hình cơ sở dữ liệu

1.1.1. Nhân Viên
Tên trường

Kiểu

Độ rộng Giải thích

manv

Varchar

10

Khóa chính, Mã nhân viên

tennv

Nvarchar

100


Tên nhân viên

ngaysinh

Date

Ngày sinh

ngaylamviec

Date

Ngày làm việc

diachi

Nvarchar

100

Địa chỉ

sdt

Varchar

10

Số điện thoại


chucvu

Nvarchar

50

Chức vụ

1.1.2. Luong
Tên trường

Kiểu

Độ rộng

Giải thích

chucvu

Nvarchar

50

Khóa chính, Chức vụ

luongcoban

Money

Luong cơ bản


phucap

Money

Phụ cấp

1.1.3. Khách hàng
Tên trường

Kiểu

Độ rộng Giải thích

makh

Varchar

10

Khóa chính, Mã khách hàng

tenkh

Nvarchar

100

Tên khách hàng


gioitinh

nvarchar

15

Giới tính


diachi

Nvarchar

100

Địa chỉ

sdt

Varchar

10

Số điện thoại

email

Varchar

100


email

1.1.4. Loại sản phẩm
Tên trường

Kiểu

Độ rộng Giải thích

maloaisp

Varchar

10

Khóa chính, Mã loại sản phẩm

tenloaisp

Nvarchar

100

Tên loại sản phẩm

1.1.5. Sản phẩm
Tên trường

Kiểu


Độ rộng

Giải thích

masp

Varchar

10

Khóa chính, Mã sản phẩm

tensp

Nvarcha
r

100

maloaisp

Varchar

10

Mã loại sản phẩm

mancc


Varchar

10

Mã nhà cung cấp

gia

Money

Mã giá

soluong

Int

Số Luong sản phẩm

Tiêu đề sản phẩm

1.1.6. Nhà cung cấp
Tên trường

Kiểu

Độ rộng

Giải thích

mancc


Varchar

10

Khóa chính, Mã nhà cung cấp

tenncc

Nvarchar

100

Tên nhà cung cấp

diachi

Nvarchar

100

Địa chỉ

sdt

Varchar

10

Số điện thoại



1.1.7. Đơn hàng
Tên trường

Kiểu

Độ rộng

Giải thích

madh

Varchar

10

Khóa chính, Mã đơn hàng

manv

Varchar

10

Mã nhân viên

makh

Varchar


10

Mã khách hàng

diachi

Nvarchar

100

Địa chỉ

ngaydat

Date

Ngày đặt

ngaygiao

Date

Ngày giao

1.1.8. Chi tiết đơn hàng
Tên trường

Kiểu


Độ rộng

Giải thích

madh

Varchar

10

Khóa chính, Mã đơn hàng

masp

Varchar

10

Khóa chính, Mã sản phẩm

gia

Money

Gía sản phẩm

soluong

Int


Số Luong sản phẩm

giamgia

Money

Tiền giảm giá


1.2.

Mơ hình cơ sở dữ liệu tập trung

1.3.

Thiết lập cơ sở dữ liệu

1. Tạo CSDL Websitebanhoa
CREATE DATABASE Website_ flower
USE Website_flower
2. Tạo bảng Nhân viên
CREATE TABLE NhanVien
(
manv

VARCHAR (10) PRIMARY KEY NOT NULL,

tennv

NVARCHAR (100),


ngaysinh

DATE,


ngaylamviec

DATE,

dichi

NVARCHAR (100),

sdt

VARCHAR (50),

chucvu

NVARCHAR(50),

)
3. Tạo bảng Luong
CREATE TABLE Luong
(
chucvu

NVARCHAR(50) PRIMARY KEY NOT NULL,


luongcoban

MONEY,

phucap

MONEY

)
4. Tạo bảng Khách hàng
CREATE TABLE KhachHang
(
makh

VARCHAR (10) PRIMARY KEY NOT NULL,

tenkh

NVARCHAR (100),

dichi

NVARCHAR (100),

sdt

VARCHAR (50),

email


VARCHAR (50)

)
5. Tạo bảng Loại sản phẩm
CREATE TABLE LoaiSP
(
maloaisp

VARCHAR (10) PRIMARY KEY NOT NULL,


tenloaisp

NVARCHAR (100),

)
6. Tạo bảng Nhà cung cấp
CREATE TABLE NhaCungCap
(
mancc

VARCHAR (10) PRIMARY KEY NOT NULL,

dichi

NVARCHAR (100),

sdt

VARCHAR (50)


)
7. Tạo bảng Sản phẩm
CREATE TABLE SanPham
(
masp

VARCHAR (10) PRIMARY KEY NOT NULL,

tensp

NVARCHAR (100),

maloaisp

VARCHAR (10) NOT NULL,

mancc

VARCHAR (10) NOT NULL,

soluong

INT,

gia

MONEY ,

)

8. Tạo bảng Đơn hàng
CREATE TABLE DonHang
(
madh

VARCHAR (10) PRIMARY KEY NOT NULL,

manv

VARCHAR (10) NOT NULL,

makh

VARCHAR (10) NOT NULL,


dichi

NVARCHAR (100),

ngaydat

DATE,

ngaygiao

DATE

)
9. Tạo bảng Chi tiết đơn hàng

CREATE TABLE ChiTietDonHang
(
madh

VARCHAR (10) NOT NULL,

masp

VARCHAR (10) NOT NULL,

gia

MONEY,

soluong

INT,

giamgia

MONEY,

CONSTRAINT pk_ChiTietDonHang PRIMARY KEY (madh,masp)
)

10.Tạo Liên Kết Giữa Các Bảng Dữ Liệu
alter table SanPham
add constraint fk_nhacungcap
nhacungcap(mancc)


foreign

key

(mancc)

references

alter table SanPham
add constraint fk_loaisp foreign key (maloaisp) references loaisp(maloaisp)

alter table DonHang
add constraint fk_DonHang_khachhang foreign key (makh) references
khachhang(makh)
alter table DonHang


add constraint fk_DonHang_NhanVien foreign key (manv) references
NhanVien(manv)

alter table ChiTietDonHang
add constraint fk_chitiet_DonHang
DonHang(madh)

foreign

key

(madh)


references

foreign

key

(masp)

references

alter table ChiTietDonHang
add constraint fk_chitiet_SanPham
SanPham(masp)
1.4. Cơ sở dữ liệu
1.4.1. Nhân Viên

1.4.2. Luong

1.4.3. Nhà cung cấp

1.4.4. Loại sản phẩm


1.4.5. Sản phẩm

1.4.6. Khách hàng

1.4.7. Đơn hàng

1.4.8. Chi tiết đơn hàng



II. PHÂN MẢNH DỮ LIỆU
2.1.

Phân mảnh ngang

- Phân mảnh ngang quan hệ Luong được phân mảnh 3 mảnh theo các chức vụ:
● Luong1=σ chucvu=Quản lý ( Luong)
● Luong2=σ chucvu= Nhân viên } (Luong¿
● Luong3=σ chucvu=Thu ngân (Luong)
- Phân mảnh ngang quan hệ NhaCungCap được phân mảnh 3 mảnh theo các
chức vụ:
● NCC1=σ diachi=Hà Nội (NhaCungCap)
● NCC2=σ diachi=Thanh Hóa } (NhaCungCap ¿
● NCC3=σ diachi=Hồ Chí Minh (NhaCungCap)
- Phân mảnh ngang nguyên thủy trên quan hệ LoaiSP thành 4 mảnh ngang như
sau:
● LoaiSP1= σ maloaisp=DGD (LoaiSP)
● LoaiSP2=σ maloaisp=QA (LoaiSP)
● LoaiSP3=σ maloaisp=TP ( LoaiSP)
● LoaiSP4=σ maloaisp=VPP ( LoaiSP)
- Phân mảnh ngang dẫn xuất trên quan hệ SanPham theo quan hệ LoaiSP thành
4 mảnh:
● SanPham1 = SanPham

LoaiSP1

● SanPham2 = SanPham


LoaiSP2

● SanPham3 = SanPham

LoaiSP3

● SanPham4 = SanPham

LoaiSP4


2.2.

Phân mảnh dọc

- Quan hệ NhanVien được phân thành 2 mảnh dọc
● NhanVien1(manv, tennv, ngaysinh, ngaylamviec, diachi, sdt)
NV1 = π manv , tennv ,ngaysinh , ngaylamviec ,diachi , sdt ( NhanVien)
● NhanVien2 (manv, chucvu).
NV2 = π manv , Luong ( NhanVien)

2.3.

Phân mảnh hỗn hợp

- Quan hệ SanPham phân mảnh hỗn hợp thành 4 mảnh:
● SP1 (masp, maloaisp)
SP1 = π masp ,maloaisp (SanPham)
● SP2 (masp, mancc)
SP2 = π masp ,mancc ( SanPham)

● SP3 (masp, tensp, gia, soluong) với gia <= 500.000
SP3 = σ gia≤ 500000 (π masp, tensp, gia, soluong (SanPham))
● SP4 (masp, tensp, gia, soluong) với gia > 500.000
SP4 = σ gia>500000 ¿

2.4.

Đồ thị phân mảnh và ảnh vật lý của quan hệ tổng thể
Sơ đồ định vị tại các trạm làm việc được chia thành 3 trạm:


● SITE 1: NV1, NV2, Luong1, Luong2, NCC1, LoaiSP1, SP1, SP3, DH
● SITE 2: NV1, NCC2, LoaiSP1, LoaiSP2, LoaiSP3, LoaiSP4, SP2, SP4, DH
● SITE 3: NV1, NV2, Luong3, NCC3, LoaiSP3, SP3, SP4, KH, DH, CTDH

III. TRUY VẤN PHÂN MẢNH VÀ TRUY VẤN TÁI THIẾT
3.1. Truy vấn phân mảnh
3.1.1. Truy vân phân mảnh ngang
❖ Truy vấn trên bảng Luong
Phân mảnh Luong1:
select

* into Luong1

from

Luong

where


chucvu = 'Quản lý'


Phân mảnh Luong2:
select

* into Luong2

from

Luong

where

chucvu = 'Nhân viên'

Phân mảnh Luong3:
select

* into Luong3

from

Luong

where

chucvu = 'Thu ngân'

Dễ thấy cách mảnh thỏa mãn được tính tái thiết, đầy đủ và tách biệt

Luong1 ⊆ Luong, Luong2 ⊆ Luong, Luong3 ⊆ Luong
Luong = Luong1 ∪ Luong2 ∪ Luong3
Luong1 ∩ Luong2 = ∅ , Luong1 ∩ Luong3 = ∅ , Luong2 ∩ Luong3 = ∅

❖ Truy vấn trên bảng NhaCungCap
Phân mảnh NCC1:
select

* into NCC1

from

NhaCungCap

where

diachi = 'Hà Nội'

Phân mảnh NCC2:
select

* into NCC2

from

NhaCungCap


where


diachi = 'Thanh Hóa'

Phân mảnh NCC3:
select

* into NCC3

from

NhaCungCap

where

diachi = 'Hồ Chí Minh'

Dễ thấy cách mảnh thỏa mãn được tính tái thiết, đầy đủ và tách biệt
NCC1 ⊆ NhaCungCap, NCC2 ⊆ NhaCungCap, NCC3 ⊆ NhaCungCap
NhaCungCap = NCC1 ∪ NCC2∪ NCC3
NCC1 ∩ NCC2 = ∅ , NCC1 ∩ NCC3 = ∅ , NCC2 ∩ NCC3 = ∅
❖ Truy vấn trên bảng LoaiSP
Phân mảnh LoaiSP1:
select

* into LoaiSP1

from

LoaiSP

where


maloaisp = 'DGD'

Phân mảnh LoaiSP2:
select

* into LoaiSP2

from

LoaiSP

where

maloaisp = 'QA'

Phân mảnh LoaiSP3:
select

* into LoaiSP3

from

LoaiSP

where

maloaisp = 'TP'



Phân mảnh LoaiSP4:
select

* into LoaiSP4

from

LoaiSP

where

maloaisp = 'VPP'

Dễ thấy cách mảnh thỏa mãn được tính tái thiết, đầy đủ và tách biệt
LoaiSP1⊆LoaiSP, LoaiSP2⊆LoaiSP, LoaiSP3⊆LoaiSP, LoaiSP4 ⊆ LoaiSP
LoaiSP1∩ LoaiSP2 = ∅ , LoaiSP1∩ LoaiSP3= ∅ , LoaiSP1∩ LoaiSP4= ∅
LoaiSP2 ∩ LoaiSP3 = ∅ , LoaiSP2∩ LoaiSP4= ∅ , LoaiSP3∩ LoaiSP4= ∅
LoaiSP = LoaiSP1 ∪ LoaiSP2 ∪ LoaiSP3 ∪ LoaiSP4

3.1.2. Truy vấn phân mảnh dọc
❖ Truy vấn trên bảng NhanVien
Phân mảnh NV1:
select

manv, tennv, ngaysinh, ngaylamviec, diachi, sdt into NV1

from

NhanVien


Phân mảnh NV2:
select

manv, chucvu into NV2

from

NhanVien

Dễ thấy cách mảnh thỏa mãn được tính tái thiết, đầy đủ và tách biệt



×