Mã này không được để trống hoặc trùng nhauTên của nhà cung cấp Địa chỉ của nhà cung cấp Số phiếu nhập dùng để định danh phiếu nhập Ngày nhập hàngGiá trị của phiếu nhập Số lượng hàng hóa
Trang 11
TRƯỜNG ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH
CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN
Môn học: Cơ sở dữ liệu
Đề tài: Hệ thống quản lý dữ liệu cho một shop online bán đồ
Trang 2ụ ụ
I) LỜI MỞ ĐẦU 3
II) QUY TRÌNH CỦA HỆ THỐNG: 3
III) MÔ HÌNH THỰC THỂ KẾT HỢP ERD: 4
Mô tả dữ liệu 4
Mô hình thực thể kết hợp ERD 6
IV) MÔ HÌNH QUAN HỆ: 6
V) RÀNG BUỘC TOÀN VẸN VÀ CHUẨN HÓA CƠ SỞ DỮ LIỆU: 8
1) Ràng buộc toàn vẹn: 8
1.1) Ràng buộc toàn vẹn liên thuộc tính trên nhiều quan hệ: 8
1.2) Ràng buộc toàn vẹn về miền giá trị: 10
1.3) Ràng buộc toàn vẹn về liên thuộc tính trên cùng một quan hệ: 13
1.4) Ràng buộc toàn vẹn giữa những bộ của các quan hệ: 13
1.5) Ràng buộc toàn vẹn liên bộ trên cùng một quan hệ: 15
Chuẩn hóa cơ sở dữ liệu: 20
VI) VIỆC THỰC HIỆN HÓA TRÊN SQL: 21
Các bảng trong cơ sở dữ liệu: 21
VII) LỜI KẾT 26
Trang 33
I) LỜI MỞ ĐẦU
Hiện nay, khi xã hội ngày càng phát triển, nhu cầu về đời sống thể chất cũng như tinh thần ngày càng được nâng cao Con người bắt đầu tận hưởng cuộc sống bằng nhiều cách khác nhau, trong đó việc nuôi thú cưng trở thành một điều phổ biến bởi chúng giúp cho người nuôi như có thêm một người bạn mới để đồng hành, để chia sẻ Ngành công nghiệp thú cưng cũng từng bước đi lên bởi không chỉ là những con vật trông giữ nhà cửa mà chúng dần trở thành một vật nuôi được yêu thích tại nhiều quốc gia khác trên thế giới
Hiểu rõ mong muốn của người nuôi về nhu cầu chăm sóc cho thú cưng của
-nhóm chúng em đã lên ý tưởng thiết kế cơ sở dữ liệu hệ thống chuyên bán đồ dùng cho những chú mèo nhằm khắc phục khó khăn trong việc tiết kiệm chi phí, tăng khả năng tiếp cận, cũng như độ tin cậy, chính xác trong quá trình quản lý
II) QUY TRÌNH CỦA HỆ THỐNG:
Mỗi ngày, trang web nhận đượ ực s truy c p c a m t s ậ ủ ộ ố lượng khách hàng Khách hàng s l a ch n s n ph m yêu thích và thêm chúng vào gi hàng H ẽ ự ọ ả ẩ ỏ ệthống sẽ kiểm tra s ố lượng t n kho, nồ ếu còn đủ số lượng mua hàng, h ệ thống s ẽ
và cung c p các thông tin c n thiấ ầ ết như tên, địa chỉ, email, s ố điện tho i H ạ ệthống sẽ t độự ng t o cho m i khách hàng m t mã khách hàng riêng và g i v ạ ỗ ộ ử ềemail cho h Trong nh ng l n mua ti p theo, khách hàng ch cọ ữ ầ ế ỉ ần nh p mã ậ
cung cấp trong đơn hàng trước
Quy trình xử lý đơn hàng và chi tiết đơn hàng:
Hệ thống cập nhật số lượng sản phẩm tồn kho cho những đơn hàng sau để hiển thị số lượng sản phẩm còn sẵn Khách hàng sẽ nhận được email xác nhận đơn hàng với những hàng hoá đã chọn mua, mã đơn hàng, ngày đặt hàng và ngày dự kiến giao hàng Thông tin đơn hàng được lưu trữ trong cơ sở dữ liệu
Quy trình quản lý hoá đơn và chi tiết hoá đơn:
Hoá đơn sẽ được cập nhật sau khi đã lập đơn hàng thành công rồi gửi về email cho khách hàng và mỗi hoá đơn sẽ thuộc về một khách hàng Mỗi hoá đơn sẽ bao gồm số hoá đơn, ngày lập, ngày xuất hoá đơn và một chi tiết hoá đơn Mỗi chi tiết hoá đơn sẽ bao gồm số lượng hàng hóa đã mua và trị giá hoá đơn Hoá đơn bản cứng sẽ được đính kèm trên kiện hàng khi giao cho khách và hệ thống
sẽ lưu trữ thông tin hoá đơn trong cơ sở dữ liệu
Quy trình quản lý kho và hàng tồn kho:
Trang 4Quy trình quản lý các nhà cung cấp:
Mỗi hàng hoá sẽ được cung cấp bởi nhiều nhà cung cấp và mỗi nhà cung cấp có thể cung cấp nhiều loại hàng hoá Nhà cung cấp sẽ có mã nhà cung cấp, tên nhà cung cấp và địa chỉ nhà cung cấp Khi các nhà cung cấp gửi hàng mới nhập vào kho, nhà cung cấp sẽ đính kèm một phiếu nhập để hệ thống cập nhật những hàng hoá nào đã được phân phối từ nhà cung cấp
Quy trình quản lý phiếu nhập và chi tiết phiếu nhập:
Mỗi đợt nhập hàng mới, hệ thống sẽ lưu trữ các phiếu nhập hàng Phiếu nhập sẽ cung cấp các thông tin như mã phiếu nhập, số lượng hàng hoá, ngày nhập và trị giá của phiếu nhập để quản lý Phiếu nhập sẽ giúp hệ thống quản lý được bao nhiêu hàng hoá đã được nhập vào ngày hôm đó Từ đó cập nhật số lượng hàng cho kho để tiếp tục bán hàng
Quy trình quản lý khách hàng:
Thông tin cá nhân của khách hàng được cập nhật khi khách hàng xác nhận đơn hàng và bảo đảm được lưu trữ an toàn, không công khai Hệ thống sẽ theo dõi
sở thích mua sắm của khách hàng, lịch sử mua hàng để phân tích và đưa ra các
đề xuất được cá nhân hóa
III) MÔ HÌNH THỰC THỂ KẾT HỢP ERD:
ô ả dữ liệu
Mã hàng hóa dùng để xác định các hàng hóa Mã hàng hóa không được để trống hoặc bị trùng nhau
Đơn vị tính cho hàng hóa(kg, cái, )
your phone? Save
to read later on your computer
Save to a Studylist
Trang 55
Tên của hàng hóa Giá bán của hàng hóa
Mã nhà cung cấp ùng để xác định các hàng hóa Mã này không được để trống hoặc trùng nhauTên của nhà cung cấp Địa chỉ của nhà cung cấp
Số phiếu nhập dùng
để định danh phiếu nhập
Ngày nhập hàngGiá trị của phiếu nhập
Số lượng hàng hóa trong phiếu nhập
Mã kho dùng để định
Số lượng xuất
Số lượng nhập kho
Kỳ khai thácTồn đầu kỳ của hàng hóa
Số hóa đơn dùng để định danh hóa đơnNgày xuất hóa đơnTrị giá của hóa đơnNgày lập hóa đơn
Số đơn hàng dùng để định danh đơn hàngNgày thành lập đơn hàng
Ngày giao hàng đăng ký
Dùng để định danh khách hàngTên của khách hàng
Trang 6Email của khách hàng
Địa chỉ của khách hàng
Điện thoại của khách hàng
Phân loại hàng hóa
“1” là tồn tại, “0” là hàng hóa không khả ụng
Số lượng hàng hóa
Số lượng đặt của khách hàngThành tiền đơn hàng
ô ình thực ể kết hợp
IV) MÔ HÌNH QUAN HỆ:
Mô tả: Lược đồ quan hệ HANGHOA được dùng để lưu trữ thông tin về những mặt hàng mà công ty kinh doanh
Trang 77
Mô tả: Lược đồ quan hệ NHA_CUNG_CAP được dùng để lưu trữ thông tin
về nhà cung cấp các hàng hóa mà công ty kinh doanh
Mô tả: Lược đồ quan hệ PHIEU_NHAP được dùng để lưu trữ số liệu về những phiếu nhập hàng hóa từ các nhà cung cấp của công ty
Mô tả: Lược đồ quan hệ CHITIET_PN được dùng để lưu trữ số liệu về những mặt hàng đã được công ty nhập từ các nhà cung cấp
Mô tả: Lược đồ quan hệ KHO được dùng để lưu trữ số liệu về những hàng hóa trong kho
Mô tả: Lược đồ quan hệ HOA_DON được dùng để lưu trữ số liệu về những hóa đơn
Mô tả: Lược đồ quan hệ DON_HANG được dùng để lưu trữ số liệu về những đơn đặt hàng
Mô tả: Lược đồ quan hệ KHACH_HANG được dùng để lưu trữ thông tin của những khách hàng
Trang 8Mô tả: Lược đồ quan hệ CUNGCAP được dùng để lưu trữ số liệu về những mặt hàng được nhập.
Mô tả: Lược đồ quan hệ TRANGTHAI được dùng để lưu trữ thông tin về trạng thái của những mặt hàng trong kho
Mô tả: Lược đồ quan hệ CHITIET_HD được dùng để lưu trữ số liệu về những mặt hàng trong những hóa đơn bán lẻ (trả tiền ngay khi mua hàng)
Mô tả: Lược đồ quan hệ CHITIET_DH được dùng để lưu trữ số liệu về những mặt hàng trong những đơn đặt hàng
V) RÀNG BUỘC TOÀN VẸN VÀ CHUẨN HÓA CƠ SỞ DỮ LIỆU:
) Ràng buộc toàn vẹn
1.1) Ràng buộc toàn vẹn liên thuộc tính trên nhiều quan hệ
Ràng buộc về xuất kho
các hóa đơn
Trang 99
Ràng buộc về số lượng đặt và số lượng hóa đơn
các hóa đơn
Ràng buộc về ngày đặt hàng và ngày lập hóa đơn
đơn
Trang 10• Biểu diễn: ∀ ∈ ∀ ∈ ⴷ
1.2) Ràng buộc toàn vẹn về miền giá trị
Ràng buộc số điện thoại:
∀ ∈ KHACH_HANG Λ (LEN(t.sdt_kh) = 10)
Ràng buộc số lượng đơn hàng:
∀ ∈
Trang 1111
Ràng buộc trị giá hóa đơn:
∀ ∈
Ràng buộc trị giá phiếu nhập:
∀ ∈
Ràng buộc thành tiền hóa đơn:
∀ ∈
Trang 12• Bối cảnh: CHITIET_HD
Ràng buộc thành tiền đơn hàng:
∀ ∈
Ràng buộc giá bán hàng hóa
∀ ∈
Trang 1313
1.3) Ràng buộc toàn vẹn về liên thuộc tính trên cùng một quan hệ
Ràng buộc ngày đặt và ngày giao hàng
∀ ∈
Ràng buộc về ngày lập và xuất hóa đơn
1.4) Ràng buộc toàn vẹn giữa những bộ của các quan hệ
Ràng buộc phụ thuộc tồn tại Phiếu nhập tới nhà cung cấp:
Trang 14• Tầm ảnh hưởng:
Ràng buộc phụ thuộc tồn tại Phiếu nhập tới Kho:
Ràng buộc phụ thuộc tồn tại Hóa đơn tới khách hàng:
Trang 1515
Ràng buộc phụ thuộc tồn tại Đơn hàng tới khách hàng:
Ràng buộc phụ thuộc tồn tại Đơn hàng tới hóa đơn:
1.5) Ràng buộc toàn vẹn liên bộ trên cùng một quan hệ:
Ràng buộc khóa chính hàng hóa:
Trang 16• Tầm ảnh hưởng:
Ràng buộc khóa chính nhà cung cấp:
Ràng buộc khóa chính phiếu nhập:
Trang 1717
Ràng buộc khóa chính kho:
Ràng buộc khóa chính hóa đơn:
Ràng buộc khóa chính đơn hàng:
t1 sodh ≠ t2 sodh
Trang 18Ràng buộc khóa chính Cung cấp:
hàng hóa riêng biệt
Trang 1919
Ràng buộc khóa chính Trạng thái:
mã kho riêng biệt
Ràng buộc khóa chính Chi tiết hóa đơn:
hóa và số hóa đơn riêng biệt
Ràng buộc khóa chính Chi tiết đơn hàng:
Trang 20• Ngôn ngữ tự nhiên: Bảng chi tiết hóa đơn phải có tổ hợp mã nhà hàng hóa và số đơn hàng riêng biệt.
Chuẩn hóa cơ sở dữ liệu
F={mahh → dv_tinh, tenhh, gia_ban}
F={mancc → tenncc, dchi_ncc}
F={sopn → ngaynhap, mancc, makho}
F={sopn, mahh → trigiapn, solghhpn}
F={makho →
F={sohd →
F={sodh → ngaydh, ngayghdk, makh, sohd}
F={makh → tenkh, email_kh, dchi_kh, sdt_kh}
Trang 2121
F={ mancc, mahh→ loaihh}
F={mahh, makho → tontai}
F={mahh, sohd → slhh, thanhtienhd}
F={mahh, sodh → sldat, thanhtiendh}
B1 Kiểm tra dạng chuẩn 1NF:
=> CSDL đã đạt chuẩn 1NF
B2 Kiểm tra dạng chuẩn 2NF
vào khóa
=> CSDL đã đạt chuẩn 2NF
B3 Kiểm tra dạng chuẩn 3NF
vào khóa
=> CSDL đã đạt chuẩn 3NF
VI) VIỆC THỰC HIỆN HÓA TRÊN SQL:
Các bảng trong cơ sở dữ liệu:
Trang 22ả àng hóa
ảng nhà cung ấp
ảng khách hàng
Trang 2323
ảng trạng thái
ảng chi tiết hóa đơn
Trang 24ảng chi ti đơn hàng ết
ảng cung cấp
Trang 26khoảng thời gian do giảng viên quy định.
Tuy nhiên, do vẫn còn nhiều hạn chế về mặt kiến thức cũng như kinh nghiệm nên của nhóm chắc chắn sẽ không thể tránh khỏi những thiếu ót Chính vì vậy, nhóm chúng em rất mong nhận được ý kiến đóng góp và nhận
Cuối cùng nhóm chúng em xin gửi lời cám ơn chân thành tới thầy Bùi Xuân Giảng viên bộ môn Cơ Sở Dữ Liệu của chúng em Cảm ơn thầy đã tạo điều kiện cho chúng em có cơ hội làm quen với cơ sở dữ liệu, được vận dụng
Trang 2727
những kiến thức đã học thông qua việc làm đồ án Qua đồ án này, chúng em hiểu về cách xây dựng một cơ sở dữ liệu và mô hình hóa nó, đồng thời ngôn ngữ hóa hệ dữ liệu thành ngôn ngữ SQL