Tải bản đầy đủ (.docx) (71 trang)

đồ án tốt nghiệp công nghệ thông tin xây dựng website quảng bá và quản lý đặt món cho nhà hàng lẩu SUMO

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 (18.93 MB, 71 trang )

XÂY DỰNG WEBSITE QUẢNG BÁ VÀ QUẢN LÝ ĐẶT MÓN CHO NHÀ HÀNG LẨU SUMO - Niên khóa: 20112015

VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ TIN HỌC

HỌ VÀ TÊN: PHẠM MINH NGỌC

ĐỀ TÀI: XÂY DỰNG WEBSITE QUẢNG BÁ VÀ
QUẢN LÝ ĐẶT MÓN CHO NHÀ HÀNG LẨU SUMO

TIN HỌC ỨNG DỤNG

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Hà Nội - Năm 2014


VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ TIN HỌC

HỌ VÀ TÊN: PHẠM MINH NGỌC

ĐỀ TÀI: XÂY DỰNG WEBSITE QUẢNG BÁ VÀ
QUẢN LÝ ĐẶT MÓN CHO NHÀ HÀNG LẨU SUMO

TIN HỌC ỨNG DỤNG

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Hà Nội - Năm 2014



NHIỆM VỤ ĐỒ ÁN

-

Khảo sát quy trình xử lý đặt bàn và đặt món online của nhà hàng

-

Phân tích, xác định các yêu cầu của hệ thống

-

Xây dựng hệ thống hỗ trợ xử lý đặt bàn và đặt món gồm:



Quản lý các danh mục



Quản lý đặt bàn



Quản lý đặt món


LỜI MỞ ĐẦU
Trong xã hội hiện nay nhà hàng là một trong những lĩnh vực kinh doanh

nhiều tiềm năng. Các quán ăn được mở ra ngày càng nhiều vì người Việt Nam
đang dần chú ý đến nhu cầu ăn uống. Họ không chỉ muốn ăn ngon mà còn
muốn được nhận những giá trị tinh thần đi kèm với dịch vụ ăn uống. Ví như:
một không gian đầy nghệ thuật tương xứng với đồng tiền bỏ ra, phong cách
phục vụ chuyên nghiệp, nét văn hóa riêng biệt mà chỉ tìm thấy ở nhà hàng đó
(phong cách sống kiểu Mĩ với Mc Donald, Sushi băng chuyền của người Nhật
Bản…), hay từ kênh cầu nối giữa nhà hàng và thực khách hiệu quả, mang lại
ấn tượng tốt đẹp. Kênh cầu nối hữu hiệu đó chính là Website.
Sau thời gian học tập tại trường, được sự chỉ bảo hướng dẫn tận tình
của các thầy cô trong khoa Công nghệ thông tin, Viện Đại học Mở Hà Nội em
đã kết thúc khóa học và tích lũy được vốn kiến thức nhất định. Được sự đồng
ý của nhà trường và các thầy cô trong khoa em được nhận đề tài tốt nghiệp:
“Xây dựng website quảng bá và quản lý đặt món cho nhà hàng lẩu SUMO”.
Qua đề tài tốt nghiệp, em muốn vận dụng tổng thể tất cả các kiến thức đã học,
tìm hiểu để khẳng định thực lực của bản thân, giúp em có thêm kinh nghiệm
làm việc sau khi ra trường.
Bằng sự cố gắng nỗ lực của bản thân và đặc biệt là sự giúp đỡ tận tình
chu đáo của cô giáo Th.S Trịnh Thị Xuân, em đã hoàn thành đồ án đúng thời
hạn. Do trình độ còn nhiều hạn chế, em rất mong nhận được sự đóng góp ý kiến
của các thầy cô để đề tài này được hoàn thiện hơn. Em xin chân thành cảm ơn
cô giáo Th.S Trịnh Thị Xuân, các thầy cô giáo trong Khoa Công nghệ thông
tin, Viện Đại học Mở Hà Nội đã tạo điều kiện giúp đỡ em trong thời gian qua.
Hà Nội, ngày… tháng… năm…
Sinh viên thực hiện
Phạm Minh Ngọc


TÓM TẮT ĐỒ ÁN

Họ và tên: Phạm Minh Ngọc

Chuyên ngành: Công nghệ thông tin

Khóa: 11

Cán bộ hướng dẫn: Ths.Trịnh Thị Xuân
Tên đề tài: Xây dựng website quảng bá và quản lý đặt món cho nhà hàng
lẩu SUMO
Tóm tắt: Website tập trung giải quyết vấn đề chính là quảng bá, đặt
bàn và đặt món trực tuyến. Khách hàng có thể đặt bàn trước còn đặt món thì
có thể đặt luôn hoặc khi đến nhà hàng gọi sau chỉ bằng những thao tác đơn
giản là điền các thông tin cần thiết và gửi về cho nhà hàng.


MỤC LỤC
NHIỆM VỤ ĐỒ ÁN...................................................................................................................2
LỜI MỞ ĐẦU................................................................................................................................4
TÓM TẮT ĐỒ ÁN......................................................................................................................5
Chương I
MỞ ĐẦU
1.1. Giới thiệu bài toán.........................................................................................................1
1.2. Mục tiêu và phạm vi đề tài........................................................................................2
1.2.1. Mục tiêu..........................................................................................2
1.2.2. Phạm vi đề tài.................................................................................2
1.3. Ưu, nhược điêm của đề tài.........................................................................................2
1.4. Ý nghĩa lý luận và ý nghĩa thực tiễn của đề tài................................................3
1.5. Cấu trúc của báo cáo....................................................................................................3
Chương II
CÔNG NGHỆ SỬ DỤNG
2.1. Hệ quản trị cơ sở dữ liệu MySQL..........................................................................4
2.1.1. Đặc điểm.........................................................................................4

2.1.2. Quản lý CSDL trong MySQL.........................................................4
2.1.3. Các kiểu bảng dữ liệu trong MySQL.............................................4
2.1.4. Thao tác với bảng dữ liệu...............................................................6
2.1.5. Quản lý chỉ mục..............................................................................6
2.1.6. Truy vấn dữ liệu từ bảng................................................................7
2.1.7. Thủ tục Procedure, Con trỏ, Trigger...............................................9
2.2. Ngôn ngữ lập trình PHP...........................................................................................11
2.2.1. Ưu điểm........................................................................................11
2.2.2. Làm thế nào để chạy được kịch bản PHP.....................................12
2.2.3. Cú pháp PHP................................................................................12
2.2.4. Kiểu dữ liệu..................................................................................12
2.2.5. Biến FORM..................................................................................15


2.2.6. SESSION và COOKIE.................................................................15
Chương 3
PHÂN TÍCH BÀI TOÁN
3.1. Yêu cầu chung về hệ thống.................................................................17
3.2. Yêu cầu bài toán.................................................................................17
3.3. Mục đích của trang web......................................................................17
3.4. Đối tượng sử dụng hệ thống...............................................................18
3.5. Các chức năng cơ bản của hệ thống....................................................18
3.6. Mô hình phân cấp chức năng..............................................................19
3.7. Sơ đồ ngữ cảnh...................................................................................26
3.8. Ma trận thực thể - chức năng (E – F)..................................................27
3.9. Sơ đồ luồng dữ liệu.............................................................................28
3.9.1. Sơ đồ luồng dữ liệu mức đỉnh 0...................................................28
3.9.2. Sơ đồ luồng dữ liệu mức dưới đỉnh “1.0. Quản lý User”.............29
3.9.3. Sơ đồ luồng dữ liệu mức dưới đỉnh “2.0. Quản lý món ăn”.........29
3.9.4. Sơ đồ luồng dữ liệu mức dưới đỉnh “3.0. Quản lý đơn đặt”.........30

3.9.5. Sơ đồ luồng dữ liệu mức dưới đỉnh “4.0. Tìm kiếm”...................30
3.9.6. Sơ đồ luồng dữ liệu mức dưới đỉnh “5.0. Thống kê”...................31
3.10. Lưu đồ thuật toán.........................................................................................................31
3.10.1. Chức năng đăng nhập và đăng xuất (Admin)...............................31
3.10.2. Chức năng đổi mật khẩu...............................................................32
3.10.3. Chức năng thay đổi thông tin Admin...........................................33
3.10.4. Chức năng đặt bàn........................................................................34
3.10.5. Chức năng đặt món.......................................................................35
3.10.6. Chức năng tìm kiếm.....................................................................36
3.10.7. Chức năng thêm danh mục món ăn, món ăn, bàn, ca...................37
3.10.8. Chức năng sửa danh mục món ăn, món ăn, bàn, ca.....................38
3.10.9. Chức năng xóa danh mục món ăn, món ăn, bàn, ca.....................39


Chương IV
THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG
4.1. Cơ sở dữ liệu vật lý.....................................................................................................40
4.1.1. Mô hình cơ sở dữ liệ.....................................................................45
4.2. Thiết kế giao diện chức năng.................................................................................46
4.2.1. Đăng nhập.....................................................................................46
4.2.2. Đặt bàn..........................................................................................46
4.2.3. Liên hệ..........................................................................................47
4.3. Chương trình..................................................................................................................48
4.3.1. Trang Giới thiệu...........................................................................48
4.3.2. Trang Đặt bàn...............................................................................49
4.3.3. Trang Tin tức................................................................................50
4.3.4. Trang Hình ảnh.............................................................................51
4.3.5. Trang Liên hệ................................................................................52
4.3.6. Trang Thanh toán giỏ hàng...........................................................53
4.3.7. Trang Login – Admin...................................................................54

4.3.8. Trang chủ Admin..........................................................................54
4.3.9. Trang Quản lý đơn hàng...............................................................55
4.3.10. Trang Quản lý danh mục món ăn.................................................55
4.3.11. Trang Quản lý bảng tin.................................................................56
4.3.12. Trang Quản lý liên hệ...................................................................56
4.3.13. Trang Quản lý hình ảnh................................................................57
4.3.14. Trang Quản lý tài khoản Admin...................................................57
KẾT LUẬN....................................................................................................................................58
DANH MỤC TÀI LIỆU THAM KHẢO..........................................................................59


DANH MỤC CÁC KÝ HIỆU
STT

Tên viết tắt

Tên đầy đủ

1

CSDL

Cơ sở dữ liệu

2

PK

Primary Key


Dịch ra tiếng việt
Khóa chính


DANH MỤC CÁC BẢNG
Bảng 2.1. Các kiểu dữ liệu..............................................................................13
Bảng 2.2. Các toán tử......................................................................................14
Bảng 3.1. Các tác nhân ngoài và hồ sơ dữ liệu...............................................19
Bảng 3.2. Các chức năng theo mạch công việc...............................................19
Bảng 3.3. Ma trận thực thể - chức năng..........................................................27
Bảng 4.1. Bảng ban.........................................................................................40
Bảng 4.2. Bảng admin....................................................................................40
Bảng 4.3. Bảng danh_muc.............................................................................41
Bảng 4.4. Bảng dd_ban..................................................................................41
Bảng 4.5. Bảng dd_mon.................................................................................41
Bảng 4.6. Bảng don_dat.................................................................................42
Bảng 4.7. Bảng mon_an................................................................................42
Bảng 4.8. Bảng ca...........................................................................................43
Bảng 4.9. Bảng lien_he...................................................................................43
Bảng 4.10. Bảng loai_tin................................................................................43
Bảng 4.11. Bảng bang_tin..............................................................................44
Bảng 4.12. Bảng anh.......................................................................................44
Bảng 4.13. Bảng album..................................................................................44


DANH MỤC CÁC HÌNH VẼ
Hình 3.1. Sơ đồ phân cấp chức năng...............................................................21
Hình 3.2. Sơ đồ chi tiết chức năng “Chỉnh sửa tài khoản”.............................23
Hình 3.3. Sơ đồ chi tiết chức năng “Cập nhật danh mục món ăn”..................23
Hình 3.4. Sơ đồ chi tiết chức năng “Cập nhật món ăn”..................................24

Hình 3.5. Sơ đồ chi tiết chức năng “Đặt bàn”.................................................24
Hình 3.6. Sơ đồ chi tiết chức năng “Đặt món”................................................25
Hình 3.7. Sơ đồ chi tiết chức năng “Xử lý đơn đặt”.......................................25
Hình 3.8. Sơ đồ ngữ cảnh................................................................................26
Hình 3.9. Sơ đồ luồng dữ liệu mức đỉnh 0......................................................28
Hình 3.10. Sơ đồ luồng dữ liệu mức dưới đỉnh 1.0. Quản lý User.................29
Hình 3.11. Sơ đồ luồng dữ liệu mức dưới đỉnh 2.0. Quản lý món ăn.............29
Hình 3.12. Sơ đồ luồng dữ liệu mức dưới đỉnh 3.0. Quản lý đơn đặt.............30
Hình 3.13. Sơ đồ luồng dữ liệu mức dưới đỉnh 4.0. Tìm kiếm.......................30
Hình 3.14. Sơ đồ luồng dữ liệu mức dưới đỉnh 5.0. Thống kê........................31
Hình 3.15. Lưu đồ thuật toán chức năng đăng nhập và đăng xuất (Admin)...31
Hình 3.16. Lưu đồ thuật toán chức năng đổi mật khẩu...................................32
Hình 3.17. Lưu đồ thuật toán chức năng thay đổi thông tin Admin................33
Hình 3.18. Lưu đồ thuật toán chức năng đặt bàn............................................34
Hình 3.19. Lưu đồ thuật toán chức năng đặt bàn............................................35
Hình 3.20. Lưu đồ thuật toán chức năng tìm kiếm..........................................36
Hình 3.21. Lưu đồ thuật toán chức năng thêm đối tượng...............................37
Hình 3.22. Lưu đồ thuật toán chức năng sửa đối tượng..................................38
Hình 3.23. Lưu đồ thuật toán chức năng xóa đối tượng..................................39
Hình 4.1. Mô hình cơ sở dữ liệu......................................................................45
Hình 4.2. Giao diện Đăng nhập.......................................................................46
Hình 4.3. Giao diện Đặt bàn............................................................................46
Hình 4.4. Giao diện liên hệ.............................................................................47


1

Chương I

MỞ ĐẦU

Giới thiệu bài toán
Ngày nay website đóng vai trò là kênh truyền thông và công cụ kinh
doanh hàng đầu cho mỗi đơn vị kinh doanh, nó mang lại lợi thế không thế phủ
nhận: nó là kênh tư vấn khách hàng trực tuyến, quảng cáo, marketing và PR,
là phương tiện quản lý doanh nghiệp từ xa. Đặc biệt trong lĩnh vực nhà hàng
ẩm thực, website giúp tự động hóa nghiệp vụ phục vụ khách hàng (thông qua
đặt bàn trực tuyến,..)
Trong bối cảnh nền kinh tế chưa có dấu hiệu hồi phục một cách mạnh
mẽ và tích cực thì bán hàng qua mạng là giải pháp được lựa chọn nhiều hơn
cả để tiết kiệm chi phí, mở rộng thị trường mục tiêu mà lại cải thiện được chất
lượng dịch vụ (thông qua góp ý trực tuyến của khách hàng). Ngoài ra, website
giúp gia tăng lượng khách hàng thông qua các công cụ tìm kiếm (Google,
Bing, Yahoo,..).
Thêm vào đó, các đồ ăn du nhập từ nước ngoài vào Việt Nam hiện nay
(Nhật, Hàn, Trung, Thái,…) ngày càng bão hòa, không còn sự mới lạ, và sức
hút đặc biệt với thực khách nữa, thì người ta lại thích tìm về những giá trị ẩm
thực Việt truyền thống, những bí quyết nấu ăn độc đáo của từng ẩm thực gia,
mỗi món ăn vào tay từng nhà đầu bếp là cả một trải nghiệm khác biệt. Hơn
nữa, đó còn là một nét văn hóa, một nét đẹp tao nhã của người Việt Nam từ
xưa tới nay. Có thể nói ẩm thực Việt đang tự khẳng định được vị trí mới của
mình, đặc biệt là món lẩu đang rất được ưa chuộng. Món ăn Việt không chỉ
ngon, lành, độc đáo mà còn thể hiện được tài năng và trí tuệ, sự chịu khó,
sáng tạo của con người Việt Nam.


2

Với những cảm nhận về xu hướng phát triển xã hội và ẩm thực như
trên, nhóm dự án chúng tôi muốn xây dựng một website nhà hàng lẩu SUMO
nhằm mục đích giúp khách hàng có thể linh hoạt trong việc mua hàng, tiết

kiệm được nhiều thời gian và tiền bạc. Mong muốn của chúng tôi là mang đến
cho khách hàng những lựa chọn tốt nhất về chất lượng sản phẩm, giá cả và
dịch vụ kèm theo. Đồng thời giúp quảng bá văn hóa ẩm thực Việt ngày càng
rộng rãi tới tất cả khách trong và ngoài nước.
Thông qua đây chúng tôi cũng trau dồi thêm kiến thức về nghiệp vụ
quản lí công tác bán hàng, dịch vụ phục vụ khách hàng, và quản lý website.
Từ đó mô hình hóa nghiệp vụ thông qua các ứng dụng trên nền website, nâng
cao khả năng tư duy, tích lũy kinh nghiệm và tăng hiệu quả làm việc.
Mục tiêu và phạm vi đề tài
Mục tiêu
- Hỗ trợ công tác quản lý trong hệ thống nhà hàng được nhanh và dễ dàng
hơn.
- Phần mềm hỗ trợ nhân viên quản lý để rút gắn thời gian lao động chân tay,
kiểm soát thông tin cũng như doanh thu chính xác hơn.
- Phần mềm hỗ trợ khách hàng có thể xem, đặt hàng mà không cần phải mất
thời gian đến tận nơi, tiết kiệm chi phí.
Phạm vi đề tài
- Phát triển cho nhà hàng lẩu SUMO
- Có thể phát triển cho các nhà hàng vừa và nhỏ.
Ưu, nhược điêm của đề tài


Ưu điểm:

- Website có sử dụng cơ sở dữ liệu quan hệ mạnh MySQL và được hỗ trợ bởi
các ngôn ngữ lập trình tiên tiến như PHP, javascript,…


3


- Giao diện đẹp, đơn giản, thân thiện và dễ sử dụng, không đòi hỏi người
dùng phải có trình độ và hiểu biết về tin học cao, phù hợp với trình độ của
quản lý cũng như nhân viên trong nhà hàng.
- Có nhiều menu nhanh thuận tiện trong quá trình thao tác.
- Tạo điều kiện thuận lợi cho khách hàng có thể chọn các món ăn yêu thích.
- Khách hàng sẽ được cung cấp đầy đủ thông tin về nhà hàng, món ăn, thông
tin cần thiết cũng như hình ảnh thực tế… với giá cả được niêm yết công
khai trên trang web.


Nhược điểm:

- Website chỉ dùng cho các nhà hàng vừa và nhỏ, chưa thể ứng dụng cho nhà
hàng lớn cũng như chuỗi các cửa hàng.
- Chưa quản lý được toàn bộ của hàng với các khâu nhập, xuất nguyên liệu,
quản lý toàn bộ nhân viên với lương, thưởng…
Ý nghĩa lý luận và ý nghĩa thực tiễn của đề tài
- Giúp em hiểu rõ về quy trình và nghiệp vụ của website quảng bá và quản lý
đặt món cho nhà hàng.
- Tiếp cận và làm quen với các yêu cầu thực tế của khách hàng đối với
website quảng bá và quản lý đặt món cho nhà hàng.
- Ứng dụng đề tài vào quảng bá và quản lý đặt món cho nhà hàng.
- Nâng cấp website để ứng dụng vào quá trình quảng bá và quản lý đặt món
cho tất cả các nhà hàng.
Cấu trúc của báo cáo
Báo cáo gồm 4 chương:
-

Chương I: Mở đầu
Chương II: Công nghệ sử dụng

Chương III: Phân tích bài toán
Chương IV: Thiết kế và xây dựng hệ thống
Chương II
CÔNG NGHỆ SỬ DỤNG


4

Hệ quản trị cơ sở dữ liệu MySQL
Đặc điểm
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở thông dụng nhất.
MySQL là một hệ thống client/server bao gồm một SQL server đa
luồng cho phép hỗ trợ nhiều thiết bị đầu cuối khác nhau, một vài chương trình
client khác nhau và các thư viện, các công cụ quản trị và một vài giao diện lập
trình. Các nhà cung cấp cũng cung cấp MySQL như là một thư viện đa luồng
mà ta có thể kết nối trong ứng dụng của ta để đạt tới một sản phẩm nhỏ hơn,
nhanh hơn, dễ quản lý hơn. MySQL có nhiều các phần mềm được phân phối
có sẵn, điều này rất thuận tiện trong việc tìm ướng dụng yêu thích hoặc ngôn
ngữ hỗ trợ MySQL.
Quản lý CSDL trong MySQL
Để tạo mới một CSDL trong MySQL, sử dụng lệnh CREATE
DATABASE:
CREATE DATABASE [IF NOT EXISTS] database_name;
Câu lệnh trên tạo một CSDL với tên là database_name, phần [IF NOT
EXISTS] để tránh khỏi lỗi tạo một CSDL mới trùng tên với một CSDL đã có
trong máy chủ CSDL.
Các kiểu bảng dữ liệu trong MySQL
- MySQL hỗ trợ nhiều kiểu bảng dữ liệu hoặc các máy lưu trữ khác nhau giúp
chúng ta tối ưu hóa CSDL của mình. Các kiểu bảng trong MySQL gồm:



ISAM: đã bị loại khỏi các phiên bản từ 5.x trở đi. Nó được thay thế

bởi MyISAM. Một bảng dữ liệu kiểu ISAM có dung lượng tối đa là 4GB và
không thể di chuyển.


MyISAM: Kiểu MyISAM là mặc định khi tạo ra một bảng dữ liệu

mới. Các thao tác trên bảng dữ liệu kiểu này diễn ra rất nhanh, tuy nhiên nó
lại không hỗ trợ đặc tính an toàn giao tác. Dung lượng của một bảng dữ liệu


5

kiểu MyISAM phụ thuộc và hệ điều hành. Bảng dữ liệu kiểu MyISAM có thể
chuyển từ hệ thống này sang hệ thống khác. Với bảng dữ liệu kiểu MyISAM
bạn có thể có tới 64 khóa và chiều dài tối đa của khóa là 1024byte.


InnoDB: Khác với bảng dữ liệu kiểu MyISAM, bảng dữ liệu kiểu

InnoDB có đặc tính an toàn giao tác và hỗ trợ khóa dòng (row level locking).
Các khóa ngoại được hỗ trợ trong kiểu InnoDB. Tập tin dữ liệu của bảng dữ
liệu kiểu InnoDB có thể lưu trữ ở nhiều file khác nhau. Vì thế dung lượng của
bảng InnoDB phụ thuộc vào dung lượng của ổ đĩa. Giống như bảng dữ liệu
kiểu MyISAM, tập tin dữ liệu của InnoDB có thể chuyển từ hệ thống này
sang hệ thống khác. Điểm bất lợi của InnoDB so với MyISAM là nó cần
nhiều không gian lưu trữ.



BDB: cũng tương tự như InnoDB ở tính an toàn giao tác. Nó hỗ trợ

khóa trang (page level locking). Tuy nhiên tập tin dữ liệu BDB lại không thể
chuyển đổi giữa các hệ thống.


MERGE: Bảng dữ liệu kiểu Merge được thêm vào để giải quyết vấn

đề hạn chế của MyISAM. Nó biến nhiều bảng MyISAM thành một bảng dữ
liệu vì thế những hạn chế về dung lượng của MyISAM không còn là trở ngại
kỹ thuật.


HEAP: Bảng dữ liệu kiểu HEAP được lưu trữ trong bộ nhớ. Do đó,

nó là kiểu bảng được thao tác nhanh nhất. Bởi cơ chế lưu trữ, dữ liệu sẽ bị
mất đi khi máy tính không còn nguồn điện và đôi khi nó còn có thể gây ra tình
trạng tràn bộ nhớ đối với máy chủ CSDL. Các bảng HEAP không hỗ trợ
những trường có kiểu AUTO_INCREMENT, BLOB và TEXT.
Thao tác với bảng dữ liệu
2.1.4.1 Tạo bảng
Create table ten_bang (


6

Danh_sach_cac_truong
) ENGINE= kieu_du_lieu_cua_bang
Trong đó Danh_sach_cac_truong là tên các cột và kiểu dữ liệu của cột.

2.1.4.2 Chỉnh sửa cấu trúc bảng
ALTER TABLE ten_bang
lua_chon_chinh_sua
Trong đó lựa chọn chỉnh sửa gồm:
+ Thêm cột: add ten_cot
+ Thêm khóa chính: add primary key ten_khoa
+ Thay đổi thuộc tính cột: change ten_cu ten_moi kieu_du_lieu
+ Xóa cột: drop ten_cot
+ Xóa khóa chính của trường: drop ten_khoa
+ Đổi tên của bảng: Rename ten_moi
2.1.4.3 Xóa bảng dữ liệu
- Cú pháp: Drop ten_bang
- Xóa trống dữ liệu của bảng: TRUNCATE TABLE ten_bang
Câu lệnh TRUNCATE TABLE xóa bỏ bảng dữ liệu rồi sau đó tạo lại
chính bảng đó, câu lệnh này không hỗ trợ tính an toàn giao tác.
Quản lý chỉ mục
2.1.5.1 Tạo chỉ mục
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
USING [BTREE | HASH | RTREE]
ON table_name (column_name [(length)] [ASC | DESC],...)
Trong đó:


7

 UNIQUE có nghĩa là MySQL sẽ tạo ràng buộc trên tất cả các giá trị
của cột đều phải phân biệt lẫn nhau. Tuy nhiên giá trị NULL lại có thể được
lặp ngoại trừ đối với bảng dữ liệu kiểu BDB.
 Chỉ mục FULLTEXT chỉ được hỗ trợ bởi MyISAM và chỉ hợp lệ đối
với những trường có kiểu CHAR, VARCHAR hay TEXT.

 Chỉ mục SPATIAL hỗ trợ cột trong bảng kiểu MyISAM. Lưu ý, giá
trị của cột không thể là NULL.
2.1.5.2 Xóa chỉ mục
Cú pháp: DROP INDEX index_name ON table_name
Ví dụ:
Drop index MaSV On tblSinhVien
Truy vấn dữ liệu từ bảng
2.1.6.1 Select
- Cú pháp
SELECT column_name1, column_name2...
FROM tables
[WHERE conditions]
[GROUP BY group
[HAVING group_conditions]]
[ORDER BY sort_columns]
[LIMIT limits];
- Câu lệnh SELECT có nhiều phần tùy chọn cho nhiều mục đích khác nhau.
Trong đó các mệnh đề FROM, WHERE, GROUP BY, HAVING, ORDER
BY và LIMIT phải tuân theo thứ tự như trên. Để truy vấn tất cả các cột
trong một bảng dữ liệu ta sử dụng cú pháp (*) thay vì liệt kê ra tên tất cả
các cột.


8

2.1.6.2 Insert
- Cú pháp: INSERT INTO `ten_bang` (`ten_cot1`, …., `ten_cotn`)
VALUES ([value-1],…., [value-n])
2.1.6.3 Update
- - Cú pháp:

UPDATE `ten_bang`
SET `ten_cot1`= [value-1],…., `tencotn`=[value-n]
2.1.6.4 Delete
Có 3 dạng Delete trong MySQL
- Dạng 1
DELETE [LOW_PRIORITY] [QUICK]
FROM table_name
[WHERE conditions] [ORDER BY ...] [LIMIT rows]
Trong đó:
Theo sau DELETE FROM là tên bảng dữ liệu mà bạn muốn xóa dữ
liệu. Mệnh đề WHERE chỉ ra điều kiện lọc những bảng ghi cần xóa. Nếu một
bảng ghi thỏa mãn điều kiện chỉ ra trong mệnh đề WHERE thì nó sẽ bị xóa.
Nếu không khai báo mệnh đề WHERE thì toàn bộ dữ liệu của bảng sẽ bị xóa.
- Dạng 2: MySQL cho phép bạn xóa các dòng trên nhiều bảng dữ liệu
DELETE [LOW_PRIORITY] [QUICK]
table_name[.*] [, table_name[.*] ...]
FROM table-references
[WHERE where_definition]
- Dạng 3: tương tự với dạng thứ hai nhưng thay vì sử dụng từ khóa FROM
thì nó lại sử dụng từ khóa USING
DELETE [LOW_PRIORITY] [QUICK]
FROM table_name[.*] [, table_name[.*] ...]


9

USING table-references
[WHERE where_definition]
Thủ tục Procedure, Con trỏ, Trigger
2.1.7.1 Thủ tục Procedure

- Một thủ tục thường trú là một đoạn mã SQL được lưu trong CSDL mà
các chương trình khác có thể gọi thực thi (trigger cũng là một dạng thủ tục
thường trú)
- Thủ tục thường trú tự gọi đến chính nó gọi là thủ tục thường trú đệ
quy. Hầu hết các hệ quản trị csdl quan hệ đều hỗ trợ loại thủ tục thường trú
này nhưng MySQL (đến nay) thì vẫn chưa.
- Cú pháp tạo thủ tục thường trú
DELIMITER a
CREATE PROCEDURE ten_thutuc()
BEGIN
Câu lệnh sql;
END a
DELIMITER;
- Gọi thủ tục: call ten_thutuc
- Khai báo biến trong thủ tục thướng trú
DECLARE ten_bien kieu_bien DEFAULT giatri_macdinh;
- Gán giá trị cho biến
DECLARE ten_bien kieu_bien DEFAULT giatri_macdinh;
SET ten_bien= giatri_gan
Ngoài câu lệnh SET, chúng ta còn có thể sử dụng lệnh SELECT …
INTO để gán giá trị cho biến.
2.1.7.2 Sử dụng con trỏ để duyệt trên kết quả truy vấn


10

- Bước 1: Khai báo con trỏ với cú pháp sau:
DECLARE cursor_name CURSOR FOR SELECT_statement;
- Bước 2: mở con trỏ để sử dụng
OPEN cursor_name;

- Bước 3: Lấy ra một dòng để xử lý và chuyển con trỏ sang dòng tiếp theo
FETCH cursor_name INTO variable list;
- Bước 4: đóng con trỏ, giải phóng bộ nhớ mà con trỏ chiếm giữ.
CLOSE cursor_name;
2.1.7.3 Trigger
- Tigger là một hoặc một tập các câu lệnh SQL được lưu trữ trong CSDL và
sẽ được kích hoạt bởi sự kiện mà nó theo dõi trên bảng dữ liệu. Sự kiện đó
gắn liền với thao tác INSERT, UPDATE hay DELETE.
- Đôi khi người ta xem trigger là một dạng đặc biệt của thủ tục thường trú
nếu xét về mặt mã lệnh viết trong thân trigger.
- Cú pháp
CREATE TRIGGER trigger_name trigger_time trigger_event
ON table_name
FOR EACH ROW
BEGIN
...
END
2.1.7.4 Bảng ảo- View
- View là một bảng ảo hay còn gọi là bảng logic được hình thành nên từ kết
quả truy vấn của câu lệnh SELECT. Do bảng ảo cũng tương tự như bảng dữ
liệu nên chúng ta vẫn có thể truy vấn, cập nhật dữ liệu như các bảng dữ liệu
thông thường. Khi dữ liệu ở các bảng dữ liệu thay đổi thì dữ liệu trong
bảng ảo cũng thay đổi theo.
- Cú pháp


11

CREATE[ALGORITHM = {MERGE | TEMPTABLE | UNDEFINED}]
VIEW [database_name].[view_name]

AS
[SELECT statement]
Ngôn ngữ lập trình PHP
- PHP (viết tắt chữ Hypertext Preprocessor) là ngôn ngữ lập trình phía server
được thiết kế để dễ dàng xây dựng các trang web động. Mã PHP có thể
thực thi trên server để tạo ra mã HTML và xuất ra trình duyệt web theo yêu
cầu của người sử dụng.
Ngôn ngữ PHP ra đời năm 1994 Rasmus Lerdorf sau đó được phát triển
bởi nhiều người trải qua nhiều phiên bản.
Ưu điểm
+ 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 hàng triệu truy cập tới trong một ngày.
+ PHP cung cấp một hệ thống thư viện phong phú: Do PHP ngay từ đầu
được thiết kế nhằm mục đích xây dựng và phát triển các ứng dụng trên web nên
PHP cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện các công việc rất dễ
dàng: gửi, nhận mail, làm việc với các cookie và nhiều thứ khác nữa.
+ PHP là một ngôn ngữ rất 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ư Java, Perl. Nếu bạn đã biết ngôn ngữ C thì mọi
việc sẽ hoàn toàn thuận lợi.
+ PHP có thể sử dụng được trên nhiều hệ điều hành, chúng ta có thể
viết chúng trên Unix, Linux và các phiên bản của Windows. Và có thể đem
mã PHP này chạy trên các hệ điều hành khác mà không phải sửa lại mã.
+ PHP làm việc tốt với nhiều hệ quản trị cơ sở.
+ PHP là ngôn ngữ mã nguồn mở.
Làm thế nào để chạy được kịch bản PHP


12

Để chạy được mã lệnh PHP chúng ta cần phải có một môi trường

server. Vì PHP là ngôn ngữ làm việc trên server. Để tạo ra môi trường server
thì cách tốt nhất và nhanh nhất chúng ta nên sử dụng gói Xampp. Xampp là
gói cài đặt đã tích hợp sẵn Apache, MySQL và PHP. Xampp cũng bao gồm
phpMyadmin – một công cụ dạng web giúp cho người lập trình quản trị
database một cách dễ dàng và rất nhiều thư viện hỗ trợ lập trình khác như:
OpenSSL, Pdf dass.
Cú pháp PHP
- Để lập trình bằng ngôn ngữ PHP cần chú ý những điểm sau:
 Cuối câu lệnh có dấu ;
 Biến có tiền tố là $
 Mỗi phương thức đều bắt đầu { và đóng bằng dấu }
 Khi khai báo biến thì không có kiểu dữ liệu
 Nên có giá trị khởi đầu cho biến khai báo
 Phải có ghi chú cho mỗi feature mới
 Sử dụng dấu // và # để giải thích cho mỗi câu ghi chú
 Sử dụng /* và */ cho mỗi đoạn ghi chú
 Khai báo biến có phân biệt chữ hoa hay thường
- Khai báo biến trong PHP không cần khai báo kiểu dữ liệu nhưng sử
dụng tiền tố $ trước biến:
$ten_bien [=giatri_khoidau];
Kiểu dữ liệu
2.2.4.1. Các kiểu dữ liệu
Bảng 2.1. Các kiểu dữ liệu
Tên

Giá trị

Boolean

True hay false


Integer

Giá trị lớn nhất xấp xỉ 2 tỷ


13

Float

~1.8e308 gồm 14 số lẻ

String

Lưu chuỗi ký tự dài vô hạn

Object

Kiểu đối tượng

Array

Mảng với nhiều kiểu dữ liệu


14

2.2.4.2 Các toán tử
Bảng 2.2. Các toán tử
Loại toán tử


Số học

Quan hệ

Logic

Chỉ định
Lựa chọn

Biến FORM

Toán tử
+

Diễn giải
Cộng

Ví dụ
a+b

-

Trừ

a-b

*

Nhân


a*b

/

Chia

a/b

%
>

Chia lấy dư
Lớn hơn

a%b
a>b

<

Nhỏ hơn

a
>=

Lớn hơn hoặc bằng

a >= b


<=

Nhỏ hơn hoặc bằng

a <= b

!=

Khác

a != b

==
!

Ngang bằng
Not

a == b
!a

&&

And

a && b

||

Or


a || b

=

Bằng

a=b

++

Tăng

a++

--

Giảm

a--

+=

a += b

-=
*=

a -= b
a *= b


/=

a /= b

%=

a %= b

|=

a |= b

&

a &= b

^=

a ^= b

.=
New
?:

Tạo đối tượng mới
If…….then

a .= b
new A()

a?b:c


Xem Thêm

×