1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn môn học thiết kế cơ sở dữ liệu đề tài quản lý siêu thị

22 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống quản lý siêu thị mini
Tác giả Mai Duy Chinh, Chu Mạnh Quân, Nguyễn Minh Quý, Hoàng Minh Đức, Trần Đức An, Nguyễn Quang Huy
Người hướng dẫn Giảng viên hướng dẫn: Nguyễn Kim Sao
Trường học Trường Đại học Giao thông Vận tải
Chuyên ngành Công nghệ thông tin
Thể loại Bài tập lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 1,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

c Khách hàng của siêu thị chủ yếu là người tiêu dùng d Siêu thị có đa dạng các mặt hàng, sản phẩm.. f Các hoạt động chính của siêu thị gồm nhập hàng vào kho, bán hàng, báo cáo số lượng

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THÔNG VÂN TẢI KHOA CÔNG NGHỆ THÔNG TIN o0o

Bài tập lớn môn học Thiết Kế Cơ Sở Dữ Liệu

Giảng viên hướng dẫn: Nguyễn Kim Sao

Nhóm thực hiện: Nhóm 12

Lớp: CNTT2

Sinh viên thực hiện:

Trang 2

nói đầu

Công nghệ thông tin là một ngành đang phát triển rất mạnh trên đất nước ta hiện nay Việc ứng dụng công nghệ thông tin trong các lĩnh vực của đời sống còn nhiều hạn chế Để nâng cao tính ứng dụng của công nghệ thông tin trong lĩnh vực kinh doanh và dịch vụ, chúng em đã quyết định chọn đề tài “Xây dựng hệ thống quản lý siêu thị mini” Mục tiêu của bài tập này là phân tích, thiết kế để xây dựng được chương trình quản lý siêu thị với nhiều tính năng phục vụ cho việc quản lý bán các sản phẩm dễ dàng hơn Mục lục

I KHẢO SÁT

II PHÂN TÍCH THIẾT KẾ

1 Các kiểu thực thể liên kết

2 Mô hình thực thể liên kết

III XÂY DỰNG VÀ QUẢN TRỊ HỆ THỐNG CSDL TRÊN SQL SEVER

1 View

2 Trigger

3 Thủ tục

4 Hàm

5 Câu lệnh điều khiển dữ liệu

IV XÂY DỰNG CHƯƠNG TRÌNH KẾT NỐI

Trang 3

I KHẢO SÁT

1 Cơ sở thực tế bài toán quản lý siêu thị mini

a) Siêu thị là mô hình kinh doanh khá phổ biến.

b) Nguồn hàng chủ yếu do các nhà cung cấp, nhà sản xuất.

c) Khách hàng của siêu thị chủ yếu là người tiêu dùng

d) Siêu thị có đa dạng các mặt hàng, sản phẩm.

e) Vì vậy cần một hệ thống quản lý để giúp cho việc quản lý siêu thị được dễ dàng hơn.

f) Các hoạt động chính của siêu thị gồm nhập hàng vào kho, bán hàng, báo cáo

số lượng và doanh thu hàng bán.

2 Những nghiệp vụ chính yếu

- Nghiệp vụ quản lý bán hàng:

+ Xuất hiện: Có khách hàng đến mua hàng.

+ Cách thực hiện: Tính tiền cho khách, lập hóa đơn và cập nhật vào CSDL.

- Nghiệp vụ quản lý nhập hàng

+ Xuất hiện: Khi nhập hàng hóa từ nhà cung cấp.

+ Cách thực hiện: Lập phiếu nhập, lưu thông tin hàng hóa vào CSDL.

- Nghiệp vụ quản lý bảo hành:

+ Xuất hiện: Khi khách hàng mua sản phẩm có bảo hành từ siêu thị.

+ Cách thực hiện: Lập phiếu bảo hành sản phẩm và cập nhật CSDL.

- Nghiệp vụ thống kê tổng hợp:

+ Xuất hiện: Khi cần thống kê kinh doanh siêu thị.

+ Cách thực hiện: Tính tổng đơn giá nhập và bán sản phẩm và cập nhật CSDL.

3 Khảo sát chung

https://forms.gle/cAaqXZVEwKHz9C4e8

Trang 5

Tổng hợp khảo sát:

Trang 7

4 Khảo sát nhân viên

https://forms.gle/e8bJyEhpTUBXgXX47

Trang 8

Tổng hợp khảo sát:

Trang 10

5 Khảo sát khách hàng

https://forms.gle/cDRpMft6qUExT6va6

Trang 12

Tổng hợp khảo sát:

Trang 14

II PHÂN TÍCH THIẾT KẾ

1 Chức năng

2 Mô hình thực thể

Trang 15

3 Cách chuyển đổi

4 Chuyển đổi các kiểu thực thể, mối liên kết

Mô tả cấu trúc dữ liệu bảng:

Trang 16

select * from Cau1

Câu 2: Tạo view đưa ra khách hang mua trong ngày ………

create view Cau2 as

Select tKhachHang.* from tKhachHang join tHoaDonBan on tKhachHang.MaKH =tHoaDonBan.MaKH Where tHoaDonBan.NgayBan = N'2019-04-12T00:00:00.000'

select * from Cau2

Câu 3: Tạo view đưa ra hang hóa nhập trong tháng 4/2019 create view Cau3

select * from Cau4

Câu 5: Tạo view đưa ra khách hang có số hóa đơn lớn hơn 3 create view Cau5

Trang 17

select *from Cau5

Câu 6: Tạo view đưa ra nhân viên có số lượng xuất lớn hơn 2 create view Cau6

as

Select tNhanVien.MaNV, TenNV, DiaChi, DienThooai, count(MaPX) as SoLuongXuat from tNhanVien

join tPhieuXuat on tNhanVien.MaNV =tPhieuXuat.MaNV

group by tNhanVien.MaNV, TenNV, DiaChi, DienThooai having

Count(MaPX) > 2

select * from Cau6

Câu 7: tạo view danh sách hang hóa có cùng nhà cung cấp “Thoái Bảo” create view Cau7

as

Select tHangHoa.* from tHangHoa join tNhaCungCap on tHangHoa.MaNCC =tNhaCungCap.MaNCC Where tNhaCungCap.TenNCC = N'Thoái Bảo'

select * from Cau7

Câu 8: Tạo view đưa ra danh sách hàng hóa có cùng nhóm hàng "thực phẩm" create view Cau8

declare @makh nvarchar(20)

select @makh = deleted.MaKH from deleted delete

from tChiTietHDB

from tChiTietHDB join tHoaDonBan on tChiTietHDB.MaHDB = tHoaDonBan.MaHDB where

tHoaDonBan.MaKH = @makh

delete from tHoaDonBan

where tHoaDonBan.MaKH = @makh

đang lỗji

Câu 2: Thoêm trường đơn giá cho bảng Chi tiết HDB ,Viết trigger cho cập nhập tự động cho bảng này

alter table tchitietHDB add

Dongia int

go

create or alter trigger Cau2_trigger on tchitiethdb for insert,update as begin

declare @mahdb1 nvarchar(20),@mahdb2 nvarchar(20),@mah nvarchar(20),@mah2

nvarchar(20),@dongia1 int,@dongia2 int

select @mahdb1 = inserted.MaHDB,

@mah = inserted.MaHH from inserted

Trang 18

select @mahdb2 = deleted.MaHDB,

@mah2 = deleted.MaHH from deletedselect @dongia1 = tHangHoa.DonGiaBan from tHangHoa join inserted on inserted.MaHH

= tHangHoa.MaHH

where inserted.MaHDB = @mahdb1

select @dongia2 = tHangHoa.DonGiaBan from tHangHoa join deleted on deleted.MaHH = tHangHoa.MaHHwhere deleted.MaHDB = @mahdb2

update tChiTietHDB

set Dongia = isnull(Dongia,0)-isnull(@dongia2,0)+isnull(@dongia1,0) where

tChiTietHDB.MaHDB = isnull(@mahdb1,@mahdb2) and tChiTietHDB.MaHH =

isnull(@mah,@mah2)

create trigger Cau3_trigger on tchitiethdb for insert,update as begin

declare @mah nvarchar(20),@shdb nvarchar(20) select

@mah = inserted.MaHH,

@shdb = inserted.MaHDB from inserted

alter table thanghoa

add tinhtrang nvarchar(20)

create trigger Cau4_trigger on thanghoa for insert,update as begin

declare @mah nvarchar(20),@tt nvarchar(20) select

@mah = inserted.MaHH from inserted declare @sl int

select @sl = inserted.SoLuong from inserted if @sl > 100

set @tt = N'Nhiều'

else set @tt = N'Ixt' update

tHangHoa

set TinhTrang = @tt

Trang 19

where tHangHoa.MaHH = @mah

create or alter trigger Cau5_trigger on thanghoa for insert,update as begin

declare @mah nvarchar(20)

select @mah = inserted.MaHH from inserted

where tHangHoa.MaHH = @mah

insert into tHangHoa values(N'H15',N'Thoảm trải nhà quý tộc',N'NSX10','2019-08-11 00:00:00.000','2024-08-11

00:00:00.000',N'NH02',N'NCC05',380008000,486008000,300,NULL,N'Nhiều',NULL)

Câu 6: them trường thâm niên cho nhân viên,Viết trigger tự động tính năm thâm niên cho từng nhân viên Thoâm niên

= năm- ngày vào làm

alter table tnhanvien add

Câu 1: Tạo thủ tục đầu vào là ngày bán đầu ra số lượng hóa đơn bán dc trong ngày đó create procedure

Cau1_tt(@ngayban datetime, @slban int output)

as begin

select @slban = count(tChiTietHDB.MaHDB)

from tChiTietHDB join tHoaDonBan on tChiTietHDB.MaHDB = tHoaDonBan.MaHDB where

NgayBan = @ngayban

end

declare @slhdban int

exec Cau1_tt '2020-01-01', @slhdban output print

@slhdban

Câu 2: Tạo thủ tục đầu vào là mã hàng đầu ra là tên hàng hóa ,nhà sản xuất

create procedure Cau2_tt @mah nvarchar(20),@tenh nvarchar(20) output,@tnsx nvarchar(20) output as

begin

Trang 20

select @tenh = TenHH,

@tnsx = tNhaSanXuat.TenNSX from tHangHoa join tNhaSanXuat on tHangHoa.MaNSX =

tNhaSanXuat.MaNSX

where tHangHoa.MaHH = @mah

end

declare @tenh nvarchar(20),@tnsx nvarchar(20) exec

Cau2_tt'H02',@tenh output,@tnsx output print @tenh

print @tnsx

Câu 3: Tạo thủ tục đầu vào là mã nhân viên đầu ra là số lượng nhập của nhân viên đó create or alter procedure Cau3_tt(@manv nvarchar(20), @slnhap int output)

as begin

select @slnhap = count(tPhieuNhap.MaPN)

from tNhanVien join tPhieuNhap on tNhanVien.MaNV = tPhieuNhap.MaNV where

tNhanVien.MaNV = @manv

end

declare @slnhapvao nvarchar(20)

exec Cau3_tt N'NV06', @slnhapvao output print

@slnhapvao

Câu 4: Tạo thủ tục đầu vào là mã khách hàng,ngày bán, đầu ra là số hóa đơn của khách hàng đó

create procedure Cau4_tt @makh nvarchar(20),@ngayban datetime, @shd nvarchar(20) output as

begin

end

Câu 5: Tạo thủ tục đầu vào là Mã hàng hóa, mã phiếu nhập đầu ra là tên hàng hóa và ngày nhập

create or alter procedure Cau5_tt @mahh nvarchar(20),@maph nvarchar(20), @tenhh nvarchar(20)

output, @ngaynhap datetime output as

begin

select @tenhh = tHangHoa.TenHH, @ngaynhap =

tPhieuNhap.NgayNhap

from tHangHoa join tNhaCungCap on tHangHoa.MaNCC = tNhaCungCap.MaNCC join

tPhieuNhap on tNhaCungCap.MaNCC = tPhieuNhap.MaNCC

where tPhieuNhap.MaPN = @maph and tHangHoa.MaHH = @mahh end

declare @tenhh nvarchar(20),@ngaynhap datetime

exec Cau5_tt N'H01',N'PN01',@tenhh output,@ngaynhap output print N'Tên

hàng hóa: '+cast(@tenhh as nvarchar(20)) print N'Ngày nhập:

'+cast(@ngaynhap as nvarchar(20))

Câu 6: Tạo thủ tục đầu vào là Mã Hóa đơn đầu ra là tên khách hàng ,sdt khách hàng đó create procedure Cau6_tt

@mahd nvarchar(20), @tenkh nvarchar(20) output,@sdt nvarchar(20) output as

begin

end

select @tenkh =tKhachHang.TenKH,

@sdt = tKhachHang.DienThooaifrom tKhachHang join tHoaDonBan on tKhachHang.MaKH = tHoaDonBan.MaKH where tHoaDonBan.MaHDB = @mahd

Trang 21

declare @tenkh nvarchar(20),@sdt nvarchar(20) exec Cau6_tt

N'HDB01',@tenkh output,@sdt output

print N'Tên khách hàng: '+cast(@tenkh as nvarchar(20)) print N'SĐT: ' +

select tNhanVien.* from tNhanVien

where year(tNhanVien.NgayVaoLam) = @nam

)

select * from Cau1_h(2018)

Câu 2 Tạo hàm với đầu vào là số thâm niên (số năm làm việc) đầu ra là danh sách nhân viên có thâm niên đócreate function Cau2_h (@tl int) returns

table

as return(

select MaNV, MaCV, TenNV, GioiTinh, NgayVaoLam, DiaChi, DienThooai, DATEDIFF(Year,

NgayVaoLam, GetDate()) as ThoamLien from

tNhanVien

where DATEDIFF(Year, NgayVaoLam, GetDate()) = @tl

)

select * from Cau2_h('4')

Câu 3 Tạo hàm đầu vào là chức vụ đầu ra là những nhân viên cùng chức vụ đó create function Cau3_h (@tl nvarchar(20))

returns table as

return(

select MaNV, tNhanVien.MaCV, TenNV, GioiTinh, NgayVaoLam, DiaChi, DienThooai from

tNhanVien join tChucVu on tNhanVien.MaCV = tChucVu.MaCV

where TenCV = @tl

)

select * from Cau3_h(N'Nhân viên thu ngân')

Câu 4: Tạo hàm đầu vào là mã khách hàng đầu ra là số lượng hóa đơn của khách hàng đó create function Cau4_h(@tl nvarchar(20))

print dbo.Cau4_h('KH03')

Câu 5: tạo hàm đưa ra danh sách hàng hóa tồn kho quá 1 tháng (bán nhưng khỗng hết trong

1 tháng)

Câu 6: Tạo hàm đầu vào là mã nhóm hàng đầu ra là thỗng tin hàng hóa ,ngày sản xuất create or alter function Cau6_h(@tl nvarchar(20))

returns table

Trang 22

as return(

select TenHH, NSX, TenNH,tNhomHang.MaNH

from tHangHoa join tNhomHang on tHangHoa.MaNH = tNhomHang.MaNH Where tNhomHang.MaNH = @tl

)

select * from Cau6_h(N'NH04')

5 Câu lệnh điều khiển dữ liệu

NỐI Chương trình gồm các form

KẾT LUẬN

Tài liệu thao khảo

Ngày đăng: 15/12/2022, 23:14

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w