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

Tiểu luận giữa kỳ môn học cơ sở dữ liệu đề tài thiết kế cơ sở dữ liệu cho hệ thống thông tin công ty th

42 4 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 đề Thiết Kế Cơ Sở Dữ Liệu Cho Hệ Thống Thông Tin Công Ty TH
Tác giả Nhóm 3
Người hướng dẫn Bùi Xuân Huy
Trường học Cao đẳng sư phạm hòa khánh
Chuyên ngành Cơ sở dữ liệu
Thể loại tiểu luận
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 42
Dung lượng 536,86 KB

Nội dung

Nhà cung cấp có thông tin bao gồm: mã NCC, tên NCC, địa chỉ.Mỗi lần nhận hàng công ty TH sẽ lập một phiếu nhập kho, thông tin trên phiếu gồm có mã phiếu nhập, ngày nhập.. Mỗi nhà cung cấ

Trang 1

BÀI TIỂU LUẬN GIỮA KỲ

MÔN HỌC: CƠ SỞ DỮ LIỆU

ĐỀ TÀI: Thiết kế cơ sở dữ liệu cho hệ thống

thông tin công ty TH GIẢNG VIÊN: Bùi Xuân Huy

Mã lớp: 23C1INF50900610

Lớp: TK001 Nhóm 3

Trang 2

1 MÔ TẢ DỮ LIỆU VÀ QUY TRÌNH CỦA HỆ THỐNG

Cơ sở dữ liệu TH được dùng trong việc quản lý hoạt động kinh doanh của công

ty TH Quy trình hệ thống như sau:

Công ty TH nhập hàng hóa từ các nhà cung cấp Nhà cung cấp có thông tin bao gồm: mã NCC, tên NCC, địa chỉ

Mỗi lần nhận hàng công ty TH sẽ lập một phiếu nhập kho, thông tin trên phiếu gồm có mã phiếu nhập, ngày nhập Mỗi nhà cung cấp có thể cung cấp nhiều phiếu

nhập và mỗi phiếu nhập chỉ có thể được cung cấp từ một nhà cung cấp Mỗi lần

nhập kho có thể nhập nhiều sản phẩm

Thông tin về sản phẩm bao gồm: Mã SP, Tên, SL tồn kho, giá, mã loại, mã NCC

Sản phẩm được phân ra thành nhiều loại có thông tin gồm mã loại và tên loại

Mỗi sản phẩm chỉ thuộc một loại sản phẩm và mỗi loại sản phẩm có thể có nhiều

sản phẩm Vào các ngày lễ, công ty sẽ có các chương trình khuyến mại áp dụng lên

các sản phẩm gọi là sản phẩm giảm giá Sản phẩm giảm giá có các thông tin như

sau: mã giảm giá, mã sản phẩm, phần trăm được giảm, số lượng giảm, ngày bắt

đầu và ngày kết thúc Công ty có thể giảm giá cùng lúc nhiều loại sản phẩm

Mỗi lần khách hàng đặt hàng, công ty sẽ lập một đơn đặt hàng cho khách hàng

đó, trong đó có các thông tin: mã đơn hàng, mã khách hàng, mã giao, mã voucher,

ngày đặt, mã thanh toán

Mỗi đơn đặt hàng có thể đặt nhiều sản phẩm cho một lần đặt hàng

Mỗi đơn đặt hàng chỉ có thể áp dụng tối đa một voucher khi đặt hàng và một voucher có thể được áp dụng bởi nhiều đơn hàng Mỗi voucher đều có một mã

voucher riêng, giá trị giảm giá, hiệu lực: ngày bắt đầu, ngày kết thúc Voucher có

thể áp dụng cho tất cả các dòng sản phẩm khi còn hiệu lực

Ở mỗi lần đặt thì đơn đặt hàng sẽ được giao đủ một lần theo đúng: số lượng, mãsản phẩm trên đơn đặt hàng Ngoài ra, mỗi phiếu giao sẽ có một mã giao hàng và

ngày giao cụ thể

Với mỗi thanh toán chỉ có thể thanh toán duy nhất cho một khách hàng và một đơn đặt hàng, mỗi khách hàng có thể thực hiện nhiều thanh toán cho nhiều đơn đặt

hàng khác nhau Công ty sẽ lưu lại thông tin của lần thanh toán đó như sau: mã

thanh toán, hình thức, số tiền thanh toán, ngày thanh toán, mã khách hàng

Trang 3

Sau khi nhận được hàng đã đặt, mỗi khách hàng có thể thực hiện nhiều đánh giá, mỗi đánh giá chỉ được đánh giá cho một sản phẩm đã đặt Những thông tin về

đánh giá sản phẩm của khách hàng được công ty lưu lại như sau: mã đánh giá, mã

khách hàng, mã sản phẩm, đánh giá của khách hàng

2 MÔ HÌNH HOÁ DỮ LIỆU ERD

3 CHUYỂN ĐỔI TỪ ERD SANG RD

PHAN_LOAI (maloai, tenloai)

NHA_CUNG_CAP (mancc, tenncc, diachi)

SAN_PHAM (masp, ten, tonkho, gia, maloai)

Trang 4

GIAO_HANG (magh, ngaygiao, madh)

VOUCHER (mavoucher, giatrigiamgia, ngaybd, ngaykt, maloai)

THANH_TOAN (matt, hinhthuc, sotientt, ngaytt, makh, madh )

KHACH_HANG (makh, hovaten, gioitinh, email, ngaysinh, diachi, sdt)

CHI_TIET_NHAP (manhap, masp, soluong, gianhap)

CHI_TIET_DH (masp, madh, soluong)

CHI_TIET_GH (magh,madh,masp,soluong)

4 RÀNG BUỘC TOÀN VẸN VÀ CHUẨN HOÁ

1 Phần trăm giảm của sản phẩm giảm giá < 100%(phantramgiam <

(d.soluongdat <=e.slgiam) ∧ (e masp = d masp)

A

SỬA

Trang 5

3 Chỉ giảm các sản phẩm có mặt trong danh mục sản phẩm (masp = masp trong bảng sản phẩm)

4 Số lượng tồn kho phải bằng số lượng nhập + tồn kho trừ (số lượng được đặt trên phiếu đặt hàng và số lượng giao) (tonkho = tonkho + soluongnhap-soluongdat – soluonggiao)

d.tonkho= d.tonkho+e.soluongnhap – f.soluongdat – g.soluonggiao

Trang 6

+tonkho

CHI_TIET_NHA

P

5 Đối với ngày giao hàng, ngày giao hàng phải sau ngày đặt trước

đó (ngày giao không null, ngày giao > ngày đặt)

>= u.ngaydat) ∧ (u masp = v masp)

Trang 7

∀g ∈ SAN_PHAM, ∃f ∈ VOUCHER: f.maloai = g.maloai

If g.ngaybd <=c.ngaydat<=g.ngaykt c.mavoucher = g.mavoucher

Else c.mavoucher = null

DON_DH + madh +madh + madh

CHI_TIET_DH +ma_dh,masp +ma_dh +ma_dh,masp

+masp,maloai

+masp,maloai

7 Trị giá đơn đặt hàng bằng số lượng nhân với giá của sản phẩm( trị giadh = soluongdat nhân với gia SP)

c.trigiadh = e.soluong * f.gia

Trang 8

CHI_TIET_DH +madh,masp + madh,masp

8 Với mọi voucher, ngày bắt đầu phải luôn bé hơn ngày kết thúc (ngaybd < ngaykt)

Loại RBTV: liên thuộc tính (trên cùng 1 bộ)

(sotientt = soluongdat*gia – giatrigiamgia nếu có voucher)

∀v ∈ DON_HANG, ∃t ∈ VOUCHER: u.mavoucher =

Trang 9

+madh,mavoucher

10.Giới tính của khách hàng là nam hoặc nữ

 Loại RBTV: Ràng buộc miền giá trị

Trang 10

SAN_PHAM +masp +masp

12.Số lượng đặt phải nhỏ hơn hay bằng số lượng tồn kho của sản phẩm đó(

soluong < tonkho)

hê ̣

13.Số lượng giao hàng phải bằng số lượng đặt hàng của khách hàng (soluonggiao = soluongdat)

hê ̣

= c.soluongdat

Trang 11

+soluonggiao

+soluonggiaoPhụ thuộc hàm và chuẩn hóa

Quan hệ PHIEU_NHAP chỉ chứa các thuộc tính đơn, tất cả các thuộc tính không

khoá phụ thuộc hàm đầy đủ vào khoá chính (maPN) và không phụ thuộc bắc cầu

vào bất kỳ khoá nào

F : maPN ngaynhap, mancc

Vì vậy đạt chuẩn 3 NF

Quan hệ SAN_PHAM_GIAM_GIA chỉ chứa các thuộc tính đơn, tất cả các thuộc

tính không khoá phụ thuộc vào khoá chính (magiamgia) và không phụ thuộc bắc

cầu vào bất kỳ khoá nào

F : magiamgia phantramgiam, slgiam, masp

Vì vậy đạt chuẩn 3 NF

PHAN_LOAI (maloai, tenloai)

Quan hệ PHAN_LOAI chỉ chứa các thuộc tính đơn, tất cả các thuộc tính không

khoá phụ thuộc hàm đầy đủ vào khoá chính (maloai) và không phụ thuộc bắc cầu

vào bất kỳ khoá nào

F: maloai tenloai

Vì vậy đạt chuẩn 3 NF

Trang 12

NHA_CUNG_CAP (mancc, tenncc, diachi)

Quan hệ NHA_CUNG_CAP chỉ chứa các thuộc tính đơn, tất cả các thuộc tính

không khoá phụ thuộc hàm đầy đủ vào khoá chính (mancc) và không phụ thuộc

bắc cầu vào bất kỳ khoá nào

F: mancc tenncc,diachi

Vì vậy đạt chuẩn 3 NF

SAN_PHAM (masp, ten, tonkho, gia, maloai)

Quan hệ SAN_PHAM chỉ chứa các thuộc tính đơn, tất cả các thuộc tính không

khoá phụ thuộc hàm đầy đủ vào khoá chính (masp) và không phụ thuộc bắc cầu

vào bất kỳ khoá nào

F: masp ten, tonkho, gia, maloai

Vì vậy đạt chuẩn 3 NF

Quan hệ DANH_GIA_SAN_PHAM chỉ chứa các thuộc tính đơn, tất cả các thuộc

tính không khoá phụ thuộc hàm đầy đủ vào khoá chính (madanhgia) và không phụ

thuộc bắc cầu vào bất kỳ khoá nào

F madanhgia danhgia, masp, makh

Vì vậy đạt chuẩn 3 NF

Quan hệ GIAO_HANG chỉ chứa các thuộc tính đơn, tất cả các thuộc tính không

khoá phụ thuộc hàm đầy đủ vào khoá chính (magh) và không phụ thuộc bắc cầu

vào bất kỳ khoá nào

F: magh ngaygiao, madh

Vì vậy đạt chuẩn 3 NF

Trang 13

Quan hệ DON_HANG chỉ chứa các thuộc tính đơn, tất cả các thuộc tính không

khoá phụ thuộc hàm đầy đủ vào khoá chính (madh) và không phụ thuộc bắc cầu

vào bất kỳ khoá nào

F: madh ngaydat, trigiadh, mavoucher, makh

Vì vậy đạt chuẩn 3 NF

VOUCHER (mavoucher, tenvoucher, giatrigiamgia, ngaybd, ngaykt, maloai)

Quan hệ VOUCHER chỉ chứa các thuộc tính đơn, tất cả các thuộc tính không khoá

phụ thuộc hàm đầy đủ vào khoá chính (mavoucher) và không phụ thuộc bắc cầu

vào bất kỳ khoá nào

F : mavoucher tenvoucher, giatrigiamgia, ngaybd, ngaykt, maloai

Vì vậy đạt chuẩn 3 NF

THANH_TOAN (matt, hinhthuc, sotientt, ngaytt, makh, madh )

Quan hệ THANH_TOAN chỉ chứa các thuộc tính đơn, tất cả các thuộc tính không

khoá phụ thuộc hàm đầy đủ vào khoá chính (matt) và không phụ thuộc bắc cầu vào

bất kỳ khoá nào

F: matt hinhthuc, sotientt, ngaytt, makh, madh

Vì vậy đạt chuẩn 3 NF

KHACH_HANG (makh, hovaten, gioitinh, email, ngaysinh, diachi, sdt)

Quan hệ KHACH_HANG chỉ chứa các thuộc tính đơn, tất cả các thuộc tính

không khoá phụ thuộc hàm đầy đủ vào khoá chính (makh) và không phụ thuộc bắc

cầu vào bất kỳ khoá nào

F: makh hovaten,gioitinh, email, ngaysinh, diachi, sdt

Vì vậy đạt chuẩn 3 NF

Trang 14

CHI_TIET_NHAP (manhap, masp, soluong, gianhap)

Quan hệ CHI_TIET_NHAP chỉ chứa các thuộc tính đơn, tất cả các thuộc tính

không khoá phụ thuộc hàm đầy đủ vào khoá chính (manhap,masp) và không phụ

thuộc bắc cầu vào bất kỳ khoá nào

F manhap, masp soluong, gianhap

Vì vậy đạt chuẩn 3 NF

CHI_TIET_DH (masp, madh, soluong)

Quan hệ CHI_TIET_DH chỉ chứa các thuộc tính đơn, tất cả các thuộc tính không

khoá phụ thuộc hàm đầy đủ vào khoá chính (masp, madh) và không phụ thuộc bắc

cầu vào bất kỳ khoá nào

F : masp, madh soluong

Vì vậy đạt chuẩn 3 NF

CHI_TIET_GH (magh,madh,masp,soluong)

Quan hệ CHI_TIET_GH chỉ chứa các thuộc tính đơn, tất cả các thuộc tính không

khoá phụ thuộc vào hàm đầy đủ khoá chính (magh, madh, masp) và không phụ

thuộc bắc cầu vào bất kỳ khoá nào

Trang 18

constraint CK_tri_gia_dh check (tri_gia_dh >= 0),

ma_voucher nvarchar(10) null

constraint FK_ma_voucher_DDH foreign key references Voucher(ma_voucher),

ma_kh nvarchar(10)

constraint FK_ma_kh_DDH foreign key references Khach_hang(ma_kh)

)

Trang 20

create table Chi_tiet_nhap (

ma_nhap nvarchar(10)

constraint FK_ma_pn_CTPN foreign key references Phieu_nhap(ma_pn),

ma_sp nvarchar(10)

constraint FK_ma_sp_CTPN foreign key references San_pham(ma_sp)

constraint PK_ma_nhap_sp primary key (ma_nhap,ma_sp),

constraint FK_ma_dh_CTDH foreign key references Don_DH(ma_dh)

constraint PK_ma_dh_sp primary key (ma_sp,ma_dh),

Trang 21

constraint FK_ma_sp_CTGH foreign key references San_pham(ma_sp)

constraint PK_ma_dh_gh_sp primary key (ma_gh,ma_dh,ma_sp),

Trang 22

Insert into Phan_loai values('AO02',N'áo')

Insert into Phan_loai values('PK03',N'phụ kiện')

Insert into San_pham values('TH01',N'thắt lưng',100,430,'PK03')

Insert into San_pham values('TH02',N'quần jeans',200,450,'QU01')

Insert into San_pham values('TH03',N'túi xách',300,510,'PK03')

Insert into San_pham values('TH04',N'ví',110,415,'PK03')

Insert into San_pham values('TH05',N'áo hoodie',500,515,'AO02')

Insert into San_pham values('TH06',N'áo polo',190,530,'AO02')

Insert into San_pham values('TH07',N'áo vest',660,550,'AO02')

Insert into San_pham values('TH08',N'giày',800,600,'PK03')

Insert into San_pham values('TH09',N'nón',850,420,'PK03')

Insert into San_pham values('TH10',N'tất',900,300,'PK03')

Insert into SP_giam_gia values ('C01',0.02,100,'2023-06-02

Trang 23

Insert into SP_giam_gia values ('C07',0.14,200,'2023-10-02

Insert into Phieu_nhap values ('A01','2023-01-10 15:30:00','B01')

Insert into Phieu_nhap values ('A02','2023-01-10 15:30:00','B02')

Insert into Phieu_nhap values ('A03','2023-01-10 15:30:00','B03')

Insert into Phieu_nhap values ('A04','2023-03-01 08:30:00','B01')

Insert into Phieu_nhap values ('A05','2023-03-25 09:10:00','B01')

Insert into Phieu_nhap values ('A06','2023-04-08 14:30:00','B02')

Insert into Phieu_nhap values ('A07','2023-04-15 16:00:00','B03')

Insert into Phieu_nhap values ('A08','2023-08-12 10:30:00','B01')

Insert into Phieu_nhap values ('A09','2023-10-10 11:30:00','B02')

Insert into Phieu_nhap values ('A10','2023-10-10 06:30:00','B03')

Insert into Khach_hang values ('K48',N'Hồ Quốc

Trang 24

Insert into Khach_hang values ('K51',N'Hồ Xuân

Insert into Danh_gia_sp values ('Z01',4,'TH01','K48')

Insert into Danh_gia_sp values ('Z02',3,'TH02','K48')

Insert into Danh_gia_sp values ('Z03',2,'TH03','K49')

Insert into Danh_gia_sp values ('Z04',5,'TH04','K50')

Insert into Danh_gia_sp values ('Z05',3,'TH05','K56')

Insert into Danh_gia_sp values ('Z06',2,'TH06','K50')

Insert into Danh_gia_sp values ('Z07',4,'TH07','K57')

Insert into Danh_gia_sp values ('Z08',5,'TH08','K52')

Insert into Danh_gia_sp values ('Z09',5,'TH09','K53')

Insert into Danh_gia_sp values ('Z10',3,'TH10','K53')

Trang 25

Insert into Voucher values ('TK01',N'Khuyến mãi 10/10',0.05,'2023-10-02

Insert into Don_DH values ('H01','2023-06-02 12:00:00',23825.8,null,'K48')

Insert into Don_DH values ('H02','2023-10-09 12:00:00',9418.5,'TK02','K49')

Insert into Don_DH values ('H03','2023-10-15 12:00:00',19176,null,'K50')

Insert into Don_DH values ('H04','2023-10-17 12:00:00',5727,null,'K51')

Insert into Don_DH values ('H05','2023-10-05 12:00:00',10127.475,'TK01','K52')

Insert into Don_DH values ('H06','2023-10-06 12:00:00',5316.96,'TK01','K53')

Insert into Don_DH values ('H07','2023-10-07 12:00:00',12581.8,'TK01','K54')

Insert into Don_DH values ('H08','2023-10-08 12:00:00',12852,'TK03','K55')

Insert into Don_DH values ('H09','2023-10-09 12:00:00',2499,'TK03','K56')

Insert into Don_DH values ('H10','2023-10-10 12:00:00',1275,'TK03','K57')

Insert into Thanh_toan values ('TT01',N'Trả trước',23825.8,'2023-06-02

Trang 26

Insert into Thanh_toan values ('TT05',N'Trả trước',10127.475,'2023-10-05

Insert into Giao_hang values ('T01','2023-06-03 12:00:00','H01')

Insert into Giao_hang values ('T02','2023-10-11 12:00:00','H02')

Insert into Giao_hang values ('T03','2023-10-16 12:00:00','H03')

Insert into Giao_hang values ('T04','2023-10-17 12:00:00','H04')

Insert into Giao_hang values ('T05','2023-10-07 12:00:00','H05')

Insert into Giao_hang values ('T06','2023-10-07 12:00:00','H06')

Insert into Giao_hang values ('T07','2023-10-08 12:00:00','H07')

Insert into Giao_hang values ('T08','2023-10-10 12:00:00','H08')

Insert into Giao_hang values ('T09','2023-10-10 12:00:00','H09')

Insert into Giao_hang values ('T10','2023-10-11 12:00:00','H10')

Insert into Chi_tiet_nhap values ('A01','TH01',2000,230)

Insert into Chi_tiet_nhap values ('A02','TH02',2000,190)

Trang 27

Insert into Chi_tiet_nhap values ('A03','TH03',2000,300)

Insert into Chi_tiet_nhap values ('A04','TH04',2000,260)

Insert into Chi_tiet_nhap values ('A05','TH05',2000,310)

Insert into Chi_tiet_nhap values ('A06','TH06',2000,170)

Insert into Chi_tiet_nhap values ('A07','TH07',2000,210)

Insert into Chi_tiet_nhap values ('A08','TH08',2000,410)

Insert into Chi_tiet_nhap values ('A09','TH09',2000,300)

Insert into Chi_tiet_nhap values ('A10','TH10',2000,200)

Insert into Chi_tiet_dh values ('TH01','H01',27)

Insert into Chi_tiet_dh values ('TH02','H01',20)

Insert into Chi_tiet_dh values ('TH04','H01',10)

Insert into Chi_tiet_dh values ('TH02','H02',10)

Insert into Chi_tiet_dh values ('TH05','H02',11)

Insert into Chi_tiet_dh values ('TH03','H03',40)

Insert into Chi_tiet_dh values ('TH04','H04',15)

Insert into Chi_tiet_dh values ('TH05','H05',23)

Insert into Chi_tiet_dh values ('TH06','H06',12)

Insert into Chi_tiet_dh values ('TH07','H07',28)

Insert into Chi_tiet_dh values ('TH08','H08',30)

Insert into Chi_tiet_dh values ('TH09','H09',7)

Insert into Chi_tiet_dh values ('TH10','H10',5)

Trang 28

Insert into Chi_tiet_gh values ('T01','H01','TH01',27)

Insert into Chi_tiet_gh values ('T01','H01','TH02',20)

Insert into Chi_tiet_gh values ('T01','H01','TH04',10)

Insert into Chi_tiet_gh values ('T02','H02','TH02',10)

Insert into Chi_tiet_gh values ('T02','H02','TH05',11)

Insert into Chi_tiet_gh values ('T03','H03','TH03',40)

Insert into Chi_tiet_gh values ('T04','H04','TH04',15)

Insert into Chi_tiet_gh values ('T05','H05','TH05',23)

Insert into Chi_tiet_gh values ('T06','H06','TH06',12)

Insert into Chi_tiet_gh values ('T07','H07','TH07',28)

Insert into Chi_tiet_gh values ('T08','H08','TH08',30)

Insert into Chi_tiet_gh values ('T09','H09','TH09',7)

Insert into Chi_tiet_gh values ('T10','H10','TH10',5)

SCRIPT TẠO RÀNG BUỘC

/* cập nhật hàng trong kho sau khi đặt hàng hoặc cập nhật */

create TRIGGER TRG_Cap_nhat_ton_kho_DH ON Chi_tiet_dh AFTER INSERT

AS

BEGIN

UPDATE San_phamSET ton_kho = ton_kho - (

SELECT so_luongFROM inserted iWHERE i.ma_sp = San_pham.ma_sp

Ngày đăng: 23/02/2024, 23:07

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w