Ngoài ra, các nhân viên sẽ được một nhân viên khác quản lý trừ nhân viên có chức vụ cao nhất, do đó cũng cần thêm cột thông tin là mã người quảnlý.. Mỗi sản phẩm thuộc một trong bốn
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH (UEH)
TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ
TIỂU LUẬN THUYẾT TRÌNH ONLINE
CƠ SỞ DỮ LIỆU
ĐỀ TÀI: XÂY DỰNG MÔ HÌNH CƠ SỞ DỮ LIỆU QUẢN LÝ
MUA BÁN XE CỦA CỬA HÀNG HONDA
Sinh viên thứ 1 MSSV: 31211021362
Họ và tên: Hà Gia Hiến
Sinh viên thứ 2 MSSV: 31211027635
Họ và tên: Trần Hoàng Trung Đức
Giảng Viên: ThS Viên Thanh Nhã
TP Hồ Chí Minh, Ngày 11 tháng 11 năm 2022
Trang 2MỤC LỤC
MỤC LỤC 2
ĐỀ BÀI 3
LỜI GIẢI 4
BÀI 1 4
1 Phân Tích 4
2 Thuật Toán 4
BÀI 2 4
1 Phân Tích 4
2 Thuật Toán 4
BÀI 3 4
1 Phân Tích 4
2 Thuật Toán 4
BÀI 4 5
1 Phân Tích 5
2 Thuật Toán 5
BÀI 5 5
1 Phân Tích 5
2 Thuật Toán 5
BÀI 6 5
1 Phân Tích 5
2 Thuật Toán 5
ỨNG DỤNG 6
PHỤ LỤC 7
TÀI LIỆU THAM KHẢO 8
2
Trang 3LỜI NÓI ĐẦU
Dữ liệu – “dầu mỏ” của xã hội hiện đại Không có nó, nghĩa là danh tính, côngviệc, giải trí của chúng ta cũng ngừng tồn tại Theo tạp chí Forbes năm 2018, trungbình mỗi ngày loài người sản xuất ra 2.5 tỷ tỷ byte dữ liệu! Nhìn vào con số khổng lồnày thì không ai có thể phủ nhận rằng: dữ liệu đã trở thành một phần rất quan trọngtrong cuộc sống Cũng như dầu mỏ, người thấy được giá trị của dữ liệu và biết cáchchiết xuất, sử dụng chúng sẽ gặt hái được nhiều thành quả
Theo thời gian, tầm quan trọng của việc thu thập, đánh giá chất lượng và quản
lý dữ liệu đã thay đổi đáng kể Khái niệm về dữ liệu đang liên tục tiến triển và biếnđổi trong giới kinh doanh, bởi nó không chỉ đem đến những chiều sâu mới cho cácdoanh nghiệp nhưng còn khiến việc điều hành khó khăn hơn
Do đó, một hệ quản trị cơ sở dữ liệu là hết sức cần thiết cho doanh nghiệp trongviệc quản lý cơ sở dữ liệu và thu thập các thông tin hữu dụng Việc sử dụng và ápdụng một hệ thống dữ liệu sẽ giúp doanh nghiệp hoạt động suôn sẻ cũng như tiết kiệmchi phí
Sử dụng kiến thức đã học trong môn Cơ sở dữ liệu, chúng em xây dựng một
mô hình cơ sở dữ liệu, cụ thể là để quản lý việc mua bán xe máy trong cửa hàng
Honda Chương trình này được thực hiện trên SQL Server Management Studio
(SSMS) và biểu đồ được vẽ trên trang web app.diagrams.net.
Đặc biệt, chúng em xin cảm ơn thầy Viên Thanh Nhã đã hết sức nhiệt tình chỉdạy, hướng dẫn chúng em qua những buổi học hữu ích trên giảng đường
3
Trang 4Chương I – Khảo sát nghiệp vụ đề tài
Hệ thống bán xe máy bao gồm các chức năng sau:
1 Quản lý thông tin khách hàng
Lưu lại thông tin của tất cả khách hàng Thông tin này bao gồm: mã kháchhàng, họ và tên, email, số điện thoại
Thêm dữ liệu khi có khách hàng mới, có thể cập nhật hoặc xóa dữ liệu khicần thiết
2 Quản lý thông tin nhân viên
Lưu lại thông tin của tất cả nhân viên Thông tin này bao gồm: mã nhânviên, họ và tên, ngày sinh (có thể dùng để tính tuổi), giới tính, số điện thoại
Ngoài ra, các nhân viên sẽ được một nhân viên khác quản lý (trừ nhân viên
có chức vụ cao nhất), do đó cũng cần thêm cột thông tin là mã người quảnlý
Thêm dữ liệu khi có nhân viên mới, có thể cập nhật hoặc xóa dữ liệu khicần thiết
3 Quản lý sản phẩm
Lưu lại thông tin của tất cả sản phẩm Thông tin này bao gồm mã sản phẩm,
mã loại sản phẩm, tên, giá, số lượng tồn kho
Mỗi sản phẩm thuộc một trong bốn loại xe là xe số, xe tay ga, xe côn tay và
Cửa hàng dựa vào hóa đơn để quản lý các giao dịch
Lưu lại thông tin của tất cả hóa đơn Thông tin này bao gồm mã hóa đơn,
mã nhân viên (lập hóa đơn), mã khách hàng (thanh toán hóa đơn)
4
Trang 5 Hóa đơn sẽ có hai bảng trung gian để liên kết nó với sản phẩm và phụ tùng.Hai bảng này chính là chi tiết hóa đơn xe và chi tiết hóa đơn phụ tùng,chúng cũng sẽ lưu lại số lượng mua Việc sử dụng bảng trung gian cũng giảiquyết được trường hợp khách hàng mua sản phẩm nhưng không mua phụtùng và ngược lại.
Thêm dữ liệu khi có hóa đơn (giao dịch) mới, có thể cập nhật hoặc xóa dữliệu khi cần thiết
Chương II – Diễn tả các quy tắc mô tả, ràng buộc về bản số Xác định thuộc tính cho việc hình thành thực thể
1 Mô tả dữ liệu và quy trình hệ thống.
Mỗi nhân viên có một mã nhân viên khác nhau và cần lưu trữ các thông tin
cơ bản của mỗi nhân viên này với mẫu thông tin như: họ và tên, giới tính,ngày sinh, số điện thoại
Mỗi khách hàng có một mã khách hàng khác nhau và cần lưu trữ các thôngtin cơ bản của mỗi khách hàng này với mẫu thông tin như: họ và tên, sốđiện thoại, email
Mỗi sản phẩm có một mã sản phẩm khác nhau và cần lưu trữ các thông tin
cơ bản của mỗi sản phẩm này với mẫu thông tin như: tên sản phẩm, loại sảnphẩm, giá sản phẩm, số lượng tồn kho của sản phẩm
Mỗi phụ tùng có mã phụ tùng khác nhau và cần lưu trữ các thông tin cơ bảncủa mỗi phụ tùng: mã phụ tùng, tên phụ tùng, giá phụ tùng, số lượng tồnkho
Mỗi hóa đơn sẽ có mã hóa đơn khác nhau, lưu trữ thông tin: mã hóa đơn,
mã nhân viên xuất hóa đơn và mã khách hàng mua
2 Xác định thuộc tính cho việc hình thành thực thể
nhanvien(manv, hotennv, ngaysinh, gioitinh, sdtnv)
Trang 6 sanpham(masp, tensp, giasp, sl_tonkho).
Chương III – Thiết kế hệ thống
1 Diễn tả các mối quan hệ giữa các thực thể:
b Mối quan hệ n-n
sanpham – hoadon: 1 sản phẩm có thể có nhiều hóa đơn, 1 hóa đơn có thể cónhiều sản phẩm
Tạo bảng trung gian: cthoadon_xe
phutung – hoadon: 1 phụ tùng có thể có nhiều hóa đơn, 1 hóa đơn có thể cónhiều phụ tùng
6
Trang 7 Tạo bảng trung gian: cthoadon_pt
Sanpham – phutung: 1 sản phẩm có thể đi kèm với nhiều phụ tùng, 1 phụ tùng
có thể đi kèm với nhiều sản phẩm
Tạo bảng trung gian: sp_pt
2 Xây dựng mô hình thực thể kết hợp (ERD)
3 Chuyển hóa mô hình mức quan niệm sang mô hình quan hệ
Dựa vào lược đồ ER, ta có thể chuyển sang mô hình quan hệ với các quy tắc được quyđịnh chung
Quy tắc chuyển đổi từ mô hình ER sang mô hình quan hệ:
Đối với các thực thể yếu: Khóa của chủ( thực thể mạnh ) sẽ trở thành khóangoại
Đối với các mối quan hệ 1-1: Thuộc tính khóa bên này sẽ làm khóa ngoại bênkia hoặc ngược lại
Đối với các mối quan hệ 1-N: Thuộc tính khóa bên 1 làm khóa ngoại bênnhiều
Đối với các mối quan hệ N-N: Chuyển thành quan hệ mới với khóa chính gồm
2 thuộc tính khóa của quan hệ trở lên Thuộc tính mối kết hợp trở thành thuộctính của quan hệ mới nếu có
7
Trang 8Thực hiện chuyển đổi:
Chương IV – Xây dựng phép toán đại số quan hệ
Trang 9 Với mỗi phụ tùng, liệt kê số lượng đã bán:
B1: Tích Decac phutung và hoadon_pt
pt_hd(phutung hoadon_pt)B2: Chọn ra những bộ thỏa
(B3: Cộng số lượng theo từng phụ tùng
(kq)
9
Trang 10 Với mỗi nhân viên, liệt kê số hóa đơn đã xuất:
B1: Tích Decac nhanvien và hoadon
B8: Đổi tên cột soluong thành slpt
B9: Hiển thị thông tin: makh, hotenkh, sdtkh, mahd, slsp, slpt
Trang 11 Nối bằng (equi join) khi C là điều kiện so sánh bằng.
Nối tự nhiên (natural join)
phần tử thuộc r còn chiếu của t lên S là phần tử củaa s
Phép nối theta: Tìm các sản phẩm có giá lớn hơn sản phẩm có mã ‘SP002’B1: Tìm sản phẩm có mã ‘SP002’
(
B2: Nối theta sp002 và sanpham , điều kiện : sanpham.giasp > sp002.giasp
Phép nối bằng: Hiển thị thông tin sản phẩm(masp, tensp, tenloai, giasp)
B1: Tích Decac sanpham và loaisp
(sanpham loaisp)
B2: Chọn ra những bộ thỏa mãn
(
Phép nối tự nhiên: Hiển thị thông tin các sản phẩm và số lượng đã bán
B1: Tích Decac sanpham va chitiethoadon_xe
Tính KPI nhân viên:
B1: Tích Decac nhanvien và HoaDonBanHang
Trang 12 Đếm số lượng hoa đã bán
B1: Tích Decac Hoa và ChiTietDonHang
( Hoa ChiTietDonHang)B2: Chọn ra những bộ thỏa
(B3: Gom nhóm theo từng mã hoa, tên hoa, mô tả
Đếm số loại hoa của hoa Hồng
Đếm số lượng của hoa hồng
Lệnh sau tạo một cơ sở dữ liệu là QuanLiCuaHangHonda và chọn database này.
create database QuanLiCuaHangHonDa
go
use QuanLiCuaHangHonDa
go
2 Tạo các table
Các câu lệnh sau lần lượt tạo bảng nhanvien, khachhang, loaisp, sanpham, phutung,
sp_pt, hoadon, cthoadon_xe, cthoadon_pt
12
Downloaded by Heo Út (quangutbin@gmail.com)
Trang 13Mỗi bảng sẽ có một cột làm primary key (khóa chính) và có những cột khác với kiểu
dữ liệu khác nhau, đồng thời sử dụng constraint là foreign key (khóa ngoại) để liên kết
các bảng liên quan với nhau
create table nhanvien(
manv nchar ( ) not null primary key ,
create table khachhang(
makh nchar ( ) not null primary key ,
hotenkh nvarchar (50),
email varchar (50),
sdtkh char (10),
)
create table loaisp(
maloai nchar ( ) not null primary key ,
tenloai nvarchar (50),
)
create table sanpham(
masp nchar ( ) not null primary key ,
create table phutung(
mapt nchar ( ) not null primary key ,
primary key (mapt, masp),
foreign key (mapt) references phutung(mapt),
foreign key (masp) references sanpham(masp)
)
create table hoadon(
mahd nchar ( ) not null primary key ,
makh nchar ( ),
manv nchar ( ),
foreign key (makh) references khachhang(makh),
foreign key (manv) references nhanvien(manv)
Trang 14primary key (mahd, masp),
foreign key (masp) references sanpham(masp),
foreign key (mahd) references hoadon(mahd)
primary key (mahd, mapt),
foreign key (mapt) references phutung(mapt),
foreign key (mahd) references hoadon(mahd)
)
3 Thay đổi cấu trúc bảng
Các câu lệnh sau thay đổi cấu trúc bảng với việc thêm cột, thay đổi kiểu dữ liệu củacột và sau đó là xóa cột
Cụ thể, ta thêm cột quequan và diachi vào bảng nhanvien, thay đổi kiểu dữ liệu của cột gioitinh là nvarchar(5) thành nvarchar(10), cho phép nhập dữ liệu vào cột này tối
đa 10 kí tự thay vì 5 Cuối cùng, ta xóa cột quequan và diachi.
alter table nhanvien
add quequan nvarchar (50)
alter table khachhang
add diachi nvarchar (50)
alter table nhanvien
alter column gioitinh nvarchar (10)
alter table khachhang
alter column gioitinh nvarchar (10)
alter table khachhang
drop column diachi
alter table nhanvien
drop column quequan
Chương VI – Lệnh thao tác dữ liệu
1 Thêm dữ liệu
Các câu lệnh sau thêm giá trị (dữ liệu) cho những cột tương ứng của bảng
bảng nhanvien với cấu trúc là DD/MM/YYYY.
set dateformat DMY
insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV001' , N'Hán Quang Ð t' ạ , '0789230203' , '09/01/1999' , 'Nam' )
insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV002' , N'Võ Trung Vũ' , '0789899003' , '23/04/1997' , 'Nam' )
insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV003' , N'Lã Ph ươ ng Giang' , '0568160294' , '18/06/2000' , N'N ' ữ )
insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV004' , N'Phú Ðông D ươ ng' , '0392365498' , '05/09/1989' , 'Nam' )
insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV005' , N'Cai Qu c Huy' ố , '0917123909' , '21/08/1979' , 'Nam' )
insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV006' , N'Lê Thu Thu n' ậ , '0769072386' , '30/10/1992' , N'N ' ữ )
insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV007' , N'Võ Tu n Kh i' ấ ả , '0989843039' , '03/11/1995' , 'Nam' )
14
Downloaded by Heo Út (quangutbin@gmail.com)
Trang 15insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV008' , N'Dã Lan Anh' , '0707563991' , '29/05/1982' , N'N ' ữ )
insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV009' , N'T Vi t Duy' ừ ệ , '0712341009' , '23/04/1986' , 'Nam' )
insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV010' , N'Hà Đông Quân' , '0931325514' , '14/12/1990' , 'Nam' )
insert into nhanvien(manv,hotennv,sdtnv,ngaysinh,gioitinh)
values ( 'NV011' , N'Tô Phúc Th nh' ị , '0931321214' , '14/12/1990' , 'Nam' )
go
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH001' , N'Nguy n Vi n Đông' ễ ễ , 'nvd@gmail.com' , '0931325514' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH002' , N'Ph m Minh Chi n' ạ ếế , 'pmc@gmail.com' , '0931736423' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH003' , N'Hà Tu n Long' ấ , 'htl@gmail.com' , '0962856274' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH004' , N'Đ Ng c Qu ' ỗ ọ ế , 'dnq@gmail.com' , '0962385624' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH005' , N'Lê Thiên Nga' , 'ltn@gmail.com' , '0963557265' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH006' , N'Bùi Vy Linh' , 'bvl@gmail.com' , '0982657264' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH007' , N'H Vi t Ph ồ ệ ươ ng' , 'hvp@gmail.com' , '0938536689' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH008' , N'Ngô Tùng Anh' , 'nta@gmail.com' , '0937120563' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH009' , N'Châu Nguy t Minh' ệ , 'cnm@gmail.com' , '0936573657' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH010' , N'T ng Minh Huy n' ố ề , 'tmh@gmail.com' , '0935123298' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH011' , N'T ng Thanh Lam' ố , 'ttl@gmail.com' , '0935123237' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH012' , N'Nguy n Minh Nghi' ễ , 'nmn@gmail.com' , '0935863285' )
insert into khachhang(makh, hotenkh, email, sdtkh)
values ( 'KH013' , N'Hà Hoàng Tôn' , 'hht@gmail.com' , '0932423383' )
Trang 16insert into hoadon(mahd, makh, manv)
insert into loaisp(maloai, tenloai)
values ( 'TYPE1' , N'Xe S ' ố )
insert into loaisp(maloai, tenloai)
values ( 'TYPE2' , N'Xe Tay Ga' )
insert into loaisp(maloai, tenloai)
values ( 'TYPE3' , N'Xe Côn Tay' )
insert into loaisp(maloai, tenloai)
values ( 'TYPE4' , N'Xe Mô Tô' )
go
insert into sanpham(masp, maloai, tensp, giasp, sl_tonkho)
values ( 'SP001' , 'TYPE1' , 'Wave Alpha 110cc' , 17900, 40)
insert into sanpham(masp, maloai, tensp, giasp, sl_tonkho)
values ( 'SP002' , 'TYPE1' , 'Wave RSX FI 110' , 21700, 30)
insert into sanpham(masp, maloai, tensp, giasp, sl_tonkho)
values ( 'SP003' , 'TYPE2' , 'Vision 2021' , 30200, 45)
insert into sanpham(masp, maloai, tensp, giasp, sl_tonkho)
values ( 'SP004' , 'TYPE2' , 'Air Blade 125/160' , 41300, 60)
insert into sanpham(masp, maloai, tensp, giasp, sl_tonkho)
values ( 'SP005' , 'TYPE2' , 'SH350i' , 149000, 15)
insert into sanpham(masp, maloai, tensp, giasp, sl_tonkho)
values ( 'SP006' , 'TYPE3' , 'CBR150R' , 71300, 20)
insert into sanpham(masp, maloai, tensp, giasp, sl_tonkho)
values ( 'SP007' , 'TYPE4' , 'CB1000R 2021' , 510000, 5)
insert into sanpham(masp, maloai, tensp, giasp, sl_tonkho)
values ( 'SP008' , 'TYPE4' , 'Africa Twin 2021' , 590500, 2)
insert into sanpham(masp, maloai, tensp, giasp, sl_tonkho)
values ( 'SP009' , 'TYPE4' , 'Africa Twin 2018' , 490500, 5)
insert into sp_pt(mapt, masp) values ( 'PT001' , 'SP001' )
insert into sp_pt(mapt, masp) values ( 'PT001' , 'SP002' )
insert into sp_pt(mapt, masp) values ( 'PT001' , 'SP003' )
insert into sp_pt(mapt, masp) values ( 'PT001' , 'SP004' )
insert into sp_pt(mapt, masp) values ( 'PT001' , 'SP005' )
16
Downloaded by Heo Út (quangutbin@gmail.com)
Trang 17insert into sp_pt(mapt, masp) values ( 'PT002' , 'SP003' )
insert into sp_pt(mapt, masp) values ( 'PT002' , 'SP004' )
insert into sp_pt(mapt, masp) values ( 'PT002' , 'SP005' )
insert into sp_pt(mapt, masp) values ( 'PT002' , 'SP006' )
insert into sp_pt(mapt, masp) values ( 'PT003' , 'SP007' )
insert into sp_pt(mapt, masp) values ( 'PT003' , 'SP008' )
insert into sp_pt(mapt, masp) values ( 'PT004' , 'SP001' )
insert into sp_pt(mapt, masp) values ( 'PT004' , 'SP002' )
insert into sp_pt(mapt, masp) values ( 'PT005' , 'SP001' )
insert into sp_pt(mapt, masp) values ( 'PT005' , 'SP002' )
insert into sp_pt(mapt, masp) values ( 'PT005' , 'SP003' )
insert into sp_pt(mapt, masp) values ( 'PT005' , 'SP004' )
insert into sp_pt(mapt, masp) values ( 'PT005' , 'SP005' )
insert into sp_pt(mapt, masp) values ( 'PT005' , 'SP006' )
insert into sp_pt(mapt, masp) values ( 'PT005' , 'SP007' )
insert into sp_pt(mapt, masp) values ( 'PT005' , 'SP008' )
insert into sp_pt(mapt, masp) values ( 'PT006' , 'SP001' )
insert into sp_pt(mapt, masp) values ( 'PT006' , 'SP002' )
insert into sp_pt(mapt, masp) values ( 'PT006' , 'SP003' )
insert into sp_pt(mapt, masp) values ( 'PT006' , 'SP004' )
insert into sp_pt(mapt, masp) values ( 'PT006' , 'SP005' )
insert into sp_pt(mapt, masp) values ( 'PT006' , 'SP006' )
insert into sp_pt(mapt, masp) values ( 'PT006' , 'SP007' )
insert into sp_pt(mapt, masp) values ( 'PT006' , 'SP008' )
go
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD001' , 'SP001' , 3)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD002' , 'SP002' , 1)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD003' , 'SP003' , 2)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD004' , 'SP004' , 5)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD005' , 'SP005' , 1)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD006' , 'SP006' , 2)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD007' , 'SP007' , 1)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD008' , 'SP008' , 1)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD009' , 'SP001' , 4)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD010' , 'SP002' , 2)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD011' , 'SP003' , 10)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD012' , 'SP004' , 1)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD013' , 'SP002' , 3)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD017' , 'SP005' , 1)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD018' , 'SP006' , 2)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD019' , 'SP004' , 2)
insert into cthoadon_xe(mahd, masp, soluong) values ( 'HD019' , 'SP005' , 3)
go
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD003' , 'PT001' , 1)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD004' , 'PT001' , 5)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD004' , 'PT005' , 1)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD011' , 'PT002' , 1)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD012' , 'PT004' , 2)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD012' , 'PT005' , 2)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD013' , 'PT005' , 1)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD013' , 'PT006' , 1)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD014' , 'PT005' , 2)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD014' , 'PT003' , 5)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD015' , 'PT003' , 10)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD016' , 'PT005' , 5)
insert into cthoadon_pt(mahd, mapt, soluong) values ( 'HD020' , 'PT003' , 4)