Tải bản đầy đủ (.pdf) (90 trang)

Xây dựng website giới thiệu SIM và hỗ trợ chọn SIM theo phong thủy

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.92 MB, 90 trang )

MỤC LỤC
LỜI CẢM ƠN

1

LỜI CAM ĐOAN 2
MỤC LỤC

3

DANH MỤC HÌNH ẢNH 5
Chương 1. CƠ SỞ LÝ THUYẾT 6
1.1. Bài toán giới thiệu SIM điện thoại 6
1.2. Bài toán chọn số SIM theo phong thủy
1.3. Các công cụ xây dựng bài toán.

6

7

1.3.1. Ngôn ngữ PHP 7
1.3.2. Tìm hiểu về MYSQL 11
1.3.3 Các hàm thông dụng trong MySQL

17

1.4. Sự kết hợp PHP và MySQL18
1.4.1 Các tính năng chính:

18


1.4.2 Các tính năng khác:

19

1.4.3 Các kịch bản thiết lập sẵn:

19

Chương 2. PHÂN TÍCH THIẾT KẾ WIBSITE GIỚI THIỆU VÀ HỖ TRỢ CHỌN
SIM 21
2.1 Xác định các nhóm chức năng của hệ thống

21

2.2. Xác định các use case, các gói uc và xây dựng biểu đồ uc chi tiết
2.2.1. Xác định các Use case 22
2.2.2. Biểu đồ do UC tổng quát
2.3. Đặc tả UC

23

26

2.3.1 Hệ thống đăng ký, đăng nhập 26
2.3.2. Đặc tả UC đăng nhập 26
2.3.3. Đặc tả UC xem thông tin giỏ hàng

27

2.3.4. Đặc tả UC xem thông tin đơn hàng 27

2.3.5. Đặc tả UC xem thông tin sản phẩm 28
1

22


2.3.6. Đặc tả UC xem thông tin cá nhân

28

2.3.7. Đặc tả UC sửa thông tin cá nhân

29

2.3. Sequence Diagram 29
2.4. Biểu đồ lớp ( Class Diagram )

32

Chương 3. CÀI ĐẶT CÁC MODULE CHO WEBSITE
3.1. Vài nét về phong thủy.

34

3.2 Thế nào là SIM phong thủy 35
3.2.1 Ý nghĩa của các con số 35
3.2.2 Cách tính số theo ngũ hành và bát quái

35


3.3. Cách chấm điểm SIM phong thủy 37
3.3.1 Âm dương tương phối 37
3.3.2 Thuyết ngũ hành:

38

3.3.3 Cửu tinh đồ pháp:

39

3.3.4 Bát quái: 40
3.3.5 Quan niệm dân gian
3.4. Kết quả cài đặt

43

46

KẾT LUẬN 60
TÀI LIỆU THAM KHẢO 61
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

2

62

34


DANH MỤC HÌNH ẢNH

Hình 2.1: Mối quan hệ giữa các tác nhân 22
Hình 2.2 UC đăng nhập

23

Hình 2.3 UC quản lý thông tin

23

Hình 2.4 UC quản lý thành viên

24

Hình 2.5 UC quản lý SIM 24
Hình 2.6 UC mua hàng

25

Hình 2.7 UC xử lý đơn hàng

25

Hình 2.8 Sequence Diagram đăng ký

29

Hình 2.9 Sequence Diagram đăng nhập 30
Hình 2.10 Sequence Diagram đặt SIM

30


Hình 2.11 Sequence Diagram xem đơn hàng

31

Hình 2.12 Sequence Diagram xóa đơn hàng

31

Hình 2.13 Sequence Diagram xử lý đơn hàng

32

Hình 2.14 Biểu đồ lớp
Hình 3.1 header

46

Hình 3.2 footer

46

33

Hình 3.3 Trang chủ 47
Hình 3.4 giỏ hàng

48

Hình 3.5 trang kết quả chọn SIM phong thủy trong kho 49

Hình 3.5 Trang nhập SIM để xem phong thủy
Hình 3.6 kết quả xem SIM 51
Hình 3.7 Trang đăng ký thành viên

52

Hình 3.7 trang đăng nhâp 53
Hình 3.8 Trang đăng SIM 54
Hình 3.9 Trang SIM tứ quý 55
Hình 3.10 Trang SIM tam hoa

56
3

50


Hình 3.13 Trang kết quả tìm kiếm 57
Hình 3.14 Trang tìm kiếm theo giá

58

Hình 3.15 Trang danh sách đơn hàng

59

Chương 1.
CƠ SỞ LÝ THUYẾT
1.1. Bài toán giới thiệu SIM điện thoại
Ngày nay, cùng với sự phát triển nhanh chóng của nền kinh tế nước nhà và

điều kiện sống thì việc mỗi người có ít nhất một chiếc điện thoại để liên lạc là điều
tất yếu. Song song với đó, nhu cầu dùng sim điện thoại của khách hàng chắc chắn
sẽ tăng cao. Một chiếc sim điện thoại không chỉ đơn thuần dùng để nghe, gọi hay
nhắn tin mà chiếc sim đó phải hợp “phong thủy” với họ, giúp họ mang lại những
điều may mắn- thuận lợi- tốt lành. Nắm bắt được điều này nên ở Việt Nam nhiều
nhà mạng đã ra đời phục vụ cho nhu cầu khổng lồ của người tiêu dùng. Tuy nhiên
công tác giới thiệu sim số đến khách hàng vẫn còn nhiều bất cập và chưa được các
nhà mạng thực sự quan tâm. Chủ yếu khách hàng vẫn tiếp cận với nguồn sim số tại
một số của hàng nhỏ lẻ, tự phát. Chính vì vậy, để việc lựa chọn sim của khách
hàng không còn là một bài toán khó, em xin giới thiệu Website giới thiệu sim và
hỗ trợ khách hàng chọn sim theo phong thủy để có thể hỗ trợ các nhà mạnh có
cách giới thiệu SIM của mình đến người dung một cách dễ dàng và hiệu quả hơn.
1.2. Bài toán chọn số SIM theo phong thủy
Trong cuộc sống hiện đại, các con số luôn được sử dụng và có vai trò vô
cùng quan trọng. Việc sử dụng thường xuyên các con số như số nhà, số điện thoại,
biển số xe,… tạo nên một ngoại lực vô hình tác động vào bản mệnh mỗi người
giống như tên gọi của mỗi người vậy.
Trong từng vận thì mỗi số có sự suy vượng khác nhau, ở Thượng Nguyên các
số 1,2,3 vượng, ở Trung Nguyên các số 4,5,6 vượng và ở Hạ Nguyên các số 7,8,9
vượng. Sử dụng nguyên lý của Huyền Không lấy số sinh vượng, bỏ số suy tử.
4


Ví dụ : Hiện nay thuộc Hạ Nguyên vận 8, các số 8,9,1 là sinh vượng, các số
2,3,4 là suy tử. Vì thế nên sử dụng các con số 8,9,1.
Ngoài việc lựa chọn các số sinh vượng phải xem các số ấy có hợp với Mệnh
Quái của mình hay không. Ví dụ người mệnh quái là Khôn chọn dùng số 8 là sao
Bát Bạch thuộc quẻ Cấn được Sinh Khí rất tốt. Người mệnh Chấn dùng số 9 là sao
Cửu Tử thuộc quẻ Ly cũng được Sinh Khí tốt.


Phương pháp xem xét cho một dãy số khá phức tạp, cần nhất là được sự
tương sinh giữa các chữ số, tránh sự tương khắc. Chủ yếu luận Ngũ Hành của các
chữ số ở cuối dãy, có kết hợp thêm việc phối quẻ cho dãy số và việc luận đoán tốt
xấu căn cứ chủ yếu vào ý nghĩa của quẻ lập được.
Bên cạch đó,cũng có khi đơn giản, người sử dụng thích con số, dãy số đó
hoặc số số đó trùng với ngày thág năm sinh hay những con số có ý nghĩa kỉ niệm
với người dùng mà nó cũng có thể trở thành số đẹp.
Nhìn chung, đẹp hay xấu chủ yếu là do suy nghĩ và quan niệm của mỗi người.
Cùng một số nhưng có người cho là đẹp.cũng có người cho là xấu. Đơn cử số 78
với những người chơi đề có nghĩa là ” thổ địa”, đại may mắn ; nhưg có người lại
cho là xui xẻo (78- thất bát). Hay cùng số lặp nhưg những số lặp 4 ( tứ,đọc thành
tử -chết !), lặp 0 ( không có gì) cũng bị kiêng.
Các con số Phù hợp Bản Mệnh Trong cuộc sống hiện đại, các con số luôn
được sử dụng và có vai trò vô cùng quan trọng. Việc sử dụng thường xuyên các
con số như số nhà, số điện thoại, biển số xe,… tạo nên một ngoại lực vô hình tác
động vào bản mệnh mỗi người giống như tên gọi của mỗi người vậy.
1.3. Các công cụ xây dựng bài toán.
1.3.1. Ngôn ngữ PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập
trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng
viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp
5


với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các
ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời
gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã
nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng
như thế nào:

<html>
<head>
<title>Mã mẫu</title>
</head>
<body>
Đoạn code php
?>
</body>
</html>
Thẻ sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy
chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp
cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần
giao diện ứng dụng HTTP.
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và
có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập
nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô xí
nghiệp.
1.3.1.1 Lịch sử phát triển của PHP
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus
Lerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các
mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên
6


mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. Khi
cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn
hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển
các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI
cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến

mã nguồn.
PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số
các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến
kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng. Cú
pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu
nhất quán.
Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút
được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã
được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng
Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã
nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người.
PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời
gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó,
nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0.
PHP 3.0


đã

Gutmans
Người

PHP 4.0

PHP 5.0

được

Andi Vào mùa đông năm Khoảng tháng 7 năm




Zeev 1998, ngay sau khi PHP 2002 Zeev và Andi

Suraski - 2 nhà phát triển 3.0 chính thức được viết

Zend

Engine

phát triển người Israel tạo ra năm công bố, Andi Gutmans 2.0, lõi của PHP 5.0
1997 sau khi viết lại và Zeev Suraski đã bắt
hoàn toàn bộ mã nguồn đầu bắt tay vào việc viết
trước đó

lại phần lõi của PHP

7


Do nhận họ thấy PHP/FI Lý do của lần phát triển Nhằm khắc phục khả
2.0 hết sức yếu kém này là nhằm cải tiến tốc năng hỗ trợ lập trình
trong việc phát triển các độ xử lý các ứng dụng hướng
Lý do

đối

tượng

ứng dụng thương mại phức tạp, và cải tiến tính (OOP), xử lý XML,


phát triển điện tử mà họ đang xúc mô đun của cơ sở mã không hỗ trợ giao
tiến trong một dự án của PHP

thức máy khách mới

trường đại học Technion

của MySQL 4.1 và

– Học viện công nghệ

5.0, hỗ trợ dịch vụ

Israel

web yếu

Ngoài khả năng cung cấp Ngoài tốc độ xử lý được Với sự xuất hiện của
cho người dùng cuối một cải thiện rất nhiều, PHP hai tính năng rất
cơ sở hạ tầng chặt chẽ 4.0 đem đến các tính được

chờ

đợi:

dùng cho nhiều cơ sở dữ năng chủ yếu khác gồm Iterators, Reflection
Các tính

liệu, giao thức và API có sự hỗ trợ nhiều máy một nỗ lực trong


năng mở

khác nhau, các tính năng chủ Web hơn, hỗ trợ việc tạo ra một hệ

rộng

mở rộng của PHP 3.0 đã phiên làm việc HTTP, thống API nhất quán
thu hút rất nhiều nhà phát tạo bộ đệm thông tin đầu trong việc truy cập
triển tham gia

ra, nhiều cách xử lý cơ sở dữ liệu và thực
thông tin người sử dụng hiện các câu truy vấn
nhập vào bảo mật hơn
và cung cấp một vài các
cấu trúc ngôn ngữ mới

8


PHP đã phát triển được Với PHP 4, số nhà phát Các nhà phát triển
con số cài đặt lên tới triển dùng PHP đã lên PHP đã có những cải
hàng chục ngàn người sử đến hàng trăm nghìn và tiến trong nhân Zend
dụng và hàng chục ngàn hàng triệu site đã công Engine 2, nâng cấp
Web site báo cáo là đã bố cài đặt PHP, chiếm mô đun PCRE lên
cài nó. Vào thời kì đỉnh khoảng 20% số tên miền bản PCRE 5.0 cùng
Các thành cao, PHP 3.0 đã được cài trên

mạng


Internet. những tính năng và

quả đạt

đặt cho xấp xỉ 10% số Nhóm phát triển PHP cải tiến mới trong

được

máy chủ Web có trên cũng đã lên tới con số SOAP, streams và
mạng Internet

hàng nghìn người và SPL.
nhiều nghìn người khác
tham gia vào các dự án
có liên quan đến PHP
như PEAR, PECL và tài
liệu kĩ thuật cho PHP.

1.3.1.2 Tại sao ta sử dụng ngôn ngữ lập trình PHP?
PHP là một ngôn ngữ lập trình. Ngôn ngữ này hoạt động cận kề với
Webserver để thông dịch các yêu cầu từ trên World Wide Web, sau đó nhận các trả
lời từ Webserver chuyển tải đến trình duyệt Web nhằm đáp ứng các nhu cầu đó.
Các đặc điểm nổi bật:
 PHP là mã nguồn mở
 Tốc độ nhanh, dễ sử dụng
 Chạy trên nhiều hệ điều hành
 Truy cập bất kỳ loại CSDL nào
 Luôn được cải tiến và cập nhật
 Tương thích với hầu hết các server đang sử dụng hiện nay như Apache,
IIS…


9


1.3.2. Tìm hiểu về MYSQL
MySQL là một hệ quản trị cơ sở dữ liệu đa luồng, đa người dùng với ước tính
có khoảng 6 triệu lượt cài đặt. Công ty MySQL AB xây dựng MySQL như là một
phần mềm mã mở dưới giấy phép GNU/GPL. Không như những dự án như
Apache, phần mềm được phát triển bởi cộng đồng công cộng, và bản quyền về mã
nguồn thuộc sở hữu bởi nhiều tác giả riêng lẻ. MySQL được sở hữu và bảo trợ bởi
một công ty, công ty MySQL AB – một công ty Thụy Điển, nơi giữ bản quyền cho
toàn bộ mã nguồn. Công ty phát triển và duy trì hệ thống, hỗ trợ bán hàng và dịch
vụ. MySQL AB được sáng lập bởi David Axmark, Allan Larsson, và Michael
“Monty” Widenius.
MySQL là hệ quản trị cơ sở dữ liệu phổ biến nhất hiện nay và được các nhà
phát triển rất ưa chuộng trong việc phát triển các ứng dụng. Không chỉ dừng lại các
ứng dụng có tầm vừa và nhỏ. Mà ngay cả những ứng dụng có tầm cỡ lớn cũng đã
lựa chọn MySQL, ví dụ như:
 Yahoo
 Nasa
 Wikipedia
 Alcatel
 …
1.3.2.1 Mười lý do bạn chọn MySQL
Cơ sở dữ liệu MySQL đã trở thành cơ sở dữ liệu mã nguồn mở phổ biến nhất
trên thế giới vì cơ chế xử lý nhanh và ổn định của nó, sự đáng tin cậy cao và dễ sử
dụng. Nó được sử dụng mọi nơi – ngay cả châu Nam Cực - bởi các nhà phát triển
Web riêng lẻ cũng như rất nhiều các tổ chức lớn nhất trên thế giới để tiết kiệm thời
gian và tiền bạc cho những Web sites có dung lượng lớn, phần mềm đóng gói –
bao gồm cả những nhà đi đầu trong lĩnh vực công nghiệp như Yahoo!, AlcatelLucent, Google, Nokia, YouTube và Zappos.com.

MySQL không chỉ là cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới,
10


nó còn trở thành cơ sở dữ liệu được chọn cho thế hệ mới của các ứng dụng xây
dựng trên nền Linux, Apache, MySQL, PHP/Perl/Python. MySQL chạy trên hơn
20 flatform bao gồm: Linux, Windows, OS/X, HP-UX, AIX, Netware, mang đến
cho bạn tính linh hoạt trong việc sử dụng.
Dù bạn mới làm quen với công nghệ cơ sở dữ liệu hay là một nhà phát triển giàu
kinh nghiệm hoặc là DBA, MySQL sẽ giúp bạn thành công.
Đây là 10 lý do bạn nên chọn MySQL cho ứng dụng của mình:
Tính linh hoạt
Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sức chứa để
xử lý các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các kho dữ
liệu đồ sộ lên đến hàng terabytes thông tin. Sự linh hoạt về flatform là một đặc tính
lớn của MySQL với tất cả các phiên bản của Linux, Unix và Windows đang được
hỗ trợ. Và dĩ nhiên, tính chất mã nguồn mở của MySQL cho phép sự tùy biến hoàn
toàn theo ý muốn để thêm vào các yêu cầu thích hợp cho database server.
Tính thực thi cao
Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình
máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù. Dù ứng dụng
là một hệ thống xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụ
hàng triệu yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý những đòi hỏi
khắt khe nhất của bất kì hệ thống nào. Với các tiện ích tải tốc độ cao, đặc biệt bộ
nhớ caches, và các cơ chế xử lý nâng cao khác, MySQL đưa ra tất cả các vũ khí
cần phải có cho các hệ thống doanh nghiệp khó tính ngày nay.
Có thể sử dụng ngay
Sự đáng tin cậy cao và tính “mì ăn liền” là những tiêu chuẩn đảm bảo của
MySQL. MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạo
chủ/tớ tốc độ cao, để các nhà phân phối thứ 3 đưa ra những giải pháp có thể dùng

ngay duy nhất cho server cơ sở dữ liệu MySQL.
Hỗ trợ giao dịch mạnh
11


MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh
nhất trên thị trường. Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện (
Atomic – tự động, Consistent – thống nhất, Isolated – độc lập, Durable – bền
vững), khóa mức dòng không hạn chế, khả năng giao dịch được phân loại, và hỗ
trợ giao dịch đa dạng (multi-version) mà người đọc không bao giờ gây trở ngại cho
người viết và ngược lại. Tính toàn vẹn của dữ liệu cũng phải được bảo đảm trong suốt
quá trình server có hiệu lực, các mức giao dịch độc lập được chuyên môn hóa, và phát
hiện khóa chết ngay lập tức.
Nơi lưu trữ Web và Data đáng tin cậy
MySQL là nhà máy chuẩn cho các web sites phải trao đổi thường xuyên vì
nó có engine xử lý tốc độ cao, khả năng chèn dữ liệu nhanh ghê gớm, và hỗ trợ
mạnh cho các chức năng chuyên dụng của web như tìm kiếm văn bản nhanh.
Những tính năng này cũng được áp dụng cho môi trường lưu trữ dữ liệu mà
MySQL tăng cường đến hàng terabyte cho các server đơn. Các tính năng khác như
bảng nhớ chính, cây B và chỉ số băm, và bảng lưu trữ đã được cô lại để giảm các yêu
cầu lưu trữ đến 80% làm cho MySQL trở thành lựa chọn tốt nhất cho cả ứng dụng web
và các ứng dụng doanh nghiệp.
Chế độ bảo mật dữ liệu mạnh
Vì bảo mật dữ liệu cho một công ty là công việc số một của các chuyên gia
về cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽ
được bảo mật tuyệt đối. Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cung
cấp các kĩ thuật mạnh mà chắc chắn chỉ có người sử dụng đã được xác nhận mới
có thể truy nhập được vào server cơ sở dữ liệu, với khả năng này để chặn người
dùng ngay từ mức máy khách là điều có thể làm được. SSH và SSL cũng được hỗ
trợ để chắc chắn các kết nối được an toàn và bảo mật. Một đối tượng framework

đặc quyền được đưa ra mà người sử dụng chỉ có thể nhìn thấy dữ liệu, các hàm mã
hóa và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu sẽ được bảo mật. Cuối cùng,
tiện ích backup và recovery cung cấp bởi MySQL và các hãng phần mềm thứ 3 cho
12


phép backup logic và vật lý hoàn thiện cũng như recovery toàn bộ hoặc tại một
thời điểm nào đó.
Sự phát triển ứng dụng hỗn hợp
Một trong số các lý do khiến cho MySQL là cơ sở dữ liệu mã nguồn mở
phổ biến nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển ứng
dụng nào cần. Trong cơ sở dữ liệu, hỗ trợ có thể được tìm thấy trong các stored
procedure, trigger, function, view, cursor, ANSI-standard SQL, và nhiều nữa. Với
các ứng dụng nhúng, thư viện plug-in có sẵn để nhúng vào cơ sở dữ liệu MySQL
hỗ trợ trong bất kì ứng dụng nào. MySQL cũng cung cấp các bộ kết nối như:
ODBC, JDBC … để cho phép tất cả các form của ứng dụng sử dụng MySQL như
một server quản lí dữ liệu được ưu tiên.

13


Dễ dàng quản lý
MySQL trình diễn khả năng cài đặt nhanh đặc biệt với thời gian ở mức
trung bình từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mất chưa đầy
15 phút. Điều này đúng cho dù flatform là Microsoft Windows, Linux, Macintosh
hay Unix. Khi đã được cài đặt, tính năng tự quản lý như tự động mở rộng không
gian, tự khởi động lại, và cấu hình động sẵn sàng cho người quản trị cơ sở dữ liệu
làm việc. MySQL cũng cung cấp một bộ hoàn thiện các công cụ quản lý đồ họa
cho phép một DBA quản lý, sửa chữa, và điều khiển hoạt động của nhiều server
MySQL từ một máy trạm đơn. Nhiều công cụ của các hãng phần mềm thứ 3 cũng

có sẵn trong MySQL để điều khiển các tác vụ từ thiết kế dữ liệu và ETL, đến việc
quản trị cơ sở dữ liệu hoàn thiện, quản lý công việc, và thực hiện kiểm tra.
Mã nguồn mở tự do và hỗ trợ 24/7
Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho phần mềm mã
nguồn mở vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn
phục vụ chuyên nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để chắc chắn
về sự thành công toàn diện cho các ứng dụng chủ chốt của họ. Những lo lắng của
họ có thể được dẹp bỏ với MySQL, sự bồi thường là có trong mạng lưới MySQL.
Tổng chi phí thấp nhất
Bằng cách sử dụng MySQL cho các dự án phát triển mới, các công ty đang
thấy rõ việc tiết kiệm chi phí. Được hoàn thành thông qua sử dụng server cơ sở dữ
liệu MySQL và kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể
đạt được ở mức ngạc nhiên về khả năng xử lý. Thêm vào đó, tính tin cậy và dễ duy
trì của MySQL ở mức trung bình mà người quản trị cơ sở dữ liệu không phải mất
nhiều thời gian sửa chữa hay vấn đề thời gian chết.
1.3.2.2 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
 Loại dữ liệu numeric: bao gồm kiểu số nguyên và kiểu số chấm động.

14


 Kiểu dữ liệu số nguyên:

Loại
Tinyint

Range
-127 -> 128 hay 0..255

Byte

1

Diễn Giải
Số nguyên rất nhỏ

Smallint

-32768 -> 32767 hay
0..65535

2

Số nguyên nhỏ

Mediumint

-8388608 -> 838860 hay
0..16777215

3

Số nguyên vừa

Int

-231 -> 231 – 1 hay 0..231 -1

4

Số nguyên


Bigint

-263 -> 263 – 1 hay 0..264-1

8

Số nguyên lớn

 Kiểu dữ liệu số chấm động:

Loại

Range

Byte

Diễn Giải

Float

Phụ thuộc số thập phân

4

Số thập phân
dưới dạng
Single hay
Double
Số thập phân

dưới dạng
Single

Float(M,D)

Double(M,D)

± 1.175494351E -38
± 3.40282346638

2

±1.7976931348623157308
±2.2250738585072014E -308

8

Float(M[,D])
15

Số thập phân
dạng Double

Số châm động
lưu dưới dạng
char

 Loại dữ liệu kiểu Date and Time
Kiểu dữ liệu Date and Time cho phép bạn nhập dữ liệu dưới dạng chuỗi



Time

00:00:00

2

23:59:59
Datetime

TimeStamp[(M)]

Time trình bày dưới
dạng hh:mm:ss

100-01-01

8

Date và Time trình

00:00:00

bày dưới dạng

9999-12-31

yyyy-mm-dd hh-mm-

23-59-59


ss

1970-01-01

TimeStamp trình bày

00:00:00

dưới dạng
yyyy-mm-dd hh-mmss

Yaer[(2|4)]

1970-2069

Year trình bày dưới

1901-2155

dạng 2 số hay 4 số

16


Trình bày đại diện của Stamp
Loại hiển thị
TimeStamp YYYYMMDDHHSS
TimeStamp(14) YYYYMMDDHHMMSS
TimeStamp(12) YYDDMMHHMMSS

TimeStamp(10) YYMMDDHHMM
TimeStamp(8) YYYYMMDD
TimeStamp(6) YYMMDD
TimeStamp(4) YYMM
TimeStamp(2) YY
Y= năm, M = tháng, d = ngày, H = giờ, M = phút, S = giây
 Loại dữ liệu String
Kiểu dữ liệu String chia làm 3 loại: Loại thứ nhất như char( chiều dài cố
định) và varchar( chiều dài biến thiên); loại thức hai là Text hay Blob, Text cho
phép lưu chuỗi rất lớn, Blob cho phép lưu đối tượng nhị phân; loại thứ ba là Enum
và Set.
1.3.3 Các hàm thông dụng trong MySQL
 Các hàm trong phát biểu GROUP BY
 Hàm AVG: Hàm trả về giá trị bình quân của cột hay trường trong câu truy
vấn.
 Hàm MIN: Hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truy
vấn.
 Hàm MAX: Hàm trả về giá trị lớn nhất của cột hay trương trong câu truy
vấn.
 Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn.
 Hàm SUM: Hàm trả về tổng các giá trị của trường, cột trong câu truy vấn.
17


 Các hàm xử lý chuỗi:
 Hàm ASCII: Hàm trả về giá trị mã ASCII của ký tự bên trái chuỗi.
 Hàm Char: Hàm này chuyển đổi kiểu mã ASCII từ số nguyên sang dạng
chuỗi.
 Hàm UPPER: Hàm này chuyển đổi chuỗi sang kiểu chữ hoa.
 Hàm LOWER: Hàm này chuyển đổi chuỗi sang kiểu chữ thường.

 Hàm LEN: Hàm này trả về chiều dài chuỗi.
 Thủ tục LTRIM: Thủ tục loại bỏ khoảng trắng bên trái của chuỗi…
1.4. Sự kết hợp PHP và MySQL
PHP kết hợp với MySQL sẽ tạo ra các ứng dụng chéo nền (cross-platform),
nghĩa là, bạn có thể phát triển ứng dụng trên Windows, và máy chủ là Unix.
1.4.1 Các tính năng chính:
 Sao lưu: Tạo các bản sao lưu của file và các CSDL, phục hồi file và CSDL
trên máy chủ từ một bản sao lưu, ví dụ từ máy tính cá nhân của người dùng.
 Mail:
 Quản lý các tài khoản.
 Tạo, xáo các tạo khoản POP3, thay đổi mật khẩu và định mức tài nguyên sử
dụng.
 Cấu hình tự động hoặc hướng dẫn cấu hình bằng tay cho trình duyệt mail ở
máy khách như Microsoft Outlook, Microsoft Outlook Express…
 Hệ thống trả lời tự động, bộ lọc, danh sách từ chối. Tạo, xóa hoặc thay đổi.
 Bộ lọc Spam Assassin.
 Thay đổi bản ghi MX đối với mỗi tên miền.
 Thống kê:
3 chương trình thống kê: Webalizer Web Stats, AWStats, Analog Stats.
 Thống kê theo tên miền phụ.

18


 Xem danh sách 300 khách ghé thăm website gần nhất bao gồm thông tin: IP,
thời gian và nơi truy cập, trình duyệt nào và hệ điều hành khách viếng thăm
sử dụng.
 Xem băng thông đã sử dụng.
 Xem nhật ký lỗi của các ngôn ngữ web phục vụ cho công tác bảo trì và sửa
lỗi.

 Xem nhật ký của dịch vụ Apache, có thể tải về.
 FTP:
 Tạo, xóa tài khoản FTP. Thay đổi mật khẩu và thư mục có thể truy cập với
từng tài khoản.
 Quản lý truy cập nặc danh (anonymous access).
 Quản lý phiên làm việc FTP.
 Thay đổi thông điệp hiển thị trên nhật ký FTP.


19


5. Quản lý cơ sở dữ liệu MySQL & PostgreSQL
 Tạo, xóa cơ sở dữ liệu.
 Tạo, xóa tài khoản truy cập cơ sở dữ liệu.
 Trình quản lý cơ sở dữ liệu PHPMyAdmin.
1.4.2 Các tính năng khác:
 Quản lý các tên miền thêm vào.
 Trình quản lý file.
 Không thật sự thuận lợi và dễ dùng nhưng một loạt các tiện ích có nhiều tính
năng rất đáng sử dụng như trình soạn thảo, làm việc với file nén…
 Tiện ích thống kê dụng lượng đã sử dụng và chi tiết tới từng cấp thư mục.
 Đặt mật khẩu truy cập cho từng thư mục.
 Quản lý tên miền phụ bao gồm cả liên kết tên miền phụ tới tên miền khác.
 Quản lý các trang thông báo lỗi của website như
 400 (Yêu cầu sai)
 401 (Yêu cầu xác thực trước khi truy cập)
 403 (Cấm truy cập).
 404 (Trang được yêu cầu không tồn tại)
 500 (Có lỗi xảy ra trên máy chủ khi xử lý yêu cầu)

 Chương trình Java xây dựng sẵn dành cho truy cập bằng SSH.
 Liên kết một thư mục tới một tên miền khác.
 Quản lý các phần mở rộng của FrontPage.
 Lịch trình chạy lệnh. Cho phép thiết lập các tác vụ định kỳ.
 Quản lý các định nghĩa loại file của Apache.
 Chống việc sử dụng các file của tài khoản từ các website khác.
 Chống việc truy cập site thông qua các địa chỉ IP
20


 Cài đặt giao thức SSL.
 Quản lý khóa PGP.
 Tiện ích hỗ trợ tìm kiếm trên hệ thống.
 Tài liệu trực tuyến cũng được cung cấp sẵn.
1.4.3 Các kịch bản thiết lập sẵn:
 Simple CGI Wrapper
 Random HTML – Tự động chèn mã HTML định sẵn vào các file html.
 Simple GuestBook.
 Advanced GuestBook
 Counter – Bộ đếm khách ghé thăm website và số trang khách xem.
 Clock-Java
 Countdown - the timer - Đồng hồ đếm ngược.
 CGI mail – Chương trình gửi email viết bằng CGI
 Entropy Banner – hệ thống quản lý banner đơn giản.
 FormMail Clone – form liên hệ đơn giản.
 Entropy Search – Bộ máy tìm kiếm xây dựng sẵn.
 PhpBB – Một mã nguồn diễn đàn miễn phí.
 Hai mã nguồn bán hàng trực tuyến: Interchange và Agora

21



Chương 2.
PHÂN TÍCH THIẾT KẾ
2.1 Xác định các nhóm chức năng của hệ thống
 Chức năng của hệ thống có thể chia làm các nhóm chức năng chính như
sau:
 Nhóm chức năng đăng ký, đăng nhập thành viên
 Nhóm chức năng xem thông tin, bao gồm xem thông tin giỏ hàng, xem
thông tin đơn hàng, xem thông tin sản phẩm, xem thông tin cá nhân
 Nhóm chức năng quản lý thông tin, bao gồm quản lý thông tin cá nhân,
quản lý danh sách thành viên, quản lý danh mục sản phẩm
 Nhóm chức năng mua hàng, tiếp nhận và xử lý đơn hang
 Xác định các tác nhân
Dựa vào mô tả bài toán, ta có thể xác định được các tác nhân chính của hệ
thống như sau:
 KHÁCH HÀNG: là người giao dịch với hệ thống thông qua các đơn đặt
hàng, khách hàng có thể chọn các loại sản phẩm, chọn địa điểm và thời gian
giao hàng. Khách hàng có thể đăng ký làm thành viên của hệ thống.
 NGƯỜI QUẢN LÝ: là người điều hành, quản lý và theo dõi mọi hoạt động
của hệ thống.
 NHÂN VIÊN: là người tiếp nhận và xử lý các đơn hàng, các yêu cầu bảo
hành do người quản lý giao.
 THÀNH VIÊN: bao gồm người quản lý, nhân viên và những khách hàng
đã đăng ký. Sau khi đăng nhập để trở thành thành viên, ngoài những chức
năng chung của người sử dụng, còn có thêm một số chức năng khác phục
vụ cho công việc cụ thể của từng đối tượng. Theo tính chất của các Actor,
ta có thể tổng quát hoá chúng như sau
22



Hình 2.1: Mối quan hệ giữa các tác nhân
2.2. Xác định các use case, các gói uc và xây dựng biểu đồ uc chi tiết
2.2.1. Xác định các Use case
- Tác nhân Khách hàng có các UC sau:
 Đăng ký làm thành viên
 Xem thông tin sản phẩm
 Xem thông tin giỏ hàng
 Chọn sản phẩm cần mua
 Thêm, bớt sản phẩm trong giỏ hàng
 Thực hiện việc mua hàng
 Thanh toán
- Tác nhân Người quản lý có các UC sau:
 Tiếp nhận đơn hàng Giao cho nhân viên thực hiện
 Quản lý danh sách thành viên
 Quản lý danh mục sản phẩm
- Tác nhân Nhân viên có các UC sau:
23


 Thực hiện việc giao hàng
 Thực hiện việc bảo hành sản phẩm
 Báo cáo kết quả
 Ngoài ra, các thành viên của hệ thống bao gồm người quản lý,
nhân viên và các khách hàng đã đăng ký làm thành viên còn có
các
 UC sau: Đăng nhập
 Xem thông tin cá nhân Sửa đổi thông tin cá nhân
2.2.2. Biểu đồ do UC tổng quát
Xác định các gói UC, biểu đồ UC chi tiết Từ việc phân tích các UC của

từng tác nhân, ta xây dựng thành các gói UC như sau:
1 UC Đăng ký, đăng nhập

Hình 2.2 UC đăng nhập
2 UC quản lý thông tin cá nhân
24


Hình 2.3 UC quản lý thông tin

3 UC quản lý danh sách thành viên

25


×