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.. Quy tắc 2: Nếu có
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
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.1 F ront – E nd . 21
1.4.2 B 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.2 hữngN 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 online bở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ạn giao 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
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 9 Yêu cầu, lưu ý (cho flowercorner.vn)
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 12Hình 7 Giao diện chi tiết loại hoa
- Thông tin lưu trữ
c) Giao diện thêm sản phẩm vào giỏ hàng
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
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
Tên 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ữ
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
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
Trang 25Quan
Trang 26CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Mô hình ERD
Mô hình erd được viết tắt bởi từ Entity Relationship Diagram được hiểu là mô hình
thực thể kết hợp hay còn gọi là thực thể liên kết
Sơ đồ quan hệ thực tế (ERD) là một loại lưu đồ minh họa cách các “thực thể” nhưngười, đối tượng hoặ khái niệm liên quan với nhau trong một hệ thống Sơ đồ ERDthường được sử dụng để thiết kế hoặc gỡ lỗi cơ sở dữ liệu trong các lĩnh vực kỹ thuật phầnmềm, hệ thống thông tin kinh doanh, giáo dục và nghiên cứu
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ặcnhư 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ácthự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í
ENTITY
Trang 27 Thuộ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 đó conngườ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 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
o Lệ thuộc vào mối kết hợp có sẵn
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à đặctrư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ếukhông phải ta nên tách thành nhiều mối kết hợp
Trang 29 Quy 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ế quanniệ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 đatrị 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
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
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ácphụ 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
F, đượcđịnh nghĩa:
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+
Trang 32Quay lại bước 2
2.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+ Nghĩa là: f F thì f G+ và g G thì g F+
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 → {A1, A2, , An} trong G
bằng n phụ thuộc hàm X → A1, X → A2, , X → An
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:
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ó prnê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ệ:
Định nghĩa: cho quan hệ r(R), tập K Ì R được gọi là khóa của quan hệ r nếu: K+=R nếu bớt một phần tử khỏi K thì bao đóng của nó sẽ khác R Nhưvậy tập K Ì R nếu K+ Ì R và (K-A)+ ¹ R, "A Ì R
Trang 35 Mộ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 có xuất hiện ở vế trái và không
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)
If TG = thenTập khóa = TN;
Kết thúcElse
+ 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)
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
Phụ thuộc đa trị hiển nhiên: