Quy tắc 2: Nếu có đặc trưng phụ thuộc vào nhiều thực thể thì đó là đặc trưng của mối kết hợp định nghĩa trên các thực thể đó.. Quy tắc 3: Các thực thể cùng liên quan với nhau đến một
Trang 1TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC THÀNH PHỒ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO KẾT THÚC HỌC PHẦN HỌC KỲ I
Học phần: CƠ SỞ DỮ LIỆU NÂNG CAO
QUẢN LÝ WEBSITE BÁN HOA
Giảng viên hướng dẫn: ThS Phạm Đức Thành
Sinh viên thực hiện:
Cáp Hữu Tuấn – 20DH112169Nguyễn Thị Mỹ Lệ – 20DH111350
Lê Hồng Long Vũ – 20DH112191
Thành phố Hồ Chí Minh, tháng 12/2022
Trang 2MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI……… ……….….….4
1.1. Giới thiệu . 4
1.1.2Mở đầu . 4
1.1.3Lý do . 4
1.2K hảo sát thực tế . 5
1.2.1Flower Corner . 5
1.2.2Potico . 10
1.2.3 Hoa Yêu Thương 10
1.2.4 Một số quy trình nghiệp vụ cụ thể . 20
1.3Các chức năng dự kiến của đề tài . 21
1.4.C ông nghệ sử dụng . 21
1.4.1F ront – E nd . 21
1.4.2B ack – E nd . 21
1.5B ố cục đề tài . 21
1.6P hạm vi giới hạn . 22
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 23
2.1 Giới thiệu về các Cơ sở lý thuyết 11
2.1.1 Mô hình ERD 23
2.1.2 Phụ thuộc hàm 23
2.1.3 Các dạng chuẩn 24
2.1.4 Bảo toàn thông tin 25
2.1.5 Ràng buộc toàn vẹn 27
2.1.6 NoSQL và NewSQL 27
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ 35
3.1Mô tả yêu càu . 35
3.2Phân tích yêu cầu . 38
3.2.1 Chức năng 11
3.2.2 Phi chức năng . 44
Trang 33.3 Thiết kế 11
3.3.1 Entity RelationShip Diagram 11
3.3.2 RelationShip 11
3.3.2.1 Mô tả chi tiết các Table 11
3.3.2.2 Các ràng buộc 11
3.3.3 Các phụ thuộc hàm 11
3.3.4 Dạng chuẩn CSDL 11
3.3.5 Các Procerdure, Function, Trigger, Cursor của đề tài 48
3.4 Cài đặt 11
3.4.1 Môi trường 11
3.4.2 Ngôn ngữ 11
CHƯƠNG 4: KẾT LUẬN 49
4.1K ết quả đạt được . 49
4.1.1G iao diện trang chủ . 49
4.1.2G iao diện trang sản phẩm . 51
4.1.3Giao diện xem chi tiết sản phẩm . 52
4.1.4G iao diện giỏ hàng . 53
4.1.5G iao diện thanh toán . 54
4.2N hững hạn chế . 55
4.3H ướng phát triển . 55
TÀI LIỆU THAM KHẢO 55
DANH MỤC HÌNH ẢNH 56
Trang 4CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1.3 Lý Do:
Hiện nay, cùng với đại dịch covid nhiều người chuyển sang xu hướng mua bán onlinebởi nó thật sự tiện dụng với thời buổi công nghệ bây giờ Lối sống và phong cách sống của con người cũng thay đổi theo công nghệ, bạn chỉ cần ngồi ở nhà, mở điện thoại hay laptop lên gõ tên sản phẩm bạn muốn mua là có hàng loạt hình ảnh, thông tin liên quan tới nội dung mà bạn cần tìm
Xuất phát từ nhu cầu thực tế đó, trong công việc mua và bán sách, việc quản lý sách nhập và bán là một việc không thể thiếu Nhằm thay thế một số công việc mà trước
đó phải thao tác bằng tay trên giấy tờ vừa kém hiệu quả,vừa mất nhiều thời gian Vì vậy, chúng em đã thực hiện báo cáo với đề tài “Xây dựng hệ thống quản lý bản sách”.Thiết kế một website quản lý và mua bán sách chuyên nghiệp, chất lượng sẽ giúp bạngiao dịch, tiếp cận tới khách hàng dễ hơn Đồng thời khẳng định được thương hiệu,
sự nghiêm túc trong lĩnh vực bạn đang kinh doanh, tạo nên sự uy tín, chuyên nghiệp
Và đó cũng chính là chiến lược marketing hiệu quả
1.2 Khảo sát thực tế
1.2.1 Flower Corner
a) Giao diện danh sách các loại hoa
4
Trang 5Hình 1 Giao diện danh sách sản phẩm
- Thông tin lưu trữ
Trang 6Hình 2 Giao diện chi tiết loại hoa
- Thông tin lưu trữ
Trang 7Hình 3 Giao diện thêm sản phẩm vào giỏ hàng
- Thông tin lưu trữ
Trang 8d) Giao diện đặt mua và thanh toán
Hình 4 Giao diện đặt mua và thanh toán
- Thông tin lưu trữ:
Trang 10e) Giao diện đặt hàng thành công
Hình 5 Giao diện đặt hàng thành công
- Thông tin lưu trữ
Trang 111.2.2 Potico
a) Giao diện danh sách hoa
Hình 6 Danh sách các loại hoa
- Thông tin lưu trữ
Hình ảnh các loại hoa, bó hoa
Xem chi tiết 1 loại hoa
b) Giao diện xem chi tiết loại hoa
Trang 12Chọn thêm phụ kiện kèm theo
c) Giao diện thêm sản phẩm vào giỏ hàng
12
Trang 13Hình 8 Giao diện thêm sản phẩm giỏ hàng
- Thông tin lưu trữ
Trang 14d) Giao diện đặt mua và thanh toán
Hình 9 Giao diện nhập thông tin đặt mua
14
Trang 15Hình 10 Giao diện thanh toán
- Thông tin lưu trữ
Trang 16e) Giao diện đặt hàng thành công
Hình 11 Giao diện đặt hàng thành công
Hình 12 Giao diện theo dõi đơn hàng
- Thông tin lưu trữ
Trang 171.2.3 Shophoa365
a) Giao diện danh sách hoa
Hình 13 Giao diện danh sách các loại hoa
- Thông tin lưu trữ
Hình ảnh các loại hoa/bó hoa
Giá của loại hoa/bó hoa
Giá giảm của loại hoa/bó hoa
- Chức năng
Trang 18b) Giao diện xem chi tiết loài hoa
Hình 14 Giao diện chi tiết loại hoa
- Thông tin lưu trữ
Trang 19o Fanpage
- Chức năng
c) Giao diện thêm sản phẩm vào giỏ hàng
Hình 15 Giao diện giỏ hàng
Trang 20d) Giao diện đặt mua và thanh toán
Hình 16 Giao diện đặt mua và thanh toán
- Thông tin lưu trữ
20
Trang 21o Phương thức thanh toán
e) Giao diện đặt hàng thành công
Hình 17 Giao diện đặt hàng thành công
- Thông tin lưu trữ
Trang 221.2.1 Một quy trình nghiệp vụ cụ thể Quy trình nghiệp vụ đặt hàng
Hình 18 Quy trình nghiệp vụ đặt hàng
22
Trang 231.2.2 Quy trình nghiệp vụ thanh toán
Hình 19 Quy trình nghiệp vụ thanh toán
Trang 241.1 Các chức năng của đề tài
Bảng 1: Chức năng của các user
Chương 1: Giới thiệu đề tài
24
Trang 25Quan
Trang 26CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Sơ đồ ERD liên quan đến sơ đồ cấu trúc dữ liệu (DSD), nó tập trung vào mối quan hệcủa các phần tử bên trong thực thể thay vì mối quan hệ giữa bản than với các thực th Sơ
đồ ER cũng thường được sử dụng cùng với sơ đồ luồng dữ liệu (DFD), nó rạch ra luồngthông tin cho các quy trình hoặc hệ thống
Gồm hai mô hình:
Các khái niệm của thành phần cơ bản ERD:
Thực thể (Enity): Là một cái gì đó tồn tại như tự chính nó, như một chủ thể hoặc
như một khách thể, một cách thực sự hay một cách tiềm năng, một cách cụ thểhay một cách trừu tượng, một cách vật lý hoặc không Nó không cần là sự tồn lạivậy chất Mỗi thực thể được xác định trên cách thành phần
khái niệm trong thế giới thực
Ý nghĩa: Cho biết thực thể nói về thông tin của đối tượng nào đó
Thể hiện: Là sự xuất hiện cụ thể của các phần tử Tổ hợp không trùng lặp các
thực thể tham gia vào mối hết hợp
Ví dụ:Nhân viên của một shop bán hoa trong cùng một vị trí
26ENTITY
Trang 27Thuộc tính: Là đặc tính vốn có của một sự vật, nhờ đó sự tồn tại và qua đó con
người nhận thức được sự vật, phân biệt được sự vật này với sự vậy khác, màu sắc
là một thuộc tính của mọi vật thể
Ý nghĩa: Mang ý nghĩa thông tin cần lưu trữ và cập nhật dữ liệu
Tên gọi: Thường là danh từ, là tên chung của các thông tin dữ liệu cùng dạng
Thuộc tính đơn: Là thuộc tính chỉ chứa một giá trị
Ví dụ: Mã Khách Hàng, Tên Khách Hàng, Ngày Sinh.
Thuộc tính đa trị: Là thuộc tính có thể có nhiều giá trị khác nhau đối với mộtthực thể
Ví dụ: Thuộc tính Điạ chỉ nhà được kết hợp bởi các thuộc tính đơn như Số
nhà, Đường, Phường, Quận, Thành phố
Thuộc tính dẫn xuất: Là thuộc tính được suy ra từ giá trị của các thuộc tínhkhác
Ví dụ: Thuộc tính Tuổi Khách Hàng được suy ra từ thuộc tính “Năm Hiện
Tại” trừ cho thuộc tính “Năm Sinh”
Thuộc tính khóa: Là thuộc tính giúp phân biệt 2 thực thể khác nhau trong cùngmột tập thực thể Thuộc tính khóa cũng có thể gồm nhiều thuộc tính
MaNV
Trang 28o Định danh là duy nhất Hai thuộc tính kết hợp lại nhưng không trùng.
o Phân loại: Đơn giản, bên trong, bên ngoài, kết hợp
Quy tắc 1: Mọi thuộc tính chỉ mô tả đặc trưng cho một thực thể duy nhất.
Quy tắc 2: Nếu có đặc trưng phụ thuộc vào nhiều thực thể thì đó là đặc
trưng của mối kết hợp định nghĩa trên các thực thể đó
Quy tắc 3: Các thực thể cùng liên quan với nhau đến một mối kết hợp thì
một tổ hợp thể hiện của các thực thể đó phải là thể hiện duy nhất của mốikết hợp (nó nằm ở mối kết hợp)
Quy tắc 4: Các nhánh nối với mối kết hợp phải là nhánh kết bắt buộc, nếu
không phải ta nên tách thành nhiều mối kết hợp
28
Trang 29Quy tắc 5: Nếu có một đặc trưng phụ thuộc vào một thuộc tính của thực thể
thì tồn tại thực thể ẩn
Quy tắc 6 (Mô hình hóa thuộc tính đa trị): Trong giai đoạn thiết kế quan
niệm, thuộc tính đa trị thường tách khỏi thực thể Mỗi thuộc tính đa trị haynhóm lặp được chuyển thành một thực thể riêng và có mối quan hệ với thựcthể mà nó được tách ra
Quy tắc 7 (Mô hình hóa nhóm lặp): Một nhóm lặp là một tập thuộc tính đa
trị có liên hệ logic với nhau
Quy tắc 8 (Mô hình hoá dữ liệu phụ thuộc thời gian)
Mối kết hợp: Biểu diễn sự kết hợp hệ ngữ nghĩa giữa 2 hay nhiều thực thể.
Sự kết nối kết
lớp đối tượng liên quan trong tổ chức
Vai trò: Biểu diễn ngữ nghĩa của một thực thể tham gia vào mối kết hợp.
Bản số: là một cặp số tự nhiên thể hiện sự ràng buộc về số lượng các thực thể
tham gia vào mối kết hợp
2.2 Phụ thuộc hàm
2.2.1 Các vấn đề thường gặp khi tổ chức dữ liệu
- Sự dư thừa: khi bị trùng lắp
2.2.2 Định nghĩa phụ thuộc hàm
Trang 30Dependency và viết tắt là FD, xác định mối quan hệ cyar một thuộc tính này với mộtthuộc tính khác trong hệ quản trị cơ sở dữ liệu Sự phụ thuộc giúp đảm bảo chất lượng dữliệu trong cơ sở dữ liệu Sự phụ thuộc hàm có vai trò quan trọng để nhận biết được chấtlượng của thiết kế cơ sở dữ liệu.
Thông qua cách biểu diễn PTH, ta có thể dễ dàng xác định khóa của quan hệ.Phương pháp biểu diễn này có vai trò quan trọng trong các phương pháp thiết kếmột lược đồ quan niệm của CSDL, nhằm tạo ra những quan hệ độc lập nhau, giảm thiểu
sự trùng lắp, dư thừa dữ liệu lưu trữ Do đó, giảm bớt các sai sót khi cập nhật dữ liệu củangười sử dụng Ngoài ra, còn dùng để đánh giá chất lượng thiết kế một CSDL
A B được gọi là phụ thuộc hàm hiển nhiên nếu B A
A B được gọi là phụ thuộc hàm đầy đủ vào A nếu "A’ A thì đều không có phụthuộc hàm A’ B
AàB phải là nguyên tố tức không có thuộc tính nào phụ thuộc vào một phần của A(nghĩa là: A’ A mà B A’)
2.2.3 Hệ luật dẫn Amstrong
- Hệ tiên đề Amstrong:
Cho lược đồ quan hệ Q và X, Y, W, Z Q +
1 Luật phản xạ: Y X X Y
2 Luật thêm vào: Nếu X Y và Z W thì X, W Y, Z
3 Luật bắc cầu: Nếu X Y và Y Z thì X Z
- Một số luật dẫn suy từ hệ tiên đề Amstrong:
4 Luật phân rã: Nếu X Y, Z thì X Y và X Z
5 Luật hội: Nếu X Y và X Z thì X Y, Z
30
Trang 316 Luật bắc cầu giả: Nếu X Y và Y, Z W thì X, Z W
2.2.4 Bao đóng
- Bao đóng của tập phụ thuộc hàm F
Bao đóng (closure) của tập phụ thuộc hàm F (ký hiệu F ) là tập tất cả các+
phụ thuộc hàm có thể suy ra từ F dựa vào hệ tiên đề Armstrong
F = {AB C; B D; CD E; CE GH; G A} Áp dụng hệ tiên đề Amstrong,tìm một chuỗi suy diễn AB àE
- Bao đóng của tập thuộc tính X
một phụ thuộc hàm f có được suy dẫn từ F hay không (fF+?)
Bao đóng của tập thuộc tính X thực chất là tập tất cả các thuộc tính mà có thểsuy ra nó từ tập thuộc tính X ban đầu
- Thuật toán tìm bao đóng của một tập thuộc tính
Dữ liệu vào: Q, F, X Q +
Dữ liệu ra: X +
o Bước 1: Đặt X = X+
o Bước 2: temp = X +
Trang 322.2.5 Phụ thuộc hàm tương đương
- Tập phụ thuộc hàm tương đương
Hai tập PTH F và G được gọi là tương đương với nhau nếu F = G + +
Trang 33o G chỉ gồm những pth đầy đủ.
- Thuật toán tìm phủ tối thiểu:
1 G F;
2 Tách vế phải phụ thuộc hàm F sao cho vế phải của mỗi pth
chỉ chứa 1 thuộc tính Thay thế X → {A , A , , A } trong G1 2 n
bằng n phụ thuộc hàm X → A1, X → A2, , X → A n
3 Tìm phụ thuộc đầy đủ bằng cách loại bỏ các thuộc tính dư thừa ở vế tráicủa từng phụ thuộc hàm
Với mỗi X → A trong G:
Với mỗi thuộc tính B là một phần tử của X nếu G – (X → A)
((X − {B}) → A) là tương đương với G thì thay thế X+
→ A bằng (X – {B}) → A ở trong G
4 Loại bỏ thuộc tính dư thừa
Với mỗi phụ thuộc hàm X → A còn lại trong G Nếu (G − {X → A}) làtương đương với G thì loại bỏ X → A ra khỏi G
Ví dụ: Cho lược đồ quan hệ Q (p, c, l, a, pr, t) và tập phụ thuộc hàm:
(Xóa c từ c, l → p), chứng tỏ có thể suy l → p từ G (sai)
(Xóa l từ c, l → p), chứng tỏ có thể suy c → p từ G (sai)
Trang 34(Xóa l từ c, l → a), chứng tỏ có thể suy c → a từ G (sai)
(Xóa c từ c, l → pr), chứng tỏ có thể suy l → pr từ G (sai)
(Xóa l từ c, l → pr), chứng tỏ có thể suy c → pr từ G (sai)
(Xóa c từ c, l → t), chứng tỏ có thể suy l → t từ G (sai)
Có thể loại p → c? (không) (p : {pla, pr, t}) +
Có thể loại p → l? (không) (p : {pca, pr, t}) +
Có thể loại p → a? (loại) (p : {plc, pr, ta}) +
Có thể loại p → pr? (được vì p → a và a → pr) (p : {pclat, pr} có pr+
nên loại)
Có thể loại p → t? (được vì p → c và c → t) (p : {pcl, pr, t} có chứa t) +
Có thể loại c, l → p? (không) (cl : {cla, pr, t}).+
Có thể loại c, l → a? (được) (c, l, p, pr, a)
Có thể loại c, l → pr? (được vì c, l → p và p → pr) (cl : {clpa, pr, t} có+
chứa pr)
Có thể loại c → t? (được vì dư thừa)
Có thể loại c → t? (không) (c : {c}).+
Có thể loại a → pr? (không) (a : {a}).+
Phủ tối thiểu của F là: G = {p → c; p → l; c, l → p; c → t; a → pr}
2.2.7 Ứng dụng phụ thuộc hàm vào khóa
- Khóa của quan hệ:
Trang 35Một quan hệ có thể có nhiều khóa.
- Tìm khóa: Một số khái niệm về tìm khóa:
Tập nguồn (TN): chứa tất cả các thuộc tính xuất hiện ở vế trái và không có
xuất hiện ở vế phải của phụ thuộc hàm Những thuộc tính không tham gia vào bất kỳ phụ thuộc hàm nào thì cũng đưa vào tập nguồn
Tập đích (TD): chứa tất cả các thuộc tính có xuất hiện ở vế phải và không xuất hiện ở vế trái của tập phụ thuộc hàm
Tập trung gian (TG): chứa tất cả các thuộc tính vừa tham gia vào vế trái vừa tham gia vào vế phải
- Thuật toán tìm khóa:
Dữ liệu vào: Lược đồ Q và tập phụ thuộc dữ liệu F
Dữ liệu ra: Tất cả các khóa của quan hệ
o Bước 1: Tìm tập thuộc tính nguồn (TN), tập thuộc tính trung gian (TG)
+ Xây dựng tập chứa tất cả các khóa của Q từ S
+ Xét Si, Sj con của S (i j), nếu Si Sj thì ta loại Sj, kết quả còn
Trang 362.3.1 Dạng chuẩn của lược đồ quan hệ
- Khi thiết kế một hệ thống thông tin (HTTT), thì việc lập lược đồ CSDL đạtđến một tiêu chuẩn nào đó là một việc làm quan trọng Chất lượng của HTTTphụ thuộc rất nhiều vào lược đồ CSDL này
- Chất lượng thiết kế của một lược đồ csdl có thể đánh giá dựa trên nhiều tiêuchuẩn trong đó:
o Sự trùng lắp thông tin
o Chi phí kiểm tra các ràng buộc toàn v
o Bảo toàn qui tắc quản lý
Ví dụ: Xét một thể hiện của quan hệ quản lý học tập của sinh viên:
- QLHT (MsSV, Ten, NS, Phai, ĐC, MsLop, TenLop, MsMH, TenMH,Diem)
36
Trang 37- F = {f1: MsSV Ten, NS, Phai, ĐC, MsLop;
2.3.2 Dạng chuẩn 1 (1NF)
Quan hệ là ở 1NF nếu miền giá trị của một thuộc tính chỉ chứa giá trị nguyên tử(đơn, ko phân chia được) và giá trị của mỗi thuộc tính cũng là một giá trị đơn lấy từmiền giá trị của nó
Định nghĩa: Một bảng (quan hệ) được gọi là ở dạng chuẩn 1NF nếu và chỉ nếu toàn
bộ các miền giá trị của các cột có mặt trong bảng (quan hệ) đều chỉ chứa các giá trịnguyên tử (nguyên tố)
Cơ sở dữ liệu
Kỹ thuật lập trình
798
Trang 382.3.3 Dạng chuẩn 2 (2NF)
- Từ dạng chuẩn 2 trở đi ta chú ý đến thuộc tính khóa và thuộc tính không khóa
- Định nghĩa: một quan hệ ở dạng chuẩn 2 (2NF) nếu:
Ki B, ~ Ki’ Ki sao cho Ki’ B F
Nhận xét:
Một quan hệ ở dạng chuẩn 2NF nếu thoả mãn 1 trong các đièu kiện sau: Khoáchính chỉ gồm một thuộc tính Bảng không có các thuộc tính không khoá Tất cảcác thuộc tính không khoá phụ thuộc hoàn toàn vào tập các thuộc tính khoá chính
tính Y, không phụ thuộc vào các giá trị x của tập thuộc tính Z
Phụ thuộc đa trị hiển nhiên:
38