Tải bản đầy đủ

Xây dựng website quản lý kho cho mobifone thái nguyên

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-------------------------------------------

NGUYỄN THỊ THU THẢO

XÂY DỰNG WEBSITE QUẢN LÝ KHO
CHO MOBIFONE THÁI NGUYÊN

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN

THÁI NGUYÊN, NĂM 2016


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-------------------------------------------

Ảnh 3 x 4


ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Công nghệ thông tin
Đề tài:

XÂY DỰNG WEBSITE QUẢN LÝ KHO
CHO MOBIFONE THÁI NGUYÊN

Sinh viên thực hiện

: Nguyễn Thị Thu Thảo

Lớp

: CNTTK10D

Giảng viên hướng dẫn

: TS. Vũ Vinh Quang

Thái Nguyên, năm 2016


LỜI NÓI ĐẦU
Trong thời đại ngày nay công nghệ thông tin đóng vai trò quan trọng trong sự
phát triển của xã hội. Công nghệ thông tin đã trở thành nhân tố quan trọng, là cầu
nối trao đổi giữa các thành phần của xã hội toàn cầu, của mọi vấn đề .
Những năm gần đây với sự phát triển mạnh mẽ của công nghệ thông tin các
website tin tức được hình thành ngày càng nhiều, phổ biến rất rộng rãi trên toàn thế
giới. Đây là một lĩnh vực không hề mới và lĩnh này cũng mang lại được những hiệu
quả nhất định cho nền kinh tết và phát triển.Các công ty, doanh nghiêp, trường học
cửa hàng, thậm chí là cá nhân đều có website riêng cho mình nhằm quảng bá tuyên
truyền và giới thiệu đến với mọi người.
Với mục đích chính là tìm hiểu về internet, website và thực hành phân tích
thiết kế trên nền web em đã lựa chọn đề tài “Xây dựng website quản lý kho cho
Mobifone Thái Nguyên”, nhằm giúp cho việc quản lý được dễ dàng hơn, tốn ít
nhân lực nhất, mang lại kết quả chính xác nhất, chạy được trên nhiều hệ điều hành
khác nhau và có thể quản lý các mặt hàng mọi lúc mọi nơi.
Em xin chân thành cảm ơn!


1


LỜI CÁM ƠN
Em xin chân thành cảm ơn Trường Đại Học Công Nghệ Thông Tin Và Truyền
Thông – Đại học Thái Nguyên đã tạo điều kiện cho em thực hiện bài đồ án tốt
nghiệp này. Em xin chân thành cảm ơn thầy giáo TS. Vũ Vinh Quang đã tận tình
hướng dẫn chỉ bảo em trong suốt thời gian thực hiện đề tài. Em cũng xin chân thành
cảm ơn các thầy cô giáo trong khoa đã tận tình giảng dạy, trang bị cho chúng em
những kiến thức cần thiết trong suốt quá trình học tập tại trường.
Mặc dù đã cố gắng hoàn thành bài thưc tập với tất cả những nỗ lực của bản
thân, xong không tránh khỏi những thiếu sót, kính mong nhận được sự đóng góp ý
kiến và tận tình chỉ bảo của các thầy cô giáo để đề tài thực tập của em được hoàn
thiện hơn.

Em xin chân thành cảm ơn !
Thái nguyên, tháng 06 năm 2016
Sinh viên thực hiện

Nguyễn Thị Thu Thảo

2


MỤC LỤC
LỜI NÓI ĐẦU ........................................................................................................1
LỜI CÁM ƠN .........................................................................................................2
MỤC LỤC ..............................................................................................................3
CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT .......................................................................5
1.1 Tìm hiểu về ngôn ngữ PHP, hệ quản trị cơ sở dữ liệu My SQL .............................. 5
1.1.1 Giới thiệu và sử dụng PHP ......................................................................5
1.1.2 Giới thiệu MySQL................................................................................13
1.2 Tìm hiểu về thương mại điện tử và mạng máy tính ................................................... 17
1.2.1 Giới thiệu về thương mại điện tử ...........................................................17
1.2.2 Một số ứng dụng của thương mại điện tử...............................................18
1.3 Sử dụng WebServer ................................................................................................................... 21
CHƯƠNG 2 : KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG.......................26
2.1. Khảo sát hệ thống ...................................................................................................................... 26
2.1.1. Khảo sát thực tế cửa hàng .....................................................................26
2.1.2. Quá trình quản lý ..................................................................................26
2.1.3. Những tồn tại và hướng khắc phục .......................................................27
2.1.4. Yêu cầu của hệ thống...........................................................................27
2.2.Biểu đồ use case:......................................................................................................................... 28
2.2.1. Các tác nhân: ........................................................................................28
2.2.2 Xây dựng use case : ...............................................................................29
2.2.3 Biểu đồ trạng thái: .................................................................................34
2.3 Thiết kế quản lý bán hàng: ..................................................................................................... 34
2.3.1 Biểu đồ tuần tự: ...................................................................................34
2.4 Biểu đồ ca sử dụng: ................................................................................................................... 41
2.4.1 Đăng nhập: ............................................................................................41
2.4.2 Nhập – Xuât hàng:.................................................................................41
2.4.3 Lập hóa đơn:..........................................................................................42
2.4.4 Thống kê: ..............................................................................................42
2.5 Sơ đồ thực thể liên kết:.................................................................................43
CHƯƠNG 3 MỘT SỐ GIAO DIỆN CHÍNH CỦA CHƯƠNG TRÌNH .....................44

3


3.1 Giao diện đăng nhập .................................................................................................................. 44
3.2 Giao diện trang chủ .................................................................................................................... 44
3.3 Giao diện giới thiệu ................................................................................................................... 45
3.4 Giao diện cập nhật nhân viên ................................................................................................ 45
3.5 Giao diện sửa thông tin nhân viên ....................................................................................... 46
3.6 Giao diện thêm mới nhân viên .............................................................................................. 46
3.7 Giao diện cập nhật khách hàng ............................................................................................. 46
3.8 Giao diện sửa thông tin khách hàng ................................................................................... 47
3.9 Giao diện thêm mới khách hàng .......................................................................................... 47
3.10 Giao diện danh sách nhà cung cấp .................................................................................. 47
3.11 Giao diện sửa thông tin nhà cung cấp ............................................................................. 48
3.12 Giao diện thêm nhà cung cấp.............................................................................................. 48
3.13 Giao diện cập nhật kho hàng ............................................................................................... 48
3.14 Giao diện sửa thông tin kho hàng ..................................................................................... 49
3.15 Giao diện thêm mới kho hàng ............................................................................................ 49
3.16 Giao diện cập nhật hàng hóa ............................................................................................... 49
3.17 Giao diện sửa thông tin hàng hóa...................................................................................... 50
3.18 Giao diện thêm mới hàng hóa ............................................................................................. 50
3.19 Giao diện quản lý nhập .......................................................................................................... 50
3.20 Giao diện thêm mới hóa đơn nhập.................................................................................... 51
3.21 Giao diện chi tiết hóa đơn nhập ......................................................................................... 51
3.22 Giao diện quản lý xuất ........................................................................................................... 52
3.23 Giao diện thêm hóa đơn xuất ............................................................................................. 52
3.24 Chi tiết hóa đơn xuất............................................................................................................... 52
3.25 Giao diện thống kê hàng tồn,thực ..................................................................................... 53
3.26 Giao diện thống kê hàng hóa ............................................................................................. 53
3.27 Giao diện thống kê nhà cung cấp ...................................................................................... 53
3.28 Giao diện thống kê khách hàng .......................................................................................... 54
KẾT LUẬN...........................................................................................................55
TÀI LIỆU THAM KHẢO .....................................................................................56
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN....................................................57

4


CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT
1.1 Tìm hiểu về ngôn ngữ PHP, hệ quản trị cơ sở dữ liệu My SQL
1.1.1 Giới thiệu và sử dụng PHP
1.1.1.1 Giới thiệu
a) Lịch sử ra đời:
Năm 1995, Rasmus Lerdorf tạo ra PHP nhằm giải quyết việc viết lặp đi lặp lại
cùng đoạn mã khi tạo các trang. Ban đầu tác giả chỉ có ý định tạo bộ phân giải đơn
giản để thay thế các thẻ lệnh trong file HTML bằng các đoạn mã lệnh viết bằng C.
b) PHP là gì?
Vì tính hữu dụng, khả năng phát triển, PHP đã bắt đầu được sử dụng trong môi
trường chuyên nghiệp và nó đã trở thành “PHP: Hypertext Preprocessor”. Đây là
một ngôn ngữ kịch bản mã nguồn mở sử dụng cho mục đích chung, đặc biệt thích
hợp cho phát triển Web và có thể nhúng vào HTML. “PHP nhúng trong HTML”, có
nghĩa là PHP có thể được rải rác trong HTML, giúp cho việc phát triển các website
động được dễ dàng. PHP là một ngôn ngữ kịch bản (scripting language). Khác với
ngôn ngữ lập lập trình, PHP được thiết kế để chỉ thực hiện điều gì đó sau khi một sự
kiện xảy ra (ví dụ, khi người dùng gửi một biểu mẫu hoặc chuyển tới một URL).
PHP là một công nghệ phía máy chủ (server – side) và không phụ thuộc môi
trường (cross-platfom). Cả hai yếu tố này đều rất quan trọng. Khái niệm công nghệ
phía máy chủ nói đến việc mọi thứ trong PHP đều xảy ra trên máy chủ (ngược với
máy khách là máy của người dùng). Tính chất không phụ thuộc môi trường cho
phép PHP chạy trên hầu hết các hệ điều hành như windows, Unix (và nhiều biến thể
của nó), Macintosh…Một điều cũng rất quan trọng là các mã kịch bản PHP viết trên
máy chủ này sẽ làm việc bình thường trên các máy chủ khác mà không cần chỉnh
sửa hoặc chỉnh sửa rất ít.
Mã PHP được thực thi ở phía Server, khi trình duyệt của người dùng truy cập
một trang web có chứa một đoạn mã PHP thì trình duyệt nhận được trang kết quả đã
xử lý từ Web server, người dùng sẽ không thể biết được đoạn mã viết gì. Mã PHP
được bao trong cặp dấu hoặc . Tập tin PHP có phần mở rộng là .php
hoặc .php3

5


PHP tương tự JSP và ASP với tập thẻ lệnh dùng cho trang HTML. Điểm đặc
biệt là PHP được phát triển hoàn toàn cho nền tảng web, chính vì vậy, mà các ứng
dụng viết bằng PHP rất ngắn gọn so với VBScript hay JSP. Đây cũng chính là điểm
mạnh của PHP so với Perl.
Cú pháp PHP mượn từ nhiều ngôn ngữ khác như C, Java, Perl... PHP có thể
giao tiếp với nhiều hệ CSDL như MySQL, MS Access, Sybase, Oracle và cả
Microsoft SQL. Không chỉ có khả năng thao tác CSDL, PHP còn có nhiều khả
năng khác như IMAP, SNMP, LDAP, XML... PHP chạy trên hầu hết các nền
tảng hệ thống. Trình máy chủ phân giải mã lệnh PHP có thể tải về miễn phí từ
trang web chính thức của PHP.
Có lẽ yếu tố hấp dẫn nhất của PHP là nó hoàn toàn miễn phí. Với máy tính cấu
hình vừa phải chạy Linux, cài đặt Apache, PHP và MySQL, bạn sẽ có máy chủ có
thể phục vụ được nhiều ứng dụng web tương đối. Toàn bộ chi phí hầu như chỉ là
thời gian bạn bỏ ra để cài đặt các phần mềm.
PHP được xem là một thay thế cho Perl. PHP không thể làm được nhiều như
Perl, thế nhưng chính sự hạn chế này làm cho PHP dễ học và dễ dùng.
Nhiều nhà phát triển dùng kết hợp cả hai: Perl dùng cho những tác vụ chạy bên
dưới còn PHP dùng cho việc xử lý bề mặt. Komodo của Active State Corp là công
cụ miễn phí dùng để phát triển trang PHP.
c) Tại sao cần dùng PHP?
PHP được sử dụng để phát triển website động vì nó tốt, nhanh và dễ dàng
nghiên cứu hơn các giải pháp khác. PHP có khả năng thực hiện và tích hợp chặt chẽ
với hầu hết các cơ sở dữ liệu có sẵn, tính năng bền vững linh động và khả năng phát
triển không giới hạn. Tất cả các đặc tính trên đều miễn phí vì PHP là mã nguồn mở.
PHP vừa dễ với người mới sử dụng và vừa có khả năng làm được mọi thứ, đáp ứng
yêu cầu của lập trình viên chuyên nghiệp.
PHP được sử dụng càng ngày càng nhiều và mới đây đã bắt kịp ASP (vốn
được xem là ngôn ngữ kịch bản phổ biến nhất hiện nay). PHP là modun thông dụng
cho Apache (máy chủ Web phổ biến nhất) và nó đã có mặt trên 12 triệu website

6


1.1.1.2 Sử dụng PHP
a) Thẻ PHP
Có 4 loại khác nhau của thẻ PHP:
- Kiểu Short: là thẻ mặc định mà các nhà lập trình PHP thường sử dụng.

- Kiểu định dạng XML: thẻ này có thể sử dụng với văn bản dạng XML.

- Kiểu Script: trong trường hợp muốn sử dụng PHP như một script tương tự
như khai báo Javascript hay VBScript

-

Kiểu ASP:

<% echo “Đây là kiểu ASP”; %>
b) Gọi hàm trong PHP
Để gọi hàm trong PHP, khai báo tương tự như gọi hàm trong các ngôn ngữ lập
trình khác, hầu hết các hàm khi gọi cần truyền tham số và giá trị trả về.
VD: Gọi hàm date()S

c) Truy cập biến Form
Thông thường khi cần lấy dữ liệu của người dùng nhập, chúng ta sẽ dùng thẻ
form trong trang web nhằm ràng buộc tất cả các thẻ input, selec, textarea...
Dữ liệu đến từ script đều là biến PHP, chúng ta có thể nhận biết chúng bằng
cách sử dụng dấu $ trước tên biến. Có hai cách để truy cập dữ liệu trên form thông
qua biến.
- Để lấy giá trị của các thẻ trong form theo dạng POST: $_POST[‘ tên_thẻ’].
- Để lấy giá trị của các thẻ trong form theo dạng GET: $_GET[‘tên_thẻ’]
d) Khai báo biến
PHP Engine không cần yêu cầu khai báo biến trước khi sử dụng, tuy nhiên nên
tập thói quen khai báo và khởi tạo giá trị ban đầu cho biến trước khi sử dụng chúng.

7


e) Gán giá trị cho biến
Để gán giá trị cho biến, nếu biến đó chưa khai báo trước đó, biến này được coi
như vừa khai báo và khởi tạo. Trong trường hợp biến đã khai báo, biến này chỉ thay
đổi giá trị.
VD: $qtty=20;
$price=10;
$total=$qtty*$price;
echo “Total: $total”;
?>
f) Kiểu dữ liệu của biến trong PHP
PHP hỗ trợ 5 kiểu dữ liệu
- Interger: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số.
- Double: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số thực.
- String: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là chuỗi, ký tự.
- Array: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là mảng có các phần tử
cùng kiểu dữ liệu.
- Object: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là đối tượng của lớp.
g) Toán tử trong PHP
* Các phép toán số học
Toán tử

Tên

Ví dụ

+

Cộng

$a + $b;

-

Trừ

$a - $b;

*

Nhân

$a*$b;

/

Chia

$a/$b;

%

Modulo

$a%$b;

8


* Các phép toán so sánh
Phép toán

Sử dụng

Ý nghĩa so sánh

==

$a= =$b

===

$a = = = $b

!=

$a!=$b

$a không bằng $b

<>

$a<>$b

$a không bằng $b

<

$a<$b

$a nhỏ hơn $b

<=

$a<=$b

$a nhỏ hơn hoặc bằng $b

>

$a>$b

$a lớn hơn $b

>=

$a>=$b

$a lớn hơn hoặc bằng $b

$a bằng $b
$a bằng và cùng kiểu dữ liệu với $b

* Các phép logic
Phép toán Ký hiệu

Sử dụng

!

NOT

!$a

&&

AND

$a && $b

||

OR

$a || $b

And

AND

$a and $b

Or

OR

$a or $b

Ý nghĩa
Phép toán phủ định
Trả về true nếu cả hai biến có giá trị
true. Ngược lại là false.
Trả về true nếu $a hay $b hay cả hai biến
có giá trị true
Trả về true nếu cả hai biến có giá trị
true. Ngược lại là false.
Trả về true nếu $a hay $b hay cả hai biến
có giá trị true.

h) Kiểm tra biến trong PHP
- is_array(): Kiểm tra biến là array hay không.
- is_double(): Kiểm tra biến là double hay không.
- is_float(): Kiểm tra biến là float hay không.
- is_real(): Kiểm tra biến là real hay không.
- is_long(): Kiểm tra biến là long hay không.
- is_int(): Kiểm tra biến là int hay không.
- is_interger(): Kiểm tra biến là integer hay không.
9


- is_string(): Kiểm tra biến là string hay không.
- is_object(): Kiểm tra biến là object hay không.
- isset(): Nếu biến tồn tại hàm trả về giá trị true, ngược lại trả về false.
- empty(): Cho phép kiểm tra biến tồn tại và không rỗng, có chiều dài khác 0
trả về true, ngược lại là false.
Để sử dụng tất cả các hàm trên, cần phải truyền vào hàm biến PHP
dưới dạng tham số.
i) Phát biểu có điều khiển
- Phát biểu If: Phát biểu if với một điều kiện, nếu điều kiện là true thì khối lệnh
trong phát biểu If sẽ được thực hiện, điều kiện được khai báo trong dấu ()
VD: $a = 10;
$b=6;
if($a>$b)
echo $a+$b;
Khối lệnh trong bất kỳ phát biểu điều khiển nào cũng có thể sử dụng dấu { và
}. Có nghĩa là nếu khối lệnh trong phát biểu lớn hơn 1 thì phải sử dụng hai dấu trên.
- Phát biểu Else: phát biểu else luôn là trường hợp ngược lại của phát biểu if
với một điều kiện, nếu điều kiện là true thì khối lệnh trong
phát biểu if sẽ được thực hiện, ngược lại khối lệnh trong phát biểu
else sẽ được thực hiện.
VD: $a = 10;
$b=6;
if($a>$b) echo $a+$b;
else
$b=$a+1;
Tương tự như trong trường hợp phát biểu if, nếu khối lệnh trong phát biểu điều
khiển else có hơn 1 dòng lệnh thì sẽ phải khai báo sử dụng dấu { và }.
- Phát biểu Switch: tương tự như phát biểu if, nhưng trong trường hợpcó nhiều
hơn hai tùy chọn cụ thể cho phép quyết định. VD: switch($diem)
{
case “5”: echo “Điểm trung bình”;

10


break;
case “7”: echo “Điểm khá”;
break;
case “10”: echo “Điểm giỏi”;
break;
deafault: echo “Nhập lại”;
}
Nếu đúng điều kiện case, cần khai báo phát biểu break nhằm thoát ra khỏi phát
biểu switch. Trong trường hợp không khai báo break trong mỗi phát biểu case, nếu
thỏa mãn điều kiện trong case nhưng PHP vẫn tiếp tục thực hiện tiếp các phát biểu
case sau đó.
- Phát biểu While: phát biểu vòng lặp đơn giản nhất trong PHP là vòng lặp
while cho phép bạn thực thi khối lệnh trong while cho đến khi điều kiện của while
là true như cú pháp
While (điều kiện)
{
câu lệnh thực hiện;
}
- Phát biểu do ... while: tương tự như while nhưng kiểm tra điều kiện sau khi
thực hiện khối lệnh.
do
{
câu lệnh thực hiện;
}
while (điều kiện)
- Phát biểu vòng lặp for: tương tự như trong phát biểu while, có thể sử dụng
vòng lặp for với 1 giới hạn chỉ định.
for (giá trị khởi đầu; điều kiện giới hạn; giá trị lặp của vòng lặp for)
{
khối lệnh thực hiện;
}

11


j) Lưu trữ và truy vấn dữ liệu bằng PHP
- Mở file bằng PHP:
+ fopen(tên file, chế độ mở): mở file
+ puts(), fwrite(): ghi file
+ close(): Đóng file
+ feof(): Nhận giá trị true nếu con trỏ ở cuối file
+ file_exists(): Kiểm tra file có tồn tại
+ filesize(): kiểm tra dung lượng của file
Chế độ mở file:
Mode

Diễn giải

R

Mở dưới dạng Read-Only

R+

Mở dưới dạng Read-Write

W

Mở dưới dạng Write-Only

W+

Mở dưới dạng Write-Read. Nếu file này tồn tại, nội dung sẽ bị xóa,
nếu không tồn tại chúng sẽ được tạo ra.
Mở dưới dạng append dữ liệu (write), nếu nội dung tồn tại, bắt đầu

A

cuối cùng của nội dung, dữ liệu sẽ được ghi tiếp phần cuối,
trong trường hợp file không tồn tại chúng sẽ được tạo ra.
Mở dưới dạng append dữ liệu (write & read), nếu nội dung tồn tại, bắt

A+

đầu phần đầu của nội dung, dữ liệu sẽ được ghi tiếp phần đầu, trong
trường hợp file không tồn tại chúng sẽ được tạo ra.

- Thiết lập kết nối cơ sở dữ liệu
Để kết nối cơ sở dữ liệu MySQL, cần cung cấp tên Server hay IP (có thể là
localhost) của máy chứa cơ sở dữ liệu MySQL, Username và Password để đăng
nhập làm việc trên cơ sở dữ liệu được mở.

12


- Thiết lập kết nối:
Int mysql_pcconnect(“serverbname”, “username”, “password”);
if(!$db)
{ echo “Không kết nối được với CSDL”); }
hoặc
$link = mysql_connect(“servername”, “username”, “password”)
or die(“Không kết nối được với CSDL”);
-

Mở

một

CSDL:

mysql_select_db(“database

name”);

hoặc

mysql_select_db(“database name”, $link);
- Đóng kết nối cơ sở dữ liệu: mysql_close(database_connection);
- Truy vấn cơ sở dữ liệu:
Int mysql_query(string sql);
Int mysql_query(string sql, [int db_connect]);
Int mysql_query(string database, string sql, [int db_connect]);
Số lượng mẩu tin: mysql_num_rows(); Cho biết số lượng mẩu tin câu
truy vấn trả về
- Truy vấn dữ liệu:
Int mysql_fetch_array($result); Mysql_fetch_object($result);
- Dung lượng của tập mẩu tin: int mysql_free_result(int $result);
1.1.2 Giới thiệu MySQL
1.1.2.1 MySQL là gì?
MySQL là cơ sở dữ liệu phổ biến nhất thế giới, một số người còn cho rằng đây
là cơ sở dữ liệu mã nguồn mở tốt nhất. Thật vậy, từ khi phiên bản 4 bổ sung thêm một
vài đặc điểm mới thì MySQL đã trở thành đối thủ của những người khổng lồ đắt giá như
Oracle và SQL Server của Microsoft. Giống như PHP, MySQL có một khả năng thực thi
hoàn hảo, rất linh động, đáng tin cậy, dễ nắm bắt và ít chi phí hoặc miễn phí.
MySQL được phát triển và hỗ trợ bởi công ty MySQL AB của Thụy Điển.
Nó là hệ thống quản trị cơ sở dữ liệu (DBMS) cho các cơ sở dữ liệu quan hệ (vì
vậy, MySQL là một RDBMS). Cơ sở dữ liệu là một tập hợp các dữ liệu có liên
quan với nhau, có thể là văn bản, số hoặc các tập tin nhị phân được lưu trữ có tổ
chức bởi DBMS.

13


Có nhiều loại cơ sở dữ liệu, từ các tập tin đơn giản đến các tập tin quan hệ và
hướng đối tượng. Một cơ sở dữ liệu quan hệ sử dụng nhiều bảng để lưu trữ thông tin
trong những phần riêng biệt. Trước 1970, cơ sở dữ liệu trông giống như các bảng
tính lớn, đơn giản và lưu trữ mọi thứ. Các cơ sở dữ liệu quan hệ đòi hỏi phải tập
trung suy nghĩ nhiều hơn trong giai đoạn thiết kế và lập trình, nhưng chúng có độ
tin cậy và tính toán vẹn toàn dữ liệu tốt hơn. Ngoài ra, các cơ sở dữ liệu có thể thực
hiện việc tìm kiếm và cho phép nhiều người sử dụng cùng một lúc.
Có thể download tại website www.mysql.com qua mạng internet.
1.1.2.2 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
a) Loại dữ liệu numeric
Loại
Tinyint

Range
-127 ->128 hay 0..255

Bytes
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

3

Số nguyên vừa

Int

0..16777215
-231 -> 231 hay 0..232-1

4

Số nguyên

Bigint

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

8

Float

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

Số nguyên lớn
Số thập phân dạng

Float(M,D)

Double(M,D)

±1.175494351E-38
±3.40282346638
±1.7976931348623157308
±2.2250738585072014E-308

Single hay Double
4

8

Số thập phân dạng
Single
Số thập phân dạng
Double
Số chấm động lưu

Float(M[,D])

dưới dạng char

14


b) Loại dữ liệu Date and Time
Loại
Date

Range
1000-01-01
00:00:00

Time

23:59:59

DateTime

TimeStamp[(M)]

Year[(2|4)]

Diễn giải
Date trình bày dưới dạng YYYY-mmdd
Time trình bày dưới dạng hh:mm:ss

1000-01-01

Date và Time trình bày dưới dạng

00:00:00

YYY-mm-dd hh:mm:ss

9999-12-31
1970-01-01

TimeStamp

00:00:00

YYYY-mm-dd hh:mm:ss

1970-2069
1901-2155

trình

bày

dưới

dạng

Year trình bày dưới dạng 2 số hay 4 số

Trình bày đại diện của TimeStamp
Loại

Hiển thị

TimeStamp

YYYYMMDDHHMMSS

TimeStamp(14)

YYYYMMDDHHMMSS

TimeStamp(12)

YYMMDDHHMMSS

TimeStamp(10)

YYMMDDHHMM

TimeStamp(8)

YYYYMMDD

TimeStamp(6)

YYMMDD

TimeStamp(4)

YYMM

TimeStamp(2)

YY

(y = năm, m = tháng, d = ngày)

15


c) Loại dữ liệu String
Loại

Range

Diễn giải

Char

1-255 ký tự

Chiều dài của chuỗi lớn nhất 255 ký tự

Varchar

1-255 ký tự

Chiều dài của chuỗi lớn nhất 255 ký tự

Tinyblob

28-1

Tinytext

28-1

Blob

216-1

Text

216-1

Mediumblob

224-1

Khai báo cho Field chứa kiểu đối tượng nhị
phân cỡ 255 ký tự
Khai báo cho Field chứa kiểu chuỗi cỡ 255 ký tự
Khai báo cho Field chứa kiểu blob cỡ 65535
ký tự.
Khai báo cho Field chứa kiểu chuỗi dạng văn bản
cỡ 65535 ký tự.
Khai báo cho Field chứa kiểu blob.
vừa khoảng 16777215 ký tự.

Mediumtext

224-1

Longblob

232-1

Longtext

232-1

Khai báo cho Field chứa kiểu chuỗi dạng văn bản
vừa kho ng 16777215 ký tự.
Khai báo cho Field chứa kiểu blob
lớn khoảng 4294967295 ký tự.
Khai báo cho Field chứa kiểu blob vừa

1.1.2.3 Phát biểu SQL
Tạo cơ sở dữ liệu:
Create Database Create

Phát biểu SQL thao tác dữ liệu
- SELECT (truy vấn mẩu tin)
- INSERT (Thêm mẩu tin)
16


- UPDATE (Cập nhật dữ liệu)
- DELETE (Xóa mẩu tin)
a) Phát biểu Select
Select From
Where
[Group by ]
[Having <điều kiện bắt buộc của Group by>]
[Order by ]
[Limit fromNumber | To Number]
b) Phát biểu Insert
Insert into [] Values (data_values)
c) Phát biểu Update
Update
Set =, [=]
[where ]
d) Phát biểu Delete
Delete from Where
1.2 Tìm hiểu về thương mại điện tử và mạng máy tính
1.2.1 Giới thiệu về thương mại điện tử
E-commerce (Electronic commerce - thương mại điện tử) là hình thái hoạt
động thương mại bằng phương pháp điện tử; là việc trao đổi thông tin thương mại
thông qua các phương tiện công nghệ điện tử mà nói chung là không cần phải in ra
giấy trong bất cứ công đoạn nào của quá trình giao dịch. (nên còn được gọi là
“thương mại không giấy tờ”)
Các công đoạn của một giao dịch mua bán trên mạng?
Khách hàng, từ một máy tính tại một nơi nào đó, điền những thông tin thanh
toán và điạ chỉ liên hệ vào đơn đặt hàng (Order Form) của Website bán hàng (còn
gọi là Website thương mại điện tử). Doanh nghiệp nhận được yêu cầu mua hàng hoá
hay dịch vụ của khách hàng và phản hồi xác nhận tóm tắt lại những thông tin cần
thiết nh mặt hàng đã chọn, địa chỉ giao nhận và số phiếu đặt hàng...

17


Khách hàng kiểm tra lại các thông tin và kích (click) vào nút (button) "đặt
hàng", từ bàn phím hay chuột (mouse) của máy tính, để gởi thông tin trả về cho
doanh nghiệp.
Doanh nghiệp nhận và lưu trữ thông tin đặt hàng đồng thời chuyển tiếp thông
tin thanh toán (số thẻ tín dụng, ngày đáo hạn, chủ thẻ ...) đã được mã hoá đến máy
chủ (Server, thiết bị xử lý dữ liệu) của Trung tâm cung cấp dịch vụ xử lý thẻ trên
mạng Internet. Với quá trình mã hóa các thông tin thanh toán của khách hàng được
bảo mật an toàn nhằm chống gian lận trong các giao dịch (chẳng hạn doanh nghiệp
sẽ không biết được thông tin về thẻ tín dụng của khách hàng).
Khi Trung tâm Xử lý thẻ tín dụng nhận được thông tin thanh toán, sẽ giải mã
thông tin và xử lý giao dịch đằng sau bức tường lửa (FireWall) và tách rời mạng
Internet (off the Internet), nhằm mục đích bảo mật tuyệt đối cho các giao dịch
thương mại, định dạng lại giao dịch và chuyển tiếp thông tin thanh toán đến ngân
hàng của doanh nghiệp (Acquirer) theo một đường dây thuê bao riêng (một đường
truyền số liệu riêng biệt).
Ngân hàng của doanh nghiệp gởi thông điệp điện tử yêu cầu thanh toán
(authorization request) đến ngân hàng hoặc công ty cung cấp thẻ tín dụng của khách
hàng (Issuer). Và tổ chức tài chính này sẽ phản hồi là đồng ý hoặc từ chối thanh
toán đến trung tâm xử lý thẻ tín dụng trên mạng Internet.
Trung tâm xử lý thẻ tín dụng trên Internet sẽ tiếp tục chuyển tiếp những thông
tin phản hồi trên đến doanh nghiệp, và tùy theo đó doanh nghiệp thông báo cho
khách hàng được rõ là đơn đặt hàng sẽ được thực hiện hay không.
Toàn bộ thời gian thực hiện một giao dịch qua mạng từ bước 1 -> bước 6 được
xử lý trong khoảng 15 - 20 giây.
1.2.2 Một số ứng dụng của thương mại điện tử
Thương mại điện tử đã bắt đầu có được chỗ đứng của mình, dù rất khiêm tốn.
Ðây mới chỉ là điểm khởi đầu, những kết quả đạt được dù rất nhỏ nhưng sẽ là nền
tảng cho một sự phát triển mạnh mẽ trong những năm tới. Sự nỗ lực của các nhà
cung cấp dịch vụ Internet, sự nhạy bén của các tổ chức, doanh nghiệp tiên phong đã
góp phần đưa đến những thành công ban đầu cho thương mại điện tử Việt nam. Có
thể kể ra một số ứng dụng thương mại điện tử phổ biến hiện nay ở Việt nam.

18


1.2.2.1 Quảng cáo trên mạng
Cho đến nay, khoảng 500 doanh nghiệp Việt nam có trang web trên Internet
(chiếm 1%). So với các nước phát triển, thì đây là một tỷ lệ quá thấp (ở Mỹ tỷ lệ
này là 70%) nhưng với chúng ta, đó là một con số rất có ý nghĩa. Những doanh
nghiệp có trang web thường là những doanh nghiệp lớn. Tuy chưa trực tiếp bán
hàng nhưng với việc xây dựng trang web, các doanh nghiệp Việt nam đã tạo cho
mình một văn phòng giao dịch trên mạng, chuẩn bị sẵn sàng cho các giao dịch
thương mại điện tử trong thời gian tới
Các nhà cung cấp dịch vụ Internet cũng đưa ra những hình thức quảng cáo rất
đa dạng để thu hút các doanh nghiệp tham gia. Ngoài web, đặt logo, banner còn tổ
chức các chuyên trang như Top 100, Best Ten (trên http://www.vnn.vn/), trang kinh
doanh business.vnn.vn, tổ chức các hội chợ thương mại trên Internet. Các mục rao
vặt trên Internet cũng rất phát triển, bạn có thể tìm mua các mặt hàng đơn lẻ trên
mục rao vặt của www.fpt.vn(Trở lại đầu trang)
1.2.2.2 Thông tin
Hiện nay, có rất nhiều thông tin thương mại được cung cấp bởi các nhà cung
cấp thông tin Internet của Việt nam tạo điều kiện thuận lợi cho hoạt động sản xuất
kinh doanh các doanh nghiệp.
1.2.2.3 Xuất bản
Hiện nay, xu thế xuất bản điện tử đang diễn ra phổ biến trên thế giới và đem
lại nguồn doanh thu lớn cho các nhà xuất bản. ở nước ta, ngày càng có nhiều tờ báo
điện tử xuất hiện trên mạng. Các toà soạn cuối cùng cũng đã nhận ra xu thế phát
triển tất yếu của loại hình này. Hiện nay, việc xuất bản điện tử đơn thuần là để cung
cấp thông tin, quảng bá thông tin ra nước ngoài, chưa hề có chuyện bán báo điện tử
ở Việt nam, nhưng các Báo đều hy vọng rằng điều đó sẽ diễn ra cùng với sự phổ cập
của Internet trong thời gian tới.
Các Báo đi đầu trong lĩnh vực này có: Nhân Dân, Thông tấn xã Việt nam,
Thời báo kinh tế, Lao động, Quê hương, Thế giới...
1.2.2.4 Thanh toán
Ðây là lĩnh vực ứng dụng công nghệ Internet nhiều nhất ở nước ta cho nên có
thể nói hoạt động thương mại điện tử hiện nay chủ yếu là trong lĩnh vực thanh toán

19


và các lĩnh vực khác của ngân hàng. Ðiều đó thể hiện qua việc hệ thống ngân hàng
của Việt nam đã tham gia thanh toán quốc tế thông qua việc nối mạng SWIFT.
Từ năm 1993, hệ thống ngân hàng đã bắt đầu ứng dụng công nghệ tin học
vào công tác thanh toán chuyển tiền nhưng mới ở trình độ bán cơ giới bằng việc
hoán chuyển chứng từ bằng giấy sang dữ liệu máy tính , để chuyển tới ngân hàng
có đơn vị thụ hưởng. Kể từ khi thực hiện thanh toán qua mạng máy tính, công
việc thanh toán được thực hiện nhanh, chính xác, tăng nhanh vòng quay vốn, tạo
cho doanh nghiệp giảm chi phí và chủ động trong sử dụng đồng vốn. Ðối với hệ
thống ngân hàng đã giảm được đáng kể lượng tiền mặt trong lưu thông kéo theo
nhiều lợi ích kinh tế khác như tiết kiệm chi phí in ấn, kiểm đếm, đóng gói, vận
chuyển, bảo quản,..
1.2.2.5 Bán hàng trên mạng
Ngày 19/12/1998, Trung tâm Dịch vụ Gia tăng Giá trị (VASC) khai trương
siêu thị điện tử đầu tiên tại địa chỉ http://203.162.5.45/cybermall/ . Trên
Cybermall bày bán khá nhiều mặt hàng và người xem có thể tự do dạo chơi trên
siêu thị, chọn mua mặt hàng mà mình thích rồi đặt mua hàng. Siêu thị được thiết
kế với đầy đủ các tính năng cần thiết để việc mua, bán hàng được thuận tiện, duy
chỉ có chức năng thanh toán bằng tiền điện tử là không thực hiện được không phải
vì khả năng kĩ thuật không cho phép mà đơn giản là hệ thống Ngân hàng Việt nam
chưa áp dụng loại hình thanh toán này. Ban đầu, mọi người vào siêu thị vì tò mò,
sau thấy đơn giản tiện lợi, một số đã đặt mua hàng. Mọi chuyện diễn ra thuận lợi
và một số nhà cung cấp đã đăng kí bán hàng trên siêu thị khiến cho hàng hoá ngày
càng trở lên phong phú. Sau Cybermall, một số Siêu thị điện tử khác của Việt nam
cũng đã ra đời như Siêu thị máy tính tại http://www.bluesky.com.vn/ . Doanh số
bán hàng qua mạng còn rất khiêm tốn vì nhiều lý do nhưng điều quan trọng là
người dân Việt nam đã làm quen được với một phương thức bán hàng hoàn toàn
mới. Nếu như phương thức ấy được phổ biến, trở thành một thói quen, một tập
quán mua bán thì thương mại điện tử sẽ hứa hẹn một tiềm năng phát triển mạnh
mẽ trong những năm tới.

20


1.3 Sử dụng WebServer
Để chạy được các file PHP ta cần phải có một WebServer với Apache,
MySQL, PHP and Perl, việc cấu hình và cài đặt WebServer gặp nhiều khó khăn và
tốn kém thời gian. Hiện nay có nhiều phần mềm cấu hình sẳn và ứng dụng như một
WebServer như Xampp, Wamp,…Trong phần này tôi sử dụng WebServer Xampp
để phục vụ cho quá trình chạy thử chương trình.
- Cài đặt WebServer - Cài đặt XAMPP
Nếu muốn một trang web viết bằng ngôn ngữ PHP có thể chạy được trên máy
tính cục bộ và trên máy chủ thì cần phải có một web server là Apache, bộ thông
dịch ngôn ngữ PHP, ngôn ngữ truy vấn cơ sở dữ liệu là mySQL.
Đây là ba thành phần độc lập với nhau nhưng là bộ tam không thể thiếu nhau.
Với người bình thường nếu muốn 3 thàng này chạy với nhau một cách tốt đẹp thì
bạn phải có nhiều kiến thức sâu rộng về chúng vì thế sẽ gây khó khăn cho người
mới học.
Từ nhu cầu đó mà một gói phần mềm tích hợp 3 thành phần trên đã ra đời. Có
nhiều phần mềm tích hợp 3 thành phần này. Nhưng hiện nay, gói phần mềm chạy
ổn định nhất đó là XAMPP.
XAMPP tích hợp các gói phần mềm: Apache (web server), PHP (Ngôn ngữ
lập trình web), mySQL (hệ quản trị cơ sở dữ liệu dành cho PHP)…
- Các bước cài đặt XAMPP.
Bước 1: Download bản XAMPP mới nhất tại địa chỉ:
http://xampp.joydownload.com/

21


Bước 2: Chạy file xampp.exe vừa tải về để tiến hành cài đặt.

Ấn Next để tiếp tục.

22


Chọn ổ đĩa và thư mục bạn cài đặt Xampp và sau đó nhấn Next.

Chúng ta chỉ nên đánh dấu vào vùng màu đỏ còn các phần còn lại không nên
đánh dấu vì nếu đánh dấu thì các dịch vụ như Apache – MySQL – Filezilla sẽ được
chạy ngay khi các bạn khởi động Window. Sau đó ấn Install để tiếp tục.

23