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

Báo cáo môn cơ sơ dữ liệu phân tán

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 (912.68 KB, 45 trang )

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

Học phần:

CƠ SỞ DỮ LIỆU PHÂN TÁN
Đề tài:

QUẢN LÝ BÁN HÀNG ĐIỆN TỬ

Giảng viên hướng dẫn:
Lớp:
Nhóm Sinh viên thực hiện:

Hà Nội, tháng 12 năm 2022

Nhóm 02


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

Giảng viên hướng dẫn:
Lớp:
Nhóm gồm các thành viên:

Hà Nội, tháng 12 năm 2022

2



MỤC LỤC

LỜI MỞ ĐẦU

Với sự bùng nổ của cuộc cách mạng công nghiệp 4.0 trên thế giới cũng như ở
Việt Nam, Công nghệ thông tin đã trở thành một ngành cơng nghiệp mũi nhọn, nó là
một ngành khoa học kĩ thuật không thể thiếu trong việc áp dụng vào các hoạt động xã
hội: Quản lý, kinh tế, thông tin, …
Một thực trạng đang diễn ra là các cơ quan, công ty thường mời các chuyên viên
phần mềm vi tính về viết chương trình, nhưng họ khơng hiểu chương trình được viết
như thế nào, hoặc ứng dụng được phân tích ra sao. Họ khơng biết làm gì ngồi việc ấn
nút theo sự hướng dẫn của công ty phần mềm khi sử dụng chương trình họ viết. Khi
muốn thay đổi nho nhỏ trong chương trình lại phải mời chuyên viên, vì người điều
hành chỉ biết ấn nút mà thôi, mà những thay đổi này có thể khi phân tích vấn đề khơng
ai để ý hoặc khách hàng quên không yêu cầu chuyên viên khắc phục trong chương
trình. Sự hạn chế trong việc phân tích vấn đề, quản lý đã khơng phát huy hết tác dụng
của máy tính.
Với mong muốn cho thấy tầm quan trọng của việc phân tích thiết kế một hệ
thống thơng tin tự động hóa trong lĩnh vực quản lý. Nhóm chúng em đã cố gắng tìm
hiểu và mạnh dạn đưa ra một mơ hình cơ sở dữ liệu trong bài toán quản lý bán hàng
3


được xây dựng trên hệ quản trị cơ sở dữ liệu SQL Server, đây cũng chỉ là một phương
pháp trong nhiều phương pháp, nó có thể chưa được hồn thiện, nhưng phần nào đấy
làm rõ hơn vai trò của việc thiết kế cơ sở dữ liệu trong bài toán quản lý chung.

PHÂN CƠNG CƠNG VIỆC

ST

T

HỌ TÊN

CƠNG VIỆC

MỨC ĐỘ HỒN
THÀNH

4


CHƯƠNG I. THIẾT KẾ MƠ HÌNH CƠ SỞ DỮ LIỆU
1.1. Các thực thể và thuộc tính tương ứng

1.1.1. Loại hàng: LoaiHang (MaLoaiHang, TenLoaiHang)
- MaLoaiHang: thuộc tính khóa phân biệt các loại hàng với nhau.
- TenLoaiHang: tên loại hàng.

1.1.2. Mặt hàng: MatHang (MaMatHang, TenMatHang, MaLoaiHang,
DonViTinh)
- MaMatHang: thuộc tính khóa phân biệt các mặt hàng với nhau.
- TenMatHang: tên mặt hàng.
- MaLoaiHang: mã loại hàng.
- DonViTinh: đơn vị tính.

1.1.3. Nhân viên: NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai,
NgaySinh, Email)
- MaNhanVien: thuộc tính khóa phân biệt các nhân viên với nhau.
- HoTen: họ và tên của nhân viên.

- DiaChi: địa chỉ của nhân viên.
- DienThoai: điện thoại của nhân viên.
- NgaySinh: ngày sinh của nhân viên.
- Email: email của nhân viên.

1.1.4. Khách hàng: KhachHang (MaKhachHang, HoTen, DiaChi, Email,
DienThoai)
- MaKhachHang: thuộc tính khóa phân biệt các khách hàng với nhau.
- HoTen: họ và tên của khách hàng.
- DiaChi: địa chỉ của khách hàng.
5


- Email: email của khách hàng.
- DienThoai: điện thoại của khách hàng.

1.1.5. Nhà cung cấp: NhaCungCap (MaNhaCungCap, TenNhaCungCap,
DiaChi, DienThoai, Email)
- MaNhaCungCap: thuộc tính khóa phân biệt các nhà cung cấp với nhau.
- TenNhaCungCap: tên của nhà cung cấp.
- DiaChi: địa chỉ của nhà cung cấp.
- DienThoai: điện thoại của nhà cung cấp.
- Email: email của nhà cung cấp.

1.1.6. Nhập:
NgayNhap)

Nhap

(MaNhap,


MaNhaCungCap,

MaNhanVien,

- MaNhap: mã nhập hàng.
- MaNhaCungCap: mã nhà cung cấp nhập hàng.
- MaNhanVien: mã nhân viên nhập hàng.
- NgapNhap: thời gian nhập hàng.

1.1.7. Chi tiết nhập: ChiTietNhap
SoLuongNhap, DonGiaNhap)

(MaNhap,

MaMatHang,

- MaNhap: mã nhập hàng.
- MaMatHang: mã mặt hàng.
- SoLuongNhap: số lượng nhập.
- DonGiaNhap: đơn giá nhập.

1.1.8. Xuất: Xuat (MaXuat, MaKhachHang, MaNhanVien, NgayXuat)
- MaXuat: mã xuất hàng.
- MaKhachHang: mã khách hàng mua hàng.
- MaNhanVien: mã nhân viên bán hàng.
- NgayXuat: thời gian xuất hàng.

1.1.9. Chi tiết xuất: ChiTietXuat (MaXuat, MaMatHang, SoLuongXuat,
DonGiaXuat)

- MaXuat: mã xuất hàng.
- MaMatHang: mã mặt hàng.
- SoLuongXuat: số lượng xuất.
- DonGiaXuat: đơn giá xuất.
6


1.2. Cơ sở dữ liệu quản lý bán hàng

1.2.1. Mô hình cơ sở dữ liệu
1.2.1.1. Bảng Loại Hàng
Tên cột

Ý nghĩa
MaLoaiHang
Mã loại hàng
TenLoaiHang
Tên loại hàng
1.2.1.2. Bảng Mặt Hàng

Kiểu
CHAR
NVARCHAR

Độ rộng
2
50

Tên cột
Ý nghĩa

MaMatHang
Mã mặt hàng
TenMatHang
Tên mặt hàng
MaLoaiHang
Mã loại hàng
DonViTinh
Đơn vị tính
1.2.1.3. Bảng Nhân Viên

Kiểu
CHAR
NVARCHAR
CHAR
NVARCHAR

Độ rộng
4
100
2
10

Tên cột
Ý nghĩa
MaNhanVien
Mã nhân viên
HoTen
Họ tên
DiaChi
Địa chỉ

DienThoai
Số điện thoại
NgaySinh
Ngày sinh
Email
Email
1.2.1.4. Bảng Khách Hàng

Kiểu
CHAR
NVARCHAR
NVARCHAR
VARCHAR
DATE
VARCHAR

Độ rộng
4
50
200
20

Tên cột
Ý nghĩa
MaKhachHang
Mã khách hàng
HoTen
Họ tên
DiaChi
Địa chỉ

Email
Email
DienThoai
Số điện thoại
1.2.1.5. Bảng Nhà Cung Cấp

Kiểu
CHAR
NVARCHAR
NVARCHAR
VARCHAR
VARCHAR

Độ rộng
4
50
200
100
20

Tên cột
MaNhaCungCap
TenNhaCungCap
DiaChi
DienThoai
Email

Kiểu
CHAR
NVARCHAR

NVARCHAR
VARCHAR
VARCHAR

Độ rộng
3
100
200
20
100

Ý nghĩa
Mã nhà cung cấp
Tên nhà cung cấp
Địa chỉ
Số điện thoại
Email

100

7


1.2.1.6. Bảng Nhập
Tên cột
Ý nghĩa
MaNhap
Mã phiếu nhập
MaNhaCungCap
Mã nhà cung cấp

MaNhanVien
Mã nhân viên
NgayNhap
Ngày nhập
1.2.1.7. Bảng Chi Tiếp Nhập

Kiểu
CHAR
CHAR
CHAR
DATETIME

Độ rộng
4
3
4

Tên cột
MaNhap
MaMatHang
SoLuongNhap
DonGiaNhap
1.2.1.8. Bảng Xuất

Kiểu
CHAR
CHAR
INT
DECIMAL


Độ rộng
4
4

Kiểu
CHAR
CHAR
CHAR
DATETIME

Độ rộng
4
4
4

Ý nghĩa
Mã phiếu nhập
Mã mặt hàng
Số lượng nhập
Đơn giá nhập

Tên cột
Ý nghĩa
MaXuat
Mã phiếu xuất
MaKhachHang
Mã khách hàng
MaNhanVien
Mã nhân viên
NgayXuat

Ngày xuất
1.2.1.9. Bảng Chi Tiết Xuất
Tên cột
MaXuat
MaMatHang
SoLuongXuat
DonGiaXuat

Ý nghĩa
Mã xuất
Mã mặt hàng
Số lượng xuất
Đơn giá xuất

Kiểu
CHAR
CHAR
INT
DECIMAL

16,2

Độ rộng
4
4
16,2

8



1.2.2. Mơ hình liên kết thực thể

1.2.3. Thiết lập cơ sở dữ liệu
1.2.3.1. Tạo CSDL Bán Hàng
CREATE DATABASE BanHang
GO
USE BanHang
1.2.3.2. Tạo bảng Loại Hàng
CREATE TABLE LoaiHang
(
MaLoaiHang CHAR(2),
TenLoaiHang NVARCHAR(50),
CONSTRAINT PRK_LoaiHang_MaLoaiHang PRIMARY KEY (MaLoaiHang)
)
1.2.3.3. Tạo bảng Mặt Hàng
9


CREATE TABLE MatHang
(
MaMatHang CHAR(4),
TenMatHang NVARCHAR(100),
MaLoaiHang CHAR(2),
DonViTinh NVARCHAR(10),
CONSTRAINT PRK_MatHang_MaMatHang PRIMARY KEY (MaMatHang)
)
1.2.3.4. Tạo bảng Nhân Viên
CREATE TABLE NhanVien
(
MaNhanVien CHAR(4),

HoTen NVARCHAR(50),
DiaChi NVARCHAR(200),
DienThoai VARCHAR(20),
NgaySinh DATE,
Email VARCHAR(100),
CONSTRAINT PRK_NhanVien_MaNhanVien PRIMARY KEY (MaNhanVien),
CONSTRAINT CHK_NhanVien_DienThoai CHECK (DienThoai LIKE '[0-9]
[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
CONSTRAINT CHK_NhanVien_NgaySinh CHECK (NgaySinh BETWEEN
'1900-01-01' AND GETDATE()),
CONSTRAINT CHK_NhanVien_Email CHECK (Email LIKE '%_@__%.__%')
)
1.2.3.5. Tạo bảng Khách Hàng
CREATE TABLE KhachHang
(
MaKhachHang CHAR(4),
HoTen NVARCHAR(50),
DiaChi NVARCHAR(200),
Email VARCHAR(100),
DienThoai VARCHAR(20),
CONSTRAINT
PRK_KhachHang_MaKhachHang
PRIMARY
KEY
(MaKhachHang),
CONSTRAINT CHK_KhachHang_Email CHECK (Email LIKE '%_@__%.__
%'),
CONSTRAINT CHK_KhachHang_DienThoai CHECK (DienThoai LIKE '[0-9]
[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
)

1.2.3.6. Tạo bảng Nhà Cung Cấp
10


CREATE TABLE NhaCungCap
(
MaNhaCungCap CHAR(3),
TenNhaCungCap NVARCHAR(100),
DiaChi NVARCHAR(200),
DienThoai VARCHAR(20),
Email VARCHAR(100),
CONSTRAINT
PRK_NhaCungCap_MaNhaCungCap
PRIMARY
KEY
(MaNhaCungCap),
CONSTRAINT CHK_NhaCungCap_DienThoai CHECK (DienThoai LIKE '[09][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
CONSTRAINT CHK_NhaCungCap_Email CHECK (Email LIKE '%_@__%.__
%')
)
1.2.3.7. Tạo bảng Nhập
CREATE TABLE Nhap
(
MaNhap CHAR(4),
MaNhaCungCap CHAR(3),
MaNhanVien CHAR(4),
NgayNhap DATETIME,
CONSTRAINT PRK_Nhap_MaNhap PRIMARY KEY (MaNhap)
)
1.2.3.8. Tạo bảng Chi Tiết Nhập

CREATE TABLE ChiTietNhap
(
MaNhap CHAR(4),
MaMatHang CHAR(4),
SoLuongNhap INT,
DonGiaNhap DECIMAL(16,2),
CONSTRAINT PRK_ChiTietNhap_MaNhap_MaMatHang PRIMARY KEY
(MaNhap,MaMatHang),
CONSTRAINT CHK_ChiTietNhap_SoLuongNhap CHECK (SoLuongNhap > 0
AND SoLuongNhap < 100000),
CONSTRAINT CHK_ChiTietNhap CHECK (DonGiaNhap > 0)
)
1.2.3.9. Tạo bảng Xuất
CREATE TABLE Xuat
(
MaXuat CHAR(4),
11


MaKhachHang CHAR(4),
MaNhanVien CHAR(4),
NgayXuat DATETIME,
CONSTRAINT PRK_Xuat_MaXuat PRIMARY KEY (MaXuat)
)
1.2.3.10. Tạo bảng Chi Tiết Xuất
CREATE TABLE ChiTietXuat
(
MaXuat CHAR(4),
MaMatHang CHAR(4),
SoLuongXuat INT,

DonGiaXuat DECIMAL(16,2),
CONSTRAINT PRK_ChiTietXuat_MaXuat_MaMatHang PRIMARY KEY
(MaXuat,MaMatHang),
CONSTRAINT CHK_ChiTietXuat_SoLuongXuat CHECK (SoLuongXuat > 0
AND SoLuongXuat < 100000),
CONSTRAINT CHK_ChiTietXuat CHECK (DonGiaXuat > 0)
)
1.2.3.11. Tạo liên kết giữa các bảng dữ liệu
ALTER TABLE MatHang
ADD CONSTRAINT FRK_MatHang_LoaiHang_MaLoaiHang
FOREIGN KEY (MaLoaiHang) REFERENCES LoaiHang(MaLoaiHang)
ALTER TABLE Nhap
ADD CONSTRAINT FRK_Nhap_NhaCungCap_MaNhaCungCap
FOREIGN KEY (MaNhaCungCap) REFERENCES NhaCungCap(MaNhaCungCap)
ALTER TABLE Nhap
ADD CONSTRAINT FRK_Nhap_NhanVien_MaNhanVien
FOREIGN KEY (MaNhanVien) REFERENCES NhanVien(MaNhanVien)
ALTER TABLE ChiTietNhap
ADD CONSTRAINT FRK_ChiTietNhap_Nhap_MaNhap
FOREIGN KEY (MaNhap) REFERENCES Nhap(MaNhap)
ALTER TABLE ChiTietNhap
ADD CONSTRAINT FRK_ChiTietNhap_MatHang_MaMatHang
FOREIGN KEY (MaMatHang) REFERENCES MatHang(MaMatHang)
ALTER TABLE Xuat
ADD CONSTRAINT FRK_Xuat_KhachHang_MaKhachHang
12


FOREIGN KEY (MaKhachHang) REFERENCES KhachHang(MaKhachHang)
ALTER TABLE Xuat

ADD CONSTRAINT FRK_Xuat_NhanVien_MaNhanVien
FOREIGN KEY (MaNhanVien) REFERENCES NhanVien(MaNhanVien)
ALTER TABLE ChiTietXuat
ADD CONSTRAINT FRK_ChiTietXuat_Xuat_MaXuat
FOREIGN KEY (MaXuat) REFERENCES Xuat(MaXuat)
ALTER TABLE ChiTietXuat
ADD CONSTRAINT FRK_ChiTietXuat_MatHang_MaMatHang
FOREIGN KEY (MaMatHang) REFERENCES MatHang(MaMatHang)
GO

1.2.4. Chèn dữ liệu vào các bảng
1.2.4.1. Chèn bảng Loại Hàng
INSERT INTO LoaiHang (MaLoaiHang, TenLoaiHang) VALUES ('TV', N'Ti vi')
INSERT INTO LoaiHang (MaLoaiHang, TenLoaiHang) VALUES ('TL', N'Tủ lạnh')
INSERT INTO LoaiHang (MaLoaiHang, TenLoaiHang) VALUES ('MG', N'Máy giặt')
INSERT INTO LoaiHang (MaLoaiHang, TenLoaiHang) VALUES ('ML', N'Máy lạnh')
INSERT INTO LoaiHang (MaLoaiHang, TenLoaiHang) VALUES ('DT', N'Điện thoại')
INSERT INTO LoaiHang (MaLoaiHang, TenLoaiHang) VALUES ('MT', N'Máy tính')
INSERT INTO LoaiHang (MaLoaiHang, TenLoaiHang) VALUES ('NC', N'Nồi cơm')
INSERT INTO LoaiHang (MaLoaiHang, TenLoaiHang) VALUES ('LS', N'Lị vi sóng')
INSERT INTO LoaiHang (MaLoaiHang, TenLoaiHang) VALUES ('MN', N'Máy lọc nước')
INSERT INTO LoaiHang (MaLoaiHang, TenLoaiHang) VALUES ('ĐH', N'Đồng hồ')

1.2.4.2. Chèn bảng Mặt Hàng
INSERT INTO MatHang (MaMatHang, TenMatHang,
('TV16', N'Ti vi TCL 16 inch', 'TV', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang,
('TV32', N'Ti vi Sony 32 inch', 'TV', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang,
('TV42', N'Ti vi Samsung 42 inch', 'TV', N'Chiếc')

INSERT INTO MatHang (MaMatHang, TenMatHang,
('TV55', N'Ti vi Sony 55 inch', 'TV', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang,
('TV65', N'Ti vi Samsung 65 inch', 'TV', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang,
('TL15', N'Tủ lạnh Toshiba 150 lít', 'TL', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang,
('TL90', N'Tủ lạnh Panasonic 90 lít', 'TL', N'Chiếc')

MaLoaiHang, DonViTinh) VALUES
MaLoaiHang, DonViTinh) VALUES
MaLoaiHang, DonViTinh) VALUES
MaLoaiHang, DonViTinh) VALUES
MaLoaiHang, DonViTinh) VALUES
MaLoaiHang, DonViTinh) VALUES
MaLoaiHang, DonViTinh) VALUES
13


INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('TL30', N'Tủ lạnh Hitachi 300 lít', 'TL', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('TL25', N'Tủ lạnh LG 255 lít', 'TL', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('MG85', N'Máy giặt Samsung 8.5 kg', 'MG', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('MG80', N'Máy giặt Panasonic 8 kg', 'MG', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('MG95', N'Máy giặt Electrolux 9.5 kg', 'MG', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,

('MG90', N'Máy giặt Electrolux 9 kg', 'MG', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('ML10', N'Máy lạnh Panasonic 1 hp', 'ML', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('ML15', N'Máy lạnh LG 1.5 hp', 'ML', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('ML20', N'Máy lạnh Daikin 2 hp', 'ML', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('ML9E', N'Máy lạnh Gree 2 hp', 'ML', N'Chiếc')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('DTA3', N'Điện thoại Iphone 13 Pro Max 256GB', 'DT', N'Cái')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('DTS3', N'Điện thoại Samsung Galaxy Z Fold3 512GB', 'DT', N'Cái')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('DTX1', N'Điện thoại Xiaomi Mi 11 Ultra 512GB', 'DT', N'Cái')
INSERT INTO MatHang (MaMatHang, TenMatHang, MaLoaiHang,
('DTO3', N'Điện thoại Oppo Find X3 Pro 256GB', 'DT', N'Cái')

DonViTinh) VALUES
DonViTinh) VALUES
DonViTinh) VALUES
DonViTinh) VALUES
DonViTinh) VALUES
DonViTinh) VALUES
DonViTinh) VALUES
DonViTinh) VALUES
DonViTinh) VALUES
DonViTinh) VALUES
DonViTinh) VALUES
DonViTinh) VALUES

DonViTinh) VALUES
DonViTinh) VALUES

1.2.4.3. Chèn bảng Nhân Viên
INSERT INTO NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email)
VALUES ('NV01', N'Đỗ Văn Lợi', N'52 Triều Khúc, Thanh Xuân, Hà Nội',
'0388978968','2001-08-17','')
INSERT INTO NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email)
VALUES ('NV02', N'Trịnh Đức Minh', N'54 Triều Khúc, Thanh Xuân, Hà Nội',
'0123978968','2001-08-17','')
INSERT INTO NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email)
VALUES ('NV03', N'Vũ Tiến Toàn', N'56 Triều Khúc, Thanh Xuân, Hà Nội',
'0456978968','2001-01-01','')
INSERT INTO NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email)
VALUES ('NV04', N'Nguyễn Minh Đạt', N'48 Hổ Đá, Ba Chẽ', '0789978968','2001-0212','')
INSERT INTO NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email)
VALUES ('NV05', N'Hoàng Tiến Sáng', N'78 Lỗ Khai, Bình Phương', '0222978968','2001-0303','')
INSERT INTO NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email)
VALUES ('NV06', N'Lâm Thanh Mỹ', N'68 Lưu Thu, Vinh Huế', '0111978968','2002-0618','')
14


INSERT INTO NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email)
VALUES ('NV07', N'Đỗ Thu Hà', N'19 Hán Nô, Tây Nam', '0999789681','2002-0119','')
INSERT INTO NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email)
VALUES ('NV08', N'Nguyễn Minh Trang', N'99 Thái Bình Dương', '0888978968','2000-1128','')
INSERT INTO NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email)
VALUES ('NV09', N'Đỗ Linh Chi', N'86 Ấn Độ Dương', '0765978968','2003-0724','')
INSERT INTO NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email)
VALUES ('NV10', N'Bích Tú Phương', N'66 Biển Đơng Dương', '0951978968','2000-0216','')


1.2.4.4. Chèn bảng Khách Hàng
INSERT INTO KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) VALUES
('KH01', N'Nguyễn Thúy An', N'Xóm 3, xã Hoằng Quỳ, huyện Hoằng Hóa, tỉnh Thanh Hóa',
'', '0877013073')
INSERT INTO KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) VALUES
('KH02', N'Nguyễn Mai Anh', N'8, ngõ 15, đường Lý Nhân Tông, Quận Hai Bà Trưng, Hà
Nội', '', '0123013151')
INSERT INTO KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) VALUES
('KH03', N'Nguyễn Thùy Chi', N'8 Tràng An, Ninh Bình', '', '0456013921')
INSERT INTO KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) VALUES
('KH04', N'Nguyễn Ngọc Thanh Tâm', N'9 Tam Cốc Ninh Bình', '',
'0789013002')
INSERT INTO KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) VALUES
('KH05', N'Lê Bảo Trân', N'Thánh địa Mỹ Sơn, Quảng Nam', '',
'0222013876')
INSERT INTO KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) VALUES
('KH06', N'Lê Hoài Anh', N'Sapa, Lào Cai', '', '0333013227')
INSERT INTO KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) VALUES
('KH07', N'Phạm Mỹ Duyên', N'Hà Giang, Việt Nam', '', '0444013321')
INSERT INTO KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) VALUES
('KH08', N'Phạm Đức Duy', N'Thác Bản Giốc, Cao Bằng', '',
'0157013789')
INSERT INTO KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) VALUES
('KH09', N'Đặng Minh Khang', N'Mai Châu, Hòa Bình', '',
'0135701345')
INSERT INTO KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) VALUES
('KH10', N'Đỗ Quốc Bảo', N'Phong Nha Kẻ Bàng, Quảng Bình', '',
'0999013123')


1.2.4.5. Chèn bảng Nhà Cung Cấp
INSERT INTO NhaCungCap (MaNhaCungCap, TenNhaCungCap, DiaChi, DienThoai,
Email) VALUES ('NC1', N'Công ty sữa Việt Nam', N'Hà Nội', '0388975888',
'')
15


INSERT INTO NhaCungCap (MaNhaCungCap, TenNhaCungCap, DiaChi, DienThoai,
Email) VALUES ('NC2', N'Hãng hàng không Việt Nam', N'TP.HCM', '0123975555',
'')
INSERT INTO NhaCungCap (MaNhaCungCap, TenNhaCungCap, DiaChi, DienThoai,
Email) VALUES ('NC3', N'Công ty điện máy Hà Nội', N'Quảng Ninh', '0456975333',
'')
INSERT INTO NhaCungCap (MaNhaCungCap, TenNhaCungCap, DiaChi, DienThoai,
Email) VALUES ('NC4', N'Tổng công ty thực phẩm dinh dưỡng NUTRIFOOD', N'Đà Nẵng',
'0388975222', '')
INSERT INTO NhaCungCap (MaNhaCungCap, TenNhaCungCap, DiaChi, DienThoai,
Email) VALUES ('NC5', N'Cơng ty may mặc Việt Tiến', N'Hải Phịng', '0789975111',
'')
INSERT INTO NhaCungCap (MaNhaCungCap, TenNhaCungCap, DiaChi, DienThoai,
Email) VALUES ('NC6', N'Công ty VinFast', N'Hải Phòng', '0789975111',
'')

1.2.4.6. Chèn bảng Nhập
INSERT INTO Nhap (MaNhap, MaNhaCungCap,
('MN01', 'NC1', 'NV01', '2021-08-11 15:00:00')
INSERT INTO Nhap (MaNhap, MaNhaCungCap,
('MN02', 'NC2', 'NV03', '2021-07-10 10:26:00')
INSERT INTO Nhap (MaNhap, MaNhaCungCap,
('MN03', 'NC3', 'NV05', '2021-06-09 08:00:00')

INSERT INTO Nhap (MaNhap, MaNhaCungCap,
('MN04', 'NC4', 'NV08', '2021-05-15 16:11:00')
INSERT INTO Nhap (MaNhap, MaNhaCungCap,
('MN05', 'NC5', 'NV10', '2021-04-20 16:30:00')
INSERT INTO Nhap (MaNhap, MaNhaCungCap,
('MN06', 'NC1', 'NV02', '2021-02-11 15:00:00')
INSERT INTO Nhap (MaNhap, MaNhaCungCap,
('MN07', 'NC1', 'NV02', '2021-02-11 15:00:00')

MaNhanVien, NgayNhap) VALUES
MaNhanVien, NgayNhap) VALUES
MaNhanVien, NgayNhap) VALUES
MaNhanVien, NgayNhap) VALUES
MaNhanVien, NgayNhap) VALUES
MaNhanVien, NgayNhap) VALUES
MaNhanVien, NgayNhap) VALUES

1.2.4.7. Chèn bảng Chi Tiết Nhập
INSERT INTO ChiTietNhap (MaNhap,
('MN01', 'TV32', 2, 1600000)
INSERT INTO ChiTietNhap (MaNhap,
('MN01', 'TV65', 1, 21900000)
INSERT INTO ChiTietNhap (MaNhap,
('MN01', 'TV42', 1, 22900000)
INSERT INTO ChiTietNhap (MaNhap,
('MN02', 'TL15', 3, 1500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN02', 'TV32', 3, 1500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN02', 'TL25', 5, 1800000)

INSERT INTO ChiTietNhap (MaNhap,
('MN02', 'TL90', 5, 2800000)

MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
16


INSERT INTO ChiTietNhap (MaNhap,
('MN03', 'MG85', 4, 2500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN03', 'MG90', 6, 3500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN03', 'MG95', 6, 4500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN04', 'DTA3', 8, 15500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN04', 'DTS3', 7, 16500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN04', 'TV55', 7, 14500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN05', 'DTX1', 10, 8500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN05', 'DTO3', 11, 9500000)
INSERT INTO ChiTietNhap (MaNhap,

('MN05', 'ML9E', 11, 19500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN07', 'TL15', 1, 19500000)
INSERT INTO ChiTietNhap (MaNhap,
('MN07', 'ML9E', 1, 19500000)

MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES
MaMatHang, SoLuongNhap, DonGiaNhap) VALUES

1.2.4.8. Chèn bảng Xuất
INSERT INTO Xuat (MaXuat, MaKhachHang,
'KH01', 'NV01', '2021-09-12 16:00:00')
INSERT INTO Xuat (MaXuat, MaKhachHang,
'KH03', 'NV02', '2021-08-11 11:26:00')
INSERT INTO Xuat (MaXuat, MaKhachHang,
'KH06', 'NV04', '2021-07-10 09:00:00')
INSERT INTO Xuat (MaXuat, MaKhachHang,
'KH10', 'NV06', '2021-06-16 17:11:00')
INSERT INTO Xuat (MaXuat, MaKhachHang,
'KH09', 'NV08', '2021-05-21 17:30:00')
INSERT INTO Xuat (MaXuat, MaKhachHang,

'KH01', 'NV01', '2021-09-12 16:00:00')
INSERT INTO Xuat (MaXuat, MaKhachHang,
'KH04', 'NV02', '2021-08-11 11:26:00')
INSERT INTO Xuat (MaXuat, MaKhachHang,
'KH05', 'NV04', '2021-07-10 09:00:00')
INSERT INTO Xuat (MaXuat, MaKhachHang,
'KH08', 'NV06', '2021-06-16 17:11:00')
INSERT INTO Xuat (MaXuat, MaKhachHang,
'KH01', 'NV08', '2021-05-21 17:30:00')

MaNhanVien, NgayXuat) VALUES ('MX01',
MaNhanVien, NgayXuat) VALUES ('MX02',
MaNhanVien, NgayXuat) VALUES ('MX03',
MaNhanVien, NgayXuat) VALUES ('MX04',
MaNhanVien, NgayXuat) VALUES ('MX05',
MaNhanVien, NgayXuat) VALUES ('MX06',
MaNhanVien, NgayXuat) VALUES ('MX07',
MaNhanVien, NgayXuat) VALUES ('MX08',
MaNhanVien, NgayXuat) VALUES ('MX09',
MaNhanVien, NgayXuat) VALUES ('MX10',

1.2.4.9. Chèn bảng Chi Tiết Xuất
17


INSERT INTO ChiTietXuat (MaXuat,
('MX01', 'TV32', 2, 2600000)
INSERT INTO ChiTietXuat (MaXuat,
('MX01', 'TV65', 1, 31900000)
INSERT INTO ChiTietXuat (MaXuat,

('MX01', 'TV42', 1, 32900000)
INSERT INTO ChiTietXuat (MaXuat,
('MX02', 'TV32', 2, 2500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX02', 'TL15', 2, 2500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX02', 'TL25', 1, 2800000)
INSERT INTO ChiTietXuat (MaXuat,
('MX02', 'TL90', 2, 3800000)
INSERT INTO ChiTietXuat (MaXuat,
('MX03', 'MG85', 3, 3500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX03', 'MG90', 3, 4500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX03', 'MG95', 1, 5500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX04', 'DTA3', 2, 16500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX04', 'DTS3', 2, 17500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX04', 'TV55', 2, 15500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX05', 'DTX1', 1, 9500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX05', 'DTO3', 1, 10500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX05', 'ML9E', 1, 20500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX06', 'TV32', 2, 2600000)
INSERT INTO ChiTietXuat (MaXuat,

('MX06', 'TV65', 1, 31900000)
INSERT INTO ChiTietXuat (MaXuat,
('MX07', 'TV42', 1, 32900000)
INSERT INTO ChiTietXuat (MaXuat,
('MX10', 'TV32', 2, 2500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX08', 'TL15', 2, 2500000)
INSERT INTO ChiTietXuat (MaXuat,
('MX09', 'TL25', 1, 2800000)

MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES

MaMatHang, SoLuongXuat, DonGiaXuat) VALUES
MaMatHang, SoLuongXuat, DonGiaXuat) VALUES

1.2.5. Dữ liệu các bảng
1.2.5.1. Loại hàng
18


1.2.5.2. Mặt hàng

1.2.5.3. Nhân viên

1.2.5.4. Khách hàng
19


1.2.5.5. Nhà cung cấp

1.2.5.6. Nhập

1.2.5.7. Chi tiết nhập

1.2.5.8. Xuất

20


1.2.5.9. Chi tiết xuất

CHƯƠNG II. PHÂN MẢNH DỮ LIỆU

2.1. Phân mảnh ngang
2.1.1. Phân mảnh ngang nguyên thủy
Thực hiện phân mảnh ngang theo bảng mặt hàng (MatHang) thành 3 mảnh theo điều
kiện cột đơn vị tính (DonViTinh) với các mảnh tương ứng là MH1, MH2, MH3
MH1 = (MatHang)
MH2 = (MatHang)
MH3 = (MatHang)
Đồ thị phân mảnh:

21


2.1.2. Phân mảnh ngang dẫn xuất
Thực hiện phân mảnh ngang dẫn xuất bảng loại hàng (LoaiHang) thành 3 mảnh theo
quan hệ bảng mặt hàng (MatHang) ở trên thành các mảnh LH1, LH2, LH3
LH1 = MH1 LoaiHang
LH2 = MH2 LoaiHang
LH3 = MH3 LoaiHang
Đồ thị phân mảnh:

2.2. Phân mảnh dọc
Thực hiện phân mảnh dọc trong bảng nhân viên (NhanVien) thành 3 mảnh tương ứng
là NV1, NV2, NV3
NV1 = (NhanVien)
NV2 = (NhanVien)
NV3 = (NhanVien)
Đồ thị phân mảnh:

22



2.3. Phân mảnh hỗn hợp
Thực hiện phân mảnh hỗn hợp theo bảng xuất (Xuat) theo cột ngày xuất hàng
(NgayXuat) và các thuộc tính trong bảng thành các mảnh tương ứng Xuat1, Xuat2,
Xuat3, Xuat4
Xuat1 =
Xuat2 =
Xuat3 =
Xuat4 = (Xuat)
Đồ thị phân mảnh:

23


2.4. Ảnh vật lý quan hệ tổng thể

CHƯƠNG 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 ngang nguyên thủy
3.1.1. Truy vấn đoạn
MH1
select * into MH1
from MatHang
where DonViTinh = “Cái”
24


MH2
select * into MH1
from MatHang

where DonViTinh = “Chiếc”
MH3
select * into MH1
from MatHang
where DonViTinh = “Lon”

3.1.2. Truy vấn tái thiết
select * from MH1
union
select * from MH2
union
select * from MH3

3.1.3. Chứng minh tái thiết, tách biệt, đầy đủ
Đầy đủ
MH1 MatHang
MH2 MatHang
MH3 MatHang
Tách biệt
MH1 MH2 =
MH1 MH3 =
 MH1 MH2 MH3 =
MH2 MH3 =
Tái thiết
MH1 MH2 MH3 = MatHang

3.2. Truy vấn phân mảnh ngang dẫn xuất
3.2.1. Truy vấn đoạn
LH1
select * into LH1

from LoaiHang, MH1
where LoaiHang.MaLoaiHang = MH1.MaLoaiHang
LH2
select * into LH2
25


×