1. Trang chủ
  2. » Thể loại khác

bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên

62 929 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 1,77 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Báo cáo tốt nghiệp: Với sự phát triển không ngừng của hệ thống mạng máy tính rộng khắp toàn cầu, việc sử dụng các dịch vụ trao đổi qua mạng không còn mấy xa lạ đối với các bạn sinh viên nữa. Website nói chung và dịch vụ forum nói riêng là một trong những dịch vụ khá phổ biến. Hệ thống trao đổi thông tin trực tuyến là một phương tiện trợ giúp hữu hiệu cho con người nhất là trong thời đại bùng nổ thông tin như hiện nay. Hàng ngày có vô số cuộc trao đổi được gởi trên mạng, nhờ dịch vụ này các sinh viên có thể trao đổi thông tin học tập với nhau một cách nhanh chóng, tiện ích, và có tính chất kinh tế. Ngày nay Diễn đàn trên Web được ứng dụng rất nhiều nơi, ví dụ trong một trường học, diễn đàn sẽ giúp đỡ các học sinh, sinh viên trao đổi thảo luận với nhau qua mạng, hay trong mạng nội bộ của một cơ quan... Xuất phát từ lợi ích mà diễn đàn đem lại, với mong muốn tạo ra một ứng dụng trên mạng, giúp mọi người trao đổi thông tin với nhau nên em chọn đề tài: “Xây dựng diễn đàn học tập cho sinh viên trường Cao đẳng sư phạm Hòa Bình”.

Trang 1

TRƯỜNG ĐẠI HỌC THÁI NGUYÊN TRUNG TÂM ĐÀO TẠO TỪ XA

BÁO CÁO TỐT NGHIỆP

ĐỀ TÀI:

XÂY DỰNG DIỄN ĐÀN HỌC TẬP CHO SINH VIÊN

Giảng viên hướng dẫn: BẠCH THỊ HUYÊN

Sinh viên thực hiện : NGUYỄN THỊ NGA QUỲNH Lớp: Kế toán K1 - Nhóm: 2

Đơn vị thực tập: Công ty cổ phần nước sạch Hòa Bình

tháng 5 năm 2016

Trang 2

MỤC LỤC

MỤC LỤC 1

LỜI CAM ĐOAN 3

LỜI CẢM ƠN 4

LỜI NÓI ĐẦU 5

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 6

1.1 LỰA CHỌN CÔNG NGHỆ TRIỂN KHAI DIỄN ĐÀN HỌC TẬP 6

1.2 TÌM HIỂU NGÔN NGỮ PHP 6

1.2.1 Giới thiệu về PHP 6

1.2.2 Cú pháp cơ bản 8

1.2.3 Các kiểu dữ liệu chính 8

1.2.4 Biến 12

1.2.5 Biểu thức 12

1.2.6 Toán tử 15

1.2.7 Các câu lệnh điều khiển 17

1.2.8 Hàm 20

1.3 TÌM HIỂU VỀ MYSQL 22

1.3.1 Giới thiệu về MySQL 22

1.3.2 Câu lệnh SELECT 23

1.3.3 Mệnh đề WHERE 25

1.3.4 Toán tử logic AND và OR 27

1.3.5 Toán tử BETWEEN AND 28

1.3.6 Từ khoá DISTINCT 29

1.4 CÔNG CỤ THIẾT KẾ CHƯƠNG TRÌNH 30

1.4.1 Giới thiệu Appserv 30

1.4.2 Giới thiệu về vBullentin 30

CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 31

2.1 KHẢO SÁT HIỆN TRẠNG 31

2.1.1 Giới thiệu về Trường Cao đẳng sư phạm Hòa Bình 31

Trang 3

2.1.2 Hiện trạng nhà trường và bài toán đặt ra 31

2.2 PHÂN TÍCH YÊU CẦU ĐỀ TÀI 33

2.2.1 Yêu cầu chức năng của diễn đàn 33

2.2.2 Yêu cầu về hệ thống 34

2.3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 35

2.3.1 Các yêu cầu khi xây dựng chương trình 35

2.3.2 Sơ đồ phân rã chức năng 41

2.3.3 Sơ đồ luồng dữ liệu mức đỉnh 42

2.3.4 Sơ đồ luồng dữ liệu mức dưới đỉnh 42

2.3.4 Sơ đồ luồng dữ liệu mức dưới đỉnh 43

2.3.6 Danh sách các bảng dữ liệu 47

2.3.7 Mô hình thực thể liên kết 49

CHƯƠNG 3: DIỄN ĐÀN HỌC TẬP SINH VIÊN TRƯỜNG CAO ĐẲNG SƯ PHẠM HÒA BÌNH 50

1 GIAO DIỆN CỦA DIỄN ĐÀN 50

2 GIAO DIỆN QUẢN LÝ 55

2 GIAO DIỆN QUẢN LÝ 56

KẾT LUẬN 58

1 CÁC KẾT QUẢ ĐẠT ĐƯỢC 58

2 HƯỚNG PHÁT TRIỂN 58

TÀI LIỆU THAM KHẢO 60

Trang 4

LỜI CAM ĐOAN

Em xin cam đoan: Bản đồ án tốt nghiệp này là công trình nghiên cứu thực

sự của cá nhân, được thực hiện trên cơ sở lý thuyết, nghiên cứu khảo sát tình

hình thực tiễn dưới sự hướng dẫn khoa học của Th.s Quách Xuân Trưởng

Các số liệu, mô hình và kết quả trong đồ án là trung thực, các chiến lượcđưa ra xuất phát từ thực tiễn và kinh nghiệm Nội dung đồ án có tham khảo sửdụng các tài liệu, thông tin đăng tải trên các tạp chí và các trang web theo danhmục của đồ án

Một lần nữa em xin khẳng định về sự chung thực của lời cam kết trên.

Trang 5

LỜI CẢM ƠN

Em xin cảm ơn thầy giáo Th.s Quách Xuân Trưởng đã tận tình hướng dẫn

và quý thầy cô Khoa công nghệ thông tin - Đại học công nghệ thông tin và truyền

thông Đã truyền dậy những kiến thức quý báu trong quá trình học đại học và

giúp đỡ kinh nghiệm cho đồ án hoàn thành được thuận lợi

Em xin cảm ơn các thầy cô giáo Trường Cao đẳng sư phạm Hòa Bình vàcác sinh viên trong trường đã nhiệt tình trao đổi góp ý kiến và cung cấp thông tin

tư liệu Em xin cảm ơn các thành viên trong lớp CNTT-K10B Hòa Bình đã tậntình giúp đỡ em hoàn thành tốt đồ án tốt nghiệp

Tuy nhiên, do giới hạn về thời gian và hạn chế về kiến thức cũng như kinhnghiệm của bản thân nên đồ án không tránh khỏi những thiếu sót Em rất mongnhận được sự góp ý của các thầy cô giáo để diễn đàn hoàn thiện hơn

Trang 6

LỜI NÓI ĐẦU

Với sự phát triển không ngừng của hệ thống mạng máy tính rộng khắptoàn cầu, việc sử dụng các dịch vụ trao đổi qua mạng không còn mấy xa lạ đốivới các bạn sinh viên nữa Website nói chung và dịch vụ forum nói riêng là mộttrong những dịch vụ khá phổ biến Hệ thống trao đổi thông tin trực tuyến là mộtphương tiện trợ giúp hữu hiệu cho con người nhất là trong thời đại bùng nổ thôngtin như hiện nay Hàng ngày có vô số cuộc trao đổi được gởi trên mạng, nhờ dịch

vụ này các sinh viên có thể trao đổi thông tin học tập với nhau một cách nhanhchóng, tiện ích, và có tính chất kinh tế

Ngày nay Diễn đàn trên Web được ứng dụng rất nhiều nơi, ví dụ trong mộttrường học, diễn đàn sẽ giúp đỡ các học sinh, sinh viên trao đổi thảo luận vớinhau qua mạng, hay trong mạng nội bộ của một cơ quan

Xuất phát từ lợi ích mà diễn đàn đem lại, với mong muốn tạo ra một ứngdụng trên mạng, giúp mọi người trao đổi thông tin với nhau nên em chọn đề tài:

“Xây dựng diễn đàn học tập cho sinh viên trường Cao đẳng sư phạm Hòa

Bình”.

Hiện nay Trường Cao đẳng sư phạm Hòa Bình đang có một mạng cục bộhiện đại, tuy nhiên em chưa thấy có nơi cho phép sinh viên truy nhập, tìm hiểunhững vấn đề phục vụ cho công việc học tập hay giải trí Chương trình Diễn đànhọc tập nếu được sử dụng trên mạng của trường mong sẽ góp một phần vào việctrao đổi thông tin của các bạn sinh viên, đem lại một hình thức trao đổi thông tinmới và chắc chắn sẽ hiệu quả

Với sự nỗ lực hết sức với mong muốn hoàn tất tốt mọi công việc đượcgiao nhưng do thời gian thực hiện không nhiều, lượng công việc tương đối lớn,trang thiết bị, tài liệu chưa đầy đủ và trình độ có hạn cho nên chắc chắn đề tài này

sẽ còn rất nhiều thiếu sót từ ý tưởng đến thực tế lập trình, từ phần văn bản lýthuyết đến phần thiết kế Vì vậy, em rất mong các ý kiến quý báu của thầy cô vàbạn bè

Trang 7

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 LỰA CHỌN CÔNG NGHỆ TRIỂN KHAI DIỄN ĐÀN HỌC TẬP.

Trong lập trình Website, các ngôn ngữ lập trình đều cho kết quả gần giốngnhau Thực tế có thể lựa chọn bất cứ ngôn ngữ lập trình web nào hiện có trên thịtrường để triển khai một dự án thiết kế Website Tuy nhiên sau quá trình nghiêncứu và khảo sát thực tế em đã quyết định lựa chọn ngôn ngữ lập trình PHP và cơ

sở dữ liệu MySQL để xây dựng Lý do của việc lựa chọn này là vì PHP có một số

ưu điểm vượt trội, cụ thể như sau:

- Tốc độ nhanh, dễ sử dụng

- Luôn được cải tiến và cập nhật

- Sử dụng cơ sở dữ liệu MySQL không yêu cầu bản quyền nên giá thành

để triển khai một dự án viết bằng PHP rẻ

- Có rất nhiều mã nguồn mở được viết bằng PHP, nên có thể nhanh chóngtriển khai một dự án với chi phí và thời gian là ít nhất

MySQL mặc dù rất phổ biến nhưng có nhiều đối thủ khác đang cạnh tranhvới nó và trội hơn MySQL về mặt nào đó Nhưng đối với phần đông mọi người

và phần lớn các ứng dụng, MySQL là sự lựa chọn không tồi bởi vì nó rất thíchhợp cho ứng dụng Web Bên cạnh đó, MySQL còn có một số ưu điểm như:

- Tốc độ xử lý tương đối nhanh

- Được cải tiến liên tục

Chính vì những lý do trên nên em đã lựa chọn xây dựng Diễn đàn bằngngôn ngữ PHP kết hợp với hệ quản trị cơ sở dữ liệu MySQL

1.2 TÌM HIỂU NGÔN NGỮ PHP

1.2.1 Giới thiệu về PHP

PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lậptrì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 ứngdụ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íchhợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho

Trang 8

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ênPHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thếgiới.

Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàngnhư thế nào:

ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô xí nghiệp

PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI doRasmus Lerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giảncủa các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch củaông trên mạng Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home PageTools' Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thibằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sửdụng phát triển các ứng dụng web đơn giản Rasmus đã quyết định công bố mãnguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nóđồng thời cải tiến mã nguồn

Trang 9

1.2.2 Cú pháp cơ bản

PHP chỉ phân tích các đoạn mã nằm trong những dấu giới hạn của nó Bất

cứ mã nào nằm ngoài những dấu giới hạn đều được xuất ra trực tiếp không thôngqua xử lý bởi PHP Các dấu giới hạn thường dùng nhất là <?php ?>, tương ứngvới dấu giới hạn mở và đóng Các dấu giới hạn <script language="php"> và

</script> cũng đôi khi được sử dụng Cách viết dấu giới hạn dạng thẻ ngắn cũng

có thể được dùng để thông báo bắt đầu đoạn mã PHP, đó là <? hay <?= với thẻthông báo kết thúc đoạn mã PHP là ?> Mục đích của những dấu giới hạn này làngăn cách mã PHP với những đoạn mã thuộc ngôn ngữ khác, gồm cả HTML.Mọi đoạn mã bên ngoài các dấu này đều bị hệ thống phân tích bỏ qua và đượcxuất ra một cách trực tiếp

PHP coi xuống dòng như một khoảng trắng theo kiểu như một ngôn ngữ

dạng tự do (free-form language) (trừ khi nó nằm trong trích dẫn xâu), và các phát

biểu được kết thúc bởi một dấu chấm phẩy PHP có ba kiểu cú pháp chú thích: /*

*/ cho phép một đoạn chú thích tùy ý, trong khi đó //# cho phép chú thíchtrong phạm vi một dòng

1.2.3 Các kiểu dữ liệu chính

Các kiểu dữ liệu khác nhau chiếm dung lượng bộ nhớ khác nhau TrongPHP có 6 kiểu dữ liệu chính như sau:

Boolean True/ False Nhận giá trị True nếu đúng và

False nếu sai

liệu là đối tượng của lớp

Array Sử dụng cho các biến có kiểu

mảng và các phần tử có cùng

Trang 10

Kiểu boolean mang 1 trong 2 giá trị TRUE (đúng) hoặc FALSE (sai).

Ví dụ:

<?php $a = TRUE;

$b = FALSE; //phép toán == kiểm tra xem 2 biểu thức có giá trị bằng

nhau hay không

$c = (1==2); //vì 1 khác 2 nên $c mang giá trị FALSE

$d = ("abc" == "def"); //$d mang giá trị TRUE

• chuỗi rỗng "", hoặc chuỗi "0",

• mảng rỗng (không chứa phần tử nào) Array(),

• đối tượng không chứa phần tử nào (chỉ đúng với PHP4),

Ví dụ:

<?php

$a = 1234;

$b = -123;

$c = 0123; //giá trị 123 ở hệ cơ số 8, tương đương với 83 ở hệ cơ số 10

$d = 0x1F; //giá trị 1F ở hệ cơ số 16, tương đương với 31 ở hệ cơ số 10?

>

Trang 11

Kiểu Float (Double):

Kiểu float (hoặc double) là kiểu số thực, có thể mang bất cứ giá trị số thựcnào Trên hầu hết các hệ thống, kiểu số thực có kích thước 64 bit

Kiểu String (Kiểu chuỗi) :

Kiểu string lưu giữ 1 chuỗi ký tự, mỗi ký tự có kích thước 1 byte Nộidung string được đặt giữa 2 dấu nháy, nháy đơn (') hoặc nháy kép (")

Ví dụ:

<?php $a = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn';

$b = "Đây là 1 chuỗi được đặt giữa dấu nháy kép";

$c = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn với "vài dấu nháy kép

Trang 12

$c = "Dùng ký tự \\ ở giữa câu \\ thì sao?"; //$c mang giá trị: Dùng ký tự \

ở giữa câu \ thì sao?

?>

Khi sử dụng dấu nháy đôi để bọc chuỗi, ngoài \', \" và \\, PHP có thể nhận dạng thêm một số chuỗi ký tự escape đặt biệc nữa:

• \n: ký tự xuống hàng LF (ký tự có mã 10 trong bảng mã ASCII)

• \r: ký tự về đầu dòng CR (ký tự có mã 13 trong bảng mã ASCII)

• \t: ký tự tab (ký tự có mã 9 trong bảng mã ASCII)

• \$: ký tự $

• \ooo: (với o là 1 chữ số từ 0 đến 7) biểu thị 1 ký tự có mã ASCII ooo trong hệ cơ số 8

Ví dụ \101 sẽ là ký tự 'A' (101 trong hệ cơ số 8 tương đương 65 trong hệ

cơ số 10, ký tự ASCII có mã 65 chính là ký tự 'A')

• \xhh: (với h là 1 chữ số từ 0 đến 9 hoặc 1 chữ cái từ A tời F) biểu thị 1

ký tự có mã ASCII hh trong hệ cơ số 16

Ví dụ \0x41 sẽ là ký tự 'A' (41 trong hệ cơ số 16 chính là 65 trong hệ cơ số10)

Ngoài ra, nếu bạn để 1 biến vào giữa 1 chuỗi được bọc với dấu nháy kép, giá trị của biến sẽ được thay thế vào trong chuỗi

Trang 13

$b = Array( "a" => "Nguyễn", "b" => "Bá", "c" => "Thành");

echo $b["a"]; //in ra: Nguyễn

$a: biến có tên là a

$abc123: biến có tên là abc123

Tuy nhiên vẫn còn nhiều điều thú vị về biến đang chờ ta khám phá

Biến trong PHP phân biệt chữ hoa và chữ thường Tức $Abc và $abc là 2biến hoàn toàn khác nhau

Tên biến chỉ được bao gồm các ký tự chữ cái (a z hoặc A Z), chữ số(0 9) và ký tự gạch dưới (_); nhưng tên biến không được bắt đầu bằng ký tựgạch dưới hoặc chữ số Các tên biến sau là không hợp lệ!

$_abc Không hợp lệ! bắt đầu bằng ký tự gạch dưới

$1abc Không hợp lệ! bắt đầu bằng chữ số

$nguyễn Không hợp lệ! tên biến có ký tự đặt biệt (ễ)

1.2.5 Biểu thức

- Biểu thức điều kiện:

Là biểu thức dùng kiểm tra 1 sự kiện Nếu chúng thỏa điều kiện đó thì sẽthực thi một hành động Ngược lại sẽ là một hành động khác

Cú pháp:

If(Điều kiện)

{

hành động

Trang 15

- Biểu thức switch case:

Là biểu thức sử dụng để giảm thiểu quá trình xử lý dữ liệu nếu có quánhiều phép toán if else

Trang 17

- Toán tử logic:

Toán tử logic là các tổ hợp các giá trị boolean

Ví dụ: toán tử or trở về true nếu toán tử trái hoặc toán tử phải là true.True || false à true

Ta có bảng các toán tử như sau:

- Toán tử kết hợp:

Khi tạo mã PHP, chúng ta sẽ thường nhận thấy cần phải tăng hoặc giảmlượng biến một số nguyên nào đó Bạn sẽ thường thực hiện điều này khi chúng tađếm 1 giá trị nào đó trong vòng lặp

Trang 18

1.2.7 Các câu lệnh điều khiển

Câu lệnh if: Cú pháp đơn giản nhất của câu lệnh if có dạng như sau:

if ( biểu thức )

câu lệnh;

Câu lệnh if trên được diễn giải như sau: nếu biểu thức trả về giá trị TRUE(hoặc tương đương với TRUE sau khi chuyển đổi) thì câu lệnh sẽ được thực thi;ngược lại (khi biểu thức trả về giá trị FALSE) thì bỏ qua không thực thi câu lệnhnữa

Cú pháp nâng cao của câu lệnh if có dạng như sau:

Trang 19

Nếu biểu thức 1 trả về giá trị FALSE thì câu lệnh 3 sẽ được thực hiện,ngược lại xét tiếp biểu thức 2: nếu biểu thức 2 trả về giá trị TRUE thì thực hiện câulệnh 1, ngược lại nếu biểu thức 2 trả về giá trị FALSE thì thực hiện câu lệnh 2.

Ngoài ra PHP còn cung cấp từ khoá elseif, chính là ghép giữa từ khoá else và if.Câu lệnh while: Câu lệnh while dùng để tạo 1 vòng lặp, cú pháp của câulệnh này như sau:

while ( biểu thức )

câu lệnh;

Được diễn giải như sau: trong khi biểu thức còn trả về giá trị TRUE thìtiếp tục thực hiện câu lệnh, sau khi thực hiện câu lệnh thì kiểm tra lại biểu thức,nếu vẫn còn trả về giá trị TRUE thì lại tiếp tục thực hiện câu lệnh cứ tiếp tụcnhư vậy cho tới khi nào biểu thức trả về giá trị FALSE thì ngưng

Một ví dụ in ra các số từ 1 tới 10 với câu lệnh while:

Trang 20

Được diễn giải như sau:

- Đầu tiên biểu thức 1 được thực hiện

- Tiếp theo biểu thức 2 được kiểm tra

- Nếu trả về TRUE thì câu lệnh được thực hiện và sau đó thực hiện biểu thức 3

- Nếu trả về FALSE thì kết thúc câu lệnh for

- Kiểm tra lại biểu thức 2 và lặp lại quá trình như trên

- Một ví dụ in ra các số từ 1 tới 10 với câu lệnh for:

Trang 21

Câu lệnh break: Câu lệnh break sẽ dừng việc thực thi của các vòng lặp for,foreach, while, do-while và switch.

Câu lệnh continue: Câu lệnh continue áp dụng lên các vòng lặp, lệnhcontinue sẽ bỏ qua lần lặp hiện thời và tiếp tục thực hiện các lần lặp tiếp theo

1.2.8 Hàm

Trong lập trình, có một số đoạn mã được dùng nhiều lần ở nhiều nơi khácnhau trong chương trình Sẽ rất phiền và khó sửa lỗi nếu như ta phải viết lặp đilặp lại 1 đoạn mã đó ở nhiều nơi PHP cung cấp một giải pháp đó là hàm dongười dùng định nghĩa Ta có thể đưa đoạn mã đó vào trong 1 hàm, và ở chỗ nàocần dùng đoạn mã đó ta chỉ cần gọi hàm, khi cần sửa đổi, ta chỉ cần sửa đổi 1 chỗduy nhất là nội dung của hàm chứ không cần phải sửa ở nhiều nơi trong chươngtrình

Cú pháp để tạo 1 hàm do người dùng định nghĩa như sau:

function tênHàm($tham_số1, $tham_số2, , $tham _sốn) {

Trang 22

Lưu ý: Tên hàm cũng như tên biến chỉ bao gồm các ký tự chữ cái (a z,A Z), chữ số (0 9) và ký tự gạch dưới (_), ngoài ra tên hàm không được bắt đầubằng chữ số, nhưng được phép bắt đầu bằng ký tự gạch dưới (tên hàm khác vớitên biến chỗ này) Tên hàm trong PHP phân biệt chữ hoa và chữ thường, tức làtesting và Testing là 2 tên hàm khác nhau.

Tham số của hàm: Hàm có thể nhận vào các tham số, ví dụ:

Khi tham số tương ứng của hàm không được truyền, tham số đó sẽ nhận

giá trị mặc định Đoạn chương trình ví dụ ở trên khi chạy sẽ in ra dòng Tham số

Trang 23

Đoạn chương trình trên khi chạy sẽ in ra số 4 Câu lệnh return biểu_thức; sẽ kết thúc hàm và trả về giá trị của biểu_thức cho nơi gọi.

1.3 TÌM HIỂU VỀ MYSQL

1.3.1 Giới thiệu về MySQL

MySQL được phổ biến và hỗ trợ bởi công ty MySQL AB của Thụy Điển.MySQL là cơ sở dữ liệu được sử dụng cho các ứng dụng Web có quy mô vừa vànhỏ Tuy không phải là một cơ sở dữ liệu lớn nhưng chúng cũng có trình giaodiện trên Windows hay Linux, cho phép người dùng có thể thao tác các hànhđộng liên quan đến cơ sở dữ liệu MySQL là một hệ thống quản lý cơ sở dữ liệu

quan hệ (RDBMS) hay còn được gọi là Relatinal Database Management

Systemo RDBMS là một trong những mô hình cơ sở dữ liệu quan hệ thông dụng

hiện nay

Cũng giống như các cơ sở dữ liệu, khi làm việc với cơ sở dữ liệu MySQL,bạn đăng ký kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phần quyền sử dụng,thiết kế đối tượng Table của cơ sở dữ liệu và xử lý dữ liệu

Một CSDL thường bao gồm một hoặc nhiều bảng (table) Mỗi bảng đượcxác định thông qua một tên (ví dụ Customers hoặc Orders) Bảng chứa các mẩutin - dòng (record - row), là dữ liệu của bảng

Dưới đây là một ví dụ về một bảng có tên là Persons (người):

Bảng ở trên bao gồm 3 mẩu tin (dòng), mỗi mẩu tin tương ứng với mộtngười, và bốn cột (LastName, FirstName, Address và City)

Với SQL ta có thể truy vấn CSDL và nhận lấy kết quả trả về thông quacác câu truy vấn

Một câu truy vấn như sau:

SELECT LastName FROM Persons

Sẽ trả về kết quả như sau:

Trang 24

Lưu ý: Một số hệ thống CSDL đòi hỏi câu lệnh SQL phải kết thúc bằng một

dấu chấm phảy (;) Chúng ta sẽ không dùng dấu chấm phảy trong bài viết này.

SQL là ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language),SQL là cú pháp để thực thi các câu truy vấn SQL cũng bao gồm cú pháp để cậpnhật - sửa đổi, chèn thêm và xoá các mẩu tin

Sau đây là danh sách các lệnh và truy vấn dạng DML của SQL:

SELECT - lấy dữ liệu từ một bảng CSDL

UPDATE - cập nhật/sửa đổi dữ liệu trong bảng

DELETE - xoá dữ liệu trong bảng

INSERT INTO - thêm dữ liệu mới vào bảng

SQL là ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language),Phần DDL của SQL cho phép tạo ra hoặc xoá các bảng Chúng ta cũng có thểđịnh nghĩa các khoá (key), chỉ mục (index), chỉ định các liên kết giữa các bảng

và thiết lập các quan hệ ràng buộc giữa các bảng trong CSDL

Các lệnh DDL quan trọng nhất của SQL là:

CREATE TABLE - tạo ra một bảng mới

ALTER TABLE - thay đổi cấu trúc của bảng

DROP TABLE - xoá một bảng

CREATE INDEX - tạo chỉ mục (khoá để tìm kiếm - search key)

DROP INDEX - xoá chỉ mục đã được tạo

1.3.2 Câu lệnh SELECT

Câu lệnh SELECT được dùng để truy xuất dữ liệu từ một bảng Kết quả

trả về dưới dạng bảng được lưu trong 1 bảng, gọi là bảng kết quả - result table(còn được gọi là tập kết quả - result set)

Cú pháp của câu lệnh SELECT như sau:

SELECT tên_các_cột

FROM tên_bảng

Truy xuất nhiều cột: Để truy xuất các cột mang tên LastName và

FirstName, ta dùng một câu lệnh SELECT như sau:

SELECT LastName, FirstName FROM Persons

Bảng Persons:

Trang 25

Dấu chẩm phảy là một cách chuẩn để phân cách các câu lệnh SQL nếunhư hệ thống CSDL cho phép nhiều câu lệnh SQL được thực thi thông qua mộtlời gọi duy nhất.

Các câu lệnh SQL trong bài viết này đều là các câu lệnh đơn (mỗi câulệnh là một và chỉ một lệnh SQL) MS Access và MS SQL Server không đỏi hỏiphải có dấu chấm phảy ngay sau mỗi câu lệnh SQL, nhưng một số chương trìnhCSDL khác có thể bắt buộc bạn phải thêm dấu chấm phảy sau mỗi câu lệnh SQL(cho dù đó là câu lệnh đơn) Xin nhắc lại, trong bài viết này chúng ta sẽ khôngdùng dấu chấm phảy ở cuối câu lệnh SQL

1.3.3 Mệnh đề WHERE

Để truy xuất dữ liệu trong bảng theo các điều kiện nào đó, một mệnh đề

WHERE có thể được thêm vào câu lệnh SELECT.

Cú pháp mệnh đề WHERE trong câu lệnh SELECT như sau:

Trang 26

Trong mệnh đề WHERE, các phép toán được sử dụng là

BETWEEN Nằm giữa một khoảng

LIKE So sánh mẫu chuỗi

Lưu ý: Trong một số phiên bản của SQL, phép toán <> có thể được viết dưới dạng !=

Sử dụng mệnh đề WHERE: Để lấy danh sách những người sống ở thànhphố Sandnes, ta sử dụng mệnh đề WHERE trong câu lệnh SELECT như sau:

SELECT * FROM Persons

WHERE City = 'Sandnes'

Bảng Persons:

Kết quả trả về:

Sử dụng dấu nháy: Lưu ý rằng ở ví dụ trên ta đã sử dụng hai dấu nháy đơn(') bao quanh giá trị điều kiện 'Sandnes'

SQL sử dụng dấu nháy đơn bao quanh các giá trị ở dạng chuỗi văn bản

(text) Nhiều hệ CSDL còn cho phép sử dụng dấu nháy kép (") Các giá trị ở

dạng số không dùng dấu nháy để bao quanh

Với dữ liệu dạng chuỗi văn bản:

Trang 27

Với dữ liệu dạng số:

Câu lệnh đúng:

SELECT * FROM Persons WHERE Year > 1965

Câu lệnh sai:

SELECT * FROM Persons WHERE Year > '1965'

Phép toán điều kiện LIKE: Phép toán LIKE được dùng để tìm kiếm một

chuỗi mẫu văn bản trên một cột

Cú pháp của phép toán LIKE như sau:

SELECT tên_cột FROM tên_bảng

WHERE tên_cột LIKE mẫu

Một ký hiệu % có thể được sử dụng để định nghĩa các ký tự đại diện % có

thể được đặt trước và/hoặc sau mẫu

Sử dụng LIKE: Câu lệnh SQL sau sẽ trả về danh sách những người có tênbắt đầu bằng chữ O:

SELECT * FROM Persons

WHERE FirstName LIKE 'O%'

Câu lệnh SQL sau sẽ trả về danh sách những người có tên kết thúc bằng chữ a:

SELECT * FROM Persons

WHERE FirstName LIKE '%a'

Câu lệnh SQL sau sẽ trả về danh sách những người có tên chứa chuỗi la:

SELECT * FROM Persons

WHERE FirstName LIKE '%la%'

1.3.4 Toán tử logic AND và OR

Hai toán tử AND và OR nối hai hoặc nhiều điều kiện trong mệnh đề

WHERE lại với nhau

Toán tử AND sẽ hiển thị 1 dòng nếu TẤT CẢ các điều kiện đều thoả mãn Toán tử OR hiển thị một dòng nếu BẤT KỲ điều kiện nào được thoả.

Bảng dữ liệu dùng trong ví dụ

Trang 28

Ví dụ 1:Sử dụng AND để tìm những người có tên là Tove và họ là

Svendson:

SELECT * FROM Persons

WHERE FirstName = 'Tove'

AND LastName = 'Svendson'

Kết quả trả về:

Ví dụ 2: Sử dụng OR để tìm những người có tên là Tove hoặc họ là

Svendson:

SELECT * FROM Persons

WHERE firstname = 'Tove'

OR lastname = 'Svendson'

Kết quả trả về:

Ví dụ 3: Bạn cũng có thể sử dụng kết hợp AND và OR cùng với dấu

ngoặc đơn để tạo nên các câu truy vấn phức tạp:

SELECT * FROM Persons WHERE

(FirstName = 'Tove' OR FirstName = 'Stephen')

AND LastName = 'Svendson'

Trang 29

Ví dụ 1: Tìm tất cả những người có họ (sắp xếp theo ABC) nằm giữaHansen (tính luôn Hansen) và Pettersen (không tính Pettersen):

SELECT * FROM Persons WHERE LastName

BETWEEN 'Hansen' AND 'Pettersen'

Kết quả trả về:

Lưu ý quan trọng: Toán tử BETWEEN END sẽ trả về những kết quảkhác nhau trên các hệ CSDL khác nhau Với một số hệ CSDL, toán tửBETWEEN END sẽ trả về các dòng mà có giá trị thực sự "nằm giữa" haikhoảng giá trị (tức là bỏ qua không tính đến các giá trị trùng với giá trị của haiđầu mút) Một số hệ CSDL thì sẽ tính luôn các giá trị trùng với hai đầu mút.Trong khi đó một số hệ CSDL khác lại chỉ tính các giá trị trùng với đầu mút thứnhất mà không tính đầu mút thứ hai (như ở ví dụ phía trên) Do vậy, bạn phảikiểm tra lại hệ CSDL mà bạn đang dùng khi sử dụng toán tử BETWEEN AND

Ví dụ 2: Để tìm những người có họ (sắp xếp theo ABC) nằm ngoàikhoảng hai giá trị ở ví dụ 1, ta dùng thêm toán tử NOT:

SELECT * FROM Persons WHERE LastName

NOT BETWEEN 'Hansen' AND 'Pettersen'

Kết quả trả về:

1.3.6 Từ khoá DISTINCT

Từ khoá DISTINCT được dùng để lọc ra các giá trị khác nhau

Câu lệnh SELECT sẽ trả về thông tin về các cột trong bảng Nhưng nếu

chúng ta không muốn lấy về các giá trị trùng nhau thì sau?

Với SQL, ta chỉ cần thêm từ khoá DISTINCT vào câu lệnh SELECT theo

Trang 30

SELECT DISTINCT tên_cột FROM tên_bảng

Trang 31

1.4 CÔNG CỤ THIẾT KẾ CHƯƠNG TRÌNH

1.4.1 Giới thiệu Appserv

AppServ là dự án tích hợp, cài đặt nhanh chóng, đơn giản các mô phỏngmáy chủ web như Apache, PHP, MySQL trên nền hệ điều hành Windows – rấtthuận tiện cho việc nghiên cứu, phát triển và kiểm tra các ứng dụng web lập trìnhbằng PHP

Ưu điểm: Gọn nhẹ, tương thích cao & đầyđủ các chức năng để chạy PHP

1.4.2 Giới thiệu về vBullentin

vBulletin Board - viết tắt là vB -là một giải pháp dùng để xây dựng cộngđồng trên internet (forum) Ưu điểm của nó là giao diện đẹp, tính bảo mật cao,quản lí dễ dàng, nhiều chức năng vB được viết bằng PHP và sử dụng cơ sở dữliệu chủ yếu là MySQL

Là một mã nguồn được cung cấp bởi hãng: Jelsoft Enterprises Limited,Website: http://vBulletin.com Hiện nay trên Internet có khá nhiều phiên bảnđược hack NULL dành cho những ai không có khả năng mua bản quyền, nhất là

HS, SV Việt Nam Về việc cài đặt một diễn đàn mới chúng ta nên cài đặt một bộ

mã nguồn mới, không nên dùng lại mã nguồn người khác Share với tiêu đề nhưShare Vbb 3.64 Full Mod + Skin , với những phiên bản vbb share kiểu này rấtrắc rối & phiền phức cho những ai mới sử dụng vB, với lại vB là một phiên bảnriêng biệt với MOD và Skin, nên tự hack Mod sẽ hay hơn tránh những lỗi &những dư thừa, vì chả biết người ta đã hack Mod gì, tác dụng Mod đấy? Liệu cóchạy tốt không ? v.v…

Ngày đăng: 06/03/2017, 13:57

HÌNH ẢNH LIÊN QUAN

Bảng ở trên bao gồm 3 mẩu tin (dòng), mỗi mẩu tin tương ứng với một người, và bốn cột (LastName, FirstName, Address và City). - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
ng ở trên bao gồm 3 mẩu tin (dòng), mỗi mẩu tin tương ứng với một người, và bốn cột (LastName, FirstName, Address và City) (Trang 23)
Bảng Persons: - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
ng Persons: (Trang 26)
Bảng dữ liệu dùng trong ví dụ - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
Bảng d ữ liệu dùng trong ví dụ (Trang 27)
Bảng dữ liệu dùng trong ví dụ - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
Bảng d ữ liệu dùng trong ví dụ (Trang 28)
Bảng đặt hàng Orders của ta như sau: - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
ng đặt hàng Orders của ta như sau: (Trang 30)
2.3.2. Sơ đồ phân rã chức năng - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
2.3.2. Sơ đồ phân rã chức năng (Trang 42)
2.3.3. Sơ đồ luồng dữ liệu mức đỉnh - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
2.3.3. Sơ đồ luồng dữ liệu mức đỉnh (Trang 43)
2.3.4. Sơ đồ luồng dữ liệu mức dưới đỉnh - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
2.3.4. Sơ đồ luồng dữ liệu mức dưới đỉnh (Trang 44)
Bảng 1: Người sử dụng - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
Bảng 1 Người sử dụng (Trang 48)
Bảng 2: Chủ đề - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
Bảng 2 Chủ đề (Trang 48)
Bảng 3: Bài viết - bao cao tot nghiep xây dựng diễn đàn học tập cho sinh viên
Bảng 3 Bài viết (Trang 49)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w