Tải bản đầy đủ (.doc) (63 trang)

LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN. ĐỀ TÀI :XÂY DỰNG WEBSITE QUẢN LÝ VÀ BÁN SÁCH TRỰC TUYẾN

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 (2.09 MB, 63 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail:

LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115

ĐỀ TÀI :
XÂY DỰNG WEBSITE QUẢN LÝ VÀ BÁN SÁCH
TRỰC TUYẾN
Mã số : 05T3-05109152
Ngày bảo vệ : 15/06/2011

SINH VIÊN : PHẠM VĂN MỪNG
LỚP :
05T3
CBHD :
KS. TRƯƠNG MINH HUY

ĐÀ NẴNG, 06/2011


LỜI CẢM ƠN
Trước hết, con xin chân thành cảm ơn cha mẹ, những người đã có
công sinh thành, dưỡng dục con đến ngày hôm nay.
Em xin chân thành cảm ơn các thầy cô trong khoa Công Nghệ Thông


Tin và các thầy cô giảng dạy trong Trường Đại học Bách Khoa Đà Nẵng
đã tận tâm giảng dạy và truyền đạt những kiến thức quý báu trong suốt
những năm học vừa qua. Đặc biệt, em xin chân thành cảm ơn thầy
TRƯƠNG MINH HUY – thuộc , khoa Công nghệ Thông Tin, trường Đại
học Bách Khoa Đà Nẵng đã tận tình hướng dẫn và giúp đỡ trong suốt
thời gian em thực hiện đề tài.
Và tôi xin cảm ơn các bạn bè gần xa, bạn bè trong khoa Công nghệ
thông tin đã giúp đỡ, chia sẽ kiến thức cũng như kinh nghiệm và tài liệu
trong quá trình học tập và thực hiện đề tài.
Cuối cùng, em xin cảm ơn Chủ tịch Hội đồng và các Cán bộ phản
biện đã dành thời gian quý báu đã đọc, nhận xét và tham gia Hội đồng
chấm điểm luận văn này.

Đà Nẵng, Ngày 28 tháng 5 năm 2011
Sinh viên thực hiện
Phạm Văn Mừng


LỜI CAM ĐOAN
Tôi xin cam đoan :
1 Những nội dung trong luận văn này là do tôi thực hiện dưới
sự hướng dẫn trực tiếp của Thầy Th.S TRƯƠNG MINH HUY
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ
ràng tên tác giả, tên công trình, thời gian và địa điểm công
bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay
gian trá, tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên
Phạm Văn Mừng



NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................


NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN


...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................

MỤC LỤC
LUẬN VĂN TỐT NGHIỆP KỸ SƯ..........................................................................1
TỔNG QUAN ĐỀ TÀI..............................................................................................1


I. GIỚI THIỆU ĐỀ TÀI........................................................................................1
I.1. Đặt vấn đề................................................................................................1
I.2.Lý do chọn đề tài......................................................................................2

I.3.Ý nghĩa.....................................................................................................3
II. NỘI DUNG CẦN THỰC HIỆN......................................................................3
• Chương I: Tổng Quan Về Đề Tài................................................................4
• Chương II: Cơ Sở Lý Thuyết.......................................................................4
• Chương III: Phân Tích Thiết Kế Hệ Thống.................................................4
• Chương IV: Xây Dựng Chương Trình.........................................................4
• Kết Luận Và Hướng Phát Triển...................................................................4
III. PHẠM VI CỦA ĐỀ TÀI.................................................................................4
IV. KẾT QUẢ DỰ KIẾN......................................................................................4
CƠ SỞ LÝ THUYẾT................................................................................................5
I .TÌM HIỂU VỀ NGÔN NGỮ.............................................................................5
II. NGÔN NGỮ LẬP TRÌNH PHP.......................................................................5
II.1.Khái niệm................................................................................................5
II.2. Đặc điểm và cấu trúc..............................................................................6
II.3. Hoạt động của một trang PHP................................................................6
II.4. Cách viết một trang PHP cơ bản.............................................................6
II.4. Hướng đối tượng trong PHP...................................................................7
II.4.1. Lập trình hướng đối tượng là gì?.....................................................7
II.4.2. Các tính chất cơ bản của lập trình hướng đối tượng........................7
II.4.3. Các khái niệm liên quan đến các ngôn ngữ lập trình OOP hiện đại.9
III . HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL................................................11
III.1. Giới thiệu MySQL..............................................................................11
III.2. Khái niệm cơ bản về cơ sở dữ liệu......................................................12
III.3. Ngôn ngữ truy vấn CSDL SQL...........................................................12
III.3.1. Câu lệnh chèn dữ liệu vào một bảng...........................................12
III.3.2. Câu lệnh chỉnh sửa dữ liệu trong bảng.........................................13
III.3.3 Câu lệnh xóa dữ liệu trong bảng..................................................13
III.3.4. Câu lệnh truy vấn (tìm kiếm) dữ liệu trong bảng........................13
IV. GIỚI THIỆU TỔNG QUAN VỀ AJAX........................................................13
IV.1. Định nghĩa...........................................................................................13

IV.2. Cấu trúc và cách hoạt động.................................................................14
V . TÌM HIỂU VỀ UML.....................................................................................15
V.1. Giới thiệu UML....................................................................................15
V.2. Lịch sử phát triển của UML..................................................................16
V.3. Các thành phần của ngôn ngữ UML.....................................................17
V.4. UML trong phân tích thiết kế hệ thống:................................................18
V.5. Vì sao phải xây dựng mô hình cho hệ thống.........................................18
VI.GIỚI THIỆU CÔNG CỤ RATIONAL ROSE...............................................20
VII. THƯƠNG MẠI ĐIỆN TỬ..........................................................................20
VII.1. Định nghĩa.........................................................................................20
VII.2. Lợi ích của việc sử dụng thương mại điện tử.....................................21
VII.2.1. Có cơ hội đạt lợi nhuận...............................................................21
VII.2.3. Chiến lược kinh doanh................................................................21


VII.3. Các yêu cầu trong thương mại điện tử...............................................22
VII.3.1. Cơ sở hạ tầng..............................................................................22
VII.3.2 Nhân lực......................................................................................22
VII.3.3. Tạo mối qhuan hệ bằng sự tin cậy..............................................22
V.II.3.4. Bảo mật và an toàn.....................................................................22
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG..............................................................24
I. PHÂN TÍCH YÊU CẦU.................................................................................24
I.1. Khảo sát hiện trạng và phân tích hiện trạng...........................................24
I. 1.1. Khảo sát yêu cầu...........................................................................24
I.1.2. Khảo sát hiện trạng........................................................................25
I.2. Yêu cầu chức năng.................................................................................26
II. PHÂN TÍCH THIẾT KẾ HỆ THỐNG...........................................................26
II.1. Các trường hợp sử dụng Usecase của hệ thống....................................26
II.2. Xây dựng biểu đồ lớp..........................................................................31
II.3. Xây Dựng Biểu Đồ Tuần Tự................................................................32

II.4. Biểu đồ hoạt động................................................................................35
IV. THIẾT KẾ CƠ SỞ DỮ LIỆU.......................................................................36
IV.1. Mô hình các bảng dữ liệu logic...........................................................36
IV.2. THIẾT KẾ CƠ SỞ DỮ LIỆU.............................................................41
XÂY DƯNG CHƯƠNG TRÌNH VÀ KẾT QUẢ ĐẠT ĐƯỢC...............................42
I. XÂY DỰNG CHƯƠNG TRÌNH.....................................................................42
I.1. Hệ quản trị cơ sở dữ liệu........................................................................42
I.2. Ngôn ngữ lập trình.................................................................................42
I.3. Các yêu cầu của chương trình................................................................42
II . KẾT QUẢ DEMO.........................................................................................43
II.1. Một số giao diện người dung................................................................43
.................................................................................................................43
II.2. Một số giao diện của phần quản trị.......................................................47
KẾT LUẬN.............................................................................................................52
I. ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC..............................................................52
I.1. Về mặt lý thuyết....................................................................................52
I.2. Về mặt thực tiễn....................................................................................52
I.3. Những hạn chế:......................................................................................52
II .HƯỚNG PHÁT TRIỂN.................................................................................53
III. TÀI LIỆU THAM KHẢO.............................................................................53
Sách tham khảo............................................................................................53
[1] Tự học lập trình Thương mại điện tử trong 21 ngày. Nhà xuất bản Đà Nẵng.53
[2] Phạm Hữu Khang. Xây dựng ứng dụng web bằng PHP và MySQL.. Nhà xuất
bản thống kê........................................................................................................53
[3] PHP 5 Power ProgrammingAndi Gutmans, Stig Sæther Bakken, Derick
Rethans................................................................................................................53
[4] Giáo trình phân tích và thiết kế hệ thống - PGS.TS.Phan Huy Khánh - Khoa
công nghệ thông tin – ĐHBKĐN.........................................................................53
[5] Mbook-CNTT DH khoa học tự nhiên TPHCM..............................................53
[6] Trang web: ................................................................53

[7] .....................................................................................53


[8] .........................................................................................53
[9] www.thietkewebphp.com...............................................................................53
[10] www.ebook.edu.vn.......................................................................................53
Các Phần mềm............................................................................................53
[12] PhotoShop 9.0 cs3........................................................................................53
[13] Microsoft FrontPages 2003..........................................................................53
[14] Macromedia Dreamwerer Cs3......................................................................53
[15] Rational Rose 2003......................................................................................53
TÓM TẮT LUẬN VĂN TỐT NGHIỆP..................................................................54

DANH MỤC BẢNG
Bảng 1: Bảng dữ liệu người quản trị........................................................................36
Bảng 2: Bảng dữ liệu danh mục sản phẩm...............................................................36
Bảng 3: Bảng dữ liệu loại sản phẩm........................................................................36
Bảng 4: Bảng dữ liệu tin tức....................................................................................37
Bảng 5: Bảng dữ liệu sản phẩm...............................................................................37
Bảng 6: Bảng dữ liệu khách hang............................................................................38
Bảng 7 :Bảng dữ liệu menutop................................................................................38
Bảng 8 :Bảng dữ liệu thành viên..............................................................................39
Bảng 9: Bảng dữ liệu hóa đơn chi tiết......................................................................39
Bảng 10: Bảng dữ liệu hóa đơn...............................................................................40


DANH MỤC HÌNH
Hình 1 : Các thành phần hợp nhất nên UML...........................................................17
Hình 2 : Sơ đồ use case tổng quát............................................................................27
Hình 3 : Sơ đồ use case quản lý danh mục...............................................................28

Hình 4: Sơ đồ use case quản lý sản phẩm................................................................28
Hình 5: Sơ đồ use case quản lý bán hàng.................................................................29
Hình 6: Sơ đồ use case quản lý thành viên..............................................................29
Hình 7:Sơ đồ use case quản lý thống kê..................................................................30
Hình 8:Sơ đồ use case quản lý tin tức......................................................................30
Hình 9:Biểu đồ lớp..................................................................................................31
Hình 10: Biểu đồ tuần tự khách hàng chọn mua hàng.............................................32
Hình 11: Biểu đồ tuần tự khách hàng xác nhận.......................................................32
Hình 12: Biểu đồ tuần tự Đăng kí thành viên..........................................................33
Hình 13: Biểu đồ tuần tự nhập danh mục sản phẩm................................................33
Hình 14: Biểu đồ tuần tự nhập loại sản phẩm..........................................................34
Hình 15: Biểu đồ tuần tự nhập sản phẩm.................................................................34
Hình 16: Biểu đồ hoạt động.....................................................................................35
Hình 17: Bảng cơ sở dữ liệu....................................................................................41
Hình 18: Giao diện trang chủ...................................................................................43
Hình 19: Trang tin tức..............................................................................................44
Hình 20: Trang tìm kiếm sản phẩm..........................................................................44
Hình 21: Trang mua hàng........................................................................................45
Hình 22: Trang thanh toán.......................................................................................45
Hình 23: Trang liên hệ.............................................................................................46
Hình 24: Trang đăng ký...........................................................................................46
Hình 25: Trang đăng nhập.......................................................................................47
Hình 26: Trang đăng nhập người quản trị................................................................47
Hình 27: Trang chủ..................................................................................................48
Hình 28: Trang quản lý menu top............................................................................48
Hình 29:Trang quản lý danh mục sản phẩm............................................................49
Hình 30: Trang quản lý sản phẩm............................................................................49
Hình 31: Trang quản lý dơn hàng............................................................................50
Hình 32: Trang thống kê bán hàng...........................................................................50
Hình 33: Trang quản lý thành viên..........................................................................51

Hình 34: Trang quản tin tức.....................................................................................51


Website quản lý và bán sách trực tuyến

CHƯƠNG I..................................................................

TỔNG QUAN ĐỀ TÀI
I. GIỚI THIỆU ĐỀ TÀI
Hiện nay công nghệ thông tin được ứng dụng hầu hết trong mọi lĩnh vực, đặc
biệt là trong lĩnh vực bán hàng. Việc áp dụng tin học vào công việc bán hàng là một
điều hết sức cần thiết, nó giúp cho công việc bán hàng và quảng bá sản phẩm của
công ty đến mọi người một cách nhanh chóng và chính xác.
Xuất phát từ thực tiễn, chúng em đã đề xuất một giải pháp nhằm góp phần nâng
cao hiệu quả trong việc tìm kiếm và thống kê tình hình, hổ trợ đắc lực cho việc bán
hàng. Được sự đồng ý của giáo viên hướng dẫn, chúng em đã chọn đề tài Xây dựng
trang web “Xây dựng website bán và quản lý sách trực tuyến” làm đề tài tốt nghiệp.

I.1. Đặt vấn đề
Là chủ doanh nghiệp có lẽ nỗi bận tâm hàng đầu là làm sao có thể quản lý sát
sao tình hình kinh doanh với các số liệu về kho hàng (nhập, xuất, tồn kho) và tình
hình hoạt động của công ty như là mua hàng, bán hàng, quảng bá sản phẩm,… một
cách chính xác, nhanh chóng và thuận tiện.
Với xu thế tiến bộ của khoa học - công nghệ hiện nay, máy tính có thể giúp
chúng ta quản lý nhẹ nhàng, nhanh chóng và chính xác, tiết kiệm tối đa chi phí
quản lý.
“Xây dựng website bán và quản lý sách trực tuyến ” được thiết kế nhằm đáp ứng
cho nhu cầu đó.
Đây là chương trình giúp quản lý việc bán hàng và quản lý kho hàng, thống kê
tình hình công nợ của doanh nghiệp có quy mô nhỏ, đặc biệt là các doanh nghiệp

bán hàng.
Chương trình không đòi hỏi người sử dụng phải biết các khái niệm chuyên sâu
của nghiệp vụ kế toán cũng như khả năng sử dụng máy tính.

Phạm Văn Mừng

Lớp 05T3

Trang Số :1


Website quản lý và bán sách trực tuyến

I.2.Lý do chọn đề tài
Qua quá trình tìm hiểu và quan sát công việc kinh doanh diễn ra ở các công ty,
doanh nghiệp kinh doanh và mua bán hàng hóa. Thực tế đã cho thấy công việc quản
lý của một công ty hay cửa hàng diễn ra hằng ngày rất phúc tạp, khó khăn họ phải
làm nhiều công việc như nhập hàng, giới thiệu sản phẩm, xuất hàng , tính toán số
lượng bán được trong ngày, trong tháng, loại hàng nào bán được, loại hàng nào
không, thu chi, lời lãi như thế nào,..vv…nói chung thật là phức tạp. Nếu chỉ sử dụng
phương pháp tính toán thủ công bằng tay với bộ nhớ ít ỏi của con người thì chắt chắn
không thể tránh khỏi những sai sót đáng tiếc.
Vì thế chúng em đã quyết định chọn đề tài phân tích và xây dựng hệ thống bán
hàng qua mạng. Hệ thống này phải có khả năng cung cấp, phân loại cập nhật và truy
xuất thông tin, tích hợp các nguồn thông tin, ứng dụng và các dịch vụ từ hệ thống
khác. Đồng thời có khả năng trao đổi tương tác giữa các đối tượng sử dụng hệ
thống. Hệ thống cũng có khả năng hổ trợ các quy trình nghiệp vụ quản lý, đảm bảo
các yêu cầu về bảo mật và an toàn dữ liệu.
Qua việc phân tích và triển khai xây dựng website “Xây dựng website bán và
quản lý sách trực tuyến” để đáp ứng được nhu cầu phục vụ cho việc bán hàng tại

các của hàng kinh doanh mua bán các sản phẩm thì hệ thống phải đáp ứng được
những chức năng sau:
- Quản lý lưu trữ các thông tin về hàng hóa
- Quản lý lưu trữ các thông tin về khách hàng đã mua hàng
- Quản lý việc giao dịch mua, bán hàng với khách hàng và nhà cung
cấp hàng
- Cho phép tìm kiếm các thông tin về măt hàng.
- Tính toán thống kê hàng hóa, thu chi một cách nhanh chống và chính
xác
- Thông tin được bảo mật, có phân quyền sử dụng chương trình.
- Đảm bảo chương trình dể sử dụng không cần người dùng phải có
chuyên môn về kế toán cũng như khả năng sử dụng máy tính nâng cao.
- Sử dụng ngôn ngữ tiếng Việt có hướng dẫn sử dụng chương trình.

Phạm Văn Mừng

Lớp 05T3

Trang Số :2


Website quản lý và bán sách trực tuyến

I.3.Ý nghĩa
Quản lý bán hàng là cả một quá trình tổ chức lưu trữ hợp nhất xử lý, tính toán tất
cả các thông tin cần thiết của từng mặt hàng nhằm phục vụ cho việc truy tìm, sắp
xếp hay thống kê các kết quả một cách nhanh chống nhất theo từng yêu cầu cụ thể.
Các hoạt động nhập xuất hay tính toán, xuất các báo biểu thủ công bằng tay ghi
trên giấy sẽ không hợp lý trong thời đại ngày nay, vì nó không thỏa mãn yêu cầu đòi
hỏi của con người như độ chính xác và khả năng đáp ứng thông tin nhanh chống

nữa. Vì vậy, ứng dụng tin học vào quản lý bán hàng là rất quan trọng và cần thiết.
Web quản lý bán máy vi tính và thiết bị máy vi tính giúp chúng ta quảng bá được
sản phẩm cho mọi người trên diện rộng, khách hàng có thể xem, tìm kiếm thông tin
về sản phẩm một cách nhanh chóng và chính xác, nếu cần khách hàng có thể đặt
hàng mua sản phẩm trực tiếp trên trang web mà không cần phải đến tại của hàng để
mua.
Hơn thế nữa, việc tin học hóa trong các bài toán quản lý bán hàng trực tuyến sẽ
đem lại một điều bất ngờ nếu bài toán quản lý được ứng dụng trên mạng cục bộ hay
diện rộng. Điều này trước đây khó có thể làm được nếu không có sự phát triển vượt
bậc của kĩ thuật mạng và viễn thông.

II. NỘI DUNG CẦN THỰC HIỆN
Đề tài: “Xây dựng website bán và quản lý sách trực tuyến” được xây dựng
qua các bước sau:
- Tìm hiểu công nghệ và lựa chọn giải pháp tối ưu.
- Tìm hiểu việc mua và bán tại cửa hàng.
- Phân tích và thiết kế hệ thống thông tin.
- Chọn ngôn ngữ lập trình.
- Thiết kế cơ sơ dữ liệu.
- Xây dựng chương trình.
- Demo và kiểm tra lỗi của chương trình.
- Nhận xét khả năng của chương trình đã thực hiện được và chưa thực hiện
được.
- Cho phép cập nhật dữ liệu.
- Cho phép khách hàng xem các loại hàng.
- Thao tác nhập, xóa, chỉnh sửa dữ liệu.
- Thống kê, báo cáo.
- Bảo mật hệ thống
Với kết quả đự kiến, luận văn chia làm 4 chương:
Phạm Văn Mừng


Lớp 05T3

Trang Số :3


Website quản lý và bán sách trực tuyến

• Chương I: Tổng Quan Về Đề Tài
Giới thiệu về đề tài, mục đích, ý nghĩa, nội dung cần thực hiện và kết quả dự
kiến.

• Chương II: Cơ Sở Lý Thuyết
• Chương III: Phân Tích Thiết Kế Hệ Thống
Phân tích các chức năng cửa hệ thống, từ đó thiết kế chưc năng và tổ chức dữ
liệu của hệ thống.

• Chương IV: Xây Dựng Chương Trình
Cài đặt chương trình và demo kết quả

• Kết Luận Và Hướng Phát Triển
Đưa ra nhận xét về kết quả đạt được chưa đạt được, hướng phát triển cho đề tài

III. PHẠM VI CỦA ĐỀ TÀI
Sau khi xây dựng xong trang web “ Xây dựng website bán và quản lý sách trực
tuyến” thì trang web có thể thực hiện được các chức năng:
Khách hàng mua hàng trực tuyến
Quản lý công việc bán hàng
Quản lý kho hàng
Thống kê các sản phẩm bán được

Quản lý việc đăng tin tức
Quản lý khách hàng thành viên
Tìm kiếm sản phẩm
Những hạn chế mà trang web chưa làm được:
Đồng bộ dữ liệu trên hệ thống
Quản lý và thanh toán qua hình thức thẻ tín dụng

IV. KẾT QUẢ DỰ KIẾN
• Quản lý bán hàng:
Cập nhật: sản phẩm mới, giá cả, hình ảnh..với các chức năng thêm mới, sửa, xóa.
Tìm kiếm: tìm kiếm theo tên, chức năng…
• Quản lý trang tin tức: đưa các tin tức, thông tin các mặt hàng, thông báo các chức
năng thêm, sửa, xóa.

Phạm Văn Mừng

Lớp 05T3

Trang Số :4


Website quản lý và bán sách trực tuyến

CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
I .TÌM HIỂU VỀ NGÔN NGỮ
Lý do chọn ngôn ngữ
Việc lựa chọn ngôn ngôn ngữ để phát triển ứng dụng là một yếu tố rất quan
trọng. Nó phải được lựa chọn sao cho phù hợp với nhu cầu hiện tại và tương lai của
chương trình ứng dụng. Hiện nay có rất nhiều ngôn ngữ phục vụ việc phát triển lập

trình ứng dụng web như ASP, ASP.NET, PHP, JSP,…Vì vậy chúng em đã chọn
ngôn ngữ PHP để xây dựng chương trình demo.
PHP thực hiện với tốc độ rất nhanh và hiệu quả. Một Server bình thường có thể
đáp ứng được hàng triệu truy cập đến trong một ngày.
PHP hỗ trợ kết nối tới rất nhiều nhiều hệ CSDL khác nhau: PostgreSQL,
mySQL, Oracle, dbm, filePro, Hyperware, informix, interBase, syBase,… Ngoài ra
còn hỗ trơ kết nối với ODBC thông qua đó có thể kết nối với nhiều ngôn ngữ khác
mà ODBC hỗ trợ.
PHP cung cấp một hệ thống thư viện phong phú: Do PHP ngay từ đầu thiết kế
nhằm mục đích xây dựng và thiết kế các ứng dụng trên web nên PHP cung cấp rất
nhiều hàm dựng sẵn giúp việc thực hiện các công việc rất dễ dàng.
PHP là ngôn ngữ dễ dùng, dễ học và đơn giản hơn nhiều so với các ngôn ngữ
khác như Perl, Java.
PHP có thể sử dụng được trên nhiều hệ điều hành, chúng ta có thể chúng trên
Unix, Lunix và các phiên bản của Windows. Và có thể đem mã PHP này chạy trên
hệ điều hành khác mà không phải sữa đổi lại.
PHP là ngôn ngữ mã nguồn mở.

II. NGÔN NGỮ LẬP TRÌNH PHP
II.1.Khái niệm
PHP ("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 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 độ
Phạm Văn Mừng

Lớp 05T3

Trang Số :5



Website quản lý và bán sách trực tuyến
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.

II.2. Đặc điểm và cấu trúc
Cấu trúc của file php được đặt trong 2 thẻ đóng
<?php ?> hoặc <? ?>
Tên file: *.php

II.3. Hoạt động của một trang PHP
+Bước 1:Trình duyệt gửi một yêu cầu HTTP đến máy chủ, yêu cầu một file nào
đó
+Bước 2: Máy chủ sẽ chuyển yêu cầu này đến chương trình xử lý tương ứng,
chính là chương trình Web server.
+Bước 3: Web server phân tích chuỗi yêu cầu nhận được, kiểm tra xem trình
duyệt ở máy khách yêu cầu gì. Nếu đó là các file bình thường (không phải là các
file chứa các đoạn mã script thực thi phía máy chủ), nó sẽ tìm kiếm file đó và trả về
cho trình duyệt ở máy khách. Còn nếu đó là các file chứa các đoạn mã script thực
thi phía máy chủ (các chương trình CGI, hay các file thư viện liên kết động *.php),
nó sẽ triệu gọi chương trình thực thi các đoạn mã này. Chương trình này sẽ chịu
trách nhiệm chạy các đoạn mã, trả chúng về cho Web server dưới khuôn dạng của
HTML. Sau đó, Web server mới trả kết quả lấy được cho trình duyệt.

II.4. Cách viết một trang PHP cơ bản
Đ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:
1. <html>
2.

3.
4.
5.
6.
7.
8.
9.
10.

<head>
<title>Mã mẫu</title>
</head>
<body>
echo "Chào thế giới PHP!";
?>
</body>
</html>

Phạm Văn Mừng

Lớp 05T3

Trang Số :6


Website quản lý và bán sách trực tuyến
Thẻ <?php và 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.

II.4. Hướng đối tượng trong PHP
II.4.1. Lập trình hướng đối tượng là gì?
Lập trình hướng đối tượng (gọi tắt là OOP, từ chữ Anh ngữ object-oriented
programming), hay còn gọi là lập trình định hướng đối tượng, là kĩ thuật lập trình
hỗ trợ công nghệ đối tượng. OOP được xem là giúp tăng năng suất, đơn giản hóa độ
phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viên
tập trung vào các đối tượng phần mềm ở bậc cao hơn. Ngoài ra, nhiều người còn
cho rằng OOP dễ tiếp thu hơn cho những người mới học về lập trình hơn là các
phương pháp trước đó.
Một cách giản lược, đây là khái niệm và là một nỗ lực nhằm giảm nhẹ các thao tác
viết mã cho người lập trình, cho phép họ tạo ra các ứng dụng mà các yếu tố bên
ngoài có thể tương tác với các chương trình đó giống như là tương tác với các đối
tượng vật lý.
Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữ liệu mà
chúng được nhìn nhận như là một đơn vị duy nhất. Mỗi đối tượng có một tên riêng
biệt và tất cả các tham chiếu đến đối tượng đó được tiến hành qua tên của nó. Như
vậy, mỗi đối tượng có khả năng nhận vào các thông báo, xử lý dữ liệu (bên trong
của nó), và gửi ra hay trả lời đến các đối tượng khác hay đến môi trường.

II.4.2. Các tính chất cơ bản của lập trình hướng đối tượng
Đối tượng (object): Các dữ liệu và chỉ thị được kết hợp vào một đơn vị đầy
đủ tạo nên một đối tượng. Đơn vị này tương đương với một chương trình con và vì
thế các đối tượng sẽ được chia thành hai bộ phận chính: phần các phương thức
(method) và phần các thuộc tính (property). Trong thực tế, các phương thức của đối
tượng là các hàm và các thuộc tính của nó là các biến, các tham số hay hằng nội tại
của một đối tượng (hay nói cách khác tập hợp các dữ liệu nội tại tạo thành thuộc
tính của đối tượng). Các phương thức là phương tiện để sử dụng một đối tượng
trong khi các thuộc tính sẽ mô tả đối tượng có những tính chất gì.

Các phương thức và các thuộc tính thường gắn chặt với thực tế các đặc tính và sử
dụng của một đối tượng.
Trong thực tế, các đối tượng thường được trừu tượng hóa qua việc định nghĩa của
Phạm Văn Mừng

Lớp 05T3

Trang Số :7


Website quản lý và bán sách trực tuyến
các lớp (class).
Tập hợp các giá trị hiện có của các thuộc tính tạo nên trạng thái của một đối tượng.
Mỗi phương thức hay mỗi dữ liệu nội tại cùng với các tính chất được định nghĩa
(bởi người lập trình) được xem là một đặc tính riêng của đối tượng. Nếu không có
gì lầm lẫn thì tập hợp các đặc tính này gọi chung là đặc tính của đối tượng.
Lập trình hướng đối tượng là một phương pháp lập trình có các tính chất chính
sau:
Tính trừu tượng (abstraction):
Đây là khả năng của chương trình bỏ qua hay không chú ý đến một số khía
cạnh của thông tin mà nó đang trực tiếp làm việc lên, nghĩa là nó có khả năng tập
trung vào những cốt lõi cần thiết. Mỗi đối tượng phục vụ như là một "động tử" có
thể hoàn tất các công việc một cách nội bộ, báo cáo, thay đổi trạng thái của nó và
liên lạc với các đối tượng khác mà không cần cho biết làm cách nào đối tượng tiến
hành được các thao tác. Tính chất này thường được gọi là sự trừu tượng của dữ liệu.
Tính trừu tượng còn thể hiện qua việc một đối tượng ban đầu có thể có một số đặc
điểm chung cho nhiều đối tượng khác như là sự mở rộng của nó nhưng bản thân đối
tượng ban đầu này có thể không có các biện pháp thi hành. Tính trừu tượng này
thường được xác định trong khái niệm gọi là lớp trừu tượng hay hay lớp cơ sở trừu
tượng.

Tính đóng gói (encapsulation) và che dấu thông tin (information hiding):
Tính chất này không cho phép người sử dụng các đối tượng thay đổi trạng
thái nội tại của một đối tượng. Chỉ có các phương thức nội tại của đối tượng cho
phép thay đổi trạng thái của nó. Việc cho phép môi trường bên ngoài tác động lên
các dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn tùy thuộc vào
người viết mã. Đây là tính chất đảm bảo sự toàn vẹn của đối tượng.
Tính đa hình (polymorphism):
Thể hiện thông qua việc gửi các thông điệp (message). Việc gửi các thông điệp
này có thể so sánh như việc gọi các hàm bên trong của một đối tượng. Các phương
thức dùng trả lời cho một thông điệp sẽ tùy theo đối tượng mà thông điệp đó được
gửi tới sẽ có phản ứng khác nhau. Người lập trình có thể định nghĩa một đặc tính
(chẳng hạn thông qua tên của các phương thức) cho một loạt các đối tượng gần
nhau nhưng khi thi hành thì dùng cùng một tên gọi mà sự thi hành của mỗi đối
tượng sẽ tự động xảy ra tương ứng theo đặc tính của từng đối tượng mà không bị
nhầm lẫn.
Thí dụ khi định nghĩa hai đối tượng "hinh_vuong" và "hinh_tron" thì có một
phương thức chung là "chu_vi". Khi gọi phương thức này thì nếu đối tượng là
Phạm Văn Mừng

Lớp 05T3

Trang Số :8


Website quản lý và bán sách trực tuyến
"hinh_vuong" nó sẽ tính theo công thức khác với khi đối tượng là "hinh_tron".
Tính kế thừa (inheritance):
Đặc tính này cho phép một đối tượng có thể có sẵn các đặc tính mà đối tượng
khác đã có thông qua kế thừa. Điều này cho phép các đối tượng chia sẻ hay mở rộng
các đặc tính sẵn có mà không phải tiến hành định nghĩa lại. Tuy nhiên, không phải

ngôn ngữ định hướng đối tượng nào cũng có tính chất này.

II.4.3. Các khái niệm liên quan đến các ngôn ngữ lập trình OOP hiện đại
Lớp (class):
Một lớp được hiểu là một kiểu dữ liệu bao gồm các thuộc tính và các phương thức
được định nghĩa từ trước. Đây là sự trừu tượng hóa của đối tượng. Một đối tượng sẽ
được xác lập khi nó được thực thể hóa từ một lớp. Khác với kiểu dữ liệu thông
thường, một lớp là một đơn vị (trừu tượng) bao gồm sự kết hợp giữa các phương
thức và các thuộc tính. Để có một đối tượng (mà có thể được xem như là một biến)
hoạt động được thì việc thực thể hóa sẽ có thể bao gồm việc cài đặt các giá trị ban
đầu của các thuộc tính cũng như việc đăng kí bộ nhớ, mà công việc này thường
được giao cho các phương thức gọi là "máy kết cấu" (constructor) hay hàm dựng.
Ngược lại khi một đối tượng thuộc về một lớp không còn sử dụng nữa thì cũng có
thể có một phương thức để xử lý gọi là "máy hủy diệt" (destructor) hay hàm hủy.
Như vậy, để có được các đối tượng thì người lập trình OOP cần phải thiết kế lớp của
các đối tượng đó bằng cách xây dựng các thuộc tính và các phương thức có các đặc
tính riêng.
Mỗi một phương thức hay một thuộc tính đầy đủ của một lớp còn được gọi tên là
một thành viên (member) của lớp đó.
Lớp con (subclass):
Lớp con là một lớp thông thường nhưng có thêm tính chất kế thừa một phần hay
toàn bộ các đặc tính của một lớp khác. Lớp mà chia sẽ sự kế thừa gọi là lớp phụ
mẫu (parent class).
Lớp trừu tượng hay lớp cơ sở trừu tượng (abstract class):
Lớp trừu tượng là một lớp mà nó không thể thực thể hóa thành một đối tượng
thực dụng được. Lớp này được thiết kế nhằm tạo ra một lớp có các đặc tính tổng
quát nhưng bản thân lớp đó chưa có ý nghĩa (hay không đủ ý nghĩa) để có thể tiến
hành viết mã cho việc thực thể hóa. (xem thí dụ)
Thí dụ: Lớp "hinh_phang" được định nghĩa không có dữ liệu nội tại và chỉ có các
phương thức (hàm nội tại) "tinh_chu_vi", "tinh_dien_tich". Nhưng vì lớp

hình_phẳng này chưa xác định được đầy đủ các đặc tính của nó (cụ thể các biến nội
tại là tọa độ các đỉnh nếu là đa giác, là đường bán kính và toạ độ tâm nếu là hình
tròn, ...) nên nó chỉ có thể được viết thành một lớp trừu tượng. Sau đó, người lập
trình có thể tạo ra các lớp con chẳng hạn như là lớp "tam_giac", lớp "hinh_tron",
lớp "tu_giac",.... Và trong các lớp con này người viết mã sẽ cung cấp các dữ liệu nội
tại (như là biến nội tại r làm bán kính và hằng số nội tại Pi cho lớp "hinh_tron" và
sau đó viết mã cụ thể cho các phương thức "tinh_chu_vi" và "tinh_dien_tich").

Phạm Văn Mừng

Lớp 05T3

Trang Số :9


Website quản lý và bán sách trực tuyến

Phương Thức (method)
Là hàm nội tại của một lớp (hay một đối tượng). Tùy theo đặc tính mà người lập
trình gán cho, một phương pháp có thể chỉ được gọi bên trong các hàm khác của lớp
đó, có thể cho phép các câu lệnh bên ngoài lớp gọi tới nó, hay chỉ cho phép các lớp
có quan hệ đặc biệt như là quan hệ lớp con, và quan hệ bạn bè (friend) được phép
gọi tới nó. Mỗi phương pháp đều có thể có kiểu trả về, chúng có thể trả các kiểu dữ
liệu cổ điển hay trả về một kiểu là một lớp đã được định nghĩa từ trước. Một tên gọi
khác của phương pháp của một lớp là hàm thành viên.
Người ta còn định nghĩa thêm vài loại phương pháp đặc biệt: Hàm dựng
(constructor) là hàm được dùng để cài đặt các giá tri ban đầu cho các biến nội tại và
đôi khi còn dùng để khai báo về việc xử dụng bộ nhớ.
Hàm hủy (destructor) là hàm dùng vào việc làm sạch bộ nhớ và hủy bỏ tên của
một đối tượng sau khi đã dùng xong, trong đó có thể bao gồm cả việc xóa các con

trỏ nội tại và trả về các phần bộ nhớ mà đối tượng đã dùng.
Trong một số trường hợp thì hàm hủy hay hàm dựng có thể được tự động hóa bởi
ngôn ngữ OOP như là trường hợp của Visual C++, C#.
Tiện ích (utility) là các hàm chỉ họat động bên trong của một lớp mà không cho
phép môi trường bên ngoài gọi tới. Các hàm này có thể là những tính toán trung
gian nội bộ của một đối tượng mà xét thấy không cần thiết phải cho thế giới bên
ngoài của đối tượng biết là gì.
Thuộc tính (attribute)
Thuộc tính của một lớp bao gồm các biến, các hằng, hay tham số nội tại của lớp
đó. Ở đây, vai trò quan trọng nhất của các thuộc tính là các biến vì chúng sẽ có thể
bị thay đổi trong suốt quá trình hoạt động của một đối tượng. Các thuộc tính có thể
được xác định kiểu và kiểu của chúng có thể là các kiểu dữ liệu cổ điển hay đó là
một lớp đã định nghĩa từ trước. Như đã ghi, khi một lớp đã được thực thể hoá thành
đối tượng cụ thể thì tập họp các giá trị của các biến nội tại làm thành trạng thái của
đối tượng. Giống như trường hợp của phương pháp, tùy theo người viết mã, biến
nội tại có thể chỉ được dùng bên trong các phương pháp của chính lớp đó, có thể
cho phép các câu lệnh bên ngoài lớp, hay chỉ cho phép các lớp có quan hệ đặc biệt
như là quan hệ lớp con, (và quan hệ bạn bè (friend) trong C++) được phép dùng tới
nó (hay thay đổi giá trị của nó). Mỗi thuộc tính của một lớp còn được gọi là thành
viên dữ liệu của lớp đó.
Thực thể (instance)
Thực thể hóa (instantiate) là quá trình khai báo để có một tên (có thể được xem
như là một biến) trở thành một đối tượng từ một lớp nào đó.
Một lớp sau khi được tiến hành thực thể hóa để có một đối tượng cụ thể gọi là
một thực thể. Hay nói ngược lại một thực thể là một đối tượng riêng lẽ của một lớp
đã định trước. Như các biến thông thường, hai thực thể của cùng một lớp có thể có
trạng thái nội tại khác nhau (xác định bởi các giá trị hiện có của các biến nội tại) và
do đó hoàn toàn độc lập nhau nếu không có yêu cầu gì đặc biệt từ người lập trình.
Công cộng (public)
Công cộng là một tính chất được dùng để gán cho các phương pháp, các biến nội

tại, hay các lớp mà khi khai báo thì người lập trình đã cho phép các câu lệnh bên
ngoài cũng như các đối tượng khác được phép dùng đến nó.

Phạm Văn Mừng

Lớp 05T3

Trang Số :10


Website quản lý và bán sách trực tuyến
Thí dụ: Trong C++ khai báo public: int my_var; thì biến my_var có hai tính chất
là tính công cộng và là một integer cả hai tính chất này hợp thành đặc tính của biến
my_var khiến nó có thể được xử dụng hay thay đổi giá trị của nó (bởi các câu lệnh)
ở mọi nơi bên ngoài lẫn bên trong của lớp.
Riêng tư (private)
Riêng tư là sự thể hiện tính chất đóng mạnh nhất (của một đặc tính hay một
lớp). Khi dùng tính chất này gán cho một biến, một phương pháp thì biến hay
phương pháp đó chỉ có thể được sử dụng bên trong của lớp mà chúng được định
nghĩa. Mọi nỗ lực dùng đến chúng từ bên ngoài qua các câu lệnh hay từ các lớp con
sẽ bị phủ nhận hay bị lỗi.
Bảo tồn (protected)
Tùy theo ngôn ngữ, sẽ có vài điểm nhỏ khác nhau về cách hiểu tính chất này.
Nhìn chung đây là tính chất mà mà khi dùng để áp dụng cho các phương pháp, các
biến nội tại, hay các lớp thì chỉ có trong nội bộ của lớp đó hay các lớp con của nó
(hay trong nội bộ một gói như trong Java) được phép gọi đến hay dùng đến các
phương pháp, biến hay lớp đó.
So với tính chất riêng tư thì tính bảo tồn rộng rãi hơn về nghĩa chia sẻ dữ liệu
hay chức năng. Nó cho phép một số trường hợp được dùng tới các đặc tính của một
lớp (từ một lớp con chẳng hạn).

Lưu ý: Các tính chất cộng cộng, riêng tư và bảo tồn đôi khi còn được dùng để
chỉ thị cho một lớp con cách thức kế thừa một lớp cha mẹ như trong C++.
Đa kế thừa (muliple inheritance)
Đây là một tính chất cho phép một lớp con có khả năng kế thừa trực tiếp cùng lúc
nhiều lớp khác.
Vài điểm cần lưu ý khi viết mã dùng tính chất đa kế thừa:
Khi muốn có một sự kế thừa từ nhiều lớp phụ mẫu thì các lớp này cần phải độc
lập và đặc biệt tên của các dữ liệu hay hàm cho phép kế thừa phải có tên khác nhau
để tránh lỗi "ambiguilty". Bởi vì lúc đó phần mềm chuyển dịch sẽ không thể xác
định được là lớp con sẽ thừa kế tên nào của các lớp phụ mẫu.
Không phải ngôn ngữ OOP loại phân lớp nào cũng hỗ trợ cho tính chất này.
Ngoài các khái niệm trên, tùy theo ngôn ngữ, có thể sẽ có các chức năng OOP riêng
biệt được cấp thêm vào.

III . HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
III.1.Giới thiệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và
được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt
động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất
mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có
truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về
MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên

Phạm Văn Mừng

Lớp 05T3

Trang Số :11



Website quản lý và bán sách trực tuyến
bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,
FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, ...
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó
làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,...

III.2.Khái niệm cơ bản về cơ sở dữ liệu
Cơ sở dữ liệu (database) có thể hiểu là nơi chứa dữ liệu. Có nhiều loại cơ sở dữ
liệu khác nhau như cơ sở dữ liệu quan hệ, CSDL hướng đối tượng, CSDL phân
tán...
Hiện nay, trong phần lớn các ứng dụng, người ta thường sử dụng CSDL quan hệ.
Trong mô hình CSDL quan hệ, dữ liệu thường được chia thành các bảng có liên
quan với nhau.
Hệ quản trị CSDL là chương trình dùng để quản lý một CSDL nào đó. Chẳng
hạn như chương trình Access là một hệ quản trị CSDL để quản lý CSDL Access.
Thông thường thì tên của hệ quản trị CSDL gắn liền với tên của loại CSDL. VD
như: CSDL Access <-> Hệ quản trị CSDL Access, CSDL MySQL <-> Hệ quản trị
CSDL MySQL, CSDL Oracle <-> Hệ quản trị CSDL Oracle. Trong trường hợp này
thì người ta thường nhầm lẫn giữa khái niệm CSDL và cấu trúc (dạng nhị phân) của
một CSDL do hệ quản trị CSDL quy định.
Người ta gọi các cột trong một bảng là các trường, các dòng trong một bảng là
các bản ghi.
Mỗi trường sẽ có một kiểu dữ liệu xác định. Đó có thể là kiểu số, kiểu chuỗi,
kiểu ngày tháng...

III.3. Ngôn ngữ truy vấn CSDL SQL
SQL là một ngôn ngữ được sử dụng trong các ngôn ngữ lập trình để truy vấn

thông tin trong CSDL. Điểm mạnh của ngôn ngữ này là cấu trúc đơn giản, có thể
nhập lệnh vào dưới dạng các chuỗi văn bản, sau đó chuyển câu lệnh tới các chương
trình điều khiển trung gian để truy vấn dữ liệu rồi trả về cho chương trình. Như vậy,
mọi thao tác kết xuất, truy vấn hoàn tòan dễ dàng thông qua việc điều khiển chuỗi
văn bản có chứa câu lệnh SQL
III.3.1.
Câu lệnh chèn dữ liệu vào một bảng.
Cú pháp của câu lệnh này có dạng:
Code:
Phạm Văn Mừng

Lớp 05T3

Trang Số :12


Website quản lý và bán sách trực tuyến
INSERT INTO tên_bảng (danh_sách_trường) VALUES
(danh_sách_giá_trị)

Trong đó:
- Các từ khóa cố định là INSERT, INTO và VALUES.
- Tên_bảng là tên của một bảng quan hệ trong CSDL.
- Danh_sách_trường là danh sách các trường trong bảng quan hệ được sử
dụng
- Danh_sách_giá_trị là danh sách các giá trị tương ứng với các trường, có
bao nhiêu trường thì phải chèn vào bấy nhiêu giá trị.
Chú ý:
- Thông thường, các giá trị chuỗi phải được đặt trong cặp dấu nháy hoặc
dấu ngoặc kép tùy thuộc vào ngôn ngữ biểu diễn và kiểu dữ liệu của

trường. Mỗi giá trị cách nhau bởi một dấu phẩy.
III.3.2.
Câu lệnh chỉnh sửa dữ liệu trong bảng
Để chỉnh sửa (cập nhật) thông tin trong bảng, ta dùng câu lệnh UPDATE với cú
pháp sau:
Code:
UPDATE tên_bảng SET tên_trường1=giá_trị1[,
tên_trường_i=giá_trịi] WHERE điều_kiện

III.3.3
Câu lệnh xóa dữ liệu trong bảng
Để xóa dữ liệu trong bảng, ta dùng câu lệnh DELETE với cú pháp sau:
Code:
DELETE FROM tên_bảng WHERE điều_kiện.

Câu lệnh này sẽ xóa tất cả những bản ghi thỏa mãn điều kiện nằm sau mệnh đề
WHERE.
III.3.4.
Câu lệnh truy vấn (tìm kiếm) dữ liệu trong bảng
Đây là câu lệnh phức tạp nhất trong nhóm các câu lệnh của SQL.
Cú pháp của lệnh này như sau:
SELECT [danh_sách_trường] FROM [danh_sách_bảng] WHERE
[danh_sách_điều_kiện] [ORDER BY]

IV. GIỚI THIỆU TỔNG QUAN VỀ AJAX
IV.1. Định nghĩa
Khác với các phần mềm chạy độc lập ở máy khách (có khả năng tương tác gần
như tức thời với người dùng), các ứng dụng Web bị giới hạn bởi chính nguyên lý
Phạm Văn Mừng


Lớp 05T3

Trang Số :13


Website quản lý và bán sách trực tuyến
hoạt động của nó: tất cả các giao dịch phải thực hiện thông qua phương thức giao
dịch HTTP (HyperText Transport Protocol - Giao thức truyền tải qua các siêu liên
kết) trong một mô hình có tên Client/Server. Bất kỳ một tác động nào của người
dùng lên ứng dụng Web thông qua trình duyệt đều cần thời gian gửi về Server và
sau khi xử lý, Server sẽ trả về những thông tin người dùng mong đợi. Như vậy, độ
trễ trong trường hợp này chính là điều mà các ứng dụng Web khó có thể sánh với
như các phần mềm chạy trên máy tính đơn lẻ (đặc biệt là trong các ứng dụng như
Bản đồ trực tuyến, soạn thảo văn bản trực tuyến, sát hạch trực tuyến có tính thời
gian làm bài…).
Thuật ngữ AJAX được xuất hiện vào ngày 18/2/2005 trong một bài báo có tên
AJAX : A New Approach to Web Applications của tác giả Jesse James Garrett, công
ty AdapativePath. Ông định nghĩa và tóm gọn lại từ cụm từ “Asynchronous
JavaScript+CSS+DOM+XMLHttpRequest”. Ngay sau đó thuật ngữ AJAX được
phổ biến cực kỳ nhanh chóng trong cộng đồng phát triển Web và cho đến nay nó là
một trong những từ khóa được tìm kiếm nhiều nhất trên Internet.
AJAX bao gồm:
- Thể hiện Web theo tiêu chuẩn XHTML và CSS.
- Nâng cao tính năng động và tương tác bằng DOM (Document Object
Model).
- Trao đổi và xử lý dữ liệu bằng XML và XSLT.
- Truy cập dữ liệu theo kiểu bất đồng bộ (asynchronous) bằng
XMLHttpRequest. Và tất cả các kỹ thuật trên được liên kết lại với nhau
bằng JavaScript.


IV.2. Cấu trúc và cách hoạt động
Trong các thành phần cấu thành trên, điểm mấu chốt của AJAX nằm ở
XMLHttpRequest. Đây là một kỹ thuật do Microsoft khởi xướng và tích hợp lần
đầu tiên vào IE5 dưới dạng một ActiveX.. Các vấn đề về XMLHttpRequest và cách
sử dụng nó trên các trình duyệt khác nhau sẽ được chúng ta quay trở lại ở các phần
tiếp theo. Sau đây là một số nét khác biệt cơ bản giữa các ứng dụng Web truyền
thống và ứng dụng Web sử dụng AJAX.
Trong các ứng dụng Web truyền thống, khi người dùng có một cần thay đổi dữ
liệu trên trang Web, yêu cầu thay đổi được gửi về server dưới dạng HTTP request
(hay còn gọi postback), server sẽ xử lý yêu cầu này và gửi trả lại trang HTML khác

Phạm Văn Mừng

Lớp 05T3

Trang Số :14


Website quản lý và bán sách trực tuyến
thay thế trang cũ. Qui trình này được mô tả là nhấp-chờ và tải lại (click-wait-andrefresh)
Ví dụ người dùng sau khi nhấn một nút “Submit” trên trang Web phải chờ cho
đến khi server xử lý xong mới có thể tiếp tục công việc. Ngược lại, trong các ứng
dụng AJAX, người dùng có thể nhấn chuột, gõ phím liên tục mà không cần chờ đợi.
Nội dung tương ứng với từng hành động của người dùng sẽ gần như ngay lập tức
được hiển thị vào vị trí cần thiết (đáp ứng gần như tức thời) trong khi trang Web
không cần phải refresh lại toàn bộ nội dụng. Để tìm hiểu kỹ hơn điều này, ta sẽ xem
xét 2 mô hình ứng dụng như đã đề cập, Mô hình cổ điển và Mô hình AJAX-based:
Mô hình cổ điển của một ứng dụng Web
Mô hình ứng dụng Web sử dụng AJAX
Rõ ràng điểm khác biệt là thay vì phải tải cả trang Web thì với AJAX trình duyệt

phía người dùng chỉ cần tải về phần của trang Web mà người dùng muốn thay đổi.
Điều này giúp cho ứng dụng Web phản hồi nhanh hơn, thông minh hơn. Ngoài ra,
điểm đặc biệt quan trọng trong công nghệ AJAX nằm ở chữ A (Asynchronous) –
không đồng bộ – tức là người dùng cứ gửi yêu cầu của mình tới server và quay lại
với công việc của mình mà không cần chờ trả lời. Khi nào server xử lý xong yêu
cầu của phía người dùng, nó sẽ báo hiệu và người dùng có thể “thu nhận lấy” để thể
hiện những thay đổi cần thiết.
Cơ chế này hoạt động :
AJAX cho phép tạo ra một AJAX Engine nằm giữa giao tiếp này. Khi đó, các
yêu cầu gửi (resquest) và nhận (response) do AJAX Engine thực hiện. Thay vì trả
dữ liệu dưới dạng HTML và CSS trực tiếp cho trình duyệt, Web server có thể gửi trả
dữ liệu dạng XML và AJAX Engine sẽ tiếp nhận, phân tách và chuyển hóa thành
XHTML + CSS cho trình duyệt hiển thị. Việc này được thực hiện trên client nên
giảm tải rất nhiều cho server, đồng thời người sử dụng cảm thấy kết quả xử lý được
hiển thị tức thì mà không cần nạp lại trang. Mặt khác, sự kết hợp của các công nghệ
Web như CSS và XHTML làm cho việc trình bày giao diện trang Web tốt hơn nhiều
và giảm đáng kể dung lượng trang phải nạp. Đây là những lợi ích hết sức thiết thực
mà AJAX đem lại. Chúng ta sẽ xem xét cụ thể các thành phần cấu thành AJAX

V . TÌM HIỂU VỀ UML
V.1. Giới thiệu UML
Ngôn ngữ mô hình hóa thống nhất- UML là một ngôn ngữ bao gồm một bảng từ
vựng và các quy tắc để kết hợp các từ vựng đó phục vụ cho mục đích giao tiếp. Một

Phạm Văn Mừng

Lớp 05T3

Trang Số :15



Website quản lý và bán sách trực tuyến
ngôn ngữ dùng cho việc lập mô hình là ngôn ngữ mà bảng từ vựng (các ký hiệu) và
các quy tắc của nó tập trung vào việc thể hiện về mặt khái niệm cũng như vật lý của
một hệ thống.
UML là một ngôn ngữ dùng để:
 Trực quan hóa
 Cụ thể hóa
 Sinh mã ở dạng nguyên mẫu
 Lập và cung cấp tài liệu

V.2. Lịch sử phát triển của UML
Những năm đầu của thập kỷ 90 có rất nhiều phương pháp phân tích, thiết kế hệ
thống hướng đối tượng và cùng với chúng là các ký hiệu riêng cho từng phương
pháp. Số lượng các phương pháp trong khoảng từ 10 đã lên đến gần 50 trong những
năm từ 1989 đến 1994. Ba phương pháp phổ biến nhất là OMT (Object Modeling
Technique) [James Rumbaugh], Booch91 [Grady Booch] và OOSE (ObjectOriented Software Enginering) [Ivar Jacobson]. Mỗi phương pháp đều có những
điểm mạnh và yếu. Như OMT mạnh trong phân tích và yếu ở khâu thiết kế,
Booch91 thì mạnh ở thiết kế và yếu ở phân tích. OOSE mạnh ở phân tích các ứng
xử, đáp ứng của hệ thống mà yếu trong các khâu khác.
Do các phương pháp chưa hoàn thiện nên người dùng rất phân vân trong việc
chọn ra một phương pháp phù hợp nhất để giải quyết bài toán của họ. Hơn nữa, việc
các ký hiệu khác nhau của các phương pháp đã gây ra những sự mập mờ, nhầm lẫn
khi mà một ký hiệu có thể mang những ý nghĩa khác nhau trong mỗi phương pháp.
Thời kỳ này còn được biết đến với tên gọi là cuộc chiến giữa các phương pháp.
Khoảng đầu năm 94, Booch đã cải tiến phương pháp của mình trong đó có ứng
dụng những ưu điểm của các phương pháp của Rumbaugh và Jacobson. Tương tự
Rumbaugh cũng cho đăng một loạt các bài báo được biết đến với tên gọi phương
pháp OMT-2 cũng sử dụng nhiều ưu điểm của phương pháp của Booch. Các
phương pháp đã bắt đầu hợp nhất, nhưng các kí hiệu sử dụng ở các phương pháp

vẫn còn nhiều điểm khác biệt.
Cuộc chiến này chỉ kết thúc khi có sự ra đời của UML - một ngôn ngữ mô hình
hóa hợp nhất. Tại sao lại là hợp nhất? Đó là do có sự hợp nhất các cách kí hiệu của
Booch, OMT và Objectory cũng như các ý tưởng tốt nhất của một số phương pháp
khác như hình vẽ sau:

Phạm Văn Mừng

Lớp 05T3

Trang Số :16


×