Bài tập lớn Môn hệ quản trị cơ sở dữ liệu:cách để tạo 1 database, các thao tác trên 1 bảng(thêm, sửa xóa), liên kết giữa các bảng, truy vấn dữ liệu, Trigger, View, ProcedureTài liệu chi tiết, đầy đủ các kiến thức căn bản của học phần này
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
KHOA CÔNG NGHỆ THÔNG TIN
-********* -
BÁO CÁO HỌC PHẦN
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
ĐỀ TÀI: QUẢN LÝ CỬA HÀNG BÁN THỰC PHẨM SẠCH
GVHD: NGUYỄN THỊ KIM HUỆ
NHÓM 3:
1 BÙI THANH THƯ
2 NGUYỄN THỊ LAN CHINH
3 LÊ THỊ LÂM
4 NGUYỄN VŨ HOÀNG
5 VŨ THANH TÙNG
Hà Nội, 05/2019
Trang 2LỜI NÓI ĐẦU
Trên thế giới hiện nay, tin học là ngành phát triển không ngừng, thời kì công nghệ 4.0 cũng đòi hỏi thông tin phải nhanh chóng và chính xác hơn Đất nước ta đang có những chuyển biến tích cực trong mọi lĩnh vực như kinh tế, chính trị, khoa học- kỹ thuật Đảng và Nhà nước ta cũng rất coi trọng việc áp dụng Công nghệ thông tin vào tất cả các lĩnh vực của đời sống Trong đó, quản lý kinh tế là một môi trường khá hấp dẫn và có tín phổ biến hiện nay Quản lý bán hàng là một đề tài thực tế được áp dụng công nghệ thông tin trong tất cả các khâu và nếu thực hiện tốt sẽ mang lại hiệu quả cực lớn Chính vì vậy, nhóm em quyết định thực hiện đề tài:
“Quản lý cửa hàng bán thực phẩm sạch”
Trong quá trình thực hiện đề tài, chúng em đã cố gắng rất nhiều nhưng không thể tránh được những sai sót Vì vậy rất mong nhận được ý kiến góp ý từ phía thầy cô để chúng em hoàn thiện hơn nữa
Chúng em xin chân thành cám ơn!
Trang 3MỤC LỤC
I MÔ HÌNH CƠ SỞ DỮ LIỆU 1
1 Danh mục MẶT HÀNG (MATHANG) 1
2 Danh mục KHÁCH HÀNG (KHACHHANG) 1
3 Danh mục NHÂN VIÊN (NHANVIEN) 1
4 Danh mục NHÀ CUNG CẤP (NCC) 2
5 Danh mục LOẠI HÀNG (LAOIHANG) 2
6 Danh mục BỘ PHẬN (BOPHAN) 3
7 Danh mục HÓA ĐƠN BÁN HÀNG (HDBH) 3
8 Danh mục PHIẾU NHẬP KHO (PHIEUNHAPKHO) 3
9 Danh mục PHIẾU XUẤT KHO (PHIEUXUATKHO) 4
MÔ HÌNH LIÊN KẾT THỰC THỂ 5
II THIẾT LẬP CƠ SỞ DỮ LIỆU 6
III CHÈN DỮ LIỆU VÀO CÁC BẢNG 9
IV BÀI TẬP VIEW 15
V BÀI TẬP CÂU LỆNH TRUY VẤN 16
VI BÀI TẬP PROCEDURE 19
VII BÀI TẬP TRIGGER 22
Trang 4maloaihang Mã loại hàng nchar 20
manhacungcap Mã nhà cung cấp nchar 20
tensanpham Tên sản phẩm nchar 20 null
donvitinh Đơn vị tính nchar 20 null
ngaysanxuat Ngày sản xuất date
tenkhachhang Tên khách hàng nchar 20
sodienthoai Số điện thoại nchar 20 null
3 Danh mục NHÂN VIÊN (NHANVIEN)
liệu
Độ rộng Allow
nulls
Trang 52
manhanvien Mã nhân viên nchar 20
ngaysinh Ngày sinh date
manhacungcap Mã nhà cung cấp nchar 20
tennhacungcap Tên nhà cung cấp nchar 20
sodienthoai Số điện thoại nchar 20 null
5 Danh mục LOẠI HÀNG (LAOIHANG)
Trang 67 Danh mục HÓA ĐƠN BÁN HÀNG (HDBH)
liệu
Độ rộng Allow
nulls
sohoadon Số hóa đơn nchar 20
masanpham Mã sản phẩm nchar 20
manhanvien Mã nhân viên nchar 20
makhachhang Mã khách hàng nchar 20
8 Danh mục PHIẾU NHẬP KHO (PHIEUNHAPKHO)
liệu
Độ rộng Allow
nulls
sophieunhap Số phiếu nhập nchar 20
Trang 74
masanpham Mã sản phẩm nchar 20
manhanvien Mã nhân viên nchar 20
9 Danh mục PHIẾU XUẤT KHO (PHIEUXUATKHO)
liệu
Độ rộng Allow
nulls
sophieuxuat Số phiếu xuất nchar 20
masanpham Mã sản phẩm nchar 20
manhanvien Mã nhân viên nchar 20
Trang 85
MÔ HÌNH LIÊN KẾT THỰC THỂ
Trang 96
II THIẾT LẬP CƠ SỞ DỮ LIỆU
1 Tạo bảng NHANVIEN
create table nhanvien (
manhanvien nchar (20) not null
constraint pk_manhanvien
primary key(manhanvien),
hoten nchar (20) null,
ngaysinh date null,
ngaylamviec date null,
dienthoai nchar (20) null,
diachi nchar (30) null,
luongcoban money null,
mabophan nchar (20) not null
)
2 Tạo bảng KHACHHANG
create table khachhang ( makhachhang nchar (20) not null constraint pk_makhachhang primary key (makhachhang), tenkhachhang nchar (20) null, sodienthoai nchar (20) null, diachi nchar (30) null
)
3 Tạo bảng MATHANG
create table mathang ( masanpham char (20) not null constraint pk_masanpham primary key(masanpham), maloaihang nchar (20) not null, tensanpham nchar (20) null, manhacungcap nchar (20) not null, dongia money null,
donvitinh nchar (20) null, ngaysanxuat date null, hansudung date null )
4 Tạo bảng LOAIHANG
Trang 107
create table loaihang (
maloaihang nchar (20) not null constraint pk_maloaihang primary key(maloaihang), tenloaihang nchar (20) not null )
5 Tạo bảng BOPHAN
Create table bophan ( Mabophan nchar(20) not null constraint pk_mabophan primary key(mabophan), tenbophan nchar(20) null )
6 Tạo bảng NHACUNGCAP
create table nhacungcap ( manhacungcap nchar (20) not null constraint pk_manhacungcap primary key (manhacungcap), tennhacungcap nchar (20) null, diachi nchar (20) null,
dienthoai nchar (20) null )
7 Tạo bảng HOADONBANHANG
create table hoadonbanhang ( sohoadon nchar hoadon primary key(sohoadon), ngay date null,
masanpham nchar (20) not null, soluong nchar (20) null,
dongia money null, manhanvien nchar (20) not null, makhachhang nchar (20) not null )
8 Tạo bảng PHIEUNHAPKHO
create table phieunhapkho ( sophieunhap nchar (20) not null constraint pk_phieunhap
primary key(sophieunhap),
Trang 118
ngaynhap date null, masanpham nchar (20) not null, soluong nchar (20) null,
dongia money null, manhanvien nchar (20) not null )
9 Tạo bảng PHIEUXUATKHO
create table phieuxuatkho ( sophieuxuat nchar (20) not null constraint pk_phieuxuat
primary key(sophieuxuat), ngayxuat date null,
masanpham nchar (20) not null, soluong nchar (20) null,
dongia money null, manhanvien nchar (20) not null )
10 Tạo liên kết giữa các bảng
alter table mathang add constraint fk_mathang_nhacungcap foreign key(manhacungcap)
references nhacungcap(manhacungcap), constraint fk_mathang_loaihang
foreign key(maloaihang) references loaihang(maloaihang)
alter table nhanvien add
constraint fk_nhanvien_bophan foreign key(mabophan)
references bophan(mabophan)
alter table phieunhapkho add
constraint fk_phieunhap_nhanvien foreign key(manhanvien)
references nhanvien(manhanvien) alter table phieunhapkho
add constraint fk_phieunhap_mathang
Trang 129
foreign key(masanpham) references mathang(masanpham)
alter table phieuxuatkho add
constraint fk_phieuxuat_nhanvien foreign key(manhanvien)
references nhanvien(manhanvien), constraint fk_phieuxuat_mathang foreign key(masanpham)
references mathang(masanpham)
alter table hoadonbanhang add
constraint fk_hoadon_khachhang foreign key(makhachhang)
references khachhang(makhachhang), constraint fk_hoadon_nhanvien
foreign key(manhanvien) references nhanvien(manhanvien), constraint fk_hoadon_mathang foreign key(masanpham) references mathang(masanpham)
III CHÈN DỮ LIỆU VÀO CÁC BẢNG
Trang 1310
values ('T1', N'Thịt tươi sống') insert into loaihang (maloaihang, tenloaihang) values ('T2', N'Thực phẩm đông lạnh')
values ('CC2', N'IAE', N'Hà Nội','0987487018') insert into nhacungcap (manhacungcap, tennhacungcap, diachi, dienthoai)
values ('CC3', N'Hoàng Dương', N'Thái Nguyên', '0387400301') insert into nhacungcap (manhacungcap, tennhacungcap, diachi, dienthoai)
values ('CC4', N'Bác Tôm', N'Hà Nam','0398740293') insert into nhacungcap (manhacungcap, tennhacungcap, diachi, dienthoai)
values ('CC5', N'Kim An’, N'Hà Nội','0984022976') insert into nhacungcap (manhacungcap, tennhacungcap, diachi, dienthoai)
values ('CC6', N'An An Phát', N'Hải Dương','09774523115') insert into nhacungcap (manhacungcap, tennhacungcap, diachi, dienthoai)
values ('CC7', N'Bình Minh', N'Hưng Yên','0977071160') insert into nhacungcap (manhacungcap, tennhacungcap, diachi, dienthoai)
values ('CC8', N'Vĩnh Tường', N'Hà Nam','0967882301') insert into nhacungcap (manhacungcap, tennhacungcap, diachi, dienthoai)
values ('CC9', N'Hoàng Dương', N'Hưng Yên','0367017463') insert into nhacungcap (manhacungcap, tennhacungcap, diachi, dienthoai)
values ('CC10', N'Tân Đại Dương', N'Lào Cai','0987452301')
Trang 14values ('KH3', N'Nguyễn Thị Ánh', 0397540122, N'Hưng Yên')
insert into khachhang (makhachhang, tenkhachhang, sodienthoai, diachi)
values ('KH4', N'Nguyễn Thị Hạ', 0354012964, N'Hà Nội') insert into khachhang (makhachhang, tenkhachhang, sodienthoai, diachi)
values ('KH5', N'Nguyễn Đình Quang', 0368795402, Bắc Giang') insert into khachhang (makhachhang, tenkhachhang, sodienthoai, diachi)
values ('KH6', N'Đỗ Xuân Hòa', 0398551003, Bắc Giang') insert into khachhang (makhachhang, tenkhachhang, sodienthoai, diachi)
values ('KH7', N'Ngô Bình Dân', 0398741999, Hà Nội') insert into khachhang (makhachhang, tenkhachhang, sodienthoai, diachi)
values ('KH8', N'Nguyễn Thị Lan Chinh', 0367770099, N'Ninh Bình') insert into khachhang (makhachhang, tenkhachhang, sodienthoai, diachi)
values ('KH9', N'Nguyễn Thị Kim Oanh', 0345002211, N'Hải Phòng') insert into khachhang (makhachhang, tenkhachhang, sodienthoai, diachi)
values ('KH10', N'Cao Minh Tuấn', 0944556600, Hưng Yên')
5 Chèn bảng NHANVIEN
insert into nhanvien (manhanvien, hoten, ngaysinh, ngaylamviec, dienthoai, diachi, luongcoban, mabophan)
values ('NV1', N'Pạm Tuấn Anh', '1998/03/25', '2018/03/19', '0366554411', N'Yên Bái', 3000000,'bp2')
insert into nhanvien (manhanvien, hoten, ngaysinh, ngaylamviec, dienthoai, diachi, luongcoban, mabophan)
values ('NV2', N'Phạm Minh Ngọc', '1999/05/28', '2017/05/05', '0344444411', N'Ninh Bình', 3000000, 'bp2')
Trang 15values ('SP2','R1', N'Rau muống', 'CC5', 8000, 'kg', '2019/03/19', null)
Trang 1613
insert into mathang (masanpham, maloaihang, tensanpham, manhacungcap, dongia, donvitinh, ngaysanxuat, hansudung)
values ('SP3','C1', N'Cà rốt','CC10',15000,'kg','2019/03/15', null) insert into mathang (masanpham, maloaihang, tensanpham, manhacungcap, dongia, donvitinh, ngaysanxuat, hansudung)
values ('SP4','C1', N'Khoai tây', 'CC10', 17000, 'kg', '2019/03/10', null) insert into mathang (masanpham, maloaihang, tensanpham, manhacungcap, dongia, donvitinh, ngaysanxuat, hansudung)
values ('SP5','C1', N'Khoai lang', 'CC10', 21000, 'kg', '2019/03/10', null) insert into mathang (masanpham, maloaihang, tensanpham, manhacungcap, dongia, donvitinh, ngaysanxuat, hansudung)
values ('SP0', 'T1', N'Thịt ba chỉ heo', 'CC4', 100000, 'kg', '2019/03/19', '2019/03/24')
insert into mathang (masanpham, maloaihang, tensanpham, manhacungcap, dongia, donvitinh, ngaysanxuat, hansudung)
values ('SP6','T1', N'Thịt chân giò heo', 'CC4', 110000,' kg', '2019/03/19', '2019/03/24')
insert into mathang (masanpham, maloaihang, tensanpham, manhacungcap, dongia, donvitinh, ngaysanxuat, hansudung)
values ('SP7', 'T2', N'Cá thu đông lạnh', 'CC2', 180000, 'kg', '2019/03/10', '2019/03/20')
insert into mathang (masanpham, maloaihang, tensanpham, manhacungcap, dongia, donvitinh, ngaysanxuat, hansudung)
values ('SP8', 'K1', N'Lạc', 'CC3', 50000, 'kg', '2019/02/15', null) insert into mathang (masanpham, maloaihang, tensanpham, manhacungcap, dongia, donvitinh, ngaysanxuat, hansudung)
values ('SP9', 'K1', N'Gạo','CC6',175000,'kg','2019/01/25', null) insert into mathang (masanpham, maloaihang, tensanpham, manhacungcap, dongia, donvitinh, ngaysanxuat, hansudung)
values ('SP10', 'K1', N'Nấm hương', 'CC7', 155000, 'kg', '2019/01/09', null)
7 Chèn bảng PHIEUNHAPKHO
insert into phieunhapkho (sophieunhap, ngaynhap, masanpham, soluong, dongia, manhanvien)
values ('PN1','2019/01/08','SP1',50, 6000,'NV1') insert into phieunhapkho (sophieunhap, ngaynhap, masanpham, soluong, dongia, manhanvien)
values ('PN2','2019/03/01','SP5',50, 80000,'NV5') insert into phieunhapkho (sophieunhap, ngaynhap, masanpham,s oluong, dongia, manhanvien)
Trang 1714
values ('PN3','2019/01/02','SP3',40, 10000,'NV2') insert into phieunhapkho (sophieunhap, ngaynhap, masanpham, soluong, dongia, manhanvien)
values ('PN4','2019/01/13','SP2',30, 4000,'NV1') insert into phieunhapkho (sophieunhap, ngaynhap, masanpham, soluong, dongia, manhanvien)
values ('PN5','2019/01/24','SP4',50, 10000,'NV1') insert into phieunhapkho (sophieunhap, ngaynhap, masanpham, soluong, dongia, manhanvien)
values ('PX2','2019/02/13','SP3',10, 15000,'NV3') insert into phieuxuatkho (sophieuxuat, ngayxuat, masanpham, soluong, dongia, manhanvien)
values ('PX3','2019/02/09','SP1',50, 10000,'NV4') insert into phieuxuatkho (sophieuxuat, ngayxuat, masanpham, soluong, dongia, manhanvien)
values ('PX4','2019/02/11','SP5',50, 100000,'NV6') insert into phieuxuatkho (sophieuxuat, ngayxuat, masanpham, soluong, dongia, manhanvien)
values ('PX5','2019/01/15','SP10',20, 155000,'NV5') insert into phieuxuatkho (sophieuxuat, ngayxuat, masanpham, so luong, dongia, manhanvien)
values ('PX6','2019/01/06','SP2',10, 8000,'NV1') insert into phieuxuatkho (sophieuxuat, ngayxuat, masanpham, soluong, dongia, manhanvien)
values ('PX7','2019/03/03','SP7',50, 180000,'NV1')
9 Chèn bảng HOADONBANHANG
insert into hoadonbanhang (sohoadon, ngay, masanpham, soluong, dongia, manhanvien, makhachhang)
values ('HD1','2019/03/18','SP1',1,10000,'NV7','KH2')
Trang 1815
insert into hoadonbanhang (sohoadon, ngay, masanpham, soluong, dongia, manhanvien, makhachhang)
values ('HD2','2019/03/17','SP10',1,155000,'NV7','KH10') insert into hoadonbanhang (sohoadon, ngay, masanpham, soluong, dongia, manhanvien, makhachhang)
values ('HD3','2019/03/19','SP6',1,110000,'NV10','KH5') insert into hoadonbanhang (sohoadon, ngay, masanpham, soluong, dongia, manhanvien, makhachhang)
values ('HD4','2019/03/10','SP4',5,17000,'NV8','KH6') insert into hoadonbanhang (sohoadon, ngay, masanpham, soluong, dongia, manhanvien, makhachhang)
values ('HD5','2019/03/15','SP9',10,175000,'NV7','KH1') insert into hoadonbanhang (sohoadon, ngay, masanpham, soluong, dongia, manhanvien, makhachhang)
values ('HD7','2019/03/28','SP9','15',175000,'NV6','KH009')
IV BÀI TẬP VIEW
1 Tạo khung nhìn Danh sách nhân viên với các cột: manv, hoten, tuoi,
tenbophan
create view vw_dsnhanvien
as select manhanvien, hoten, DATEDIFF (YY, ngaysinh, getdate ()) as N'tuổi', tenbophan
from nhanvien, bophan where nhanvien.mabophan=bophan.mabophan
select * from ds_nhanvien
2 Tạo khung nhìn khách hàng với các cột: maKH, tenKH, mặt hàng đã
mua, số tiền phải trả
create view vw_khachhang
as select hoadonbanhang.makhachhang, tenkhachhang, tensanpham as N'mặt hàng đã mua', sum(hoadonbanhang.dongia*soluong) as N'Thanh Toán'
from khachhang, hoadonbanhang, mathang where khachhang.makhachhang= hoadonbanhang.makhachhang and hoadonbanhang.masanpham= mathang.masanpham
group by hoadonbanhang.makhachhang, tenkhachhang, tensanpham
select * from ds_khachhang
3 Tạo khung nhìn (gồm: sohoadon, masanpham, tensanpham, soluong)
thống kê các sản phẩm đã bán
create view vw_sanpham
Trang 1916
as select hoadonbanhang.masanpham, tensanpham, soluong from hoadonbanhang, mathang
where hoadonbanhang.masanpham= mathang.masanpham
select * from vw_sanpham_daban
4 Tạo view thống kê giá nhập và xuất của từng sản phẩm
alter view vw_gianhap_giaxuat
as select phieunhapkho.masanpham, tensanpham, phieunhapkho.dongia
as N'Giá mua vào', mathang.dongia as N'Giá bán ra' from phieunhapkho, mathang
where phieunhapkho.masanpham= mathang.masanpham
select * from vw_gianhap_giaxuat
5 Tạo view thống kê tên sản phẩm cùng nhà cung cấp tương ứng
create view vw_sanpham_nhacungcap
as select masanpham, tensanpham, mathang.manhacungcap, tennhacungcap
from nhacungcap, mathang where mathang.manhacungcap= nhacungcap.manhacungcap
select * from vw_sanpham_nhacungcap
V BÀI TẬP CÂU LỆNH TRUY VẤN
1 Tính tổng số tiền của các hóa đơn do nhân viên có mã là NV6 thực hiện
select hoadonbanhang.manhanvien as N'Mã nhân viên', hoten as N'Họ tên', sum (soluong *dongia) as N'Tổng tiền đã bán' from hoadonbanhang, nhanvien
where hoadonbanhang.manhanvien=nhanvien.manhanvien and hoadonbanhang.manhanvien='NV6'
group by hoadonbanhang.manhanvien, hoten
2 Cho biết mỗi loại hàng bao gồm những sản phẩm gì?